• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Problem mit libfreetype.6.dylib

Ququq

Alkmene
Registriert
22.01.12
Beiträge
33
Hallo Experten!

Ich benutze "mrtrix" (ein command line imaging tool).
Ich habe kürzlich einen patch installiert (musste neu kompiliert werden). Nach dem Update kann ich nun den image-viewer (mrview) nicht mehr von innerhalb MATLAB mit dem 'system' command starten (wäre sehr praktisch um es in den Workflow einzubinden, von der Terminal geht es ohne Probleme).

Es gibt nun den Fehler:

MATLAB>> system('mrview')

dyld: Library not loaded: /usr/X11/lib/libfreetype.6.dylib
Referenced from: /usr/local/bin/mrview
Reason: Incompatible library version: mrview requires version 14.0.0 or later, but libfreetype.6.dylib provides version 10.0.0
mrview: Trace/breakpoint trap


Google sagt mir, dass man bei diesem Fehler folgendes nachschauen soll:


MATLAB>> system('otool -L /usr/X11/lib/libfreetype.6.dylib')
/usr/X11/lib/libfreetype.6.dylib:
/usr/X11/lib/libfreetype.6.dylib (compatibility version 14.0.0, current version 14.2.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 44.0.0)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 38.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.44.0)

Es scheint also, dass sehr wohl die geeignete version von libfreetype.6.dylib (version 14.2.0 und nicht version 10.0.0) vorhanden ist, aber dass da irgendwas falsch referenziert wird, und es so nicht gefunden wird.

Weiss jemand vielleicht, wie man diesen Fehler behebt?

Vielen Dank!
Ququq
 
installiere mal XQuartz, das bietet ne aktuelle X11 Umgebung unter Mac OS X.

Das ist jetzt von mir aber mehr als Tipp gemeint, ich weiß nicht, ob dadurch der Fehler verschwindet, wäre aber möglich.
 
Hallo Karol,

Ja, das habe ich mir auch schon überlegt. Aber bevor ich alles durcheinander bringe, wollte ich erstmal hier nachfragen.

Was mich ein bisschen irritiert, ist, dass wenn ich mit
Code:
otool -L
nachschaue, sehr wohl die aktuelle dylib-Version installiert zu sein scheint (siehe meinen ersten post). Die mrview Application wird irgendwie auf eine falsche Version referenced.

Es scheint mir also das Problem zu sein, wie man diese falsche Referenzierung korrigieren kann. Wird das mit der XQuartz - Installation geregelt sein?
 
Hallo!
Hier nochmals der Vollständigkeit halber: Ich habe das Problem gelöst.


>> system('otool -L /usr/local/bin/mrview')
/usr/local/bin/mrview:
lib/libmrtrix-0_2_10.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/local/lib/libgsl.0.dylib (compatibility version 17.0.0, current version 17.0.0)
/usr/local/lib/libgslcblas.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libgtkmm-2.4.1.dylib (compatibility version 3.0.0, current version 3.0.0)
/usr/local/lib/libatkmm-1.6.1.dylib (compatibility version 3.0.0, current version 3.0.0)
/usr/local/lib/libgdkmm-2.4.1.dylib (compatibility version 3.0.0, current version 3.0.0)
/usr/local/lib/libgiomm-2.4.1.dylib (compatibility version 4.0.0, current version 4.0.0)
/usr/local/lib/libpangomm-1.4.1.dylib (compatibility version 2.0.0, current version 2.30.0)
/usr/local/lib/libglibmm-2.4.1.dylib (compatibility version 4.0.0, current version 4.0.0)
/usr/local/lib/libcairomm-1.0.1.dylib (compatibility version 6.0.0, current version 6.0.0)
/usr/local/lib/libsigc-2.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libgtkglext-x11-1.0.0.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libgdkglext-x11-1.0.0.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/X11/lib/libGLU.1.dylib (compatibility version 1.3.0, current version 1.3.0)
/usr/X11/lib/libGL.1.dylib (compatibility version 1.2.0, current version 1.2.0)
/usr/X11/lib/libXmu.6.dylib (compatibility version 9.0.0, current version 9.0.0)
/usr/X11/lib/libXt.6.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/X11/lib/libSM.6.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/X11/lib/libICE.6.dylib (compatibility version 10.0.0, current version 10.0.0)
/usr/local/lib/libgtk-x11-2.0.0.dylib (compatibility version 2401.0.0, current version 2401.6.0)
/usr/local/lib/libpangox-1.0.0.dylib (compatibility version 2801.0.0, current version 2801.4.0)
/usr/X11/lib/libX11.6.dylib (compatibility version 9.0.0, current version 9.0.0)
/usr/local/lib/libgdk-x11-2.0.0.dylib (compatibility version 2401.0.0, current version 2401.6.0)
/usr/local/lib/libatk-1.0.0.dylib (compatibility version 20210.0.0, current version 20210.1.0)
/usr/local/lib/libgio-2.0.0.dylib (compatibility version 2801.0.0, current version 2801.8.0)
/usr/local/lib/libpangoft2-1.0.0.dylib (compatibility version 2801.0.0, current version 2801.4.0)
/usr/local/lib/libpangocairo-1.0.0.dylib (compatibility version 2801.0.0, current version 2801.4.0)
/usr/local/lib/libgdk_pixbuf-2.0.0.dylib (compatibility version 2401.0.0, current version 2401.0.0)
/usr/X11/lib/libcairo.2.dylib (compatibility version 10803.0.0, current version 10803.6.0)
/usr/local/lib/libpango-1.0.0.dylib (compatibility version 2801.0.0, current version 2801.4.0)
/usr/X11/lib/libfreetype.6.dylib (compatibility version 14.0.0, current version 14.2.0)
/usr/X11/lib/libfontconfig.1.dylib (compatibility version 6.0.0, current version 6.3.0)
/usr/local/lib/libgobject-2.0.0.dylib (compatibility version 2801.0.0, current version 2801.8.0)
/usr/local/lib/libgmodule-2.0.0.dylib (compatibility version 2801.0.0, current version 2801.8.0)
/usr/local/lib/libgthread-2.0.0.dylib (compatibility version 2801.0.0, current version 2801.8.0)
/usr/local/lib/libglib-2.0.0.dylib (compatibility version 2801.0.0, current version 2801.8.0)
/usr/local/Cellar/gettext/0.18.1.1/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)

ans =

0


Es scheint also dass nur MATLAB das falsche libfreetype lädt.
Ich lokalisiere also libfreetype:

>> system('locate libfreetype.6.dylib')
/Applications/Gimp.app/Contents/Resources/lib/libfreetype.6.dylib
/Applications/MATLAB_R2009b.app/bin/maci/libfreetype.6.dylib
/Applications/MATLAB_R2009b.app/bin/maci64/libfreetype.6.dylib
/Applications/Scribus.app/Contents/Frameworks/libfreetype.6.dylib
/Applications/TeX/TeXworks.app/Contents/MacOS/libfreetype.6.dylib
/Applications/VLC.app/Contents/MacOS/lib/libfreetype.6.dylib
/Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib/libfreetype.6.dylib
/usr/X11/lib/libfreetype.6.dylib

ans =

0


und tatsächlich MALTAB lädt eine alte version:

>> system('otool -L /Applications/MATLAB_R2009b.app/bin/maci64/libfreetype.6.dylib')
/Applications/MATLAB_R2009b.app/bin/maci64/libfreetype.6.dylib:
@loader_path/libfreetype.dylib (compatibility version 10.0.0, current version 10.16.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/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.0.0)

ans =

0


Bei Mathworks habe ich gefunden dass der Pfad für dylib in MATLAB durch DYLD_LIBRARY_PATH definiert wird:

>> getenv DYLD_LIBRARY_PATH

ans =

/Applications/MATLAB_R2009b.app/sys/os/maci64:/Applications/MATLAB_R2009b.app/bin/maci64/MATLAB.app/Contents/MacOS:/Applications/MATLAB_R2009b.app/bin/maci64:/Applications/MATLAB_R2009b.app/extern/lib/maci64:/Applications/MATLAB_R2009b.app/runtime/maci64


und ich definiere dann den Pfad richtig:

setenv('DYLD_LIBRARY_PATH', '/usr/X11')


und es klappt!!!

>> system('mrview')
öffnet den viewer!


Ququq