Date: Sun, 27 Nov 2005 12:24:52 -0800 From: "Michael C. Shultz" <ringworm01@gmail.com> To: Mark Kane <mark@mkproductions.org> Cc: freebsd-questions@freebsd.org Subject: Re: After upgrading Perl, cannot reinstall modules - Cwd.so: Undefined symbol "perl_get_sv Message-ID: <200511271224.53063.ringworm01@gmail.com> In-Reply-To: <438A170C.40009@mkproductions.org> References: <43890854.8060901@mkproductions.org> <200511262235.29561.ringworm01@gmail.com> <438A170C.40009@mkproductions.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 syst= em > >>>>>>>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 modul= es > >>>>>>> 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/p= erl5.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 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 a= nd > >>>>>>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 t= ry > >>>>> 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 > >>>>>--------------------------------------------------------------------= =2D- > >>>>>-- =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/per= l5.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/per= l5.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 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 -=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/+CONTENTS > >>>>> bsdpan-XML-Parser-2.34 installation is corrupt! > >>>>> recomend running "pkg_delete -f bsdpan-XML-Parser-2.3= 4" > >>>>>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 =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 --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 =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 older shared > > Perl library (or extensions linked with such) with Perl 5.8.0 executabl= e. > > 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=E2=80=90 tion, see "Mac OS X dyld undefined symbols" for an ex= ample 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: > > =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. > > Any ideas? Again, this is a live production server that heavily relies > on Perl. > > Thanks. > > -Mark I need to see more context, are you manually trying to install p5-HTML-Tags= et or are you using portupgrade/portmanager for example. =2DMike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511271224.53063.ringworm01>