Project

General

Profile

Actions

Bug #328

closed

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

Added by r a almost 12 years ago. Updated almost 11 years ago.

Status:
Resolved
Priority:
Low
Assignee:
Category:
OI-Userland
Target version:
Start date:
2010-10-09
Due date:
2011-09-14
% Done:

100%

Estimated time:
40.00 h
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.

Actions

Also available in: Atom PDF