Opened 13 years ago

Last modified 13 years ago

#29142 closed defect

libintl and libiconv versions not compatible — at Version 2

Reported by: stephane.jacobs@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: ryandesign@…
Port: gettext libiconv

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Hello,

I'm trying to run an open source software and ran into a bug I can't seem to find a solution to. Sorry if this is is a trivial problem, I am far from an expert, but could not find solutions in all the threads I've read so far.

I am on Mac OS 10.5.8, using Xcode 3.1.4.

Here is the error message I get:

dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
  Referenced from: /opt/local/lib/libintl.8.dylib
  Reason: Incompatible library version: libintl.8.dylib requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0

After havind read other threads, I have already done the following:

sudo port selfupdate
sudo port upgrade outdated

libiconv exists and seems to be the right version:

otool -L /opt/local/lib/libiconv.2.dylib
/opt/local/lib/libiconv.2.dylib:
	/opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.0.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)

Both libiconv and libintl are for the right architecture:

lipo -info /opt/local/lib/libintl.8.dylib 
Non-fat file: /opt/local/lib/libintl.8.dylib is architecture: i386
lipo -info /opt/local/lib/libiconv.2.dylib 
Non-fat file: /opt/local/lib/libiconv.2.dylib is architecture: i386

It does not seem to be a problem with DYLD environment variables, as running "env |grep -i dyld" does not return anything...

I'm stuck here, any help would really be greatly appreciated.

Best,

Stephane

Change History (2)

comment:1 Changed 13 years ago by stephane.jacobs@…

Cc: stephane.jacobs@… added

Cc Me!

comment:2 in reply to:  description Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added; stephane.jacobs@… removed
Description: modified (diff)

Replying to stephane.jacobs@…:

I'm trying to run an open source software

Which software? Another port installed with MacPorts? or something you've built by hand?

dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib

Referenced from: /opt/local/lib/libintl.8.dylib
Reason: Incompatible library version: libintl.8.dylib requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0

The usual cause of this error that the iconv library built by MacPorts (library version 8) is built for the wrong architecture, thus it tries to fall back to the iconv library provided by Mac OS X (library version 7). The usual reason for this architecture mismatch is upgrading to Snow Leopard without following Migration instructions. But you're on Leopard, and you've demonstrated that the libraries are built for the right architecture -- at least, the libraries installed by MacPorts. Is it possible there is another iconv library that's built for the wrong architecture, perhaps in /usr/local/lib, /usr/lib or /sw/lib?

Note: See TracTickets for help on using tickets.