From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-interfaces@postgreSQL.org
Subject: Re: libpgeasy symbol conflicts with libc ... libpgeasy loses
Date: Sun, 16 Jul 2000 21:57:57 -0400 (EDT)
Message-ID: <200007170157.VAA11525@candle.pha.pa.us> (raw)
In-Reply-To: <3760.963785733@sss.pgh.pa.us>
> 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
Attachments:/bjm/x (text/plain, 4.3K) download
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: pgman@candle.pha.pa.us, tgl@sss.pgh.pa.us
Subject: Re: libpgeasy symbol conflicts with libc ... libpgeasy loses
In-Reply-To: <200007170157.VAA11525@candle.pha.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox