Thread: "make check" failed on 8.4.2 install

"make check" failed on 8.4.2 install

From
adam_pgsql
Date:
Hi,

I am trying to upgrade to 8.4.2 but my usual compile from source failed

$ ./configure --prefix=/usr/local/pgsql_8.4 --with-pgport=6235 --with-perl --with-openssl
--with-libraries=/usr/local/ssl/lib/--with-includes=/usr/local/ssl/include/ 
$ make
$ make check

......
============== shutting down postmaster               ==============
/usr/local/install/postgresql-8.4.2/src/test/regress/./tmp_check/install//usr/local/pgsql_8.4/bin/pg_ctl: relocation
error:/usr/local/install/postgresql-8.4.2/src/test/regress/./tmp_check/install//usr/local/pgsql_8.4/lib/libpq.so.5:
undefinedsymbol: dlopen 

pg_regress: could not stop postmaster: exit code was 32512
make[2]: *** [check] Error 2
make[2]: Leaving directory `/usr/local/install/postgresql-8.4.2/src/test/regress'
make[1]: *** [check] Error 2
make[1]: Leaving directory `/usr/local/install/postgresql-8.4.2/src/test'
make: *** [check] Error 2

Server details:

adam@testing:/usr/local/install/postgresql-8.4.2$ uname -a
Linux testing 2.6.14.7 #1 SMP Fri Jan 19 11:55:40 GMT 2007 i686 unknown

8.3.5 passed ok, but the 8.4.* seem to fail on my system. Presumably i need to upgrade something else to work with
8.4.*?Does anybody have any idea which? 

thanks for any help

adam


Re: "make check" failed on 8.4.2 install

From
Tom Lane
Date:
adam_pgsql <adam_pgsql@witneyweb.org> writes:
> I am trying to upgrade to 8.4.2 but my usual compile from source failed

> $ make check
> ============== shutting down postmaster               ==============
> /usr/local/install/postgresql-8.4.2/src/test/regress/./tmp_check/install//usr/local/pgsql_8.4/bin/pg_ctl: relocation
error:/usr/local/install/postgresql-8.4.2/src/test/regress/./tmp_check/install//usr/local/pgsql_8.4/lib/libpq.so.5:
undefinedsymbol: dlopen 

That's very peculiar.  It looks more like dynamic linker breakage than
Postgres' fault, though.  What platform is this (no, the kernel version
doesn't do it for me)?  What have you changed since you last built
Postgres successfully?

            regards, tom lane

Re: "make check" failed on 8.4.2 install

From
adam_pgsql
Date:
On 23 Feb 2010, at 17:41, Tom Lane wrote:

> adam_pgsql <adam_pgsql@witneyweb.org> writes:
>> I am trying to upgrade to 8.4.2 but my usual compile from source failed
>
>> $ make check
>> ============== shutting down postmaster               ==============
>> /usr/local/install/postgresql-8.4.2/src/test/regress/./tmp_check/install//usr/local/pgsql_8.4/bin/pg_ctl: relocation
error:/usr/local/install/postgresql-8.4.2/src/test/regress/./tmp_check/install//usr/local/pgsql_8.4/lib/libpq.so.5:
undefinedsymbol: dlopen 
>
> That's very peculiar.  It looks more like dynamic linker breakage than
> Postgres' fault, though.  What platform is this (no, the kernel version
> doesn't do it for me)?  What have you changed since you last built
> Postgres successfully?

This is Debian 4.0. I haven't changed anything on that box recently. My current working version is 8.2.12.

As a test I just successfully ran configure, make and make check for 8.3.8. But both a fresh tarball for 8.4.1 and
8.4.2fail with the same error. 

thanks

adam

Re: "make check" failed on 8.4.2 install

From
Tom Lane
Date:
adam_pgsql <adam_pgsql@witneyweb.org> writes:
> On 23 Feb 2010, at 17:41, Tom Lane wrote:
>> That's very peculiar.  It looks more like dynamic linker breakage than
>> Postgres' fault, though.  What platform is this (no, the kernel version
>> doesn't do it for me)?  What have you changed since you last built
>> Postgres successfully?

> This is Debian 4.0. I haven't changed anything on that box recently. My current working version is 8.2.12.

> As a test I just successfully ran configure, make and make check for 8.3.8. But both a fresh tarball for 8.4.1 and
8.4.2fail with the same error. 

Hmph.  We have several debian boxes in the buildfarm and none of them
have ever showed a failure like this AFAIR:
http://buildfarm.postgresql.org/cgi-bin/show_status.pl

What I'd suggest is taking a close look at the link commands that build
libpq.so and pg_ctl.  Compare the 8.3 and 8.4 cases on your box, and
also look at the make logs from the Debian buildfarm animals, to see if
you can see what's being done differently.

BTW, so far as I can tell in a quick look at the sources, the only
explicit call of dlopen() anywhere in Postgres is in the backend,
not in either pg_ctl or libpq.  So you're definitely dealing with a
dynamic linker foulup, not a real missing reference.

            regards, tom lane

Re: "make check" failed on 8.4.2 install

From
adam_pgsql
Date:
On 23 Feb 2010, at 21:34, Tom Lane wrote:

> adam_pgsql <adam_pgsql@witneyweb.org> writes:
>> On 23 Feb 2010, at 17:41, Tom Lane wrote:
>>> That's very peculiar.  It looks more like dynamic linker breakage than
>>> Postgres' fault, though.  What platform is this (no, the kernel version
>>> doesn't do it for me)?  What have you changed since you last built
>>> Postgres successfully?
>
>> This is Debian 4.0. I haven't changed anything on that box recently. My current working version is 8.2.12.
>
>> As a test I just successfully ran configure, make and make check for 8.3.8. But both a fresh tarball for 8.4.1 and
8.4.2fail with the same error. 
>
> Hmph.  We have several debian boxes in the buildfarm and none of them
> have ever showed a failure like this AFAIR:
> http://buildfarm.postgresql.org/cgi-bin/show_status.pl
>
> What I'd suggest is taking a close look at the link commands that build
> libpq.so and pg_ctl.  Compare the 8.3 and 8.4 cases on your box, and
> also look at the make logs from the Debian buildfarm animals, to see if
> you can see what's being done differently.
>
> BTW, so far as I can tell in a quick look at the sources, the only
> explicit call of dlopen() anywhere in Postgres is in the backend,
> not in either pg_ctl or libpq.  So you're definitely dealing with a
> dynamic linker foulup, not a real missing reference.

I checked the output from make but couldn't see anything particular different apart from the removal of -Winline
everywhere.However I have narrowed down the problem to openssl. ./configure without openssl works ok for 8.4.2, but  

./configure --with-openssl --with-libraries=/usr/local/ssl/lib/ --with-includes=/usr/local/ssl/include/

still fails. The server has OpenSSL 0.9.8i installed, but upgrading to the latest OpenSSL 0.9.8l still fails.

This is gcc version 2.95.4 if that helps?

thanks again

adam



Re: "make check" failed on 8.4.2 install

From
"Daniel Verite"
Date:
    adam_pgsql wrote:

> This is gcc version 2.95.4 if that helps?

It's a very old version of gcc, and also one that has never been officially
released, according to the release notes. Run "aptitude show gcc-2.95" and
see the description of the package.

You don't want to use that as your default compiler. Debian 4 comes with
gcc-4.1, which is what you should get when you install the package named gcc.

Best regards,
--
Daniel
PostgreSQL-powered mail user agent and storage: http://www.manitou-mail.org