I can't make SQSH 2.1.7 with freetds 0.91

独自空忆成欢 提交于 2020-01-05 12:10:09

问题


I am having trouble building sqsh against freetds. This post cross-references with https://sourceforge.net/projects/sqsh/forums/forum/365924/topic/4716627.

I've installed Freetds 0.91 from sunfreeware.com on Solaris 10. I've confirmed the installation as noted in Chapter 9 of the user guide.

Following the sqsh notes from sqsh.org, I've set the SYBASE environment variable to /usr/local/freetds and run the configure script. (I do not have Sybase installed on this machine. I shouldn't need it.)

SYBASE=/usr/local/freetds; export SYBASE
./configure --with-readline

I've checked the Makefile, it seems to be right given what I've read.

SYBASE_LIBS = -lct -ltds -lnsl -ldl -lm

When I run make, I get(after building a bunch of stuff):

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

Is the error related to this: http://www.freetds.org/faq.html#where.is.libtds.so?

Any ideas?

Reference on freetds mailing list. Reference on sqsh help forum.


回答1:


When editing src/Makefile, get rid of -ltds (as suggested here) and change -ldl to -liconv. I got that last bit from the cygwin version of the sqsh README.

I used SYBASE=/usr/local/freetds/.

After that I had to set the LD_LIBRARY_PATH=$SYBASE/lib/:/usr/local/lib/ to get the freetds and liconv libraries.

Big thanks to the freetds mailing list. http://lists.ibiblio.org/pipermail/freetds/2011q3/027382.html



来源:https://stackoverflow.com/questions/7491222/i-cant-make-sqsh-2-1-7-with-freetds-0-91

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!