Should /opt/local/bin/perl be deleted too ?
http://trac.macports.org/projects/macports/ticket/13641 Perl 5.10.0 has now been released, so there are now two stable port versions available: "perl5.8" and "perl5.10" Should we delete "${prefix}/bin/perl" just like we did with "${prefix}/bin/python", or is there a better option ? --anders
On 2007-12-20 10:00:24 +0100, Anders F Björklund wrote:
http://trac.macports.org/projects/macports/ticket/13641
Perl 5.10.0 has now been released, so there are now two stable port versions available: "perl5.8" and "perl5.10"
Is there a need for two different ports? -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
On Dec 20, 2007 4:09 AM, Vincent Lefevre <vincent-opdarw@vinc17.org> wrote:
On 2007-12-20 10:00:24 +0100, Anders F Björklund wrote:
http://trac.macports.org/projects/macports/ticket/13641
Perl 5.10.0 has now been released, so there are now two stable port versions available: "perl5.8" and "perl5.10"
Is there a need for two different ports?
There are some incompatible changes (see http://search.cpan.org/~rgarcia/perl-5.10.0-RC2/pod/perl5100delta.pod#Incomp...), so some might want to stick with 5.8. FWIW, I started working on a 5.10 portfile last night based on Anders' perl5.9-devel.
On Dec 20, 2007 12:52 PM, Mark Gardner <mjg@phoenixtrap.com> wrote:
There are some incompatible changes (see http://search.cpan.org/~rgarcia/perl-5.10.0-RC2/pod/perl5100delta.pod#Incomp...), so some might want to stick with 5.8.
Sorry, that should have been http://search.cpan.org/~rgarcia/perl-5.10.0/pod/perl5100delta.pod
On Dec 20, 2007, at 2:09 AM, Vincent Lefevre wrote:
On 2007-12-20 10:00:24 +0100, Anders F Björklund wrote:
http://trac.macports.org/projects/macports/ticket/13641
Perl 5.10.0 has now been released, so there are now two stable port versions available: "perl5.8" and "perl5.10"
Is there a need for two different ports?
Since you can't specify a version when you install a port, or use a port in a dependency, then I've been told to just go ahead and make a separate port. Sometimes. But only if you know ahead of time that some people want one version of a port, while others may want another. Which I think is insane, but that's the way that MacPorts likes to do it. I'd love to work on port versioning, so that we could ASK for a particular version. I think that port versions would take this: lang/perl58/Portfile lang/perl510/Portfile and do something like this: lang/perl/Portfile-5.8 lang/perl/Portfile-5.10 lang/perl/Portfile --> Portfile-5.10 where MacPorts manages the symlink. Of course, it's much more involved than that. - boyd Boyd Waters http://www.aoc.nrao.edu/~bwaters
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#Incomp...), 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. -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
On 2007-12-20 11:52:21 -0700, Boyd Waters wrote:
On Dec 20, 2007, at 2:09 AM, Vincent Lefevre wrote:
Is there a need for two different ports?
Since you can't specify a version when you install a port, or use a port in a dependency, then I've been told to just go ahead and make a separate port.
I should have said: is there a need for two different versions? -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
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#Incomp...), 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
On 2007-12-21 10:34:00 -0500, robert delius royar wrote:
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: [...]
I'd say that you probably need to recompile every module (well, those that don't contain just Perl code) against 5.10. BTW, that may be a reason to have a single Perl port installed (activated). Otherwise the risk of using some module with a different Perl version for which it has been built would be too high IMHO.
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.
I don't know what you try to mean exactly, but Digest-SHA1 2.11 is compatible with Perl 5.10 as you can see: http://cpantesters.perl.org/show/Digest-SHA1.html -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
Sat, 22 Dec 2007 (00:54 +0100 UTC) Vincent Lefevre wrote:
On 2007-12-21 10:34:00 -0500, robert delius royar wrote:
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: [...]
I'd say that you probably need to recompile every module (well, those that don't contain just Perl code) against 5.10. BTW, that may be a reason to have a single Perl port installed (activated). Otherwise the risk of using some module with a different Perl version for which it has been built would be too high IMHO.
I have the latest version of perl5.8.8 (from macports) installed: % port installed perl5.8 The following ports are currently installed: perl5.8 @5.8.8_0+darwin_8+shared+threads % port outdated perl5.8 No installed ports are outdated However, occasionally I have had to abort installs of other software because that software requires perl5.8 and tries to install it. I would not want that to be the case with software wrt perl5.10 because that could hose a system with a lot of perl 5.8 modules that have been compiled and linked into bundles.
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.
I don't know what you try to mean exactly, but Digest-SHA1 2.11 is compatible with Perl 5.10 as you can see:
The API has changed and the symbol Perl_Tstack_sp_ptr is not in the current API. It was in 5.8.8 and before. The discussion I have been able to Google points to this symbol being a problem if old code is not recompiled with the new libperl. I think moving up to perl5.10 is more drastic for the user than was 5.6 to 5.8. Somehow the user should be warned that all bundles (I suppose mod-perl and its companionions, also) will need to be reinstalled or recompiled for 5.10 Because macports does not add any earlier directories to @INC, the user would just see these errors as not being able to locate a module, rather than the missing symbol error. Still, it means a bit of work for someone who has a number of bundles. The user should be told that ahead of time.
Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
-- Dr. Robert Delius Royar Associate Professor of English Morehead State University Morehead, Kentucky
participants (5)
-
Anders F Björklund
-
Boyd Waters
-
Mark Gardner
-
robert delius royar
-
Vincent Lefevre