Macports und imagemagick unter 10.8.3 | Software | Forum | MacTechNews.de

Alle Meldungen rund um die WWDC 2014 vom 2. bis zum 6. Juni

Macports und imagemagick unter 10.8.3

virk
Ich schlage mich gerade mit der Installation von imagemagick herum. Die Installation habe ich mit Macports gemacht und dann "sudo port install imagemagick". Dieser ganz Kram steht in /opt/local/.....

Jetzt liefert mir die Konsole folgenden Fehler, wenn "convert" aus dem (doku)wiki aus Safari aufgerufen wird:
dyld: Library not loaded: /opt/local/lib/libexpat.1.dylib
Referenced from: /opt/local/bin/convert
Reason: Incompatible library version: convert requires version 8.0.0 or later, but libexpat.1.dylib provides version 7.0.0
Es gibt noch eine Datei dieses Namens: /usr/lib/libexpat.1.dylib

Wenn ich diese umbenenne, scheint convert zu laufen, jedoch kann dann nach einem Neustart der apache nicht wieder neu gestartet werden:
22-pistepirkko:Release Heiner$ apachectl -k restart
dyld: Library not loaded: /usr/lib/libexpat.1.dylib
Referenced from: /usr/sbin/httpd
Reason: image not found
/usr/sbin/apachectl: line 90: 572 Trace/BPT trap: 5 $HTTPD $ARGV
Als wenn convert die Version 8 benötigt, aber irgendwie mit der 7er verheiratet ist und apache sich irgendwie auf die Version 7 verlässt, mit der convert nicht laufen kann.

Vielleicht hängt das (auch) mit den Umgebungsvariablen zusammen. Kann jemand Licht ins Dunkel bringen?
„Schön fand ich damals: Auf die Dauer hilft nur Power!“

Kommentare

Duck Dodgers
Warum installierst du nicht die fertig kompilierte Version
http://www.imagemagick.org/script/binary-releases.php#macosx
„The difference between men and boys is the price of the toys.“
virk
Duck Dodgers
Warum installierst du nicht die fertig kompilierte Version
http://www.imagemagick.org/script/binary-releases.php#macosx

Habe ich auch versucht. Folgender Fehler taucht damit auf:
dyld: Library not loaded: /ImageMagick-6.8.4/lib/libMagickCore-6.Q16.1.dylib
Referenced from: /Users/Heiner/ImageMagick-6.8.4/lib/ImageMagick-6.8.4/bin-Q16/convert
Reason: image not found

Jetzt erhöht sich die Anzahl meiner Fragen auf 2 :

1) Wer kann was zum Ursprungsposting sagen?
2) Wer hat einen Tipp bzgl. der Fehlermeldung in diesem posting?
„Schön fand ich damals: Auf die Dauer hilft nur Power!“
sierkb
Was sagt der Aufruf

otool -L /opt/local/bin/convert

in Bezug auf libexpat.1.dylib?

Steht da dann
/opt/local/lib/libexpat.1.dylib (compatibility version 8.0.0, current version 8.0.0)
oder steht da dann
/opt/local/lib/libexpat.1.dylib (compatibility version 7.0.0, current version 7.0.0)

?

Evtl. ist der Cache für die dynamischen Shared Libraries (.dylib) nicht aktuell und hat da noch aus irgendeinem Grund Version 7 von libexpat.1.dylib in seiner Cache-Datenbank hängen?

Möglicherweise könnte da helfen, den dyld-Cache mal zu zwingen, sich zu erneuern (danach Neustart) und sich mit aktuellen Daten der tatsächlich installierten Dynamic Shared Libraries zu füllen:

update_dyld_shared_cache -root / -force

Manpage zu update_dyld_shared-cache: man update_dyld_shared-cache oder online:
virk
otool -L /opt/local/bin/convert
ergibt
/opt/local/lib/libfreetype.6.dylib (compatibility version 16.0.0, current version 16.0.0)
/opt/local/lib/libexpat.1.dylib (compatibility version 8.0.0, current version 8.0.0)
/opt/local/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)
Danach wollte ich das machen:
update_dyld_shared_cache -root / -force
Das geht wohl nur als root. Dabei fiel das folgende auf:
22-pistepirkko:Release Heiner$ su admin
dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/su) is setuid or setgid
Password:
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied

Jetzt wird erst mal neugestartet, da dieser update_dyld..... wohl gelaufen ist.
„Schön fand ich damals: Auf die Dauer hilft nur Power!“
virk
Ich kann nach einem Neustart keine Änderung feststellen: das apache log ist voll mit :

dyld: Library not loaded: /opt/local/lib/libexpat.1.dylib
Referenced from: /opt/local/bin/convert
Reason: Incompatible library version: convert requires version 8.0.0 or later, but libexpat.1.dylib provides version 7.0.0
dyld: Library not loaded: /opt/local/lib/libexpat.1.dylib
Referenced from: /opt/local/bin/convert
Reason: Incompatible library version: convert requires version 8.0.0 or later, but libexpat.1.dylib provides version 7.0.0
dyld: Library not loaded: /opt/local/lib/libexpat.1.dylib
Referenced from: /opt/local/bin/convert
Reason: Incompatible library version: convert requires version 8.0.0 or later, but libexpat.1.dylib provides version 7.0.0
dyld: Library not loaded: /opt/local/lib/libexpat.1.dylib
Referenced from: /opt/local/bin/convert
Reason: Incompatible library version: convert requires version 8.0.0 or later, but libexpat.1.dylib provides version 7.0.0
dyld: Library not loaded: /opt/local/lib/libexpat.1.dylib
Referenced from: /opt/local/bin/convert
Reason: Incompatible library version: convert requires version 8.0.0 or later, but libexpat.1.dylib provides version 7.0.0
dyld: Library not loaded: /opt/local/lib/libexpat.1.dylib
Referenced from: /opt/local/bin/convert
Reason: Incompatible library version: convert requires version 8.0.0 or later, but libexpat.1.dylib provides version 7.0.0
„Schön fand ich damals: Auf die Dauer hilft nur Power!“
sierkb
Welche Xcode Version hast Du installiert? Welche MacPorts-Version?

Evtl. helfen Dir, obwohl ein etwas anderes Problem berührend, die Maintainer-Tipps von ryandesign in diesem Bug , den ich dort mal gemeldet hatte, als ich mal Probleme mit dem Bauen von ImageMagick hatte.

Also im Ergebnis sowas in dieser Art:

sudo port clean expat libtool ImageMagick
sudo port -n upgrade --force expat
sudo port -n upgrade --force libtool
sudo port -n upgrade --force ImageMagick

Oder, mit Deiner Fehlermeldung in der Hand, bei MacPorts ein neues Ticket melden und Dir im Laufe des Tickets von jemanden vom MacPorts-Team helfen lassen, so wie ich das damals auch getan habe.

Wissenswert auch: die Standard-Einstellung bei MacPorts ist zumindest ab Lion ja inzwischen so, dass nur noch fertige Binaries aus dem MacPorts-Repository heruntergeladen und installiert werden und nur noch in Ausnahmefällen bzw. bei nicht vorliegender individueller Abweichung von der angebotenen Standardkonfiguration die Binaries neu gebaut werden (wozu dann Xcode gebraucht wird -- derzeit wird im Rahmen des diesjährigen gerade stattfindenen Google Summer of Code-Projekts dran gearbeitet, MacPorts u.a. auch ohne Xcode benutzen zu können).

Mein ImageMagick inkl. Perl-CPAN-Modul Image::Magick jedenfalls installiert sich einwandfrei und läuft tadellos (OSX 10.7.5, Xcode 4.6.2, MacPorts 2.1.3). Image::Magick ist das Eigentliche, das ich brauche, und das zu bauen und zu installieren und in Abhängigkeit von ImageMagick zu warten geht für mein Dafürhalten über MacPorts am einfachsten statt es via Perl/CPAN parallel zu ImageMagick zu installieren (und im Binary Package von der ImageMagick-Webseite ist's nicht dabei). Aber das nur am Rande, das ist mein Anwendungsfall, Deiner sieht ja, denke ich, etwas anders aus. Wenn ich jedenfalls hier und hier nachschaue, scheint Dein Problem nicht gehäuft und aus irgendeinem Grund nur bei Dir aufzutreten.
virk
xcode ist 4.6.2
10.8.3
Macports 2.1.3

Habe am Sonntag sogar Macports und imagemagick komplett neu installiert. Der Fehler war der gleiche. Convert läuft im Terminal sauber durch; "nur" ein Aufruf aus dem wiki verursacht diesen Fehler. Ist habe den Eindruck, dass es daran liegen könnte, dass es, wie ich im ersten posting schrieb, noch eine weitere Library-Datei des gleichen Namens gibt.

So, jetzt noch kurz Musik hören und dann pennen
„Schön fand ich damals: Auf die Dauer hilft nur Power!“
sierkb
Mache mal erstmal Deine obige Umbenennung wieder rückgängig, sodass Dein lokaler Apache wieder läuft (ich nehme an, der, den Du zusätzlich noch via MacPorts unterhalb von /opt/local installiert hast, denn den systemeigenen OSX-Apachen dürfte das alles gar nicht erst berühren, da MacPorts' Namensraum zur Vermeidung von Interferenzen mit dem OSX-System unterhalb von /opt/local hat)
virk
Ist habe den Eindruck, dass es daran liegen könnte, dass es, wie ich im ersten posting schrieb, noch eine weitere Library-Datei des gleichen Namens gibt.

Dann schaue doch einfach mal nach mit:

ls -l /opt/local/lib/libexpat*

Sieht das Ergebnis dann so bzw. so ähnlich aus?
-rwxr-xr-x 1 root admin 149788 4 Apr 2012 /opt/local/lib/libexpat.1.dylib
-rw-r--r-- 1 root admin 171720 4 Apr 2012 /opt/local/lib/libexpat.a
lrwxr-xr-x 1 root admin 16 4 Apr 2012 /opt/local/lib/libexpat.dylib libexpat.1.dylib
-rwxr-xr-x 1 root admin 951 4 Apr 2012 /opt/local/lib/libexpat.la

Mehr sollte da doch dann eigentlich nicht zu finden sein als genau diese.
virk
ls -l /opt/local/lib/libexpat*
zeigt genau das gleiche wie bei Dir.

Ich meinte die Datei dieses Namens: /usr/lib/libexpat.1.dylib, von der ich im Ursprungsposting schrieb. Vielleicht ist diese Version ja die ominöse Version 7.0 dieser library. Ich denke darüber nach, diese hier irgendwo zu parken, die aus macports hierhin zu kopieren, mit den richtigen Rechten zu versehen und dann nach Neustart mal sehen, ob das was gebracht hat.

Die Umbenennung der library hatte ich direkt schon wieder rückgängig gemacht. Es gibt auch meines Wissens keinen weiteren apache, den "ich installiert haben könnte".
„Schön fand ich damals: Auf die Dauer hilft nur Power!“
sierkb
virk
Ich meinte die Datei dieses Namens: /usr/lib/libexpat.1.dylib, von der ich im Ursprungsposting schrieb.

Ich auch.

Mit ls -l /opt/local/lib/libexpat* bekommst Du alle Libraries angezeigt, die mit libexpat beginnen und irgendwie dann weitergehen (deshalb dann das Sternchen "*")

Zuvorderst meine Frage: schau mal auf das Dateum dieser Dateien, sind die alle gleichen Datums, oder ist Deine /opt/local/lib/libexpat.1.dylib aus einem ominösen Grund älteren Datums?

Und wie im Ergebnis u.a. zu erkennen ist, ist

lrwxr-xr-x 1 root admin 16 4 Apr 2012 /opt/local/lib/libexpat.dylib libexpat.1.dylib
lediglich ein Symlink auf
-rwxr-xr-x 1 root admin 149788 4 Apr 2012 /opt/local/lib/libexpat.1.dylib
virk
Vielleicht ist diese Version ja die ominöse Version 7.0 dieser library.

Rauszukriegen z.B. mittels:

otool -L /opt/local/lib/libexpat.1.dylib

Ergebnis:
/opt/local/lib/libexpat.1.dylib:
/opt/local/lib/libexpat.1.dylib (compatibility version 8.0.0, current version 8.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)

Oder auch:

otool -l /opt/local/lib/libexpat.1.dylib | grep 'current version'

Ergebnis:
current version 8.0.0
current version 159.1.0


Wird da bei Dir die Version 8.0.0 angezeigt oder die Version 7.0.0?


virk
Ich denke darüber nach, diese hier irgendwo zu parken
virk

Mal langsam mit den Pferden...
virk
die aus macports hierhin zu kopieren

Sie befindet sich doch bereits im Namensraum von MacPorts, nämlich unter /opt/local/lib!
Die Umbenennung der library hatte ich direkt schon wieder rückgängig gemacht.

Gut so. Damit richtest Du nämlich mehr Schaden als Nutzen an, das hast Du ja mittlerweile gesehen.
Es gibt auch meines Wissens keinen weiteren apache, den "ich installiert haben könnte".

Ich glaube, Du irrst.
OSX hat schon immer standardmäßig einen fullblown Apache Webserver mit an Bord (/usr/sbin/httpd, /usr/libexec/apache2/ /etc/apache2/, /Library/WebServer/), genauso wie eine fullblown PHP-Installation und eine fullblown Perl-Installation (das drunterliegende Unix-System macht bei der Systempflege u.a. regen Gebrauch von Perl bzw. den standardmäßig installierten Perl-Moduln).

Apache zu aktivieren und starten bis incl. OSX 10.7 ganz einfach via Systemeinstellungen Freigaben Webfreigabe.

Wenn ich mich nicht irre, hat auch 10.8 standardmäßig weiterhin einen Apache Webserver im Gepäck und voll funktionsfähig vorkonfiguriert (nachdem man ihn auf seine persönlichen Bedürfnisse hin via httpd.conf leicht angepasst hat) installiert. Seit 10.8 ist die einfache Aktivierungsmöglichkeit via GUI in der Systemeinstellung verschwunden, sie ist nur noch möglich, entweder wenn man OSX 8 Server installiert hat oder sich aus dem Internet ein frei erhältliches PrefPane installiert hat, das diese von Apple gekappte Einstellungsmöglichkeit wieder nachrüstet. Der Apache Webserver ist aber auch unter OSX 10.8 trotzdem da, ist voll funktionsfähig und gebrauchstauglich, ihm fehlt in der Desktop-Variante von 10.8 lediglich dieses PrefPane zum An- und Ausstellen via GUI. Von der Shell, also dem Terminal aus, ist Apache aber trotzdem jederzeit mittels /usr/sbin/apachectl startbar und stoppbar.

Zum eigentlichen Problem nochmal:
Installiere mal expat nochmal neu. Deinstalliere es via MacPorts (unter Ignorierung aller Abhängigkeiten) und installiere expat dann nochmal neu. Oder mache ein -n force upgrade dieses Pakets, wie oben schon mal beschrieben.

Irgendwo ist da bei Dir der Wurm drin.

Und: wenn das Problem danach immer noch existiert, dann schreibe bitte an die macports-users Mailingliste (, ) und schildere dort Deinen Fall bzw. schreibe ein entsprechendes neues Ticket ("New Ticket" ) in die Trac-Datenbank (Bug-System) unter MacPorts.org. In beiden Fällen bekommst Du da dann i.R. recht zügig und kompetent Rat, meistens von einem der MacPorts-Maintainer höchstselbst. Dieses Vorgehen dürfte insgesamt für Dich schneller zum Ergebnis kommen als noch länger an dem Problem herumzudocktern und nicht weiterzukommen.
virk
Also los:
22-pistepirkko:Release Heiner$ otool -L /opt/local/lib/libexpat.1.dylib
/opt/local/lib/libexpat.1.dylib:
/opt/local/lib/libexpat.1.dylib (compatibility version 8.0.0, current version 8.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
22-pistepirkko:Release Heiner$

Das sieht also ähnlich aus, wie bei Dir. Wohl nur der Unterschied, weil ich 10.8.3 installiert habe.

Weiter geht's!
22-pistepirkko:Release Heiner$ otool -l /opt/local/lib/libexpat.1.dylib | grep 'current version'
current version 8.0.0
current version 169.3.0
22-pistepirkko:Release Heiner$

Auch Deinem ähnlich.

Bzgl. des apaches: Mir ist schon klar, bei bei ML einer dabei ist. Ich meinte auch nur, ich hätte meines Wissens keinen zusätzlichen installiert.

Der Witz ist ja, "convert logo: logo.gif" läuft ohne Fehlermeldung durch und macht, was es will. Nur unter dokuwiki will imagemagick nicht.

Wahrscheinlich geht es Richtung macports-mailingliste
„Schön fand ich damals: Auf die Dauer hilft nur Power!“

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.

SIGGRAPH 2014 (0)
10.08.14 - 14.08.14, ganztägig
Mac-Treff München (0)
13.08.14 19:00 Uhr
Macintisch Würzburg (0)
13.08.14 19:00 Uhr
Apple-Treff Hamburg (0)
06.09.14 18:00 Uhr
Macintisch Würzburg (0)
10.09.14 19:00 Uhr
Mac-Treff München (0)
10.09.14 19:00 Uhr
IBC2014 (Amsterdam) (0)
11.09.14 - 16.09.14, ganztägig

Woher beziehen Sie am liebsten Musik?

  • Aus dem iTunes Store oder einem anderen kostenpflichtigen Download-Dienst53,1%
  • Über kostenpflichtige Streaming-Dienste11,5%
  • Über kostenloses Online-Streaming bzw. (Online-)Radio4,7%
  • Ich kaufe Musik auf physikalischen Medien wie CDs oder Vinyl21,4%
  • Auf anderem Wege9,3%
548 Stimmen21.07.14 - 23.07.14
6116