Bug #328

Perl problem - 32bit librarys were 64bit libraries are expected

Added by r a over 3 years ago. Updated over 2 years ago.

Status:Resolved Start date:2010-10-09
Priority:Low Due date:2011-09-14
Assignee:OI SFW % Done:

100%

Category:SFW (Solaris Freeware)
Target version:oi_151_stable Estimated time:40.00 hours
Difficulty:Medium Tags:perl

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.

History

Updated by r a over 3 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 over 3 years ago

  • Project changed from site to OpenIndiana Distribution

Updated by Albert Lee over 3 years ago

  • Category set to SFW (Solaris Freeware)
  • 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 over 2 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 over 2 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

Resolved. Use oi_151/perl-5.10+ as new dev platform.

Also available in: Atom PDF