pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
libpgeasy symbol conflicts with libc ... libpgeasy loses
2+ messages / 2 participants
[nested] [flat]

* libpgeasy symbol conflicts with libc ... libpgeasy loses
@ 2000-07-16 22:15 Tom Lane <tgl@sss.pgh.pa.us>
  2000-07-17 01:57 ` Re: libpgeasy symbol conflicts with libc ... libpgeasy loses Bruce Momjian <pgman@candle.pha.pa.us>
  0 siblings, 1 reply; 2+ messages in thread

From: Tom Lane @ 2000-07-16 22:15 UTC (permalink / raw)
  To: Bruce Momjian <pgman@candle.pha.pa.us>; +Cc: 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>:

     int dbminit(const char *file);
     datum fetch(datum key);
     int store(datum key, datum content);
     int delete(datum key);
     datum firstkey(void);
     datum nextkey(datum key);
     int dbmclose(void);

			regards, tom lane



^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* Re: libpgeasy symbol conflicts with libc ... libpgeasy loses
  2000-07-16 22:15 libpgeasy symbol conflicts with libc ... libpgeasy loses Tom Lane <tgl@sss.pgh.pa.us>
@ 2000-07-17 01:57 ` Bruce Momjian <pgman@candle.pha.pa.us>
  0 siblings, 0 replies; 2+ messages in thread

From: Bruce Momjian @ 2000-07-17 01:57 UTC (permalink / raw)
  To: Tom Lane <tgl@sss.pgh.pa.us>; +Cc: 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

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
^ permalink raw reply [nested|flat] 2+ messages in thread


end of thread, other threads:[~2000-07-17 01:57 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2000-07-16 22:15 libpgeasy symbol conflicts with libc ... libpgeasy loses Tom Lane <tgl@sss.pgh.pa.us>
2000-07-17 01:57 ` Bruce Momjian <pgman@candle.pha.pa.us>

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