Re: /usr/lib/dld.sl: Can't shl_load() a library containing Thread Loc al Storage: /usr/lib/libcl.2

From: Jonathan Leffler (jleffler_at_earthlink.net)
Date: 05/31/04


Date: Sun, 30 May 2004 15:33:34 -0700
To: "Delaporte, Olivier" <olivier.delaporte@idt.com>

Delaporte, Olivier wrote:

> Hello
>
> I am trying to install DBD-Informix in the following environment:
> HP-UX11.11 64bit
> Informix 9.4 HC1
> Informix CSDK 2.81 or esql 9.53
> Gcc 3.3.3
> Perl 5.8.0
>
> Here is the error that I am getting after running the make test:
>
> ============================================================================
> =============
> t/t00basic........../usr/lib/dld.sl: Can't shl_load() a library containing
> Thread Local Storage: /usr/lib/libcl.2

Hi,

If you look in Notes/environment.variables file in the DBD::Informix
distribution, you will see a variable DBD_INFORMIX_HPUX_USELIBCL. The
documentation refers to libcl.1; you're running into the equivalent
problem with libcl.2. I suggest that you track down where that is
used (Makefile.PL), and change the reference to '-l:libcl.1' to
'-l:libcl.\d' (should be good for a few years, anyway). As far as I
can tell, the libcl library provides nothing of value to ClientSDK.

> /usr/lib/dld.sl: Exec format error
> install_driver(Informix) failed: Can't load
> '/apps11/src/DBD-Informix-2003.04/blib/arch/auto/DBD/Informix/Informix.sl'
> for module DBD::Informix: Exec format error at
> /opt/perl/lib/5.8.0/PA-RISC1.1-thread-multi/DynaLoader.pm line 229.
> at (eval 1) line 3
> Compilation failed in require at (eval 1) line 3.
> Perhaps a required shared library or dll isn't installed where expected
> at /apps11/src/DBD-Informix-2003.04/blib/lib/DBD/Informix/TestHarness.pm
> line 183
> t/t00basic..........dubious
> Test returned status 255 (wstat 65280, 0xff00)
> DIED. FAILED tests 1-41
> Failed 41/41 tests, 0.00% okay
> t/t01stproc........./usr/lib/dld.sl: Can't shl_load() a library containing
> Thread Local Storage: /usr/lib/libcl.2
> /usr/lib/dld.sl: Exec format error
> install_driver(Informix) failed: Can't load
> '/apps11/src/DBD-Informix-2003.04/blib/arch/auto/DBD/Informix/Informix.sl'
> for module DBD::Informix: Exec format error at
> /opt/perl/lib/5.8.0/PA-RISC1.1-thread-multi/DynaLoader.pm line 229.
> at (eval 1) line 3
> Snip - snip
> ============================================================================
> ==============
>
> Is this error due to the way perl was compiled?
>
> Perl -V
> [root@oberon:/apps11/src/DBD-Informix-2003.04]# perl -V
> Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
> Platform:
> osname=hpux, osvers=11.00, archname=PA-RISC1.1-thread-multi
> uname='hp-ux bertha b.11.00 u 9000800 136901587 unlimited-user license '
> config_args='-des -Dcc=gcc -Dcf_by=ActiveState
> -Dcf_email=ActivePerl@ActiveState.com -Uinstallusrbinperl -Ud_sigsetjmp
> -Dusethreads -Duseithreads -Ulocincpth= -Uloclibpth= -Accflags=-fPIC
> -Dd_attribut=undef -Dcccdlflags=-fPIC -Darchname=PA-RISC1.1 -Duselargefiles
> -Accflags=-mpa-risc-1-1 -Dprefix=/opt/perl -Duselargefiles'
> 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 -fPIC -mpa-risc-1-1 -fno-strict-aliasing -D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64',
> optimize='-O',
> cppflags='-D_HPUX_SOURCE -D_POSIX_C_SOURCE=199506L -D_REENTRANT
> -D_HPUX_SOURCE -fPIC -mpa-risc-1-1 -fno-strict-aliasing'
> ccversion='', gccversion='3.2 20020708 (experimental)',
> gccosandvers='hpux11.00'
> 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='gcc', ldflags =''
> libpth=/lib /usr/lib /usr/ccs/lib /usr/local/lib
> libs=-lnsl -lnm -lndbm -lmalloc -ldld -lm -lndir -lcrypt -lsec -lpthread
> perllibs=-lnsl -lnm -lmalloc -ldld -lm -lndir -lcrypt -lsec -lpthread
> libc=/lib/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
> gnulibc_version=''
> Dynamic Linking:
> dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E
> -Wl,-B,deferred '
> cccdlflags='-fPIC', lddlflags='-shared -static-libgcc -fPIC'
>
>
> Characteristics of this binary (from libperl):
> Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
> PERL_IMPLICIT_CONTEXT
> Locally applied patches:
> ActivePerl Build 806
> Built under hpux
> Compiled at May 2 2003 21:44:05
> @INC:
> /opt/perl/lib/5.8.0/PA-RISC1.1-thread-multi
> /opt/perl/lib/5.8.0
> /opt/perl/lib/site_perl/5.8.0/PA-RISC1.1-thread-multi
> /opt/perl/lib/site_perl/5.8.0
> /opt/perl/lib/site_perl
> .
> I have seen this error mentioned several times on the Web but have not found
> any answers to it.
>
> Thank you
>
> Olivier Delaporte
>

-- 
Jonathan Leffler (jleffler@earthlink.net, jleffler@us.ibm.com) 
#include <disclaimer.h>
Guardian of DBD::Informix v2003.04 -- http://dbi.perl.org/

Quantcast