From: Jarkko Hietaniemi Date: Tue, 16 Jul 2002 13:06:04 +0000 (+0000) Subject: More explicit solution for the Mac OS X "dyld undefined symbols" X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=0836e5e3962c58e17effde4d4fc0a6c5efc88f20;p=p5sagit%2Fp5-mst-13.2.git More explicit solution for the Mac OS X "dyld undefined symbols" problem. p4raw-id: //depot/perl@17572 --- diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 73a782d..1b55dd4 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -3189,12 +3189,17 @@ Use PDL 2.3.4 or later. =head2 Perl_get_sv -You may get errors like 'Undefined symbol "Perl_get_sv"' or -"can't resolve symbol 'Perl_get_sv'". This probably means that -you are trying to use an older shared Perl library 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. +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 +installation, see L for an +example and how to deal with it. =head2 Self-tying Problems @@ -3453,6 +3458,26 @@ this is not Perl's fault-- the libc of Mac OS X is not threadsafe (in this particular test, the localtime() call is found to be threadunsafe.) +=head2 Mac OS X dyld undefined symbols + +If after installing Perl 5.8.0 you are getting warnings about missing +symbols, for example + + dyld: perl Undefined symbols + _perl_sv_2pv + _perl_get_sv + +you probably have an old pre-Perl-5.8.0 installation (or parts of one) +in /Library/Perl (the undefined symbols used to exist in pre-5.8.0 Perls). +It seems that for some reason "make install" doesn't always completely +overwrite the files in /Library/Perl. You can remove the shared +libraries for example like this: + + # find /Library/Perl -name '*.bundle' -print | xargs rm -i + +and then reissue "make install". (If you already installed some XS +extensions beyond the Perl core, you will have to reinstall them, too.) + =head2 OS/2 Test Failures The following tests are known to fail on OS/2 (for clarity