Bug #328
closedPerl problem - 32bit librarys were 64bit libraries are expected
100%
Description
While currently trying to build PostgreSQL v9.0.1 as a 64bit
binary within a OpenIndiana instance running within VirtualBox using Studio12 compilers
$ CC=/opt/SUNWspro/bin/cc CFLAGS=-m64 CPPFLAGS=-m64 ./configure
--prefix=/opt/sfw --enable-nls --enable-dtrace --with-perl --with-python
--with-gssapi --with-pam --with-openssl --with-libxml --with-libxslt
$ make
everything appears to be okay until
"/usr/bin/perl" ./text2macro.pl --strip='^(\#.*|\s*)$' plc_perlboot.pl
plc_trusted.pl > perlchunks.h
"/usr/bin/perl" plperl_opmask.pl plperl_opmask.h
/opt/SUNWspro/bin/cc -Xa -m64 -KPIC -I. -I. -I../../../src/include -m64
-I/usr/include/libxml2 -I/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE
-c -o plperl.o plperl.c
"/usr/bin/perl" /usr/perl5/5.8.4/lib/ExtUtils/xsubpp -typemap
/usr/perl5/5.8.4/lib/ExtUtils/typemap SPI.xs >SPI.c
/opt/SUNWspro/bin/cc -Xa -m64 -KPIC -I. -I. -I../../../src/include -m64
-I/usr/include/libxml2 -I/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE
-c -o SPI.o SPI.c
"/usr/bin/perl" /usr/perl5/5.8.4/lib/ExtUtils/xsubpp -typemap
/usr/perl5/5.8.4/lib/ExtUtils/typemap Util.xs >Util.c
/opt/SUNWspro/bin/cc -Xa -m64 -KPIC -I. -I. -I../../../src/include -m64
-I/usr/include/libxml2 -I/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE
-c -o Util.o Util.c
/opt/SUNWspro/bin/cc -Xa -m64 -KPIC -G -o plperl.so plperl.o SPI.o
Util.o -L../../../src/port -L/usr/lib
-Wl,-R'/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE'
/usr/perl5/5.8.4/lib/i86pc-solaris-64int/auto/DynaLoader/DynaLoader.a
-L/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE -lperl -lsocket -lnsl
-ldl -lm -lc
ld: warning: file
/usr/perl5/5.8.4/lib/i86pc-solaris-64int/auto/DynaLoader/DynaLoader.a(DynaLoader.o):
wrong ELF class: ELFCLASS32
ld: fatal: file
/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE/libperl.so: wrong ELF
class: ELFCLASS32
ld: fatal: file processing errors. No output written to plperl.so
make3: * [plperl.so] Error 1
make3: Leaving directory `/home/dev/dev/postgresql-9.0.1/src/pl/plperl'
make2: [all] Error 2
make2: Leaving directory `/home/dev/dev/postgresql-9.0.1/src/pl'
make1: [all] Error 2
make1: Leaving directory `/home/dev/dev/postgresql-9.0.1/src'
make: * [all] Error 2
dev@ts4:~/dev/postgresql-9.0.1$ file
/usr/perl5/5.8.4/lib/i86pc-solaris-64int/auto/DynaLoader/DynaLoader.a
/usr/perl5/5.8.4/lib/i86pc-solaris-64int/auto/DynaLoader/DynaLoader.a: current
ar archive, not a dynamic executable or shared object
dev@ts4:~/dev/postgresql-9.0.1$ file
/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE/libperl.so
/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE/libperl.so: ELF 32-bit
LSB dynamic lib 80386 Version 1 [FPU], dynamically linked, not stripped,
no debugging information available
dev@ts4:~/dev/postgresql-9.0.1$
It appears there are 32bit libraries in a 64 bit directory.