Date: Sun, 27 Nov 2005 14:29:00 -0600 From: Mark Kane <mark@mkproductions.org> To: "Michael C. Shultz" <ringworm01@gmail.com> Cc: freebsd-questions@freebsd.org Subject: Re: After upgrading Perl, cannot reinstall modules - Cwd.so: Undefined symbol "perl_get_sv Message-ID: <438A170C.40009@mkproductions.org> In-Reply-To: <200511262235.29561.ringworm01@gmail.com> References: <43890854.8060901@mkproductions.org> <200511261949.41078.ringworm01@gmail.com> <4389504B.3020606@mkproductions.org> <200511262235.29561.ringworm01@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] Michael C. Shultz wrote: > On Saturday 26 November 2005 22:20, Mark Kane wrote: > >>Michael C. Shultz wrote: >> >>>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..... >> >>Thanks for your replies. Your explanation makes sense about the /usr/bin >>vs /usr/local/bin, however if I do: /usr/bin/perl --version, I get: >> >>This is perl, v5.8.7 built for i386-freebsd-64int >>(with 1 registered patch, see perl -V for more detail) >> >>If I do: /usr/local/bin/perl --version, I get: >> >>This is perl, v5.8.7 built for i386-freebsd-64int >>(with 1 registered patch, see perl -V for more detail) >> >>Looks like /usr/bin/perl is a link to another file: >> >>xeon1# ls -l /usr/bin/perl >>lrwxr-xr-x 1 root wheel 24 Nov 26 18:32 /usr/bin/perl -> >>/usr/local/bin/perl5.8.7 >> >>Finally, I tried what you said anyway: >> >>xeon1# perl Makefile.PL >>/usr/libexec/ld-elf.so.1: >>/usr/local/lib/perl5/5.8.7/mach/auto/Cwd/Cwd.so: Undefined symbol >>"perl_get_sv" >>xeon1# /usr/local/bin/perl Makefile.PL >>/usr/libexec/ld-elf.so.1: >>/usr/local/lib/perl5/5.8.7/mach/auto/Cwd/Cwd.so: Undefined symbol >>"perl_get_sv" >> >>Thanks. >> >>-Mark > > > Beats me what is wrong then. This is from running: perldoc perl58delta.pod > > Perl_get_sv > > You may get errors like ’Undefined symbol "Perl_get_sv"’ or "can’t > resolve symbol ’Perl_get_sv’", or the symbol may be "Perl_sv_2pv". > This probably means that you are trying to use an older shared Perl > library (or extensions linked with such) with Perl 5.8.0 executable. > Perl used to have such a subroutine, but that is no more the case. > Check your shared library path, and any shared Perl libraries in those > directories. > > Sometimes this problem may also indicate a partial Perl 5.8.0 installa‐ > tion, see "Mac OS X dyld undefined symbols" for an example and how to > deal with it. > > > -Mike > > > Well I tried to find some more info and ended up doing a force reinstall of perl. I also ran "use.perl port" and perl-after-upgrade again (which didn't show anything as moved or needed to be done so I did not continue with -f). Now there is a different error when trying to force upgrade/recompile the perl modules: ===> p5-HTML-Tagset-3.10 depends on file: /usr/local/bin/perl5.8.7 - found ===> Configuring for p5-HTML-Tagset-3.10 Checking if your kit is complete... Segmentation fault (core dumped) *** Error code 139 Stop in /usr/ports/www/p5-HTML-Tagset. Any ideas? Again, this is a live production server that heavily relies on Perl. Thanks. -Mark -- GnuPG Public Key: http://www.mkproductions.org/mk_pubkey.asc Internet Radio: Party107 (Trance/Electronic) - http://www.party107.com Rock 101.9 The Edge (Rock) - http://www.rock1019.net IRC: MIXXnet IRC Network - irc.mixxnet.net (Nick: MIXX941) [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQFDihcPlH2ybcmj7I8RAl1oAKC8dunKea8wdCNH7eLWY6nE9VSO/gCfapX1 +XJZLx2+KB4oKlO0H/BXzZw= =Kesa -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?438A170C.40009>
