Should /opt/local/bin/perl be deleted too ?

robert delius royar apple at frinabulax.org
Fri Dec 21 07:34:00 PST 2007


Fri, 21 Dec 2007 (03:35 +0100 UTC) Vincent Lefevre wrote:

> On 2007-12-20 12:52:48 -0500, Mark Gardner wrote:
>> There are some incompatible changes (see
>> http://search.cpan.org/~rgarcia/perl-5.10.0-RC2/pod/perl5100delta.pod#Incompatible_Changes),
>> so some might want to stick with 5.8.
>
> I'd say that very few modules or scripts should be affected (if any),
> and such problems should be seen as bugs.

Just a note from a simple end user

I compiled perl 5.10.0 with the same configuration that macports 5.8.8 
used.  [I have the perl5.8 port set as the primary perl interpretor and 
have created links in /usr/local/[bin|lib|share] to make it so that 
other software finds macports perl before the system one--including 
apache.]

When I tried to run a module through 5.10.0 from CPAN (Net::TiVo), 
5.10.0 failed because a bundle from macports (p5-digest-sha1) referenced 
a symbol not in the 5.10.0 version:

dyld: lazy symbol binding failed: Symbol not found: _Perl_Tstack_sp_ptr
   Referenced from: /opt/local/lib/perl5/site_perl/5.10.0/darwin-thread-multi-2level/auto/Digest/SHA1/SHA1.bundle
   Expected in: dynamic lookup

dyld: Symbol not found: _Perl_Tstack_sp_ptr
   Referenced from: /opt/local/lib/perl5/site_perl/5.10.0/darwin-thread-multi-2level/auto/Digest/SHA1/SHA1.bundle
   Expected in: dynamic lookup

Trace/BPT trap

I suspect there may be a number of these. Perl_Tstack_sp_ptr() was in 
CORE in 5.8.  I believe that it is part of the pre-5.8 legacy code and 
in there for compatibility with verions that expected functions for what 
are array or incrementable pointer variables.

It is defined in the 5.8.8 source in perlapi.h but not defined anywhere 
in the 5.10.0 source.

In a related note

Also, when I watched the return from make test, there were failures in 
hints.  But it was less than 1% of the overall tests that failed.

I put together a local port file and ran port destroot on the file.  The 
port file includes the make test.  However, beacause the failed tests 
caused continues in the make file, the port system did not see any 
errors.

-- 
Dr. Robert Delius Royar                   Associate Professor of English
Morehead State University                             Morehead, Kentucky



More information about the macports-dev mailing list