"make check" failed on 8.4.2 install

Started by adam_pgsqlabout 16 years ago6 messagesgeneral
Jump to latest
#1adam_pgsql
adam_pgsql@witneyweb.org

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: undefined symbol: 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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: adam_pgsql (#1)
Re: "make check" failed on 8.4.2 install

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: undefined symbol: 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

#3adam_pgsql
adam_pgsql@witneyweb.org
In reply to: Tom Lane (#2)
Re: "make check" failed on 8.4.2 install

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: undefined symbol: 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.2 fail with the same error.

thanks

adam

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: adam_pgsql (#3)
Re: "make check" failed on 8.4.2 install

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.2 fail 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

#5adam_pgsql
adam_pgsql@witneyweb.org
In reply to: Tom Lane (#4)
Re: "make check" failed on 8.4.2 install

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.2 fail 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

#6Daniel Verite
daniel@manitou-mail.org
In reply to: adam_pgsql (#5)
Re: "make check" failed on 8.4.2 install

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