CentOSでImageMagickをコンパイルしましたが、RMagickがインストールされません


16

ImageMagickをインストールしました(ImageMagick 6.7.3-7を使用)

./configure --prefix=/usr && make && make install

しようとすると

gem install imagemagick

私は得る

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

/usr/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... no

Can't install RMagick 2.13.1. Can't find MagickWand.h.
*** 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/bin/ruby

これは、MagickWand.hがのシステムに既にあるという事実にもかかわらず/usr/include/ImageMagick/wand/MagickWand.hです。質問は、どのようにコンパイラーに実際に見てもらうかです。

回答:


26

最新のすべてを使用してCentOSで同じ問題が発生し(2011年12月現在)、次のように修正されました。

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"

.kashrcファイルでMagickCore.pcを取得し、2つのシンボリックリンクを作成しました。

ln -s /usr/local/include/ImageMagick/wand /usr/local/include/wand
ln -s /usr/local/include/ImageMagick/magick /usr/local/include/magick

そして出来上がり、MagickWand.hが見つかり、MagickkCore.pcが取得されました... gemが正常にインストールされました。

ImageMagickのインストール中に設定された構成オプションを変更することも別の解決策だと思いますが、これらのファイルの正しいオプションと場所を明確にするためのシステム管理者では不十分です。周りのグーグルでの45分後、私はこれらのファイルがされて分からなかったはず自動的にメイクシステムをインストール宝石によってピックアップされるように、ライブに。

乾杯!

編集:2014-10-01

CentOS 7で再度これを行ったところ、ln上記のコマンドは必要ありませんでした。しかし、「Package MagickCoreがpkg-config検索パスで見つかりませんでした」という問題に遭遇しました。実行中sudo gem install rmagick

問題は、/ etc / sudoersで環境がリセットされたことです。sudo visudosudoersファイルを編集するために実行した後Defaults env_keep += "PKG_CONFIG_PATH"、適切なセクションに追加し、/ usr / local / binを含むようにセキュアパスを更新してから、インストールは魅力的に動作しました。


私はRedHat 6でも同じ問題を抱えていましたが、あなたの解決策はうまくいきました。本当にありがとう!
コールミード

素晴らしい、これはマウンテンライオンの魅力のようにも働いた!rmagick gemをインストールするには、上記のすべてのステートメントを実行する必要があります。
ヘンドラウジア

これを試し、「/ usr / local / bin / Magick-config:行41:pkg-config:コマンドが見つかりません/ usr / local / bin / Magick-config:行47:pkg-config:コマンドが見つかりません/ usr / local / binに/魔術-config設定:行50:PKG-config設定:コマンドが見つかりませんは/ usr / local /ビン/魔術-config設定:行53:PKG-config設定:コマンドが見つかりません」
ジョニー

13

ImageMagickは通常、MagickkCoreをここに配置します。

/usr/local/lib/pkgconfig/MagickCore.pc

あなたのものがそこにない場合、あなたはこのようにそれを見つけることができます:

find / -name MagickCore.pc

これで、pkgconfigパスがわかりました。

/usr/local/lib/pkgconfig

gemをインストールするときに環境を設定します。

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gem install rmagick

ありがとう!Bitnami Ubuntu 12.04イメージで作業しました。
JD

ありがとう!同様に働いた:find / usr / -name MagickCore.pc PKG_CONFIG_PATH = / usr / lib / x86_64-linux-gnu / pkgconfig / bundle
MegaTux

7

CentOSの場合、「ImageMagick-devel」パッケージをインストールすることでこの問題を解決しました。

yum install ImageMagick-devel


1
これが最良の答えです:)
kovpack

2

キーは、「wand / MagickWand.hの確認」という設定出力にあります-ImageMagickディレクトリは/ usr / includeにはないことは明らかです。つまり、そのディレクトリの内容をレベルを上げるか、 ImageMagick自体を別の方法でインストールする必要があります。/ usrに直接置くことは、システム自体では提供されないものにとっては一般的に悪い考えです-代わりに/ usr / localに追加するものをすべて分離し、/ usrをほぼそのままにしておけば、システムがはるかに簡単になります(これを忘れてからかなり経ってから)システムに付属するものと追加したものを把握できるので、管理することもできます。


良いアドバイスですが、ヘッダーファイルの特定のディレクトリをコンパイラーに強制的に検索させる方法についての質問にはまだ答えていません。
ケン・リー

3
さて、コンパイラー呼び出しはすべてgemコマンドを介して行われます(コンパイラーに-Iフラグを使用して別の場所を探すことを強制しますが、このユーザーはコンパイラーを直接使用していません)。その良さは、他に何も変更することなく発生します。configureでPKG_CONFIG_PATH env変数を使用すると、MagickCore.pcファイルが使用可能な場合に、問題が発生する可能性があります。、それはとしていDIRを追加する「のsetenv PKG_CONFIG_PATH /パス/に/どこ/見つける/ /それが見つかった」が存在するかどうかを確認し、「は/ usr -name MagickCore.pcを見つける」と
JKH

PKG_CONFIG_PATHを/Dir/to/where/found/MagickCore.pcに更新しましたが、「RMagick 2.13.1をインストールできません。MagickWand.hが見つかりません」と表示されます。そして、私は他に何を試すことができます.. -lオプションの使用方法がわかりませんか?
P101

うーん!うまくいったはずです。質問:./configure --helpと入力すると、ImageMagickの構成オプションが具体的にリストされますか?その場合、configureスクリプトから/ usr / localのImageMagickディレクトリを直接ポイントできる場合があります。
jkh

Thnx jkh ..興味深いことに、rmagickでconfigureを見つけられなかったので、おそらくimagemagickを意味します。ここに新しい質問を作成しましたstackoverflow.com/questions/9561386/rmagick-installation 。ご覧いただければ幸いです。ありがとう!
p101


1

ImageMagickバージョン7.xxをインストールしている可能性があります。これにより、異なるフォルダー名が生成されます。 usr/lib/local/include/ImageMagick7.x.xます。例えば

ImageMagick6.xxのバージョンでは、我々は持っているmagickwandImageMagick7.xxバージョンでこれを命名したフォルダを、名付けMagickCoreMagickWand。したがって、この更新は、次のようないくつかのgemインストールで問題を引き起こしています。どちらを使用しています magick/some_header.hwand/some_header.h(新しい7.xx ImageMagickバージョンで更新されていないことを意味します)。このため、このエラーが発生します。

`` `

checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
 .... 
checking for wand/MagickWand.h... no

`` `

ログファイルには次のようなものがあります:

error: 'MagickCore/method-attribute.h' file not found
#include "MagickCore/method-attribute.h"
         ^

解決

公式サイトhttps://www.imagemagick.org/download/からシステムにImageMagick6.xxバージョンをインストールし、次のコマンドを使用してインストールします(zip / tarの抽出後)。

./configure
make 
make install

それから

gem install rmagick

それが動作します。


私はsudo ldconfig /usr/local/lib後を走らなければならなかったsudo make install
sequielo

0
        1) install by installer

http://cactuslab.com/imagemagick/

2)rmagickのgemインストールを試してください

wand / MagickWand.hを確認する場合...
タイプなし

mdfind MagickWand.h

のようなものを見つける

/Users/user/ImageMagick-6.8.3/include/ImageMagick-6/wand/MagickWand.h

ターミナルに入力します

C_INCLUDE_PATH=/Users/user/ImageMagick-6.8.3/include/ImageMagick-6/ gem install rmagick

その後、(エラーが発生したため)このエラーが発生した場合、「Package MagickCoreがpkg-config検索パスで見つかりませんでした」。

タイプ

mdfind MagickCore.pc

/opt/ImageMagick/lib/pkgconfig/MagickCore.pcのようなものを見つけます

そして最後にターミナルタイプで:

PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install rmagick

1
このコマンドmdfindはMacOSX専用のコマンドであり、Linuxバリアントには存在しません。
slm

@slmが言ったように、QAに役立つように回答を書き直してください。
ロレンツォフォンマッターホルン

0

Mac OS Xマウンテンライオンの下にredmineをインストールしていました...

rmagickでインストーラーが失敗しました...

多くのトラブルの後、 "homebrew"をインストールすることで機能しましたが、homebrewを介してrmagickをインストールすることはしませんでした。代わりに、homebrewを使用して「pkg-config」をインストールしました。rmagickがそれについて不満を言っていたからです。

コマンド:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
brew doctor
brew install pkg-config
sudo gem install rmagick

その後、redmineは問題なくインストールを続けました。



0

rmagicをインストールする前に、システムにimagicをインストールする必要があります。imagickのインストールはオペレーティングシステムによって異なります。その後、システムで画像処理ライブラリをマージするためにrubyを内部的にサポートするライブラリをインストールする必要があります。これらのライブラリをインストールするには、次のコマンドを使用しますLinuxの場合:sudo apt-get install libmagickwand-dev imagemagick Centosの場合:yum install libmagickwand-dev imagemagick

次のコマンドでgem rmagickをインストールする必要があります:gem install rmagickそれは私のために動作し、rmagickを正常にインストールしました...


0

@ Irongaze.comの回答に最も近い!私のArch Linuxでは、次の2つのシンボリックリンクを作成しました。

$ sudo ln -s /usr/include/ImageMagick-6/wand /usr/include/wand
$ sudo ln -s /usr/include/ImageMagick-6/magick /usr/include/magick

その後、bundle再度実行rmagickされ、インストールが修正されました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.