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"

내 .bashrc 파일에서 MagickCore.pc를 가져 와서 두 개의 심볼릭 링크를 만들었습니다.

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

그리고 voila, MagickWand.h가 발견되었고, MagickCore.pc가 선택되었습니다 ... 보석이 성공적으로 설치되었습니다.

ImageMagick 설치 중에 설정된 구성 옵션을 수정하는 것이 또 다른 해결책이라고 생각하지만 sysadmin으로는 이러한 파일에 적합한 옵션과 위치가 무엇인지 명확하게 알 수 없습니다. 인터넷 검색으로 45 분이 지난 후, 나는이 파일들이 어디에 있어야 하는지 알아낼 수 없었 습니다. gem install make 시스템에 의해 자동으로 선택되었습니다.

건배!

편집 : 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에서 동일한 문제가 발생했으며 솔루션이 저에게 효과적이었습니다. 무리 감사!
Callmeed

굉장히, 이것은 심지어 산 사자의 매력처럼 작동했습니다! rmagick gem을 설치하려면 위의 모든 문장을 실행해야합니다.
Hendra Uzia

이것을 시도하고 "/ usr / local / bin / Magick-config : line 41 : pkg-config : command not found / usr / local / bin / Magick-config : line 47 : pkg-config : command not found / usr / local / bin / Magick-config : line 50 : pkg-config : command not found / usr / local / bin / Magick-config : line 53 : pkg-config : command not found "
Jonny

13

ImageMagick은 일반적으로 MagickCore를 여기에 넣습니다.

/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 확인"이라는 구성 출력에 있습니다. / usr / include에 ImageMagick 디렉토리가 없을 것으로 예상됩니다. 즉, 디렉토리의 내용을 한 단계 위로 이동해야합니다. ImageMagick 자체를 다르게 설치해야합니다. / usr에 직접 물건을 넣는 것은 일반적으로 시스템 자체가 제공하지 않는 것에 대한 나쁜 생각입니다. / usr / local에 추가 한 모든 것을 분리하고 / usr을 크게 내버려두면 시스템이 훨씬 쉬워집니다. 추가 한 내용과 시스템과 함께 제공된 내용을 파악할 수 있기 때문에 관리 할 수도 있습니다.


컴파일러가 특정 디렉토리에서 헤더 파일을 찾도록 강제하는 방법에 대한 질문에 여전히 답하지는 않았지만 좋은 조언이 있습니다.
Ken Li

3
컴파일러 호출은 모두 gem 명령 (컴파일러가 -I 플래그를 사용하여 대체 위치를 보도록 강요하지만이 사용자는 컴파일러를 직접 사용하지 않음)을 통해 발생하며 configure 명령을 사용하여 설정하는 것이 가장 좋습니다. 그 선은 다른 것을 바꿀 필요없이 발생합니다. 사용 가능한 MagickCore.pc 파일이있을 경우 구성을 계속 유지하는 PKG_CONFIG_PATH env 변수를 사용하면 트릭을 수행 할 수 있습니다. "/ usr -name MagickCore.pc"를 찾은 다음 존재하는지 확인한 다음 "setenv PKG_CONFIG_PATH / path / to / where / find / found / it"
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에서 구성을 찾지 못 했으므로 아마도 imagemagick을 의미 할 것입니다. stackoverflow.com/questions/9561386/rmagick-installation 에서 새 질문을 작성했습니다 . 당신이 볼 수 있다면 감사하겠습니다. 감사!
p101


1

폴더에 다른 폴더 이름을 생성하는 ImageMagick 버전 7.xx를 설치 중일 수 있습니다 usr/lib/local/include/ImageMagick7.x.x. 예 :

ImageMagick6.xx 버전에서 우리는 한 magick, wandImageMagick7.xx 버전이 지명 한 폴더, 이름 MagickCore, MagickWand. 따라서이 업데이트는 여기와 같은 일부 보석 설치에서 문제를 일으키고 있습니다. magick/some_header.h또는 사용 하고 있습니다 wand/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) gem 설치 rmagick을 사용해보십시오

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

그 후에이 오류가 발생한 경우 (pkg-config 검색 경로에 Package MagickCore를 찾을 수 없기 때문에)

유형

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에 도움이되도록 답변을 다시 작성해주세요.
Lorenzo Von Matterhorn

0

Mac OS X Mountain Lion에서 Redmine을 설치하고있었습니다 ...

rmagick에서 설치 프로그램이 실패했습니다 ...

많은 문제가 발생한 후 "homebrew"를 설치했지만 homebrew를 통해 rmagick을 설치하지 않았습니다. rmagick이 그것에 대해 불평했기 때문에 대신 homebrew를 통해 "pkg-config"를 설치했습니다.

명령 :

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 설치는 운영 체제에 따라 다릅니다. 그런 다음 시스템에서 이미지 처리 라이브러리를 병합하기 위해 루비를 내부적으로 지원하는 일부 라이브러리를 설치해야합니다. 해당 라이브러리를 설치하려면 Linux의 경우 다음 명령을 사용하십시오. sudo apt-get install libmagickwand-dev imagemagick Centos의 경우 : yum install libmagickwand-dev imagemagick

다음 명령으로 gem rmagick를 설치해야합니다 : gem install rmagick 그것은 저에게 효과적이며 rmagick을 성공적으로 설치했습니다 ...


0

@ Irongaze.com 답변에 가장 가깝습니다! 내 아치 리눅스에서 나는 두 개의 심볼릭 링크를 만들었습니다.

$ 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.