Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Apr 1998 14:40:39 -0700
From:      Ken Neighbors <ken@best.com>
To:        freebsd-questions@FreeBSD.ORG
Subject:   perl extension cannot find standard shared library
Message-ID:  <353BC0D7.F953168C@best.com>

next in thread | raw e-mail | index | archive | help
I'm trying to install the perl extension SPGrove in my ISP account at
best.com which runs FreeBSD 2.2.6-STABLE.  I was able to install it on
Debian GNU/Linux 1.3.1 and on Sun Solaris 2.5.1 without major problems,
but this one on FreeBSD has me stuck:

-------------------
shell9: make test
PERL_DL_NONLAZY=1 /usr/local/bin/perl5 -I./blib/arch -I./blib/lib
-I/usr/local/lib/perl5/i386-freebsd/5.00404 -I/usr/local/lib/perl5
test.pl
1..2
Can't load './blib/arch/auto/SGML/SPGrove/SPGrove.so' for module
SGML::SPGrove: Undefined symbol "___builtin_vec_delete" in
perl5:./blib/arch/auto/SGML/SPGrove/SPGrove.so at
/usr/local/lib/perl5/i386-freebsd/5.00404/DynaLoader.pm line 166.

 at test.pl line 18
BEGIN failed--compilation aborted at test.pl line 18.
not ok 1
*** Error code 2

Stop.
-------------------

I emailed the author of SPGrove (Ken MacLeod) and he said Perl's
MakeMaker was not using the right linking options or maybe gcc was
configured wrong and that I might be able to fix it by manually setting
LD_LIBRARY_PATH, but I tried that and it didn't work (I didn't expect it
too, since I was pretty sure the runtime-loader was looking in /usr/lib
where I see libg++.so.4.0 and libstdc++.so.2.0.

If it will help, here's what appeared when compiling the extension:
-------------------
shell9: make
mkdir ./blib
mkdir ./blib/lib
mkdir ./blib/lib/SGML
cp SData.pm ./blib/lib/SGML/SData.pm
cp Entity.pm ./blib/lib/SGML/Entity.pm
cp SubDocEntity.pm ./blib/lib/SGML/SubDocEntity.pm
cp Writer.pm ./blib/lib/SGML/Writer.pm
cp ExtEntity.pm ./blib/lib/SGML/ExtEntity.pm
cp SPGrove.pm ./blib/lib/SGML/SPGrove.pm
cp Simple/BuilderBuilder.pm ./blib/lib/SGML/Simple/BuilderBuilder.pm
cp PI.pm ./blib/lib/SGML/PI.pm
cp Element.pm ./blib/lib/SGML/Element.pm
cp Simple/SpecBuilder.pm ./blib/lib/SGML/Simple/SpecBuilder.pm
cp Simple/Spec.pm ./blib/lib/SGML/Simple/Spec.pm
cp Notation.pm ./blib/lib/SGML/Notation.pm
/usr/local/bin/perl5 -I/usr/local/lib/perl5/i386-freebsd/5.00404
-I/usr/local/lib/perl5 /usr/local/lib/perl5/ExtUtils/xsubpp  -typemap
/usr/local/lib/perl5/ExtUtils/typemap SPGrove.xs >SPGrove.tc && mv
SPGrove.tc SPGrove.c
Please specify prototyping behavior for SPGrove.xs (see perlxs manual)
cc -c -I../sp-1.3/lib -I../sp-1.3/generic -I../sp-1.3/include
-I/usr/local/include -O     -DVERSION=\"1.00\"  -DXS_VERSION=\"1.00\"
-DPIC -fpic -I/usr/local/lib/perl5/i386-freebsd/5.00404/CORE
-DSP_MULTI_BYTE SPGrove.c
cc -c -I../sp-1.3/lib -I../sp-1.3/generic -I../sp-1.3/include
-I/usr/local/include -O     -DVERSION=\"1.00\"  -DXS_VERSION=\"1.00\"
-DPIC -fpic -I/usr/local/lib/perl5/i386-freebsd/5.00404/CORE
-DSP_MULTI_BYTE SPGroveNew.cc
mkdir ./blib/arch
mkdir ./blib/arch/auto
mkdir ./blib/arch/auto/SGML
mkdir ./blib/arch/auto/SGML/SPGrove
Running Mkbootstrap for SGML::SPGrove ()
chmod 644 SPGrove.bs
LD_RUN_PATH="/var/tmp/ken/cgi-src/ofx-0.06/SGML-SPGrove-1.00/../sp-1.3/lib"
ld -o ./blib/arch/auto/SGML/SPGrove/SPGrove.so  -Bshareable 
-L/usr/local/lib SPGrove.o SPGroveNew.o   
-L/var/tmp/ken/cgi-src/ofx-0.06/SGML-SPGrove-1.00/../sp-1.3/lib -lsp 
chmod 755 ./blib/arch/auto/SGML/SPGrove/SPGrove.so
cp SPGrove.bs ./blib/arch/auto/SGML/SPGrove/SPGrove.bs
chmod 644 ./blib/arch/auto/SGML/SPGrove/SPGrove.bs
mkdir ./blib/lib/auto/SGML
mkdir ./blib/lib/auto/SGML/SPGrove
mkdir ./blib/man3
-------------------

I'm wondering if this a problem with best.com's FreeBSD system or if it
is a problem with the way perl is trying to install the extension. 
Thanks for any help.

-- 
Ken Neighbors III, Ph.D.                    mailto:ken@best.com
Web Application Development           http://www.best.com/~ken/
perl, CGI, Linux, Java                           (650) 390-9414

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?353BC0D7.F953168C>