Date: Sun, 27 Nov 2005 14:54:02 -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: <438A1CEA.2020000@mkproductions.org> In-Reply-To: <200511271239.15344.ringworm01@gmail.com> References: <43890854.8060901@mkproductions.org> <200511271224.53063.ringworm01@gmail.com> <438A1A2A.1010907@mkproductions.org> <200511271239.15344.ringworm01@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigCF41D3796797A0325628F05A Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Michael C. Shultz wrote: > On Sunday 27 November 2005 12:42, Mark Kane wrote: >=20 >>Michael C. Shultz wrote: >> >>>On Sunday 27 November 2005 12:29, Mark Kane wrote: >>> >>>>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 po= rt", >>>>>>>>>>>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] >>>>>>>>>>> >>>>>>>>>>>=3D=3D=3D> p5-HTML-Tagset-3.10 depends on file: >>>>>>>>>>>/usr/local/bin/perl5.8.7 - found =3D=3D=3D> p5-HTML-Tagset-3= =2E10 >>>>>>>>>>>depends on file: >>>>>>>>>>>/usr/local/bin/perl5.8.7 - found =3D=3D=3D> 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 sym= bol >>>>>>>>>>>"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 in= fo >>>>>>>>>>>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 libr= ary >>>>>>>>>>>p5-DBD-mysql-2.1026_1 MySQL driver for the Perl5 Database >>>>>>>>>>>Interface (DBI) p5-DBI-1.38 The perl5 Database Interfa= ce. >>>>>>>>>>> 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-Printab= le >>>>>>>>>>>encodings p5-Net-1.16,1 Perl5 modules to access and use >>>>>>>>>>>network protocols p5-URI-1.25 Perl5 interface to Unifo= rm >>>>>>>>>>>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 whi= ch >>>>>>>>>>>uses Perl all the time. >>>>>>>>>>> >>>>>>>>>>>-Mark >>>>>>>>>>>FreeBSD 4.9-RELEASE i386 >>>>>>>>>> >>>>>>>>>>On a 4.11 system sysutils/portmanager has no problem with perl5= =2E8 >>>>>>>>>>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 g= ive >>>>>>>>>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 >>>>>>>>>----------------------------------------------------------------= ---- >>>>>>>>>-- -- =3D=3D=3D> Vulnerability check disabled, database not fou= nd >>>>>>>>>=3D=3D=3D> Extracting for p5-HTML-Tagset-3.10 >>>>>>>>>=3D> MD5 Checksum OK for HTML-Tagset-3.10.tar.gz. >>>>>>>>>=3D=3D=3D> p5-HTML-Tagset-3.10 depends on file: /usr/local/bin= /perl5.8.7 >>>>>>>>>- found =3D=3D=3D> Patching for p5-HTML-Tagset-3.10 >>>>>>>>>=3D=3D=3D> p5-HTML-Tagset-3.10 depends on file: /usr/local/bin= /perl5.8.7 >>>>>>>>>- found =3D=3D=3D> p5-HTML-Tagset-3.10 depends on file: >>>>>>>>>/usr/local/bin/perl5.8.7 - found =3D=3D=3D> 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 symbo= l >>>>>>>>>"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 -=3D>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/+CONTEN= TS >>>>>>>>> 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 positiv= e.=20 >>>>>>>>I think your running perl configure from the original perl and no= t >>>>>>>>the one >>>>>>>> >>>>>>>> >>>>>>> >>>>>>>>from ports. >>>>>>> >>>>>>>>Assuming you use csh as your shell try in .cshrc to change the or= der >>>>>>>>of the path staement so it looks at /usr /local directories first= =2E >>>>>>>> >>>>>>>>from: >>>>>>>> >>>>>>>>set path =3D >>>>>>>>(/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 =3D >>>>>>>>( /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 --versio= n, >>>>>>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 =E2=80=99Undefined symbol "Perl_get_sv= "=E2=80=99 or >>>>>"can=E2=80=99t resolve symbol =E2=80=99Perl_get_sv=E2=80=99", or the= symbol may be >>>>>"Perl_sv_2pv". This probably means that you are trying to use an old= er >>>>>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 librar= ies >>>>>in those directories. >>>>> >>>>> Sometimes this problem may also indicate a partial Perl 5.8.0 >>>>>installa=E2=80=90 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 reinst= all >>>>of perl. I also ran "use.perl port" and perl-after-upgrade again (whi= ch >>>>didn't show anything as moved or needed to be done so I did not conti= nue >>>>with -f). >>>> >>>>Now there is a different error when trying to force upgrade/recompile= >>>>the perl modules: >>>> >>>>=3D=3D=3D> p5-HTML-Tagset-3.10 depends on file: /usr/local/bin/perl= 5.8.7 - >>>>found =3D=3D=3D> 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 relie= s >>>>on Perl. >>>> >>>>Thanks. >>>> >>>>-Mark >>> >>>I need to see more context, are you manually trying to install >>>p5-HTML-Tagset or are you using portupgrade/portmanager for example. >>> >>>-Mike >> >>I am doing as /usr/ports/UPDATING says to upgrade/reinstall all the Per= l >>modules, which is to do: >> >>portupgrade -f p5-\* >> >>p5-HTML-Tagset is just the first one that it tries, and it produces thi= s: >> >>---> Upgrading 'p5-HTML-Tagset-3.03' to 'p5-HTML-Tagset-3.10' >>(www/p5-HTML-Tagset) >>---> Building '/usr/ports/www/p5-HTML-Tagset' >>=3D=3D=3D> Cleaning for perl-5.8.7 >>=3D=3D=3D> Cleaning for p5-HTML-Tagset-3.10 >>=3D=3D=3D> Vulnerability check disabled, database not found >>=3D=3D=3D> Extracting for p5-HTML-Tagset-3.10 >>=3D> MD5 Checksum OK for HTML-Tagset-3.10.tar.gz. >>=3D=3D=3D> p5-HTML-Tagset-3.10 depends on file: /usr/local/bin/perl5.= 8.7 - >>found =3D=3D=3D> Patching for p5-HTML-Tagset-3.10 >>=3D=3D=3D> p5-HTML-Tagset-3.10 depends on file: /usr/local/bin/perl5.= 8.7 - >>found =3D=3D=3D> p5-HTML-Tagset-3.10 depends on file: /usr/local/bin/= perl5.8.7 >>- found =3D=3D=3D> 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. >>** Command failed [exit code 1]: /usr/bin/script -qa >>/tmp/portupgrade52316.0 make >>** Fix the problem and try again. >>-------------------- >> >>It attempts the other Perl modules as well but fails with the same. Her= e >>is the final report: >> >>-------------------- >>** Listing the failed packages (*:skipped / !:failed) >> ! www/p5-HTML-Tagset (p5-HTML-Tagset-3.03) (coredump) >> ! converters/p5-MIME-Base64 (p5-MIME-Base64-2.20) (coredu= mp) >> * security/p5-Digest (p5-Digest-1.13) >> ! security/p5-Authen-SASL (p5-Authen-SASL-2.04) (coredump) >> ! databases/p5-DBI (p5-DBI-1.38) (coredump) >> ! audio/p5-libvorbis (p5-libvorbis-0.04) (coredump) >> * net/p5-URI (p5-URI-1.25) >> * net/p5-Net (p5-Net-1.16,1) >> * www/p5-HTML-Parser (p5-HTML-Parser-3.31) >> * databases/p5-DBD-mysql (p5-DBD-mysql-2.1026_1) >> ! security/p5-Digest-MD5 (p5-Digest-MD5-2.27) (coredump) >> ! archivers/p5-Compress-Zlib (p5-Compress-Zlib-1.41) (coredu= mp) >> * www/p5-libwww (p5-libwww-5.69) >>---> Packages processed: 0 done, 0 ignored, 6 skipped and 7 failed >>-------------------- >> >>Thanks >> >>-Mark >=20 >=20 > Are you getting a portupgrade.core? Looks like that is what is coredum= ping,=20 > If so try manually upgrading one or two of these and see what happens. >=20 > -Mike Nope, no portupgrade.core. Tried manually, same deal. Even on another one= : =3D=3D=3D> p5-MIME-Base64-3.05 depends on file: /usr/local/bin/perl5.8.= 7 - found =3D=3D=3D> Configuring for p5-MIME-Base64-3.05 Checking if your kit is complete... Segmentation fault (core dumped) *** Error code 139 Stop in /usr/ports/converters/p5-MIME-Base64. -Mark --=20 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) --------------enigCF41D3796797A0325628F05A Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQFDihzqlH2ybcmj7I8RAvXRAJ9xrmZ2gWTbQDjEJRpvDqvVnZtZvACdHD3x IgGN7L5nSCMnUf5/52oZiXA= =fybz -----END PGP SIGNATURE----- --------------enigCF41D3796797A0325628F05A--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?438A1CEA.2020000>