ฉันรวบรวม ImageMagick บน CentOS ของฉันและ 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 ที่ใช้ทุกอย่างล่าสุด (ณ เดือนธันวาคม 2554) และแก้ไขด้วย:

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 แต่ฉันก็ยังไม่พอที่จะดูแลระบบว่าตัวเลือกและตำแหน่งที่เหมาะสมสำหรับไฟล์เหล่านี้จะเป็นอย่างไร หลังจาก 45 นาทีของการวนรอบฉันไม่สามารถคิดได้ว่าไฟล์เหล่านี้ควรอยู่ที่ใดเพื่อรับการติดตั้งโดยอัตโนมัติโดยระบบติดตั้ง gem

ไชโย!

แก้ไข: 2014-10-01

ทำเช่นนี้อีกครั้งสำหรับ CentOS 7 และlnไม่จำเป็นต้องใช้คำสั่งด้านบน อย่างไรก็ตามฉันพบปัญหาที่ฉันได้รับ "Package MagickCore ไม่พบในเส้นทางการค้นหา pkg-config" sudo gem install rmagickในการทำงาน

ปัญหาคือการรีเซ็ตสภาพแวดล้อมใน / etc / sudoers หลังจากทำงานsudo visudoเพื่อแก้ไขไฟล์ sudoers ฉันเพิ่มลงDefaults env_keep += "PKG_CONFIG_PATH"ในส่วนที่เหมาะสมอัปเดตพา ธ ที่ปลอดภัยเพื่อรวม / usr / local / bin แล้วติดตั้งทำงานเหมือนเครื่องราง


ฉันมีปัญหาเดียวกันกับ RedHat 6 และโซลูชันของคุณใช้ได้สำหรับฉัน ขอบคุณมัด!
Callmeed

เยี่ยมมากมันใช้งานได้เหมือนมีเสน่ห์ในสิงโตภูเขา! ฉันต้องเรียกใช้คำสั่งทั้งหมดข้างต้นเพื่อให้ติดตั้ง rmagick gem
Hendra Uzia

ลองสิ่งนี้และได้รับ "/ usr / local / bin / Magick-config: บรรทัดที่ 41: pkg-config: ไม่พบคำสั่ง / usr / local / bin / Magick-config: บรรทัดที่ 47: pkg-config: คำสั่งไม่พบ / usr / local / bin / Magick-config: บรรทัด 50: pkg-config: ไม่พบคำสั่ง / usr / local / bin / Magick-config: บรรทัด 53: pkg-config: ไม่พบคำสั่ง "
Jonny

13

โดยทั่วไป ImageMagick จะใส่ MagickCore ที่นี่:

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

หากคุณไม่ได้อยู่ที่นั่นคุณสามารถค้นหาได้ดังนี้:

find / -name MagickCore.pc

ตอนนี้คุณรู้เส้นทาง pkgconfig ของคุณแล้ว:

/usr/local/lib/pkgconfig

ตั้งค่าสภาพแวดล้อมเมื่อคุณติดตั้งอัญมณี:

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 / มัด
MegaTux

7

สำหรับ CentOS ฉันแก้ไขปัญหานี้ด้วยการติดตั้งแพ็คเกจ "ImageMagick-devel":

yum install ImageMagick-devel


1
นี้เป็นคำตอบที่ดีที่สุด :)
kovpack

2

คีย์อยู่ในเอาต์พุตกำหนดค่าที่มีข้อความว่า "กำลังตรวจหา wand / MagickWand.h" - ชัดเจนว่า ImageMagick ไม่ได้คาดหวังไดเรกทอรีใน / usr / include ซึ่งหมายความว่าคุณต้องการย้ายเนื้อหาของไดเรกทอรีนั้นขึ้นระดับหรือคุณ จำเป็นต้องติดตั้ง ImageMagick ตัวเองแตกต่างกัน การวางสิ่งต่าง ๆ ลงใน / usr โดยตรงนั้นเป็นความคิดที่ไม่ดีสำหรับสิ่งใดก็ตามที่ระบบไม่ได้จัดเตรียมไว้ให้หากคุณแยกทุกสิ่งที่คุณเพิ่มใน / usr / local แทนและปล่อยให้ / usr เป็นส่วนใหญ่เพียงอย่างเดียว เพื่อจัดการเช่นกันเนื่องจากคุณจะสามารถ (นานหลังจากที่คุณลืมเกี่ยวกับเรื่องนี้) หาสิ่งที่คุณเพิ่มและสิ่งที่มาพร้อมกับระบบ


คำแนะนำที่ดีแม้ว่าคุณจะยังไม่ได้ตอบคำถามว่าคุณจะบังคับให้คอมไพเลอร์มองหาไฟล์ส่วนหัวในไดเรคทอรีบางไฟล์ได้อย่างไร
Ken Li

3
การเรียกใช้คอมไพเลอร์เกิดขึ้นผ่านคำสั่ง gem (คุณบังคับให้คอมไพเลอร์มองหาตำแหน่งอื่นด้วยแฟล็ก -I แต่ผู้ใช้นี้ไม่ได้ใช้คอมไพเลอร์โดยตรง) และดีที่สุดในการตั้งค่าต่างๆด้วยคำสั่ง configure เช่น ความดีนั้นเกิดขึ้นโดยไม่ต้องเปลี่ยนแปลงอะไรอีก การใช้ตัวแปร env ของ PKG_CONFIG_PATH ที่กำหนดค่าไว้นั้นอาจทำเสียงกรีดร้องหากมีไฟล์ MagickCore.pc อยู่ "find / usr -name MagickCore.pc" แล้วดูว่ามีอยู่หรือไม่จากนั้นเพิ่ม dir ที่อยู่ใน "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

Hmmmm! ที่ควรได้ผล คำถาม: ถ้าคุณพิมพ์. / config - ช่วยเหลือมันจะแสดงรายการตัวเลือกการกำหนดค่าสำหรับ ImageMagick โดยเฉพาะหรือไม่? ถ้าเป็นเช่นนั้นคุณอาจชี้ไปที่ไดเร็กตอรี่ ImageMagick ใน / usr / local จากสคริปต์การกำหนดค่า
jkh

ขอบคุณ jkh .. ที่น่าสนใจฉันไม่พบการกำหนดค่าใน rmagick ดังนั้นคุณอาจหมายถึง imagemagick ผมได้สร้างคำถามใหม่ที่นี่ stackoverflow.com/questions/9561386/rmagick-installation จะขอบคุณถ้าคุณสามารถดู ขอบคุณ!
p101

1

คุณอาจต้องการติดตั้งแพคเกจการสนับสนุนที่เหมาะสมสำหรับการแจกจ่ายของคุณ: http://rpmfind.net/linux/rpm2html/search.php?query=pkgconfig%28MagickCore%29

มีปัญหาเดียวกันแน่นอนบน CentOS rmagickติดตั้งได้ดีหลังจากyum install ImageMagick-devel


1

อาจเป็นเพราะคุณกำลังติดตั้ง ImageMagick เวอร์ชั่น 7.xx ซึ่งจะสร้างชื่อโฟลเดอร์ต่าง ๆ ในusr/lib/local/include/ImageMagick7.x.xโฟลเดอร์ของคุณ เช่น

ในรุ่น ImageMagick6.xx เราได้magick, wandชื่อโฟลเดอร์ที่ในรุ่น ImageMagick7.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"
         ^

วิธีการแก้

ติดตั้ง ImageMagick6.xx ในระบบของคุณจากเว็บไซต์อย่างเป็นทางการ: https://www.imagemagick.org/download/และติดตั้งโดยใช้คำสั่งนี้ (หลังจากแตกไฟล์ zip / tar):

./configure
make 
make install

จากนั้นทำ

gem install rmagick

มันจะทำงาน.


ฉันต้องวิ่งsudo ldconfig /usr/local/libตามมาsudo make install
ซีเควลโล่

0
        1) install by installer

http://cactuslab.com/imagemagick/

2) ลองติดตั้ง gem rmagick

หากการตรวจสอบไม้กายสิทธิ์ / MagickWand.h ... ไม่มี
ประเภท

mdfind MagickWand.h

ค้นหาบางสิ่งเช่น

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

และพิมพ์ใน terminal

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

และในที่สุดประเภท terminal:

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

1
คำสั่งmdfindนี้เป็นเพียงคำสั่ง MacOSX เท่านั้นไม่มีอยู่ในรุ่น Linux
slm

ตามที่ @slm พูดแล้วโปรดเขียนคำตอบของคุณอีกครั้งเพื่อช่วย QA
Lorenzo Von Matterhorn

0

ฉันกำลังติดตั้ง Redmine ภายใต้สิงโตภูเขา Mac OS X ...

โปรแกรมติดตั้งล้มเหลวใน rmagick ...

หลังจากมีปัญหามากมายมันทำงานได้โดยติดตั้ง "homebrew" แต่ไม่ได้ติดตั้ง rmagick ผ่าน homebrew ฉันติดตั้ง "pkg-config" ผ่าน homebrew แทนเพราะ 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 นั้นแตกต่างกันไปตามระบบปฏิบัติการของคุณจากนั้นคุณต้องติดตั้งไลบรารีบางอย่างที่สนับสนุนทับทิมภายในเพื่อรวมไลบรารีการประมวลผลภาพในระบบของคุณ สำหรับการติดตั้งไลบรารีเหล่านั้นให้ใช้คำสั่งต่อไปนี้สำหรับ 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 ของฉันฉันสร้างลิงก์สัญลักษณ์ทั้งสองนี้:

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