Perl error, once and for all

Ryan Schmidt ryandesign at
Thu Feb 26 00:26:22 PST 2009

On Feb 26, 2009, at 02:20, Scott Haneda wrote:

>> MacPorts operates under the assumption that exactly one port will  
>> provide a file at a given path. The combination of perl5.8 and  
>> whatever module it is that you were installing that wanted to  
>> install Test/Builder/ is in violation of that assumption.  
>> Sometimes this occurs because perl5.8 didn't used to include a  
>> particular module (hence a separate port was created) but now due  
>> to a version update perl5.8 does already include that module  
>> (making the separate port unnecessary). Sometimes the separate  
>> port may provide a newer version.
> Ok, so if I am getting this, perl5.8 has a module already installed  
> and the p5 I want to put is in also trying to put it in.  This is  
> the core conflict?

I believe that is correct, yes.

> Which one do you chose is the issue?

There are a few p5 ports that print messages advising users to force  
the activation of the p5 port. This would cause the p5 port's module  
to overwrite the perl5.8 port's module. The assumption is that the p5  
port provides a newer version.

> At the very least, let me chose, but the -f can force things to  
> happen even deeper down the chain, and it would be a bear to back  
> out of those.
>> I do not think we need to change the MacPorts error message from  
>> the one that is currently being printed. It is accurate.
> I agree, though we need to figure out how to make the message go away.

There is a ticket for this problem, I believe it has been mentioned  
earlier. I believe the possible fixes are 1) delete the p5 port for  
which a module is already included in the perl5.8 port; 2) delete the  
module from the perl5.8 port so that the p5 port can provide it; 3)  
integrate the p5 port's module into the perl5.8 port in the event  
that it is newer; 4) make the p5 ports install modules into a  
separate location from where the perl5.8 port installs modules (the  
question then is how to make perl-using software see both sets of  
modules; I am not a perl expert so I do not know the answer).

More information about the macports-users mailing list