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 по дате отправления: