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

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


On Saturday 26 November 2005 19:25, Michael C. Shultz wrote:
> 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

I am nearly certain your using /usr/bin/perl
instead of /usr/local/bin/perl, here is how to test:

cd
/usr/ports/www/p5-HTML-Tagset/work/HTML-Tagset-3.10

try
perl Makefile.PL
and I bet you get the error
and if you try:

/usr/local/bin/perl Makefile.PL

I bet it works ok.....


More information about the freebsd-questions mailing list