我无法针对sqsh构建freetds。此帖子与https://sourceforge.net/projects/sqsh/forums/forum/365924/topic/4716627交叉引用。
我在Solaris 10上安装了来自sunfreeware.com的Freetds 0.91。我已按照用户指南第9章的说明确认了安装。
按照sqsh.org的sqsh说明,我将SYBASE环境变量设置为/ usr / local / freetds并运行configure脚本。 (我没有在这台机器上安装Sybase。我不需要它。)
SYBASE=/usr/local/freetds; export SYBASE
./configure --with-readline
我已经检查过Makefile,根据我的阅读,它似乎是正确的。
SYBASE_LIBS = -lct -ltds -lnsl -ldl -lm
当我运行make时,我得到(在构建了一堆东西之后):
make
...
...[build output]...
...
gcc -L/usr/local/freetds/lib -L/usr/local/lib cmd_alias.o cmd_bcp.o cmd_buf.o cmd_connect.o cmd_do.o cmd_echo.o cmd_exit.o cmd_for.o cmd_func.o cmd_go.o cmd_help.o cmd_history.o cmd_if.o cmd_input.o cmd_jobs.o cmd_kill.o cmd_lock.o cmd_loop.o cmd_misc.o cmd_read.o cmd_reconnect.o cmd_redraw.o cmd_reset.o cmd_return.o cmd_rpc.o cmd_set.o cmd_shell.o cmd_show.o cmd_sleep.o cmd_wait.o cmd_warranty.o cmd_while.o var_ctlib.o var_date.o var_debug.o var_dsp.o var_hist.o var_misc.o var_passwd.o var_readline.o var_thresh.o dsp.o dsp_bcp.o dsp_csv.o dsp_conv.o dsp_desc.o dsp_horiz.o dsp_html.o dsp_meta.o dsp_none.o dsp_out.o dsp_pretty.o dsp_vert.o dsp_x.o sqsh_alias.o sqsh_args.o sqsh_avl.o sqsh_buf.o sqsh_cmd.o sqsh_compat.o sqsh_ctx.o sqsh_debug.o sqsh_env.o sqsh_error.o sqsh_expand.o sqsh_fd.o sqsh_filter.o sqsh_fork.o sqsh_func.o sqsh_getopt.o sqsh_global.o sqsh_history.o sqsh_init.o sqsh_job.o sqsh_readline.o sqsh_sig.o sqsh_sigcld.o sqsh_stdin.o sqsh_strchr.o sqsh_tok.o sqsh_varbuf.o sqsh_main.o -lct -ltds -lnsl -ldl -lm -lreadline -lcurses -o sqsh
ld: warning: global symbol `_END_' has non-global binding:
(file /usr/local/freetds/lib/libct.so value=LOCL);
ld: warning: global symbol `_START_' has non-global binding:
(file /usr/local/freetds/lib/libct.so value=LOCL);
ld: fatal: file /usr/local/freetds/lib/libtds.a: unknown file type
ld: fatal: File processing errors. No output written to sqsh
collect2: ld returned 1 exit status
make[1]: *** [sqsh] Error 1
make[1]: Leaving directory `/opt/BFMIfiles/src/sqsh-2.1.7/src'
make: *** [build-subdirs] Error 2
错误是否与此相关:http://www.freetds.org/faq.html#where.is.libtds.so?
有什么想法吗?
freetds mailing list上的参考资料。 参考sqsh help forum。
答案 0 :(得分:0)
编辑src / Makefile时,去除-ltds(如此处所示)并将-ldl更改为-liconv。我从sqsh README的cygwin版本中得到了最后一点。
我使用了SYBASE = / usr / local / freetds /.
之后我必须设置LD_LIBRARY_PATH = $ SYBASE / lib /:/ usr / local / lib /来获取freetds和liconv库。
非常感谢freetds邮件列表。 http://lists.ibiblio.org/pipermail/freetds/2011q3/027382.html