Peter Eisentraut wrote:
> This could be a name mangling problem. Maybe the linker needs to be
> invoked specially when building C++ libraries. Maybe the C++ compiler
> driver needs to be invoked directly. This could especially be a problem
> if you're using the GNU compiler with system libraries, since those are
> usually compiled by the system compiler.
>
> > I have change the Makefile.global and replace c++ by g++ but it the same
> > output.
>
> I think the good C++ compiler on AIX is called xlC. In any case, make
> sure that you don't mix different C++ compilers. You need to do 'gmake
> clean' at least in the libpq++ directory if you're switching.
AIX faq said that xlC compiler don't work with libpq++ but with g++ it
may works :
> libpq++ does not work because xlC does not have the string and bool
classes.
> compiling the few files, that fail, with g++ does work.
Humm, I have no xlC compiler installed.Here are the compilation lines :
make[3]: Entering directory
`/home/darold/postgresql-7.1beta6/src/interfaces/libpq++'
g++ -O2 -Wall -I../../../src/interfaces/libpq -I../../../src/include
-I/usr/local/include -c -o pgconnection.o p
gconnection.cc
g++ -O2 -Wall -I../../../src/interfaces/libpq -I../../../src/include
-I/usr/local/include -c -o pgdatabase.o pgd
atabase.cc
g++ -O2 -Wall -I../../../src/interfaces/libpq -I../../../src/include
-I/usr/local/include -c -o pgtransdb.o pgtr
ansdb.cc
g++ -O2 -Wall -I../../../src/interfaces/libpq -I../../../src/include
-I/usr/local/include -c -o pgcursordb.o pgc
ursordb.cc
g++ -O2 -Wall -I../../../src/interfaces/libpq -I../../../src/include
-I/usr/local/include -c -o pglobject.o pglo
bject.cc
ar crs libpq++.a pgconnection.o pgdatabase.o pgtransdb.o pgcursordb.o
pglobject.o
touch libpq++.a
../../../src/backend/port/aix/mkldexport.sh libpq++.a > libpq++.exp
/usr/local/bin/gcc -Wl,-H512 -Wl,-bM:SRE
-Wl,-bI:../../../src/backend/postgres.imp -Wl,-bE:libpq++.exp -o libpq++.
so libpq++.a -L/usr/local/lib -L../../../src/interfaces/libpq -lpq -lc
ld: 0711-224 WARNING: Duplicate symbol: __start
All work until it want to link with libraries, it seems to want the libc
(-lc) and I don't
have it installed. Is it normal or this realease is not portable with AIX
4.3.3 ?