Я не могу сделать SQSH 2.1.7 с freetds 0,91 - PullRequest
1 голос
/ 21 сентября 2011

У меня проблемы со сборкой sqsh против freetds . Этот пост перекрестные ссылки с https://sourceforge.net/projects/sqsh/forums/forum/365924/topic/4716627.

Я установил Freetds 0.91 с сайта sunfreeware.com на Solaris 10. Я подтвердил установку, как указано в главе 9 руководства пользователя.

Следуя примечаниям sqsh от sqsh.org, я установил переменную среды SYBASE в / usr / local / freetds и запустил скрипт настройки. (У меня не установлен 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 . Ссылка на справочный форум sqsh .

1 Ответ

0 голосов
/ 22 сентября 2011

При редактировании src / Makefile избавьтесь от -ltds (как предлагается здесь) и измените -ldl на -liconv. Я получил этот последний бит из версии Cygwin README sqsh.

Я использовал SYBASE = / usr / local / freetds /.

После этого мне пришлось установить LD_LIBRARY_PATH = $ SYBASE / lib /: / usr / local / lib /, чтобы получить библиотеки freetds и liconv.

Большое спасибо списку рассылки freetds. http://lists.ibiblio.org/pipermail/freetds/2011q3/027382.html

...