Getting configure to notice link-time vs run-time failures

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: selkovjr(at)mcs(dot)anl(dot)gov, Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Getting configure to notice link-time vs run-time failures
Date: 2001-01-18 01:02:03
Message-ID: 22247.979779723@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

selkovjr(at)mcs(dot)anl(dot)gov writes:
> configure:4207: checking for inflate in -lz
> configure:4226: gcc -o conftest conftest.c -lz -lgen -lnsl -lsocket -ldl -lm -lreadline -ltermcap -lcurses 1>&5
> configure:4660: checking for crypt.h

> This doesn't tell me much. But I modified configure to exit right
> after this, without removing conftest*, and when I ran conftest it came
> back with the same message:

> typhoon> ./conftest
> ld.so.1: ./conftest: fatal: libz.so: open failed: No such file or directory
> Killed

>> It's strange that configure's check to see if zlib is linkable should
>> succeed, only to have the live startup fail.

> This system is probaly badly misconfigured, but it would be great if
> configure could see that.

Gene and I looked into this, and the cause of the misbehavior is this:
gcc on this installation is set to search /usr/local/lib (along with the
usual system library directories). libz.so and libreadline.so are
indeed in /usr/local/lib, so configure's tests to see if they can be
linked against will succeed. But he had LD_LIBRARY_PATH set to a list
that did *not* include /usr/local/lib, so actually firing up the
executable would fail.

As he says, it'd be nice if configure could either prevent this or at
least detect it. Not sure about a good way to do that --- any ideas?

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 2001-01-18 01:07:47 Re: copy from stdin; bug?
Previous Message bpalmer 2001-01-17 23:58:44 Re: $PGDATA/base/???