0

I am trying to install digikam via MacPorts (too bad there isn't a HomeBrew for this) and I keep getting the following error:

Error: Dependency 'p5.12-xml-parser' not found.
Error: Status 1 encountered during processing.

I thought that perhaps I needed to update MacPorts, so I did that (selfupdate). I also then tried to upgrade outdated for MacPorts and I get another Perl5 related error:

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

I am not sure why this is happening. I have checked perl with perl -v which tells me that I have perl 5, version 12, subversion 3.

In doing searches, I have seen a number of people who have also had issues installing something through MacPorts because of some 'missing' Perl dependencies. There doesn't seem to be any standard solution though. Any ideas what is going on here and how to fix it?

Borodin
  • 126,100
  • 9
  • 70
  • 144
jbranchaud
  • 5,909
  • 9
  • 45
  • 70

1 Answers1

6

I had the same problem updating my port installed programs after selfupdating macports. The trick is to run selfupdate again a second time so that port will get the new list of sources.

This is for some reason not part of the port selfupdate.

$ sudo port upgrade outdated
Warning: No port p5.12-xml-parser found in the index.
Warning: No port p5.12-getopt-long found in the index.
Warning: No port p5.12-pathtools found in the index.
Warning: No port p5.12-scalar-list-utils found in the index.
--->  Computing dependencies for intltool
Error: Dependency 'p5.12-xml-parser' not found.
Error: Unable to upgrade port: 1
To report a bug, see <http://guide.macports.org/#project.tickets>



$ sudo port selfupdate
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.0.4 installed,
MacPorts base version 2.0.4 downloaded.
--->  Updating the ports tree
--->  MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated

$ sudo port upgrade -d outdated
Password:
--->  Computing dependencies for p5.12-xml-parser
--->  Fetching archive for p5.12-xml-parser
--->  Attempting to fetch p5.12-xml-parser-2.400.0_3.darwin_11.x86_64.tgz from http://packages.macports.org/p5.12-xml-parser
--->  Fetching p5.12-xml-parser
--->  Verifying checksum(s) for p5.12-xml-parser
--->  Extracting p5.12-xml-parser
--->  Configuring p5.12-xml-parser
--->  Building p5.12-xml-parser
--->  Staging p5.12-xml-parser into destroot
--->  Installing p5.12-xml-parser @2.400.0_3
...
  • Thanks! I think it's because when selfupdate fails it leaves its index in an invalid state. Running it again fixes it. – jontejj May 09 '13 at 17:42