perl5, perl5.* changes

Ryan Schmidt ryandesign at
Fri Feb 25 20:02:50 PST 2011

On Feb 25, 2011, at 11:28, Eric Hall wrote:

> 	I've just commited changes to the perl5*
> ports (perl5, perl5.8, perl5.10, perl5.12) to:
> 	* Make perl5.* install their bin/ and man/
> components with the perl version number in the filename.
> 	* Make the perl5 port link the bin/ and man/
> components from the 'active' perl5.* version (variant
> in perl5) to the plain bin/ and main/ names.
> 	* Make the perl5 port default to perl5.12.
> We're now using the latest production perl version
> (perl5.12.3).  If you need an older version, you can
> install 'perl5 +perl5_8' or 'perl5 +perl5_10' to
> have the older version be the 'active' perl version.
> Note that if a port needs a particular perl5 version
> installed, it can depend on that perl5.* port 
> directly (though it may need to use perl5.8 or perl5.10
> in place of 'perl' to get to it).
> 	If you have perl modules that have compiled
> bits in them they will need to be rebuilt when you 
> upgrade between perl versions (perl5.8 to perl5.12 for
> example).  The same goes if you change perl5.8 variants
> like +threads.

Your update causes perl5.12 to be installed and become the default version, but your update does not cause all p5-* ports to be rebuilt, which you say would be necessary. Doesn't this update therefore break everybody's system?

For starters, upgrading perl5 from the previous default installation to the new one causes this:

$ sudo port -u upgrade perl5
--->  Fetching perl5.12
--->  Verifying checksum(s) for perl5.12
--->  Extracting perl5.12
--->  Applying patches to perl5.12
--->  Configuring perl5.12
Warning: reinplace s|/opt/local|/opt/local|g didn't change anything in /opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_perl5.12/work/perl-5.12.3/Configure
--->  Building perl5.12
--->  Staging perl5.12 into destroot
--->  Installing perl5.12 @5.12.3_0+universal
--->  Activating perl5.12 @5.12.3_0+universal
--->  Cleaning perl5.12
--->  Computing dependencies for perl5
--->  Fetching perl5
--->  Verifying checksum(s) for perl5
--->  Extracting perl5
--->  Configuring perl5
--->  Building perl5
--->  Staging perl5 into destroot
--->  Computing dependencies for perl5
--->  Installing perl5 @5.12.3_0+perl5_12
--->  Deactivating perl5 @5.8.9_0
--->  Activating perl5 @5.12.3_0+perl5_12
Error: Target org.macports.activate returned: Image error: /opt/local/bin/a2p is being used by the active perl5.8 port.  Please deactivate this port first, or use 'port -f activate perl5' to force the activation.
Log for perl5 is at: /opt/local/var/macports/logs/_Users_rschmidt_macports_dports_lang_perl5/main.log
--->  Uninstalling perl5 @5.8.9_0

More information about the macports-users mailing list