Hello,

when compiling postgres 8.1.2 with GCC 3.3.2 (obtained as binary package from
                       
http://www-03.ibm.com/servers/aix/products/aixos/linux/download.html
) on AIX 5.3,  we get:

gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline -Wendif-labels 
-fno-strict-aliasing -L../../src/port   access/SUBSYS.o bootstrap/SUBSYS.o 
catalog/SUBSYS.o parser/SUBSYS.o commands/SUBSYS.o executor/SUBSYS.o 
lib/SUBSYS.o libpq/SUBSYS.o main/SUBSYS.o nodes/SUBSYS.o optimizer/SUBSYS.o 
port/SUBSYS.o postmaster/SUBSYS.o regex/SUBSYS.o rewrite/SUBSYS.o 
storage/SUBSYS.o tcop/SUBSYS.o utils/SUBSYS.o ../../src/timezone/SUBSYS.o 
../../src/port/libpgport_srv.a -Wl,-bE:../../src/backend/postgres.imp 
-Wbnoquiet -lm    -lPW -lld -lnsl -ldl -lm  -o postgres
ld: 0711-317 ERROR: Undefined symbol: ._isnan
ld: 0711-317 ERROR: Undefined symbol: ._isnanf
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit status

The AIX libm (from bos.adt.libm) does not contain the symbol _isnan (_isnan is 
not C99), but both the AIX math.h and the fixincludes replacement maps the C99 
symbols (without the prefixed underbar) to the underbarred version when 
_ISOC99_SOURCE is defined. Presumably (I'm not able to check this since I don't 
have a native compiler) the native Visual Age compiler turns these into inline 
code and does not generate an external reference.

Has this been fixed in more recent compiler versions? Is this a problem that 
can be avoided when GCC is installed from source against the local environment?

Thanks and Greetings
Winfried Harbecke


Reply via email to