2009-08-10 12 views
16

Mam problemy z instalacją rubygem rmagick CentOS 5. Mam następnie czynności wyszczególnionych w http://rmagick.rubyforge.org/install2-linux.html ale gdy próbuję:Problem z instalacją rmagick rubygem na CentOS 5

sudo gem install rmagick 

wynik jest:

Building native extensions. This could take a while... 
ERROR: Error installing rmagick: 
    ERROR: Failed to build gem native extension. 

/usr/local/bin/ruby extconf.rb 
checking for Ruby version >= 1.8.5... yes 
checking for gcc... yes 
checking for Magick-config... no 
Can't install RMagick 2.11.0. Can't find Magick-config in /usr/bin:/bin 

*** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

Provided configuration options: 
    --with-opt-dir 
    --without-opt-dir 
    --with-opt-include 
    --without-opt-include=${opt-dir}/include 
    --with-opt-lib 
    --without-opt-lib=${opt-dir}/lib 
    --with-make-prog 
    --without-make-prog 
    --srcdir=. 
    --curdir 
    --ruby=/usr/local/bin/ruby 


Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/gems/rmagick-2.11.0 for inspection. 
Results logged to /usr/local/lib/ruby/gems/1.8/gems/rmagick-2.11.0/ext/RMagick/gem_make.out 

Katalog/usr/local/bin zawiera Magick-config, ale nie udało mi się znaleźć tam rubigemów. Próbowałem wykonać następujące czynności, ale wynik był taki sam:

sudo gem install rmagick -- --with-opt-dir=/usr/local/bin 

Wszelkie sugestie będą mile widziane.

Odpowiedz

25

Więc wreszcie udało mi się zainstalować wersję 1.15.17 z rubygem rmagick! Oto co zrobiłem:

  1. Odinstalowano ImageMagick 6.5.4-9 i biblioteki pełnomocnika, które miałem zainstalowane ze źródła
  2. sudo yum install ImageMagick
  3. sudo yum install ImageMagick-devel
  4. curl -O http://www.zacharywhitley.com/linux/rpms/fedora/core/6/i386/msttcorefonts-2.0-1.noarch.rpm
  5. sudo rpm -ivh msttcorefonts-2.0-1.noarch.rpm
  6. ln -s /usr/share/fonts/msttcorefonts/ /usr/share/fonts/default/TrueType
  7. sudo gem install rmagick -v 1.15.17 --no-rdoc --no-ri

Wpisy w blogu od David Bock i Will były nieocenione.

+1

Link do czcionki nie działa, więc postępowałem zgodnie z instrukcjami na http://www.go2linux.org/msttcorefonts-true-type-fonts-on-linux, aby zainstalować czcionki. Pracował jak urok. –

+0

Ostatni krok nie udał mi się, dopóki nie dodałem nagłówków ruby: sudo yum zainstalować ruby-devel – mveerman

+0

Pracowałem dla mnie, dziękuję Keith & Beerlington. Właściwie napotkałem kolejne problemy, ponieważ Zend Server CE jest już zainstalowany z inną wersją ImageMagick (bez devel, więc nie mógłbym klejnotować inst rmagick) w moim systemie. Aby rozwiązać problem, musiałem odpowiednio ustawić zmienną env LD_LIBRARY_PATH na/usr/lib (zamiast lokalizacji ZSCE) i przekazać ją do apache. Aby to zrobić z pasażerem, zmieniłem dyrektywę "Apache": "PassengerRuby/usr/bin/ruby" na "PassengerRuby/usr/bin/ruby_env" i wypełniłem ten plik: #!/Bin/sh eksport LD_LIBRARY_PATH =/usr/lib: exec "/ usr/local/bin/ruby" "$ @" – maraspin

3

rmagick jest bardzo trudny do zainstalowania ze względu na zależności od innych pakietów itp. Właśnie przeszedłem przez tę grę w systemie Ubuntu i wystarczyło zainstalować odpowiednie pakiety, w tym pakiety deweloperskie itp. Nie jestem zaznajomiony z CentOS, ale ktoś prawdopodobnie użyje odpowiednich pakietów.

Jeśli wszystko inne zawiedzie, tworzenie i instalowanie ImageMagick ze źródła może być zwykle wykonane.

Edycja: Patrząc na powiązane pytanie, widzę następujące:

Na niektórych platformach (CentOS 5.2), musiałem zainstalować konkretne wersje rmagick ponieważ repozytoria domyślne dla mojego menadżera pakietów (yum) posiadał tylko stare wersje bibliotek RMagick devel. Po zainstalowaniu tej wersji poprzez:

gem install rmagick -v 1.15.13 
+0

Naprawdę próbowałem zainstalować starą wersję, jak sugerowano powyżej, ale była ona niezgodna z zainstalowanymi pakietami. Tak więc skonfigurowałem, zbudowałem i zainstalowałem ImageMagick ze źródła, po uprzednim zainstalowaniu delegatów zgodnie z sugestią http://rmagick.rubyforge.org/install2-linux.html. Byłem wtedy w stanie zainstalować RMagick ze źródła, ale potrzebuję go zainstalowanego jako RubyGem z powodu zależności w mojej aplikacji Rails. Chciałbym wymyślić, jak wymusić instalację gem, aby znaleźć Magick-config w/usr/local/bin. –

+0

brudny hack, który może działać, to dowiązanie symboliczne do miejsca, w którym wygląda. Jednak w moim doświadczeniu, gdy już minie się problem typu Magick-config, pojawia się kolejny błąd gdzieś indziej - myślę, że podstawową przyczyną jest zazwyczaj brak zestawu pakietów, które są kompatybilne. Na ubuntu najpierw usunąłem wszystkie pakiety związane z ImageMagick, a następnie zbudowałem zestaw, który wydawał się działać, robiąc Google'a to, co zrobili inni, oraz próbując i popełniając błędy. Tak jak ty, musiałem to mieć jako klejnot, z tego samego powodu. Musiał też mieć imagemagick pochodzący z pakietów, ponieważ cała budowa serwera była zautomatyzowana. – frankodwyer

+0

Dzięki za odpowiedzi Frank. Twoje komentarze zachęciły mnie do powrotu na ścieżkę, która zaowocowała pomyślnym zainstalowaniem wersji 1.15.17 na podstawie pakietów. –

0

Obejrzałem to w RHEL 5.4, tymczasowo dowiązując symbol /usr/local/bin/Magick-config do /usr/bin/Magick-conf, aby instalacja gem mogła znaleźć ten plik wykonywalny Magick-config.

W moim przypadku zainstalowałem ImageMagick ze źródła przy pomocy --prefix=/usr/local. Z jakiegoś powodu, instalacja gem nie chciała szukać tam konfiguracji, nawet z gem install --local ../rmagick-2.12.2.gem -- -with-opt-dir=/usr/local/bin. Uruchamianie yum install ImageMagick-devel dostanie tam binaria, ale wtedy instalacja gemów powie, że ImageMagick był nieprawidłową wersją.

1

trzymane otrzymuję ten błąd po postępując zgodnie z instrukcjami w większości głosowali odpowiedź:

RMagick: unable to read font `(null)'. 

więc mam coś do dodania do kroku 7, pochodzące z aktualizacją do David Bock blogu:

http://blog.codesherpas.com/on_the_path/2009/09/installing-centos-5-imagemagick-and-rmagick-september-2009-edition.html

gem install rmagick -v 1.15.17 --no-rdoc --no-ri -- --disable-htmldoc 

Wyłączenie dokumentacji html ma kluczowe znaczenie dla uniknięcia kolejnych błędów, jeśli pliki czcionek sprawiają, że program rmagick jest niezadowolony. Tylko wynik około 2 godzin zmagań z tym problemem.

1

Centos 5.5 ImageMagick jest starsza, więc zainstaluj od źródła, aby użyć rmagick.

Pobierz RPM źródłowego

wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/SRPMS/ImageMagick.src.rpm 
rpm -ivh --nomd5 ImageMagick.src.rpm 
cd /usr/src/redhat/SPECS 
rpmbuild -ba ImageMagick.spec 

Prawdopodobnie masz błąd zależność dla:

  • perl-devel
  • jaspis-devel
  • djvulibre-devel

Dodaj do twojego /etc/yum.repos.d/dag. repo

[dag] 
name=Dag RPM Repository for CentOS5 
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/ 
enabled=0 
gpgcheck=1 

następnie zaimportować klucz GPG i zainstalować djvulibre-devel

rpm --import http://ftp.riken.jp/Linux/dag/RPM-GPG-KEY.dag.txt 
yum --enablerepo=dag install djvulibre-devel 

następnie sprawdzić, czy można dokonać RPM:

rpmbuild -ba ImageMagick.spec 

Jeśli masz zależność Perl-devel błąd.

yum install perl 

Następnie edytować ImageMagick.spec i zastąpić "perl-devel" za "Perl", zapisz i rpmbuild ponownie.

rpmbuild -ba ImageMagick.spec 

Więc zainstalować inne zależności:

yum install freetype 
yum install gd-devel 
wget http://www.osresources.com/files/centos-windows-fonts/msfonts.tbz 
mkdir /usr/share/fonts/default/TrueType 
tar xvjpf msfonts.tbz -C /usr/share/fonts/default/TrueType/ 

Niech go zainstalować:

cd /usr/src/redhat/RPMS/i386 
rpm -Uvh ImageMagick-* 

Po tym wszystkim można sprawdzić, czy jest zainstalowany Twój RMagick:

ruby -rrubygems -e "require 'RMagick'; puts Magick::Long_version;" 

podstawie:

hi.baidu.com/rainchen/blog/item/089ef7364497de320a55a9a3.html

mobile-dev.izanagi-izanami.net/blog/?p = 48

41

I niedawno przeniesione ImageMagick 6.5.4.7 z CentOS6 do CentOS5 więc instalacja rmagick powinno być łatwiejsze teraz:

rpm -Uvh http://rbel.co/rbel5 
yum install ImageMagick-devel ImageMagick-c++-devel 
gem install rmagick 
+1

dzięki, pakiety działały ładnie – gerrit

+0

niesamowite. wielkie dzięki. Udało mi się ulepszyć imagemagick i zainstalować klejnot rmagick. –

+0

Dziękuję, obejrzeliście to miejsce, Rmagick jest świetny, ale to jest problem, gdy próbujesz go zainstalować na centos –

9

answer from rubiojr pracował dla mnie, ale rbel.co jest w dół chwila. Zamiast tego możesz użyć adresu rbel.frameos.org:

rpm -Uvh http://rbel.frameos.org/rbel5 
yum install ImageMagick-devel ImageMagick-c++-devel 
gem install rmagick 
Powiązane problemy