After upgrading Perl, cannot reinstall modules - Cwd.so: Undefined symbol "perl_get_sv

Michael C. Shultz ringworm01 at gmail.com
Sun Nov 27 03:35:09 GMT 2005


On Saturday 26 November 2005 18:48, Mark Kane wrote:
> Michael C. Shultz wrote:
> > On Saturday 26 November 2005 17:13, Mark Kane wrote:
> >>Hi everyone. I finally did a big portupgrade on a 4.9-RELEASE system
> >>today and I'm having some problems with Perl.
> >>
> >>I got it updated to 5.8.7 (was 5.6.x before), ran "use.perl port", and
> >>ran the perl-after-upgrade script which were all said in UPDATING. Now
> >>it's time to force upgrade/recompile the Perl modules for the new
> >> version.
> >>
> >>Unfortunately this is where I get stuck:
> >>
> >>xeon1# portupgrade -f p5-\*
> >>
> >>[snip]
> >>
> >>===>   p5-HTML-Tagset-3.10 depends on file: /usr/local/bin/perl5.8.7 -
> >>found ===>   p5-HTML-Tagset-3.10 depends on file:
> >> /usr/local/bin/perl5.8.7 - found ===>  Configuring for
> >> p5-HTML-Tagset-3.10
> >>/usr/libexec/ld-elf.so.1:
> >>/usr/local/lib/perl5/5.8.7/mach/auto/Cwd/Cwd.so: Undefined symbol
> >>"perl_get_sv"
> >>*** Error code 1
> >>------------------------------------
> >>
> >>The remaining Perl modules that are supposed to be upgraded/recompiled
> >>either error out with the same message or are skipped because one that
> >>it requires errored out.
> >>
> >>I tried Googling for that error, but nothing came up. Other info that
> >>might be useful:
> >>
> >>xeon1# pkg_which /usr/local/lib/perl5/5.8.7/mach/auto/Cwd/Cwd.so
> >>perl-5.8.7
> >>-----
> >>xeon1# pkg_info | grep p5
> >>p5-Authen-SASL-2.04 Perl5 module for SASL authentication
> >>p5-Compress-Zlib-1.41 Perl5 interface to zlib compression library
> >>p5-DBD-mysql-2.1026_1 MySQL driver for the Perl5 Database Interface (DBI)
> >>p5-DBI-1.38         The perl5 Database Interface.  Required for DBD::*
> >>modules
> >>p5-Digest-1.13      Modules that calculate message digests
> >>p5-Digest-MD5-2.27  Perl5 interface to the MD5 algorithm
> >>p5-HTML-Parser-3.31 Perl5 module for parse HTML tag
> >>p5-HTML-Tagset-3.03 Some useful data table in parsing HTML
> >>p5-MIME-Base64-2.20 Perl5 module for Base64 and Quoted-Printable
> >> encodings p5-Net-1.16,1       Perl5 modules to access and use network
> >> protocols p5-URI-1.25         Perl5 interface to Uniform Resource
> >> Identifier (URI) refere
> >>p5-libvorbis-0.04   Perl extension for Ogg Vorbis streams
> >>p5-libwww-5.69      Perl5 library for WWW access
> >>-----
> >>
> >>Thanks very much in advance as this is a production server which uses
> >>Perl all the time.
> >>
> >>-Mark
> >>FreeBSD 4.9-RELEASE i386
> >
> > On a 4.11 system sysutils/portmanager has no problem with perl5.8 and
> > www/p5-HTML-Tagset, just tested it, not sure if it will run on 4.9 but
> > you you may want to give it a try.
> >
> > -Mike
>
> Thanks for the reply. I have never used portmanager, but I did give it a
> try like you said. Unfortunately it produced the same error when
> building that portupgrade did. I should also point out that I did try
> just a "make" from the port directory to see if it had something to do
> with portupgrade, and that failed with the same message about
> "perl_get_sv" as well.
>
> Here is the output from portmanager. I have omitted other errors that
> were about other Perl modules that were not installed via ports at all.
>
> xeon1# portmanager www/p5-HTML-Tagset
>
> [snip]
>
> --------------------
> update p5-HTML-Tagset-3.10
> MGPMrUpdate 0.3.9_2 localProperty.command: #9 of 14  cd
> /usr/ports/www/p5-HTML-Tagset; make
> ------------------------------------------------------------------------
> ===>  Vulnerability check disabled, database not found
> ===>  Extracting for p5-HTML-Tagset-3.10
> => MD5 Checksum OK for HTML-Tagset-3.10.tar.gz.
> ===>   p5-HTML-Tagset-3.10 depends on file: /usr/local/bin/perl5.8.7 -
> found ===>  Patching for p5-HTML-Tagset-3.10
> ===>   p5-HTML-Tagset-3.10 depends on file: /usr/local/bin/perl5.8.7 -
> found ===>   p5-HTML-Tagset-3.10 depends on file: /usr/local/bin/perl5.8.7
> - found ===>  Configuring for p5-HTML-Tagset-3.10
> /usr/libexec/ld-elf.so.1:
> /usr/local/lib/perl5/5.8.7/mach/auto/Cwd/Cwd.so: Undefined symbol
> "perl_get_sv"
> *** Error code 1
>
> Stop in /usr/ports/www/p5-HTML-Tagset.
> MGPMrUpdate 0.3.9_2 error: make returned an error, adding
> /www/p5-HTML-Tagset to ignore.db
> reverting bsd.port.mk patch -=>cd /usr/ports/Mk; patch -R <
> /usr/local/share/portmanager/patch-bsd.port.mk-0.3.6;
> Hmm...  Looks like a unified diff to me...
> The text leading up to this was:
> --------------------------
>
> |--- /usr/ports/Mk/bsd.port.mk  Tue Nov  8 01:02:51 2005
> |+++ bsd.port.mk        Wed Nov 16 02:16:57 2005
>
> --------------------------
> Patching file bsd.port.mk using Plan A...
> Hunk #1 succeeded at 2049.
> done
> rCreateInstalledDbVerifyContentsFile 0.3.9_2 error: "@comment ORIGIN:"
> not found in /var/db/pkg/bsdpan-XML-Parser-2.34/+CONTENTS
>                 bsdpan-XML-Parser-2.34 installation is corrupt!
>                 recomend running "pkg_delete -f bsdpan-XML-Parser-2.34"
> then manually reinstalling this port
> --------------------
>
> Thanks
>
> -Mark

I dug a little and think have figured the problem but not positive.  I think 
your running perl configure from the original perl and not the one from 
ports.

Assuming you use csh as your shell try in .cshrc to change the order of the 
path staement so it looks at /usr /local directories first.

from:

set path = 
(/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin 
$HOME/bin /home/mike/SCRIPTS /root/bin )

to

set path = 
( /usr/local/sbin /usr/local/bin /sbin /bin /usr/sbin /usr/bin /usr/games /usr/X11R6/bin 
$HOME/bin /home/mike/SCRIPTS /root/bin )


-Mike


More information about the freebsd-questions mailing list