Skip site navigation (1)Skip section navigation (2)
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>