0

I am trying to install 'ipe' on Snow Leopard via macports. The command I am running is "sudo port install ipe". This is the output:

Chriss-MacBook:macports chris$ sudo port install ipe
Warning: No port p5.12-locale-gettext found in the index.
--->  Computing dependencies for help2man
Error: Dependency 'p5.12-locale-gettext' not found.
Error: Unable to upgrade port: 1
Error: Unable to execute port: upgrade pkgconfig failed
To report a bug, see <http://guide.macports.org/#project.tickets>

What gives? How can I fix this?

edit after updating, this is the output. Still failing instantly.

--->  Computing dependencies for p5.12-locale-gettext
--->  Fetching archive for p5.12-locale-gettext
--->  Attempting to fetch p5.12-locale-gettext-1.50.0_6.darwin_10.x86_64.tbz2 from http://packages.macports.org/p5.12-locale-gettext
--->  Attempting to fetch p5.12-locale-gettext-1.50.0_6.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/p5.12-locale-gettext
--->  Installing p5.12-locale-gettext @1.50.0_6
--->  Activating p5.12-locale-gettext @1.50.0_6
Error: Target org.macports.deactivate returned: Active version of p5-locale-gettext is not 1.50.0_3 but 1.05_3.
Log for p5-locale-gettext is at: /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_p5-locale-gettext_1.05_3/p5-locale-gettext/main.log
Warning: Failed to execute portfile from registry for p5-locale-gettext @1.05_3
--->  Deactivating p5-locale-gettext @1.05_3
--->  Cleaning p5.12-locale-gettext
Portfile changed since last build; discarding previous state.
--->  Computing dependencies for help2man
--->  Fetching archive for help2man
--->  Attempting to fetch help2man-1.40.4_1.darwin_10.x86_64.tbz2 from http://packages.macports.org/help2man
--->  Attempting to fetch help2man-1.40.4_1.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/help2man
--->  Installing help2man @1.40.4_1
--->  Cleaning help2man
--->  Computing dependencies for help2man
--->  Deactivating help2man @1.38.2_0
--->  Cleaning help2man
--->  Activating help2man @1.40.4_1
--->  Cleaning help2man
--->  Computing dependencies for autoconf
--->  Dependencies to be installed: perl5
--->  Activating perl5 @5.12.3_1+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.
Error: Failed to install perl5
Log for perl5 is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_perl5/perl5/main.log
Error: The following dependencies were not installed: perl5
Error: Unable to upgrade port: 1
Error: Unable to execute port: upgrade pkgconfig failed

still not solved

4 Answers 4

2

had the same problem. I followed Jens' advice and made a 'port upgrade outdated' but the missing dependencies still would exist. Some more research helped, I found this useful:

http://comments.gmane.org/gmane.os.apple.macports.tickets/11599

where it says:

Messages about missing p5.*- ports are almost always caused by having MacPorts 1.x, running selfupdate once to upgrade to MacPorts 2.x, and the index not being rebuilt properly. The solution to that is to run selfupdate a second time, which rebuilds the index properly. If that's not solving the problem in your case, then we'd like to see the error messages you're seeing, and also the output of "sudo port -v selfupdate".

So after doing a second "sudo port -v selfupdate" it worked fine for me! With the verbose mode enabled you see how port repairs the missing dependencies. Made my day!

0

Try port selfupdate or port sync.

0

The error log tells you what do do (or at least try):

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.

There is an older perl version activated. Find out which perl version is activated right now using port -f activate perl5, it will print some per version with 5.8. Just deactivate it using port deactivate perl @5.8.9_0 (change the version number to your matching one) and reinstall whatever you wanted to install - the newer perl version will install correctly now.

Surely there is some better way to find out which perl version in installed - as I'm not using macports any more but homebrew I cannot try anything. Maybe some other user will find out...

PS: Not only do port selfupdate, also a port upgrade outdated to upgrade installed packages to newer versions.

2
  • Chriss-MacBook:macports chris$ sudo port -f activate perl5 Password: ---> The following versions of perl5 are currently installed: ---> perl5 'at'5.8.9_0 ---> perl5 'at'5.12.3_1+perl5_12 Error: port activate failed: Registry error: Please specify the full version as recorded in the port registry. Chriss-MacBook:macports chris$ sudo port deactivate perl 'at'5.8.9_0 Error: port deactivate failed: Image error: port perl is not active. Chriss-MacBook:macports chris$ sudo port deactivate perl 'at'5.12.3_1+perl5_12 Error: port deactivate failed: Image error: port perl is not active.
    – blnak
    Oct 21, 2011 at 3:10
  • You could try to force-uninstall perl using sudo port -f uninstall perl and then install ipe (which will reinstall perl in the new version). Forced uninstall will remove perl though other packages will depend on it, as you directly reinstall it that shouldn't matter. But there could be problems with packages requiring that old version (though chances are low).
    – Jens Erat
    Oct 23, 2011 at 13:15
0

I realize this question is quite old, but in case anyone else has this problem, I found a solution here, that had to be modified a bit (with -f to force, and for your specific versions): http://yetanotherprogrammingblog.com/node/19

basically it's this:
see what versions of perl exist: sudo port installed | grep perl
Mine were different, just uninstall all the older versions of perl.
perl5 @5.8.9_0
perl5 @5.12.3_0+perl5_12
perl5.12 @5.12.3_1 (active)
perl5.8 @5.8.9_3 (active)
First uninstall the build like this
sudo port -f uninstall perl5 @5.8.9_0
then uninstall all of the old version of perl
sudo port -f uninstall perl5.8
if you have multiple old builds and versions, do that for them all. You can leave the new version (5.12 or whatever is on your system)
Then do
sudo port upgrade installed and perl5

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .