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.
Updated by r a almost 12 years ago
When Perl is built on OpenIndiana would it be possible to have both 32 and 64 bit libraries available, in the same way that other libraries are provided for 32 and 64 bit binding.
Updated by Garrett D'Amore almost 12 years ago
- Project changed from site to OpenIndiana Distribution
Updated by Albert Lee almost 12 years ago
- Category set to 10
- Priority changed from Normal to Low
r a wrote:
When Perl is built on OpenIndiana would it be possible to have both 32 and 64 bit libraries available, in the same way that other libraries are provided for 32 and 64 bit binding.
Arguably, building your application as both 32- and 64-bit is a better solution.
Updated by Chris Jordan about 11 years ago
- Assignee set to OI SFW
- Difficulty set to Medium
- Tags set to perl
Assigning this to "OI SFW", since it had not yet been assigned.
Updated by Ken Mays almost 11 years ago
- Due date set to 2011-09-14
- Status changed from New to Resolved
- Target version set to oi_151_stable
- % Done changed from 0 to 100
- Estimated time set to 40.00 h
Resolved. Use oi_151/perl-5.10+ as new dev platform.