Opened 12 years ago

Closed 10 years ago

#16892 closed defect (fixed)

fuse-bindings-python25 0.2 import fails: _iconv not found

Reported by: kentk@… Owned by: sfiera@…
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: fuse macfuse iconv Cc: drkp (Dan Ports), macports@…, jason@…, macports8@…, macports@…, arto.bendiken@…, ruibalp@…
Port: fuse-bindings-python25 macfuse

Description

After a clean install of macfuse 1.7 and fuse-bindings-python25 0.2, I get this:

Python 2.5.2 (r252:60911, Jul  8 2008, 16:31:55) 
[GCC 4.0.1 (Apple Inc. build 5484)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import fuse
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/lib/python2.5/site-packages/fuse.py", line 26, in <module>
    from fuseparts._fuse import main, FuseGetContext, FuseInvalidate
ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/fuseparts/_fusemodule.so, 2): Symbol not found: _iconv
  Referenced from: /opt/local/lib/libfuse.2.dylib
  Expected in: flat namespace

Linked libraries:

kkarlsson:~ kkarlsson$ otool -L /opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/fuseparts/_fusemodule.so
/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/fuseparts/_fusemodule.so:
	/opt/local/lib/libfuse.2.dylib (compatibility version 10.0.0, current version 10.7.3)
	/opt/local/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.1)

Symbols in libiconv:

kkarlsson:~ kkarlsson$ nm /opt/local/lib/libiconv.2.dylib | grep iconv
/opt/local/lib/libiconv.2.dylib(single module):
000f8020 D __libiconv_version
000187c0 T _iconv_canonicalize
00016590 T _libiconv
000165f0 T _libiconv_close
00017fa0 T _libiconv_open
00019040 t _libiconv_relocate
00018f50 T _libiconv_set_relocation_prefix
00016610 T _libiconvctl
00016850 T _libiconvlist

The symbol is not something found in libiconv, and I'm not sure where the reference even comes from, because fusemodule.c doesn't ever call anything iconv*

Change History (17)

comment:1 Changed 12 years ago by mf2k (Frank Schima)

Owner: changed from macports-tickets@… to sfiera@…

Assigning to maintainer.

comment:2 Changed 12 years ago by blb@…

Hmm, another iconv vs. libiconv symbol error, like #13055.

comment:3 Changed 12 years ago by macports@…

Cc: macports@… added

Cc Me!

comment:4 Changed 12 years ago by jason@…

Cc: jason@… added

Cc Me!

comment:5 Changed 12 years ago by jason@…

If someone can find a solution to this issue (similar to the other tickets fixed and listed here: http://trac.macports.org/wiki/blb#libiconv-symbols) I would be eternally grateful.

Hopefully those other tickets have clues for more experienced MacPorts developers to be able to fix this.

comment:6 Changed 12 years ago by jmroot (Joshua Root)

Seems to work fine here (MacPorts 1.7.0, OS 10.5.6, XCode 3.1.2). Most things shouldn't be building with flat namespace any more in MP 1.7 because it now sets MACOSX_DEPLOYMENT_TARGET appropriately.

comment:7 Changed 12 years ago by macports8@…

jmr, do you have the libiconv port installed?

comment:8 Changed 12 years ago by macports8@…

Cc: macports8@… added

Cc Me!

comment:9 in reply to:  7 Changed 12 years ago by jmroot (Joshua Root)

Replying to macports8@…:

jmr, do you have the libiconv port installed?

Yes. Python25 depends on gettext which depends on libiconv.

comment:10 Changed 12 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

comment:11 Changed 11 years ago by asbjorn@…

I have this exact problem now with MacPorts 1.8.0.

comment:12 Changed 11 years ago by macports@…

Cc: macports@… added

Cc Me!

comment:13 Changed 11 years ago by arto.bendiken@…

Cc: arto.bendiken@… added

Cc Me!

comment:14 Changed 11 years ago by edwardgeorge@…

i just came up against this and fixed with the following:

sudo port patch macfuse

then edit 10.x/libfuse/fuse-2.7.3-macosx.patch in the work dir. find the entries for the darwin_configure shell scripts and append the following arg to the configures: --with-libiconv-prefix=/opt/local

then finish the installation as normal:

sudo port install macfuse

building and using the fuse bindings worked for me after doing this.

comment:15 Changed 10 years ago by ruibalp@…

Cc: ruibalp@… added

Cc Me!

comment:16 Changed 10 years ago by jmroot (Joshua Root)

Cc: dports@… added
Port: macfuse added

Adding macfuse maintainer to cc as per comment:14.

comment:17 Changed 10 years ago by drkp (Dan Ports)

Resolution: fixed
Status: newclosed

Added --with-libiconv-prefix in r73010

Note: See TracTickets for help on using tickets.