Re: [GENERAL] aix build question re: duplicate symbol warning

Lists: pgsql-generalpgsql-hackers
From: Kevin Murphy <murphy(at)genome(dot)chop(dot)edu>
To: PostgreSQL general <pgsql-general(at)postgresql(dot)org>
Subject: aix build question re: duplicate symbol warning
Date: 2005-10-27 18:23:36
Message-ID: 43611B28.5070703@genome.chop.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general pgsql-hackers

Hi all,

I'm trying to build PG 8.1 beta on an AIX server.

The 'make' finishes without errors, but I'm getting lots of duplicate
symbol warnings like the following one. What am I to make of these?

gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline
-fno-strict-aliasing -Wl,-bnoentry -Wl,-H512 -Wl,-bM:SRE -o libpq.\
so libpq.a -L../../../src/port -L../../../src/port -lnsl
-Wl,-bI:../../../src/backend/postgres.imp -Wl,-bE:libpq.exp
ld: 0711-224 WARNING: Duplicate symbol:
.pqStrerror

ld: 0711-224 WARNING: Duplicate symbol:
.pqGetpwuid

...

I used a vanilla configure except for --without-readline.

Tools that seem to be in use:

AIX 5.1
GNU Make 3.80
gcc 3.2.2
ld - AIX version

This is an 8-CPU machine that recently became disused in our research
department and looks like a nice potential PG host.

Thanks,
Kevin Murphy


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Kevin Murphy <murphy(at)genome(dot)chop(dot)edu>
Cc: PostgreSQL general <pgsql-general(at)postgresql(dot)org>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: aix build question re: duplicate symbol warning
Date: 2005-10-27 19:46:08
Message-ID: 23352.1130442368@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general pgsql-hackers

Kevin Murphy <murphy(at)genome(dot)chop(dot)edu> writes:
> I'm trying to build PG 8.1 beta on an AIX server.

> The 'make' finishes without errors, but I'm getting lots of duplicate
> symbol warnings like the following one. What am I to make of these?

> gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline
> -fno-strict-aliasing -Wl,-bnoentry -Wl,-H512 -Wl,-bM:SRE -o libpq.\
> so libpq.a -L../../../src/port -L../../../src/port -lnsl
> -Wl,-bI:../../../src/backend/postgres.imp -Wl,-bE:libpq.exp
> ld: 0711-224 WARNING: Duplicate symbol:
> .pqStrerror

Hmm. pqStrerror is defined in libpgport (which is linked into the
backend) as well as libpq. ISTM that libpq should not be linked with
-Wl,-bI:../../../src/backend/postgres.imp, since it's not intended to
be loaded into the backend. Without having looked at the code, I'm
wondering if the AIX makefiles stick that option into LDFLAGS_SL rather
than someplace more restricted.

regards, tom lane


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Kevin Murphy <murphy(at)genome(dot)chop(dot)edu>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [GENERAL] aix build question re: duplicate symbol warning
Date: 2005-10-27 20:09:20
Message-ID: 23535.1130443760@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general pgsql-hackers

I wrote:
> Hmm. pqStrerror is defined in libpgport (which is linked into the
> backend) as well as libpq. ISTM that libpq should not be linked with
> -Wl,-bI:../../../src/backend/postgres.imp, since it's not intended to
> be loaded into the backend. Without having looked at the code, I'm
> wondering if the AIX makefiles stick that option into LDFLAGS_SL rather
> than someplace more restricted.

It seems that the right place to put this is BE_DLLLIBS, which is a
macro that probably didn't exist when the AIX support was last looked
at. But both Windows and Darwin ports use it now, so we may as well
bring AIX up to speed. Would you try the attached patch and see if it
gets rid of the warnings? Also check that regression tests and contrib
build/regression tests still work.

regards, tom lane

Attachment Content-Type Size
aix.patch application/octet-stream 1.6 KB

From: Kevin Murphy <murphy(at)genome(dot)chop(dot)edu>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [GENERAL] aix build question re: duplicate symbol warning
Date: 2005-10-27 21:42:45
Message-ID: 436149D5.6070905@genome.chop.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general pgsql-hackers

Tom Lane wrote:

>I wrote:
>
>
>>Hmm. pqStrerror is defined in libpgport (which is linked into the
>>backend) as well as libpq. ISTM that libpq should not be linked with
>>-Wl,-bI:../../../src/backend/postgres.imp, since it's not intended to
>>be loaded into the backend. Without having looked at the code, I'm
>>wondering if the AIX makefiles stick that option into LDFLAGS_SL rather
>>than someplace more restricted.
>>
>>
>
>It seems that the right place to put this is BE_DLLLIBS, which is a
>macro that probably didn't exist when the AIX support was last looked
>at. But both Windows and Darwin ports use it now, so we may as well
>bring AIX up to speed. Would you try the attached patch and see if it
>gets rid of the warnings? Also check that regression tests and contrib
>build/regression tests still work.
>
>
>
Tom, That patch worked, as far as eliminating those duplicate symbol
warnings. I have some dependency issues (libintl) that I have to
resolve in order to test the build.

-Kevin Murphy


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Kevin Murphy <murphy(at)genome(dot)chop(dot)edu>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [GENERAL] aix build question re: duplicate symbol warning
Date: 2005-10-28 14:47:38
Message-ID: 43623A0A.6020601@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general pgsql-hackers

Kevin Murphy wrote:

>>
>> It seems that the right place to put this is BE_DLLLIBS, which is a
>> macro that probably didn't exist when the AIX support was last looked
>> at. But both Windows and Darwin ports use it now, so we may as well
>> bring AIX up to speed. Would you try the attached patch and see if it
>> gets rid of the warnings? Also check that regression tests and contrib
>> build/regression tests still work.
>>
>>
>>
> Tom, That patch worked, as far as eliminating those duplicate symbol
> warnings. I have some dependency issues (libintl) that I have to
> resolve in order to test the build.
>
>

Or you could build without nls in the first instance.

cheers

andrew


From: Kevin Murphy <murphy(at)genome(dot)chop(dot)edu>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pg-hackers(at)postgresql(dot)org
Subject: Re: [GENERAL] aix build question re: duplicate symbol warning
Date: 2005-10-28 17:50:26
Message-ID: 436264E2.5030402@genome.chop.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general pgsql-hackers

Andrew Dunstan wrote:

> Kevin Murphy wrote:
>
>>> Would you try the attached patch and see if it
>>> gets rid of the warnings? Also check that regression tests and contrib
>>> build/regression tests still work.
>>>
>> Tom, That patch worked, as far as eliminating those duplicate symbol
>> warnings. I have some dependency issues (libintl) that I have to
>> resolve in order to test the build.
>>
> Or you could build without nls in the first instance.
>
Thanks, Andrew. I wasn't sure what was going on, because NLS is listed
as an optional feature in configure. But './configure --disable-nls'
did the trick. (Is there something wrong with the configure file, though?)

Sorry for the belated response. I'm happy Andreas hopped on it.

I was working on my next issue, which is 'make check' failing the stats
test; I see my problem in src/test/regress/log/postmaster log:

LOG: could not bind socket for statistics collector: Can't assign
requested address
LOG: disabling statistics collector for lack of working
socket

This seems to be due to a misconfiguration on this AIX box. 'localhost'
is not resolving properly.

Thanks for the help.

-Kevin Murphy