On Apr 7, 2012, at 05:48, Barrie Stott wrote:

> 'port outgraded' showed that p5-app-ack and p5.14-app-ack (but no other 
> *-app-ack) needed to be upgraded and p5.14-app-ack did so without a hitch.
> 
> The ports I have  of the form p5* are:
>  p5-app-ack @1.940.0_2 (active)
>  p5.12-file-next @1.20.0_2
>  p5.12-locale-gettext @1.50.0_6+universal (active)
>  p5.14-app-ack @1.940.0_2
>  p5.14-app-ack @1.960.0_0 (active)
>  p5.14-file-next @1.20.0_2 (active)
> 
> 'port info p5-app-ack' shows the following where the line of particular 
> interest is 'Replaced by: p5.14-app-ack'
>  p5-app-ack @1.960.0 (perl)
>  Replaced by:          p5.14-app-ack
>  Sub-ports:            p5.8-app-ack, p5.10-app-ack, p5.12-app-ack, 
> p5.14-app-ack
> 
>  Description:          ack is a tool like grep, aimed at programmers with 
> large  trees of heterogeneous
>                      source code.
>  Homepage:             http://betterthangrep.com/
> 
>  Library Dependencies: p5.14-app-ack
>  Platforms:            darwin
>  License:              unknown
>  Maintainers:          [email protected], [email protected]

All ports named beginning with "p5-" are "stub" ports. They don't install 
anything; there's no point in installing any of them. Install the port designed 
for the specific version of perl you want to use, e.g. p5.12-app-ack or 
p5.14-app-ack.

In theory, all the version-specific ports should be able to coexist with one 
another. In practice, they don't, as you're seeing:


>  --->  Activating p5.12-file-next @1.20.0_2
>  Error: Target org.macports.activate returned: Image error:  
> /opt/local/share/man/man3/File::Next.3pm.gz is being used by the active 
> p5.14- file-next port.  Please deactivate this port first, or use 'port -f 
> activate p5.12- file-next' to force the activation.

Dan Ports wrote a message to the mailing list about this in February, 
suggesting that we should stop pretending to support multiple simultaneous perl 
versions when it's obviously not working:

http://lists.macosforge.org/pipermail/macports-dev/2012-February/017727.html

No decision was reached but I support the idea of offering only a single 
version of perl, 5.14, in MacPorts.


> 1. Which port is p5-app-ack 'replaced by'?

The default version of perl in MacPorts is perl5.12. I'm not sure why on your 
system p5-app-ack shows it is replaced_by p5.14-app-ack. On my system it shows 
it is replaced_by p5.12-app-ack.


> 2. How can I tell if is is safe to replace all my p5.12-* ports by the 
> corresponding p5.14-* ports?

Since 5.12 is the default perl version in MacPorts, many ports will declare 
dependencies on p5.12 modules. And since, although we intended for them not to, 
the versioned modules often conflict with one another, using a version other 
than 5.12 will be problematic.


> 3. Most importantly, how can I upgrade p5-app-ack?

Which version of perl do you want to use? If the answer is not 5.12, you'll 
continue to have the above problems.




_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Reply via email to