Question

After upgrading to OS X 10.6, I've had all kinds of peculiar issues relating to MacPorts, but most of those have been resolved by simply rebuilding the libraries as required. There is one issue that I can't seem to solve through that method, and even re-building all ports, removing the old /opt directory entirely, has had no effect:

$ rsync example.com:foo .
Password:
dyld: Library not loaded: /opt/local/lib/libintl.8.dylib
  Referenced from: /opt/local/lib/libpopt.0.dylib
  Reason: image not found
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(601) [Receiver=3.0.7]

The library in question exists, though, which is really frustrating:

$ otool -L /opt/local/lib/libintl.8.dylib
/opt/local/lib/libintl.8.dylib:
    /opt/local/lib/libintl.8.dylib (compatibility version 9.0.0, current version 9.2.0)
/opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 124.1.1)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.0.0)

This is from the gettext package, which is installed:

$ port provides /opt/local/lib/libintl.8.dylib
/opt/local/lib/libintl.8.dylib is provided by: gettext

$ port installed | grep gettext
  gettext @0.17_4+universal (active)
  p5-locale-gettext @1.05_0 (active)

The files are there:

$ ls -l /opt/local/lib/libintl.8.dylib
lrw-r--r--  1 root  admin  19 Jan 12 17:22 /opt/local/lib/libintl.8.dylib@ -> libintl.8.0.2.dylib
$ ls -l /opt/local/lib/libintl.8.0.2.dylib
-rw-r--r--  2 root  admin  98736 Jan 12 17:22 /opt/local/lib/libintl.8.0.2.dylib

I've searched for errors of this sort, but they all seem to be out of date. Has anyone resolved this problem before?

Was it helpful?

Solution

You can use the "file" command to see what architectures are present in the dylib:

file /opt/local/lib/libintl.8.0.2.dylib

If only ppc and i386 are present, while you require x86_64, then the library cannot be loaded.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top