From owner-freebsd-questions Mon Apr 20 14:42:37 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id OAA29050 for freebsd-questions-outgoing; Mon, 20 Apr 1998 14:42:37 -0700 (PDT) (envelope-from owner-freebsd-questions@FreeBSD.ORG) Received: from lothlorien (root@ken.vip.best.com [204.156.134.252]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id VAA28780 for ; Mon, 20 Apr 1998 21:41:06 GMT (envelope-from ken@best.com) Received: from best.com ([127.0.0.1]) by lothlorien with esmtp (ident ken using rfc1413) id m0yROIq-0001duC (Debian Smail-3.2 1996-Jul-4 #2); Mon, 20 Apr 1998 14:40:40 -0700 (PDT) Message-ID: <353BC0D7.F953168C@best.com> Date: Mon, 20 Apr 1998 14:40:39 -0700 From: Ken Neighbors X-Mailer: Mozilla 4.04 [en] (X11; U; Linux 2.0.30 i486) MIME-Version: 1.0 To: freebsd-questions@FreeBSD.ORG Subject: perl extension cannot find standard shared library Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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