Ich versuche, das phashion zu installieren, das die pHash-Bibliothek kompilieren muss. pHash hängt von libjpeg ab. Das Juwel installiert gut auf Linux-Boxen, aber ich habe einige Probleme auf meinem Mac (Lion 10.7.3) mit ihm:Wie kann ich einen Edelsteininstallationsvorgang fortsetzen
Ich habe libjpeg über MacPorts installiert, aber wenn ich laufen der Prozess fehlschlägt, beschweren sich über die fehlende libjpeg.
Dies ist der Fehler, den ich bekommen:
gcc -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin11.0 -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin11.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -I/Library/Ruby/Gems/1.8/gems/phashion-1.0.4/ext/phashion_ext/include -L/Library/Ruby/Gems/1.8/gems/phashion-1.0.4/ext/phashion_ext/lib -x c++ -c phashion_ext.c
cc -arch i386 -arch x86_64 -pipe -bundle -undefined dynamic_lookup -o phashion_ext.bundle phashion_ext.o -L. -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib -L/Library/Ruby/Gems/1.8/gems/phashion-1.0.4/ext/phashion_ext/lib -L/Library/Ruby/Gems/1.8/gems/phashion-1.0.4/ext/phashion_ext/lib -L. -arch i386 -arch x86_64 -lruby -lpthread -lpHash_gem -lstdc++ -ljpeg
ld: library not found for -ljpeg
collect2: ld returned 1 exit status
ld: library not found for -ljpeg
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccCwUAM1.out (No such file or directory)
make: *** [phashion_ext.bundle] Error 1
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/phashion-1.0.4 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/phashion-1.0.4/ext/phashion_ext/gem_make.out
libjpeg liegt in /opt/local/lib
. Also habe ich mir das Makefile des Edelsteins angesehen und den Bibliotheksweg zu den ldflags hinzugefügt. Jetzt läuft alles gut und die Bibliothek scheint zu kompilieren.
Was nun? Wenn ich wieder gem install phashion
starte, wird mein Makefile überschrieben.
Also wie kann ich den Installationsvorgang erneut starten, ohne meine Änderungen an dem Edelstein zu verlieren?
PS: Ich habe versucht, in das Verzeichnis des Edelsteins zu ändern und führen rake
, aber es funktioniert nicht mit dieser Fehlermeldung:
WARNING: rake-compiler found compiled files in 'ext/phashion_ext' directory. Please remove them.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -I"lib:lib:test" -I"/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib" "/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb" "test/**/test_*.rb"
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:29:in `gem_original_require': no such file to load -- phashion_ext (LoadError)
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:29:in `require'
from ./lib/phashion.rb:33
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:29:in `gem_original_require'
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:29:in `require'
from ./test/helper.rb:3
from /Library/Ruby/Gems/1.8/gems/phashion-1.0.4/test/test_phashion.rb:1:in `require'
from /Library/Ruby/Gems/1.8/gems/phashion-1.0.4/test/test_phashion.rb:1
from /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:10:in `require'
from /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:10
from /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:9:in `each'
from /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:9
from /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:4:in `select'
from /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:4
rake aborted!
ich in der Lage war, ohne zusätzliche Libs diese auf meinem Mac zu installieren. Mein Vorschlag: 'gem uninstall phason 'und dann' gem install phason '... bekommst du die Nachricht Native Extensions erstellen. Das könnte eine Weile dauern ...? – hagope
Ja, das Juwel entfernt und neu installiert, aber kein Glück. Ich habe meine Frage mit dem Fehler, den ich erhalte, aktualisiert und meine OS-Version (Lion 10.7.3) hinzugefügt. Musstest du libjpeg installieren und hast du MacPorts (oder Brew) benutzt? – Wukerplank