Mac OSX 10.7で画像利用するアプリケーションが一部動作しなくなる件

Mac OSX Lion 10.7 がリリースされて結構たちますが、
どうも 従来 動いていた 画像を扱うアプリケーションが Lion だと動作しなくなるケースがあるようです

Mac OSX の dyld: Library not loaded を回避する - Windows 2000 Blog

古いバージョンのライブラリ

dyld: Symbol not found: _iconv
  Referenced from /usr/lib/libcups.2.dylib
  Expected in: /use/lib/libiconv.2.dylib

新しいライブラリから読み込んだ場合

dyld: Library not loaded: /use/lib/libiconv.2.dylib
  Referenced from /usr/lib/libgtkmacintegration.0.dylib
  Reason:Incompatible library version: libgtkmacintegration.0.dylib requires version 8.0.0 or later, but libiconv.2.dylib provieds version 7.0.0

『export DYLD_LIBRARY_PATH=$PATH:該当ライブラリのPATH』 を指定した場合

dyld: Symbol not found: __cg_png_create_info_struct
  Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
  Expected in: /optlocal/lib/libPng.dylib
Then congratulations, you've discovered that OSX and MacPorts are incompatible with each other for these
libraries! For example, Macport's libjpeg contains the symbol _jpeg_resync_to_restart, but not what
Apple is looking for, __cg_jpeg_resync_to_restart.



|ノ。・ω・)ノ どういうこっちゃねん!

Support for MacPorts users
splhack: cf.sourceforge.jp続き (dylibの謎)

検索したら似たような話がある模様

MacPorts のために DYLD_LIBRARY_PATH を使ってはいけない理由 | Apribase
ちょっと参考になったサイト|・ω・)
と思ったら

『export DYLD_FALLBACK_LIBRARY_PATH=$PATH:該当ライブラリのPATH』 を指定したバッチファイルを作って起動したらちゃんと動くようになりました

※うちの環境だと .bash_profile に書いたら、一部の segmentation fault で落ちるようになったので、注意

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です