HP-UX 11.11 DBD-2.9004 Invalid Loader Fixup Error

HP-UX 11.11 DBD-2.9004 Invalid Loader Fixup Error

am 20.12.2004 21:04:14 von pbriggs

------_=_NextPart_001_01C4E6CF.13F224DE
Content-Type: text/plain;
charset=iso-8859-1
Content-Transfer-Encoding: 7bit

I am unable to compile DBD-mysql-2.9004 on HP-UX 11.11 using GCC 3.4.3
binary provided by the HP-UX Software Porting Archive Center. I get an
error from the linker that says "Invalid loader fixup in text space needed
in output file for symbol "pipe_sig_handler" in input file
"/opt/mysql/lib/mysql/libmysqlclient.a(libmysql.o)"

I have compiled perl, mysql-4.1.8, and DBD all using GCC. There is no mix
between CC and GCC in the code that I'm aware of. Neither is there a mix of
64 vs 32 bit code that I know of.

gcc -v output:

Reading specs from /usr/local/lib/gcc/hppa2.0w-hp-hpux11.11/3.4.3/specs
Configured with: ./configure : (reconfigured) ./configure : (reconfigured)
../configure : (reconfigured) ./configure : (reconfigured) ./configure :
(reconfigured) ./configure
Thread model: single
gcc version 3.4.3

perl -v output:

Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
Platform:
osname=hpux, osvers=11.11, archname=PA-RISC2.0-thread-multi
uname='hp-ux n7016 b.11.11 u 9000800 618329343 unlimited-user license '
config_args='-Dcc=gcc'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_POSIX_C_SOURCE=199506L -D_REENTRANT
-D_HPUX_SOURCE -mpa-risc-2-0 -fno-strict-aliasing -pipe -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O3',
cppflags='-D_HPUX_SOURCE -D_POSIX_C_SOURCE=199506L -D_REENTRANT
-D_HPUX_SOURCE -mpa-risc-2-0 -fno-strict-aliasing -pipe
-I/usr/local/include'
ccversion='', gccversion='3.4.3', gccosandvers='hpux11.11'
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='/usr/bin/ld', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
libs=-lnsl -lnm -lndbm -ldb -lmalloc -ldld -lm -lcrypt -lsec -lpthread
-lc
perllibs=-lnsl -lnm -lmalloc -ldld -lm -lcrypt -lsec -lpthread -lc
libc=/lib/libc.sl, so=sl, useshrplib=true, libperl=libperl.sl
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E
-Wl,-B,deferred '
cccdlflags='-fPIC', lddlflags='-b -L/usr/local/lib'


Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
Built under hpux
Compiled at Dec 19 2004 13:06:28
@INC:
/opt/perl5/lib/5.8.6/PA-RISC2.0-thread-multi
/opt/perl5/lib/5.8.6
/opt/perl5/lib/site_perl/5.8.6/PA-RISC2.0-thread-multi
/opt/perl5/lib/site_perl/5.8.6
/opt/perl5/lib/site_perl
.

Output of compilation of DBD-mysql-2.9004:

perl Makefile.PL
I will use the following settings for compiling and testing:

cflags (mysql_config) = -I/opt/mysql/include/mysql -march=2.0
libs (mysql_config) = -L/opt/mysql/lib/mysql -lmysqlclient
-lcrypt -lnsl -lm -L/usr/local/lib -lz
nocatchstderr (default ) = 0
nofoundrows (default ) = 0
ssl (guessed ) = 0
testdb (default ) = test
testhost (default ) =
testpassword (default ) =
testuser (default ) =

To change these settings, see 'perl Makefile.PL --help' and
'perldoc INSTALL'.

Checking if your kit is complete...
Looks good
Using DBI 1.46 (for perl 5.008006 on PA-RISC2.0-thread-multi) installed in
/opt/perl5/lib/site_perl/5.8.6/PA-RISC2.0-thread-multi/auto/ DBI/
Writing Makefile for DBD::mysql
n7016:tec3712:/home/tec3712/software/DBD-mysql-2.9004:make
cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm
cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm
cp lib/Mysql.pm blib/lib/Mysql.pm
cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod
cp lib/Mysql/Statement.pm blib/lib/Mysql/Statement.pm
cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm
gcc -c -I/opt/perl5/lib/site_perl/5.8.6/PA-RISC2.0-thread-multi/aut o/DBI/
-I/opt/mysql/include/mysql -march=2.0 -D_POSIX_C_SOURCE=199506L -D_REENTRANT
-D_HPUX_SOURCE -mpa-risc-2-0 -fno-strict-aliasing -pipe -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -DVERSION=\"2.9004\"
-DXS_VERSION=\"2.9004\" -fPIC
"-I/opt/perl5/lib/5.8.6/PA-RISC2.0-thread-multi/CORE" dbdimp.c
/opt/perl5/bin/perl -p -e "s/~DRIVER~/mysql/g"
/opt/perl5/lib/site_perl/5.8.6/PA-RISC2.0-thread-multi/auto/ DBI//Driver.xst
> mysql.xsi
/opt/perl5/bin/perl /opt/perl5/lib/5.8.6/ExtUtils/xsubpp -typemap
/opt/perl5/lib/5.8.6/ExtUtils/typemap mysql.xs > mysql.xsc && mv mysql.xsc
mysql.c
Warning: duplicate function definition 'do' detected in mysql.xs, line 196
Warning: duplicate function definition 'rows' detected in mysql.xs, line 294
gcc -c -I/opt/perl5/lib/site_perl/5.8.6/PA-RISC2.0-thread-multi/aut o/DBI/
-I/opt/mysql/include/mysql -march=2.0 -D_POSIX_C_SOURCE=199506L -D_REENTRANT
-D_HPUX_SOURCE -mpa-risc-2-0 -fno-strict-aliasing -pipe -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -DVERSION=\"2.9004\"
-DXS_VERSION=\"2.9004\" -fPIC
"-I/opt/perl5/lib/5.8.6/PA-RISC2.0-thread-multi/CORE" mysql.c
Running Mkbootstrap for DBD::mysql ()
chmod 644 mysql.bs
rm -f blib/arch/auto/DBD/mysql/mysql.sl
LD_RUN_PATH="/usr/local/lib" /opt/perl5/bin/perl myld /usr/bin/ld -b
-L/usr/local/lib dbdimp.o mysql.o -o blib/arch/auto/DBD/mysql/mysql.sl
-L/opt/mysql/lib/mysql -lmysqlclient -lcrypt -lnsl -lm -L/usr/local/lib -lz

/usr/bin/ld: Invalid loader fixup in text space needed in output file for
symbol "pipe_sig_handler" in input file
"/opt/mysql/lib/mysql/libmysqlclient.a(libmysql.o)"
chmod 755 blib/arch/auto/DBD/mysql/mysql.sl
chmod: can't access blib/arch/auto/DBD/mysql/mysql.sl
make: *** [blib/arch/auto/DBD/mysql/mysql.sl] Error 1

-- Patrick Briggs
Clinitech Information Resources, Inc.

This e-mail message, including any attachments, is for the sole use of the
intended recipient(s) and may contain confidential or privileged
information. Any unauthorized review, use, disclosure or distribution is
prohibited. If you are not the intended recipient, please contact the
sender by reply e-mail and destroy the message.

------_=_NextPart_001_01C4E6CF.13F224DE--

Re: HP-UX 11.11 DBD-2.9004 Invalid Loader Fixup Error

am 21.12.2004 22:50:09 von Jochen Wiedmann

Briggs, Patrick wrote:

> error from the linker that says "Invalid loader fixup in text space needed
> in output file for symbol "pipe_sig_handler" in input file
> "/opt/mysql/lib/mysql/libmysqlclient.a(libmysql.o)"

I have really no experience with HP/UX. The only thing that seems to me
to be questionable, is this:

> Dynamic Linking:
> dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E
> -Wl,-B,deferred '
> cccdlflags='-fPIC', lddlflags='-b -L/usr/local/lib'

-fPIC (compiling for large dynamic libraries) is present. Good.


> libs (mysql_config) = -L/opt/mysql/lib/mysql -lmysqlclient
> -lcrypt -lnsl -lm -L/usr/local/lib -lz

But here it is missing. No idea, whether you need it.


Jochen

--
MySQL Perl Mailing List
For list archives: http://lists.mysql.com/perl
To unsubscribe: http://lists.mysql.com/perl?unsub=gcdmp-msql-mysql-modules@m .gmane.org