Warum startet X11 / XQuartz nicht auf Lion?

2

Nach dem Upgrade auf Lion wird X11 nicht gestartet. Ich habe XQuartz 2.7.0 heruntergeladen, es startet auch nicht.

Der Absturzdialog erwähnt das folgende Problem:

X11:
Dyld-Fehlermeldung:
Bibliothek nicht geladen: /usr/X11/lib/libpixman-1.0.dylib
Referenziert von: /Applications/Utilities/X11.app/Contents/MacOS/X11.bin
Grund: Inkompatible Bibliotheksversion: X11.bin erfordert Version 21.0.0 oder höher, aber libpixman-1.0.dylib bietet Version 17.0.0

XQuartz:
Dyld-Fehlermeldung:
Bibliothek nicht geladen: /opt/X11/*/libfreetype.6.dylib
Referenziert von: /Applications/Utilities/XQuartz.app/Contents/MacOS/X11.bin
Grund: Inkompatible Bibliotheksversion: X11.bin erfordert Version 14.0.0 oder höher, aber libfreetype.6.dylib bietet Version 10.0.0

Das Deaktivieren DYLD_LIBRARY_PATHhilft auch nicht.

BEARBEITEN: Ich habe X11 aus dem Lion-Installationspaket wie hier beschrieben neu installiert , aber das Problem ist das gleiche.

Kann jemand helfen?

thSoft
quelle
Hat sich das Ergebnis des von @esarjeant vorgeschlagenen Befehls otool geändert?
Stephen Rudolph
Seltsamerweise hat sich das Problem von selbst behoben (10.7.3). Ich weiß nicht, welches Update es verursacht hat, aber es funktioniert jetzt ...
thSoft

Antworten:

2

Es scheint, dass das GnuPlot-Paket eine ältere Version von libfreetype.6.dylib liefert, als auf Lion (oder in meinem Fall SnowLeopard) installiert ist.

otool -L /Applications/Gnuplot.app/Contents/Resources/lib/libfreetype.6.dylib 
/Applications/Gnuplot.app/Contents/Resources/lib/libfreetype.6.dylib:
    /tmp/gnuplot-i386/lib/libfreetype.6.dylib (compatibility version 13.0.0, current version 13.2.0)

Mein Fehler ist jedoch, dass GnuPlot versucht, "/usr/X11/lib/libfreetype.6.dylib" und nicht die im GnuPlot-Paket enthaltene Bibliothek zu laden. Diese Bibliothek ist die richtige Version:

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)

Das ist soweit ich gekommen bin. Ich habe bemerkt, dass die Bibliotheks-Aliase im GnuPlot-Paket alle auf die Bibliotheken verweisen, die mit GnuPlot ausgeliefert wurden (15.04.2011 in meinem Fall). Daher besteht mein nächster Trick darin, einen neuen Alias ​​für libfreetype.6.dylib zu erstellen, der auf das verweist eins in / usr / X11 / lib und schau ob ich einen neuen Fehler bekomme.

Vielleicht ist die Antwort GnuPlot auf unseren Macs zu bauen?

MikeTempleman
quelle
2
  1. Öffnen Sie / Programme / Dienstprogramme / X11, um eine Webseite zu öffnen, auf der Sie aufgefordert werden, Xquartz zu installieren.
  2. Installieren Sie XQuartz. Dies ändert X11 in / Programme / Dienstprogramme / XQuartz.
  3. Starten Sie Gimp und einen Auswahldialog mit dem Titel Where is X11? Öffnet die Liste der Apps von / Applications.
  4. Klicken Sie im Auswahldialogfeld auf die Schaltfläche Durchsuchen und wählen Sie / Programme / Dienstprogramme / XQuartz.
  5. XQuartz wird im Dock angezeigt.
  6. Beenden Sie Gimp und XQuartz.
  7. Zu diesem Zeitpunkt sollte die Verbindung zu X11 ordnungsgemäß eingerichtet sein, damit beim Starten von Gimp XQuartz automatisch gestartet wird.
Mike Beek
quelle
0

Eine kurze Überprüfung von OS X Lion zeigt:

$ otool -L /usr/X11/lib/libpixman-1.0.dylib /usr/X11/lib/libpixman-1.0.dylib: /usr/X11/lib/libpixman-1.0.dylib (Kompatibilitätsversion 21.0.0, aktuelle Version 21.2.0) /usr/lib/libSystem.B.dylib (Kompatibilitätsversion 1.0.0, aktuelle Version 159.1.0)

Wenn Ihre libpixman-1.0-Bibliothek etwas anderes enthält (dh nicht Version 21.xx), möchten Sie möglicherweise X11 von der Lion-CD neu installieren.

Esarjeant
quelle
Meine Ausgabe: /usr/X11/lib/libpixman-1.0.dylib: /usr/X11/lib/libpixman-1.0.dylib (Kompatibilitätsversion 21.0.0, aktuelle Version 21.2.0) / usr / lib / libSystem. B.dylib (Kompatibilitätsversion 1.0.0, aktuelle Version 159.1.0) Lion wird nicht mit einer CD ausgeliefert, kann jedoch im App Store
installiert werden
0

Sie können dies umgehen, indem Sie die Bibliothek GnuPlot libfreetype so ändern, dass sie auf das System zeigt:

# Change to your GnuPlot install directory...
$ cd /Applications/Gnuplot.app/Contents/Resources/lib
# Backup the provided libfreetype...
$ mv libfreetype.6.dylib libfreetype.6.dylib.bak
# Link to the X11 provided one...
$ ln -s /usr/X11/lib/libfreetype.6.dylib .
Daniel Dunbar
quelle