sourcecode

RMagick 설치:Magick Wand를 찾을 수 없습니다.

copyscript 2023. 6. 3. 08:38
반응형

RMagick 설치:Magick Wand를 찾을 수 없습니다.

RMagickImagemagick을 업데이트하는 것은 고통스러운 경험입니다.나는 루비 2.3의 한 프로젝트를 위해 홈브루로 내 맥(맥OS 엘 캐피탄 버전 10.11.5)의 이미지매직 버전을 업데이트했습니다.6.9.5-9

$ convert --version
Version: ImageMagick 6.9.5-9 Q16 x86_64 2016-09-09

이제 Ruby 1.8.7의 이전 프로젝트는 "RMagick 설치는 ImageMagick 6.8.9로 구성되었지만 ImageMagick 6.9.5-9는 사용 중입니다."라는 오류 메시지와 함께 작동을 거부합니다.그래서 "rmagick"을 제거했지만 다시 설치할 수 없습니다.

$ gem install rmagick -v 2.16.0
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
ERROR: Failed to build gem native extension.

checking for /usr/local/opt/gcc46/bin/gcc-4.6... yes
checking for Magick-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... no
checking for sys/types.h... no
checking for wand/MagickWand.h... no

Can't install RMagick 2.16.0. Can't find MagickWand.h. 

설치할 수 없으면 전체 응용 프로그램을 시작할 수 없습니다.여기서 답변을 다 시도해봤는데 MacOS에서 작동하는 답이 하나도 없네요 :-( 홈브루로 imagemagick과 pkg-config를 다시 설치해보고 다양한 버전의 RMagick을 시도해봤지만 성공하지 못했습니다. 2.16.0은 현재 RMagick의 최신 버전입니다.

MagicWand는 ImageMagick 버전 > 6.9에서 사용되는 것으로 보이며 기계에서 찾을 수 있습니다.

find /usr/local -name MagickWand.h
=> /usr/local/Cellar/imagemagick/6.9.5-9_1/include/ImageMagick-6/wand/MagickWand.h

find /usr/local -name MagickWand.pc
=> /usr/local/Cellar/imagemagick/6.9.5-9_1/lib/pkgconfig/MagickCore.pc

gem 설치 중에 이 경로들을 지정해도 작동하지 않습니다(위와 동일한 오류) :-(

C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.9.5-9_1/include/ImageMagick-6 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gem install rmagick

업데이트:

이 오류는 Ruby 1.8.7에서만 발생하며, Ruby 2.0 및 Ruby 2.3용 RMagick을 설치할 수 있습니다.Ruby 1.8.7과 ImageMagick 6.9.5는 호환되지 않는 것 같습니다.

  • 루비 1.8.7 x
  • 루비 2.0.0 »
  • 루비 2.3.1 »

Mac OSX Sierra, High Sierra, El Capitan, Mojave, Catalina, Big Sur 및 Monterey(M1)의 문제를 해결하기 위해 다음을 수행할 수 있습니다.

brew unlink imagemagick
brew install imagemagick@6 && brew link imagemagick@6 --force

imagemagick@6이라keg-only연결을 강제로 해야 합니다.

ImageMagick 7.0.4-4에서도 동일한 문제가 발생했습니다.적절한 해결책은 설치하는 것입니다.imagemagick@6저는 https://github.com/Homebrew/homebrew-core/pull/8756 이 당신이 실수로 삭제한 경우에 유용하다는 것을 알았습니다.imagemagick@6처음부터 설치하지 않았을 수도 있습니다.

macOs 시에라:

brew uninstall imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force

우선 최신 맥 하이 시에라에 제대로 설치되지 않은 설치된 이미지 매직을 사용하여 연결을 해제합니다.

brew unlink imagemagick

그런 다음 아래 명령을 사용하여 최신 이미지 매직6을 설치합니다.

brew install imagemagick@6 && brew link imagemagick@6 --force

그런 다음 아래 명령을 사용하여 Gemmagick을 설치합니다.

gem install rmagick 

그것은 완벽하게 잘 작동할 것입니다.

네, 이것이 제 문제를 해결합니다.

MacOS X 시에라:

brew uninstall imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force

되었습니다: ImageMagick 7과 같은 경로입니다.include/.../wand,그리고.wand/MagickWand.h마법의 보석에 연결되어 있습니다저의 경우 프로젝트가 오래되어 보석을 업데이트할 수 없었습니다.그래서 이전 버전의 ImageMagic을 설치하게 되었습니다.

6.x.x에서 최신 버전을 설치할 수 있습니다.

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb

나중에 사용할 수 있도록 핀으로 고정할 수도 있습니다. brew pin imagemagick

ImageMagick 7.0.4-4로 인해 변경되었습니다. wand/MagickWand.h수 .: 를 참조하십시오.

% brew unlink imagemagick && brew link imagemagick
Unlinking /usr/local/Cellar/imagemagick/7.0.4-4... 71 symlinks removed
Linking /usr/local/Cellar/imagemagick/7.0.4-4... 71 symlinks created
% gem install rmagick
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

    /Users/holger/.rbenv/versions/2.2.2/bin/ruby -r ./siteconf20170116-21103-1aikaka.rb extconf.rb
checking for clang... yes
checking for Magick-config... no
checking for pkg-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... no

Can't install RMagick 2.16.0. Can't find MagickWand.h.

나는 여전히 내 시스템에 ImageMagick 6.9.7-3을 가지고 있었고 다음과 같이 다시 변경했습니다.

% brew switch imagemagick 6.9.7-3
Cleaning /usr/local/Cellar/imagemagick/6.9.6-6
Cleaning /usr/local/Cellar/imagemagick/6.9.7-0
Cleaning /usr/local/Cellar/imagemagick/6.9.7-1
Cleaning /usr/local/Cellar/imagemagick/6.9.7-3
Cleaning /usr/local/Cellar/imagemagick/7.0.4-4
75 links created for /usr/local/Cellar/imagemagick/6.9.7-3

나중에 설치할 수 있습니다.rmagick문제 없이:

% gem install rmagick
Building native extensions.  This could take a while...
Successfully installed rmagick-2.16.0
1 gem installed

RMagick은 오래된 버전의 이미지 Magick 버전 (see below)6에 의존합니다.홈브루는 이것을 맥주병 전용 패키지로 제공하며, 다음과 같이 설치할 수 있습니다.

brew install imagemagick@6

빌드 출력에는 경고 섹션이 포함됩니다(또한 다음 웹 사이트에서 사용 가능).brew info imagemagick@6출력을 지운 경우):

==> Caveats
imagemagick@6 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

If you need to have imagemagick@6 first in your PATH run:
  echo 'export PATH="/usr/local/opt/imagemagick@6/bin:$PATH"' >> ~/.zshrc

For compilers to find imagemagick@6 you may need to set:
  export LDFLAGS="-L/usr/local/opt/imagemagick@6/lib"
  export CPPFLAGS="-I/usr/local/opt/imagemagick@6/include"

For pkg-config to find imagemagick@6 you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/imagemagick@6/lib/pkgconfig"

최신 버전의 이미지 매직을 지원하는 다른 소프트웨어에 문제를 일으킬 수 있는 강제 연결 대신 제안된 기능을 사용할 수 있습니다.export. s는 RMagick Gem을 선택합니다.

export LDFLAGS="-L/usr/local/opt/imagemagick@6/lib"
export CPPFLAGS="-I/usr/local/opt/imagemagick@6/include"
export PKG_CONFIG_PATH="/usr/local/opt/imagemagick@6/lib/pkgconfig"
gem install rmagick

  1. Ruby와 C를 알고 있다면 업그레이드 작업에 도움이 될 수 있습니다!

버전 7이 호환되지 않으므로 이미지매직 버전 6을 설치합니다.

$ brew install imagemagick@6

링크해서는 안 됩니다. 이전 버전을 강제로 적용하면 경로의 바이너리와 양호한 상태가 변경됩니다.brew doctor불평할 것입니다.

Gem의 네이티브 확장을 빌드할 때 설치된 버전 6의 헤더 및 라이브러리를 참조합니다.

$ PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick@6/6.9.10-14/lib/pkgconfig/ gem install rmagick -v '2.16.0'

참고: lib 및 include 폴더를 표시하지 않고 작업했습니다. pkgconfig가 이 작업을 담당하기 때문입니다.

참고: 6.9.10-14는 imagemagick@6의 최신 버전이지만, 다른 버전을 사용해야 할 경우 언제든지 변경할 수 있습니다.

$ brew remove imagemagick && brew install imagemagick

$ brew uninstall pkg-config && brew install pkg-config
$ brew unlink pkg-config && brew link pkg-config

$ gem install rmagick

저는 이것을 다른 답변을 개선하는 코멘트로 남길 수 있는 평판은 아직 없지만, @Evgeni28의 답변은 새로운 시에라 기계에 기본적으로 설치되지 않는 pkg-config를 설치한 후에야 시에라에서 제게 효과가 있었습니다.

그래서:

brew install pkg-config
brew uninstall imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force

성공:

$ gem install rmagick
Building native extensions.  This could take a while...
Successfully installed rmagick-2.16.0
Parsing documentation for rmagick-2.16.0
Installing ri documentation for rmagick-2.16.0
Done installing documentation for rmagick after 4 seconds
1 gem installed

아래에 따라 필요에 따라 일부 부품을 변경하십시오.

brew unlink imagemagick
brew install imagemagick@6 && brew link imagemagick@6 --force
export PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick@6/6.9.9-24/lib/pkgconfig
gem install rmagick -v '2.15.4'

7.0.7-1에서는 심볼릭 링크를 만들 수 있지만 나중에 컴파일이 실패합니다.

cd /usr/local/Cellar/imagemagick/7.0.7-1/include/ImageMagick-7
ln -s MagickWand/ wand
ln -s MagickCore/ magick

홈브루로 macOS High Sierra 10.13.3에서 (많은 시도와 실패 후) 해결한 방법은 다음과 같습니다.

  1. RMagick 2.16.0은 ImageMagick의 최신 버전(버전 7)과 호환되지 않는 것 같습니다. http://wordsandmagic.com/2017/09/01/RMagick-2-16-0-Error-MagickWand
  2. 이매제거습니다했직을지미stalled▁imagemag▁unin 을 제거했습니다.brew uninstall imagemagick
  3. 그런 다음 저는 다음 공식을 사용하여 Imagemagick을 설치했습니다. https://gist.github.com/JagdeepSingh/4b03cbeab16cc0bc729bbc6d275402d3
  4. gem install rmagick

이전 버전의 ImageMagick을 이미 설치한 경우 https://stackoverflow.com/a/41674363 에서 작동합니다.

연결하거나 연결 해제할 필요가 없습니다. Brew 설치 스크립트의 지침에 따라 다음과 같은 작업을 수행하면 다음과 같습니다.

brew install imagemagick@6
LDFLAGS="-L/usr/local/opt/imagemagick@6/lib" CPPFLAGS="-I/usr/local/opt/imagemagick@6/include" PKG_CONFIG_PATH="/usr/local/opt/imagemagick@6/lib/pkgconfig" gem install rmagick

클라이언트를 위해 레거시 Ruby on Rails 애플리케이션(Ruby 2.1.x / Rails 3.2.x)을 작업 중이며 MacOS Big Sur에서 실행해야 했습니다.

rmagick이 실패하고 다음 출력이 발생한 후:

    /Users/robbyrussell/.rbenv/versions/2.1.0/bin/ruby extconf.rb
checking for clang... yes
checking for Magick-config... no
checking for pkg-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... no

Can't install RMagick 2.16.0. 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=/Users/robbyrussell/.rbenv/versions/2.1.0/bin/ruby

extconf failed, exit code 1

Gem files will remain installed in /Users/robbyrussell/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/rmagick-2.16.0 for inspection.
Results logged to /Users/robbyrussell/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-20/2.1.0-static/rmagick-2.16.0/gem_make.out

이 문제를 해결하기 위한 제 다음 단계는 번들러에게 몇 가지 플래그를 컴파일러에 전달하도록 지시하는 것이었습니다.

bundle config build.rmagick -- --with-cflags=-Wno-implicit-function-declaration

홈브루를 통해 다음을 실행했습니다.

% brew install imagemagick@6

그런 다음 출력되는 지침에 따라 실행했습니다.

% export PKG_CONFIG_PATH="/usr/local/opt/imagemagick@6/lib/pkgconfig"

% bundle install
.....
Fetching rmagick 2.16.0
Installing rmagick 2.16.0 with native extensions

Voila, 이제 이 응용 프로그램을 로컬에서 실행할 수 있습니다.

알파인 3.9 이미지 빌드에서도 동일한 오류가 발생했습니다.ImageMagick 7.0.8.38-r0과 함께 제공됩니다.

ImageMagick 6.9.6.8-r1과 함께 Alpine 3.5를 사용하는 문제를 해결하려면 다음을 수행합니다.

FROM alpine:3.5

또는 3.5용 패키지 저장소와 함께 ImageMagick 6.9.6.8-r1을 설치합니다.

RUN apk add imagemagick-dev=6.9.6.8-r1 --repository http://dl-3.alpinelinux.org/alpine/v3.5/main/

ImageMagick 7.0.x.용 빌드 실패와 관련하여 Rmagick repo에 미해결 문제가 있으므로 곧 해결되기를 바랍니다.

시스템에 심각한 문제가 발생하여 완전히 업데이트되었지만 설치 후 Ruby 1.8.7용 RMagick을 다시 설치할 수 있었습니다.

RVM을 하기 는전새 Ruby 버치rvm install 1.8.7또한 새로운 GCC 컴파일러를 설치했습니다: 이전 버전 4.6을 제거하고 GCC 버전 4.9를 설치했습니다.분명히 GCC는 pkg-config에도 불구하고 올바른 헤더를 찾을 수 없었습니다.

먼저 아래와 같이 6.x가 설치되어 있으면 이미지 매직을 제거할 필요가 없습니다.은 "메인"입니다.7.0.7-8그렇지만6.9.1-10여전히 거기에 있습니다.

$ brew info imagemagick                                                            
imagemagick: stable 7.0.7-8 (bottled), HEAD
Tools and libraries to manipulate images in many formats
https://www.imagemagick.org/
/usr/local/Cellar/imagemagick/6.9.1-10 (1,450 files, 17.5MB)
  Poured from bottle on 2015-07-26 at 09:10:58
/usr/local/Cellar/imagemagick/7.0.6-9 (1,522 files, 22.8MB)
  Poured from bottle on 2017-08-21 at 14:44:16
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula

이전 6.x 버전이 없으면 imagemagick@6을 설치합니다.

둘째, 링크 이미지 매직을 강제로 사용하지 마십시오. 특히 6. 편집: » 참조
.--with-opt-* 에도 PKG_CONFIG_PATH를 .

이것은 Ruby 1.9.3-p551에서 위에서 언급한 양조 설정과 함께 High Sierra에서 작동합니다.

PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.9.1-10/lib/pkgconfig  \
  gem install rmagick -v '2.16.0' -- \
  --with-opt-lib=/usr/local/Cellar/imagemagick/6.9.1-10/lib/ \
  --with-opt-include=/usr/local/Cellar/imagemagick/6.9.1-10/include/ImageMagick-6/

문서 작성은 실패하지만 중요하지는 않습니다.

例:빌드는 작동합니다, 하지만 RMagick이 검색하는 dyllib 경로는 틀렸습니다.문제 #278을 제기하여 이 문제를 해결할 수 있는지 확인합니다.그렇지 않으면 libMagickWand 등의 수동 심볼릭 링크가 필요합니다.특정 라이브러리를 수동으로 연결하는 것이 더 안전할 수 있습니다.brew link --force그래도.

센토스의 ImageMagick 설치 과정을 자세히 설명합니다.

어쨌든...
Imagek & ImageMagick-devel & ImageMagick PHP 파일:

# yum install ImageMagick
# yum install ImageMagick-devel
# pecl install Imagick

/usr/https로 이동

cd /usr/include

중요: ImageMagick 폴더를 "/usr/include"에서 "/usr/local/include"로 복사합니다.h"

저는 이 변화를 imagick-3.4.3(ImageMagick-7)과 centos 6.5 및 php56에서 테스트했고 완벽하게 작동합니다...

이미 "ImageMagick"을 여러 번 설치한 경우 먼저 모든 폴더를 제거하고 "ImageMagick" 및 "imagick" 폴더를 찾은 후 모든 폴더를 정리한 후 이 변경 사항으로 설치 프로세스를 계속합니다.

다음 명령을 사용하여 파일 또는 폴더를 찾습니다.

find / -name 'ImageMagick*'
find / -name 'imagick*'

합니다.
아래 행을 잊지 마십시오. "disable_close"는 "disable_close"와 "disable_open,poen_close"는 "disable_open,poen_close"입니다. 이미지에 이러한 기능이 필요하므로 설치가 완료된 후 "discovery.ini" 파일의 "discovery_discovery"에 이 기능을 추가할 수 있습니다.

# phpize
# ./configure --with-php-config=/usr/local/php56/bin/php-config 
...

행운을 빌어요...

우분투 버전 > 12이고 홈브루를 사용하지 않는 경우,

wget http://www.imagemagick.org/download/<required_imagemagick_version>
tar -xvf <path_to_your_downloaded_file>.tar.gz

wget 링크에서 'tar.gz' 파일 대신 '7z' 파일을 받는 경우,

7z x <path_to_your_downloaded_file>.7z
cd <path_to_your_downloaded_file>/
make
./configure
sudo make install
sudo ldconfig /usr/local/lib

그러면 RMagick에 대한 번들러를 다시 시작할 수 있습니다.

언급URL : https://stackoverflow.com/questions/39494672/rmagick-installation-cant-find-magickwand-h

반응형