Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!news.mel.connect.com.au!news.mel.aone.net.au!grumpy.fl.net.au!news.webspan.net!www.nntp.primenet.com!nntp.primenet.com!news.mathworks.com!news.sprintlink.net!news-peer.sprintlink.net!news-pull.sprintlink.net!news.sprintlink.net!news-ana-7.sprintlink.net!news.aloha.net!news-w.ans.net!newsfeeds.ans.net!butch!lscruz!lscruz!not-for-mail From: gary@lscruz.scf.lmms.lmco.com (Gary Liefer) Newsgroups: comp.lang.perl.misc,comp.unix.bsd.bsdi.misc Subject: Re: Perl 5.003 and BSD 2.1 (libwww-perl-5.0x) Date: 2 Feb 1997 18:54:35 -0800 Organization: LMMS, Santa Cruz Lines: 38 Message-ID: <5d3k1b$rqh$1@lscruz.scf.lmms.lmco.com> References: <32ee65fc.336138651@news.charm.net> NNTP-Posting-Host: lscruz.scf.lmms.lmco.com Xref: euryale.cc.adfa.oz.au comp.lang.perl.misc:57867 comp.unix.bsd.bsdi.misc:5847 In article <32ee65fc.336138651@news.charm.net>, Sean Rolinson <snowdog@charm.net> wrote: >I've recently compiled perl5.003 and libwww-perl-5.06. Both installed >okay and testing fine, but when running GET, here is what message I [ ... ] >Bad free() ignored at /usr/local/lib/perl5/DynaLoader.pm line 140. >Bad free() ignored at /usr/local/lib/perl5/DynaLoader.pm line 140. [ ... ] ><H1>An Error Occurred</h1> >501 - Can't load >'/usr/local/lib/perl5/i386-bsdos/5.003/auto/Socket/Socket.o' for >module Socket: can't resolve undefined symbols: Inappropriate file >type or format. [ ... ] >Does anyone have any suggestions as to what might be causing the >problem? All the necessary modules have been installed and to the >best of my knowledge (which is limited), GET should be working fine. - I tracked this problem to the the BSDI dynamic load library (libdl.a). The problem crops up when the executable is invoked without an absolute path. Function dlopen needs to read the symbol table but it has to search for the a.out file. The "Bad free()" error seems to occur when a different version of perl (with the same name) is found somewhere in the path before the one that's actually running. - The "inappropriate file type" happens if the perl executable or any of the link modules have been stripped (no symbol table). - Setting the environment variable LD_LIBRARY_PATH appropriately seems to be what's supposed to fix the problem. I haven't actually tried this myself though -- I just absolute-ized everything. - Side note, Apache: 1.2b2 (anyhow) strips off the path before exec'ing the CGI handler. Is this good? Some kind of security bollux? -- ------------- Gary Liefer gary@oetl1.scf.lmsc.lockheed.com