|
|
sybperl-l Archive
Up Prev Next
From: abe dot crabtree at citicorp dot com
Subject: Re: Sybperl installation problem
Date: Dec 19 2001 9:21AM
Michael is exactly right.
chatr shows that your sybase extension dynamically links to libm.2, while perl
is linking to earlier libraries. Thinking back, it is libc (C runtime) that
defines _DINFINITY, and libm (maths) that reads it - BUT, only v2 of libc does
this, so libc.1 and libm.2 are incompatible.
It's no good trying to link your perl extension to libc.2, because the dynamic
libraries are loaded explicitly during runtime by dynloader, using an HP-UX
system call to load it (forget its name,) and this will not work for libraries
containing data with thread-local storage, which libc has. Therefore you
absolutely must have your sybase library link libm, but get its libc from the
main perl executable, so they have to be compatible, so you have to rebuild
perl!
Maybe you get the chatr warning because your version of perl has old libraries.
It doesn't matter though: you have to rebuild anyway, and you should be okay
thereafter - your version of HP-UX should have all up to date tools, and when
you chatr your new perl executable, you should get something like:
./perl:
shared executable
shared library dynamic path search:
SHLIB_PATH disabled second
embedded path disabled first Not Defined
shared library list:
dynamic /usr/lib/libnsl.1
dynamic /usr/lib/libnm.sl
dynamic /usr/lib/libdld.2
dynamic /usr/lib/libm.2
dynamic /usr/lib/libc.2
dynamic /usr/lib/libsec.2
shared library binding:
deferred
global hash table disabled
plabel caching disabled
global hash array size:1103
global hash array nbuckets:3
shared vtable support disabled
static branch prediction disabled
executable from stack: D (default)
kernel assisted branch prediction enabled
lazy swap allocation disabled
text segment locking disabled
data segment locking disabled
third quadrant private data space disabled
fourth quadrant private data space disabled
data page size: D (default)
instruction page size: D (default)
I didn't have any particular trouble building perl 5.6.1 (latest version,) so I
hope you'll be okay.
Any further problems let me know & I'll try & help (I'm in England, hence the
time differences and slow answer.)
Regards,
Abe
-----Original Message-----
From: mpeppler [mailto:mpeppler@peppler.org]
Sent: 18 December 2001 19:40
To: SYBPERL-L
Cc: mpeppler; mpeppler; sybperl-l
Subject: Re: Sybperl installation problem
I'm not really up-to-date on HP-UX (as in - I've never used it!) but
it seems that the warning when running the chatr command on the perl
binary might indicate that there's something wrong with it.
Maybe you could try rebuilding the perl binary?
Michael
Chi Huang writes:
>
> Hi Michael,
>
> Thanks for the prompt reply. I followed your recommendation, but I don't
> know too much about this linking stuff. I am enclosing the output of
> chatr. Hope you can make some sense out of it, and a way to fix it.
> Thanks again.
>
> Regards,
>
> Chi Huang
>
> ----------------BEGIN------------------------------
>
> $ chatr blib/arch/auto/Sybase/DBlib/DBlib.sl
> blib/arch/auto/Sybase/DBlib/DBlib.sl:
> shared library
> shared library dynamic path search:
> SHLIB_PATH disabled second
> embedded path disabled first Not Defined
> shared library list:
> dynamic /home/sybase1200/OCS-12_0/lib/libinsck.sl
> dynamic /home/sybase1200/OCS-12_0/lib/libsybdb.sl
> dynamic /usr/lib/libm.2
> shared vtable support disabled
> static branch prediction disabled
> executable from stack: D (default)
> kernel assisted branch prediction enabled
> lazy swap allocation disabled
> text segment locking disabled
> data segment locking disabled
> third quadrant private data space disabled
> fourth quadrant private data space disabled
> data page size: D (default)
> instruction page size: D (default)
>
> $ chatr /usr/local/bin/perl
> chatr(warning): dl_header_ext.size != sizeof(dl_header_ext). Please update
your version of the linker.
> /usr/local/bin/perl:
> shared executable
> shared library dynamic path search:
> SHLIB_PATH enabled first
> embedded path enabled second
/opt/perl5.6.0/lib/5.6.0/PA-RISCportable/CORE
> shared library list:
> dynamic /usr/local/src/perl-5.6.0/libperl.sl
> dynamic /usr/lib/libnsl_s.1
> dynamic /usr/lib/libdbm.1
> dynamic /usr/lib/libdld.1
> dynamic /usr/lib/libc.1
> dynamic /usr/lib/libsec.1
> shared library binding:
> deferred
> global hash table disabled
> plabel caching disabled
> global hash array size:1103
> global hash array nbuckets:3
> shared vtable support disabled
> static branch prediction disabled
> executable from stack: D (default)
> kernel assisted branch prediction enabled
> lazy swap allocation disabled
> text segment locking disabled
> data segment locking disabled
> third quadrant private data space disabled
> fourth quadrant private data space disabled
> data page size: D (default)
> instruction page size: D (default)
> -------------------END-----------------------------------
>
> > Chi Huang writes:
> > >
> > > Hi Michael,
> > >
> > > I am trying to install sybperl-2.14 on the following system:
> > >
> > > SYBASE: ASE 12.0
> > > OS: HP-UX 11.0
> > > Perl version: perl 5.6.0.
> > >
> > > I got the "perl Makefile.PL" and "make" to work, but "make test" failed.
> > > I am enclosing the message from make and make test. Hope you can help
> > > me to fix this.
> >
> > > qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
> > > t/bcp.............../usr/lib/dld.sl: Unresolved symbol: _DINFINITY
(data)
> > from
> > > /home/sybase1200/OCS-12_0/lib/libsybdb.sl
> > > Can't load '../blib/arch/auto/Sybase/DBlib/DBlib.sl' for module
Sybase::DBl
> > ib:
> >
> > I seem to remember someone else having a similar problem recently, and
> > that the problem was that the version of perl that was running was not
> > linked with the same version of libm (or something like that).
> >
> > Try a chatr on your perl binary, and a chatr on DBlib.sl and see if
> > they want to load the same libm.
> >
> > Michael
> > --
> > Michael Peppler - Data Migrations Inc. - http://www.mbay.net/~mpeppler
> > mpeppler@peppler.org - mpeppler@mbay.net
> > International Sybase User Group - http://www.isug.com
--
Michael Peppler - Data Migrations Inc. - http://www.mbay.net/~mpeppler
mpeppler@peppler.org - mpeppler@mbay.net
International Sybase User Group - http://www.isug.com
|