[enhancement] proposal - make all ports independent of which version of Perl is installed or the major one

Bradley Giesbrecht pixilla at macports.org
Thu May 17 13:16:44 PDT 2012


On May 17, 2012, at 1:09 PM, Eric Hall wrote:

> On Wed, May 16, 2012 at 03:44:08AM +0200, Clemens Lang wrote:
>> On Tue, May 15, 2012 at 06:05:45PM -0700, Bradley Giesbrecht wrote:
>>> I do not recall why but at some point I needed "perl5.12 +threads
>>> +shared" and after upgrading  perl5.12 with these variants NONE of my
>>> perl modules were found.  It was required that I reinstall all perl
>>> modules.
>>> 
>>> Would perl modules built with perl -threads -shared work after
>>> switching to perl +threads +shared?
>> 
>> No, they probably would not, as rev-upgrade goes ahead and starts
>> rebuilding all your perl modules as soon as you do that. However,
>> rev-upgrade happily automates this process, so it's not that bad.
>> 
>>> Is there a reason that perl does not build +threads +shared always or
>>> as default?
>> 
>> This question has been asked a couple of times on this list now and I
>> have yet to hear a reason for why our perl isn't always +threads and
>> +shared other than "I think I once knew somebody who back in the old
>> days had some unspecified specified problem with perl +threads/+shared."
>> ;)
>> I'll leave the decision to the maintainer, but I think it's time to go
>> for a full-featured perl and fix any problems (if any) that might arise
>> in the modules.
>> 
> 
> 	Both +thread and +shared will impose a performance penalty as
> of perl5.12 (see this thread: 
> http://www.nntp.perl.org/group/perl.perl5.porters/2009/11/msg153361.html).
> I don't know if this is still true for perl5.14 or not (I didn't find
> anything doing a quick search).
> 	Can someone re-iterate the reasons for using +shared and/or +threads?

There is this one:

$ port cat mod_perl2 | grep -A10 -- pre-configure
pre-configure {
    set perl5bin "${prefix}/bin/perl5"
    if {[string first "true" [exec ${perl5bin} -V:useshrplib]] == -1} {
        ui_error "${name} requires perl5 to be installed with the +shared variant."
        return -code error "perl5 must be +shared"
    }
    if {[string first "define" [exec ${perl5bin} -V:usethreads]] == -1} {
        ui_error "${name} requires perl5 to be installed with the +threads variant."
        return -code error "perl5 must be +threads"
    }
}



Regards,
Bradley Giesbrecht (pixilla)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2763 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/macports-dev/attachments/20120517/b9fcf6fa/attachment.bin>


More information about the macports-dev mailing list