Re: libpgeasy symbol conflicts with libc ... libpgeasy loses

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: libpgeasy symbol conflicts with libc ... libpgeasy loses
Дата
Msg-id 200007170157.VAA11525@candle.pha.pa.us
обсуждение исходный текст
Ответ на libpgeasy symbol conflicts with libc ... libpgeasy loses  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-interfaces
> I had some trouble running findoidjoins today, which I eventually
> tracked down to the fact that where it thinks it's calling libpgeasy's
> fetch() subroutine, it was actually getting bound to the DBM library's
> fetch() routine, which is in libc on my platform ... and the Makefile
> for findoidjoins does -lc before -lpgeasy.
>
> I counsel picking a less-generic name for libpgeasy's function.
> We could fix this particular lossage with Makefile tweaking,
> but this program won't be the last one to get burnt if you stick
> with the conflicting name.
>
> You might also want to check for conflicts against the other
> functions exported by <dbm.h>:

It is even worse here.  Why do I have main defined twice.  Looks like
-lln, but that is used in other compiles ok. And it finds none of the
libpgeasy functions.  Real strange.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
gcc -I../../src/include -I/usr/local/include/readline -O2 -pipe -m486 -Wall -Wmissing-prototypes -Wmissing-declarations
-g-Wall -O1 -Wmissing-prototypes -Wmissing-declarations -I../../src/interfaces/libpgeasy -I../../src/interfaces/libpq
-I/usr/local/include/readline-lz -lcompat -lln -lipc -ldl -lm -lutil -lreadline -ltermcap -lcurses
-L../../src/interfaces/libpgeasy-lpgeasy -g -Wall -O1 -Wmissing-prototypes -Wmissing-declarations  findoidjoins.c   -o
findoidjoins
/tmp/cc0114611.o: In function `main':
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:18: multiple definition of `main'
/usr/lib/libln.a(libmain.o)(.text+0x0): first defined here
ld: Warning: size of symbol `main' changed from 17 to 636 in /tmp/cc0114611.o
/usr/lib/libln.a(libmain.o): In function `main':
libmain.o(.text+0x5): undefined reference to `yylex'
/tmp/cc0114611.o: In function `main':
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:28: undefined reference to `halt'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:31: undefined reference to `connectdb'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:33: undefined reference to `on_error_continue'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:34: undefined reference to `on_error_stop'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:36: undefined reference to `doquery'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:37: undefined reference to `doquery'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:50: undefined reference to `doquery'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:51: undefined reference to `get_result'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:53: undefined reference to `doquery'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:61: undefined reference to `doquery'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:62: undefined reference to `get_result'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:64: undefined reference to `set_result'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:65: undefined reference to `fetch'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:67: undefined reference to `set_result'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:68: undefined reference to `reset_fetch'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:69: undefined reference to `fetch'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:71: undefined reference to `unset_result'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:85: undefined reference to `doquery'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:86: undefined reference to `doquery'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:87: undefined reference to `fetch'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:90: undefined reference to `doquery'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:91: undefined reference to `set_result'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:93: undefined reference to `set_result'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:96: undefined reference to `set_result'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:97: undefined reference to `doquery'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:98: undefined reference to `PQclear'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:100: undefined reference to `set_result'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:101: undefined reference to `doquery'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:102: undefined reference to `PQclear'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:103: undefined reference to `unset_result'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:105: undefined reference to `doquery'
/var/local/src/pgsql/CURRENT/pgsql/contrib/findoidjoins/findoidjoins.c:107: undefined reference to `disconnectdb'
gmake: *** [findoidjoins] Error 1

В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: libpgeasy symbol conflicts with libc ... libpgeasy loses
Следующее
От: "Peter Mount"
Дата:
Сообщение: Re: JDBC Source