मैंने अपने 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

नवीनतम (सब कुछ 2011 के अनुसार) उपयोग करते हुए CentOS पर भी यही समस्या थी, और इसके साथ इसे ठीक किया:

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

MagbCore.pc को लेने के लिए मेरी .bashrc फ़ाइल में, फिर दो सिमिलिंक बनाए:

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

और आवाज, MagickWand.h पाया गया था, MagickCore.pc उठाया गया था ... मणि सफलतापूर्वक स्थापित किया गया था।

मुझे लगता है कि ImageMagick स्थापना के दौरान सेट किए गए कॉन्फ़िगर विकल्पों को संशोधित करने के लिए एक और समाधान होगा, लेकिन मैं स्पष्ट करने के लिए पर्याप्त नहीं हूं कि इन फ़ाइलों के लिए सही विकल्प और स्थान क्या होगा। 45 मिनट के आसपास घूमने के बाद, मैं समझ नहीं पाया कि ये फाइलें कहां हैं चाहिए लाइव करने के लिए, स्वचालित रूप से मणि कर प्रणाली स्थापित द्वारा उठाया जा सकता है।

चीयर्स!

EDIT: 2014-10-01

बस फिर से CentOS 7 के लिए, और lnऊपर दिए गए आदेशों की आवश्यकता नहीं थी। हालाँकि, मैं एक समस्या में भाग गया, जहाँ मुझे "पैकेज मैजिककोर को pkg-config खोज पथ में नहीं मिला।" चल रहा हैsudo gem install rmagick

समस्या पर्यावरण रीसेट में / etc / sudoers थी। sudo visudoसुडोजर्स फ़ाइल को संपादित करने के लिए चलने के बाद , मैंने Defaults env_keep += "PKG_CONFIG_PATH"उपयुक्त अनुभाग में जोड़ा , सुरक्षित पथ को अपडेट करने के लिए / usr / लोकल / बिन को अपडेट किया, और फिर स्थापित करना एक आकर्षण की तरह काम किया।


मैं RedHat 6 पर एक ही मुद्दा रहा था और आपके समाधान ने मेरे लिए काम किया। बहुत बहुत धन्यवाद!
कॉलमीड

बहुत बढ़िया, यह पहाड़ के शेर में भी एक आकर्षण की तरह काम करता है! मैं rmagick मणि स्थापित करने के लिए ऊपर दिए गए सभी कथन को चलाने की आवश्यकता है।
हेंद्रा उज़िया

इसे आज़माया और "/ usr / local / bin / Magick-config: line 41: pkg-config: कमांड नहीं मिला / usr / लोकल / बिन / Magick-config: पंक्ति 47: pkg-config: कमांड नहीं मिला / usb / स्थानीय / बिन / मैजिक-कॉन्फ़िगरेशन: लाइन 50: pkg-config: कमांड नहीं मिला / usr / स्थानीय / बिन / Magick-config: पंक्ति 53: pkg-config: कमांड नहीं मिला "
जॉनी

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

धन्यवाद! यहाँ भी इसी तरह काम किया गया: / usr / -name MagickCore.pc PKG_CONFIG_PATH = / usr / lib / x86_64-linux-gnu / pkgconfig / बंडल
मेगाबक्स

7

CentOS के लिए, मैंने "ImageMagick-devel" पैकेज स्थापित करके इस समस्या को हल किया:

yum install ImageMagick-devel


1
यह सबसे अच्छा जवाब है :)
kovpack

2

कुंजी कॉन्फ़िगर आउटपुट में है जहाँ यह कहता है "wand / MagickWand.h के लिए जाँच" - स्पष्ट रूप से ImageMagick निर्देशिका में / usr / शामिल होने की उम्मीद नहीं है, जिसका अर्थ है कि आपको उस निर्देशिका की सामग्री को एक स्तर या ऊपर ले जाने की आवश्यकता है ImageMagick को अलग से स्थापित करने की आवश्यकता है। सामान सीधे तौर पर / usr में डालना सामान्‍यत: प्रणाली द्वारा प्रदान की गई किसी भी चीज के लिए एक बुरा विचार है - यदि आप उन सभी चीजों को अलग कर लेते हैं जो आप / usr / लोकल में जोड़ते हैं और बड़े पैमाने पर अकेले छोड़ देते हैं, तो आप सिस्टम को बहुत आसान पाएंगे। व्यवस्थापन के बाद से आप (इस बारे में भूल जाने के बाद लंबे समय तक) आपको यह पता चलेगा कि आपने सिस्टम के साथ क्या जोड़ा है।


अच्छी सलाह, हालांकि आपने अभी भी इस सवाल का जवाब नहीं दिया है कि आप हेडर फ़ाइल के लिए कुछ निर्देशिकाओं में संकलक को कैसे मजबूर कर सकते हैं।
केन ली

3
ठीक है, कंपाइलर इनवॉयस सब रत्न कमांड के माध्यम से हो रहा है (आप कंपाइलर को -I फ्लैग के साथ वैकल्पिक स्थानों में देखने के लिए मजबूर करते हैं, लेकिन यह उपयोगकर्ता सीधे कंपाइलर का उपयोग नहीं कर रहा है) और कॉन्फ़िगर कमांड के साथ चीजों को सेट करने के लिए इसका सबसे अच्छा है। यह अच्छाई बिना किसी और चीज को बदलने के लिए होती है। PKG_CONFIG_PATH env वैरिएबल का उपयोग करना, जो कॉन्फ़िगर करता है कि यदि MagickCore.pc फाइल उपलब्ध है तो ट्रिक कर सकता है। "find / usr -name MagickCore.pc" और फिर देखें कि क्या यह मौजूद है, तो इसे dir के साथ जोड़ें "setenv PKG_CONFIG_PATH / पथ / जहां / जहां / मिल जाए / मिल गया
jkh

मैंने PKG_CONFIG_PATH को /Dir/to/where/found/MagickCore.pc पर अपडेट किया और अभी भी "RMagick 2.13.1 स्थापित नहीं कर सकता। MagickWand.gov" नहीं ढूँढ सकता। कोई सुझाव क्यों इसे उठाया नहीं जा सकता है। और क्या मैं कोशिश कर सकते हैं .. यकीन नहीं कैसे -l विकल्प का उपयोग करने के लिए?
p101

Hmmmm! जो काम करना चाहिए था। प्रश्न: यदि आप टाइप करते हैं ।/configure --help, क्या यह विशेष रूप से ImageMagick के लिए किसी भी कॉन्फ़िगर विकल्प को सूचीबद्ध करता है? यदि ऐसा है, तो आप सीधे कॉन्फ़िगर स्क्रिप्ट से ImageMagick निर्देशिका / usr / स्थानीय में इंगित करने में सक्षम हो सकते हैं।
जाख

Thnx jkh .. दिलचस्प बात यह है कि मैंने rmagick में कॉन्फ़िगर नहीं किया है, इसलिए शायद आपका मतलब इमेजमैगिक है। मैंने यहां एक नया प्रश्न बनाया है stackoverflow.com/questions/9561386/rmagick-installation । सराहना करेंगे यदि आप एक बार देख सकते हैं। धन्यवाद!
p101


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/ और इस कमांड का उपयोग करके इसे स्थापित करें (ज़िप / टार निकालने के बाद):

./configure
make 
make install

फिर करो

gem install rmagick

यह काम करेगा।


मुझे sudo ldconfig /usr/local/libsudo make install
अनुक्रम

0
        1) install by installer

http://cactuslab.com/imagemagick/

2) कोशिश रत्न स्थापित rmagick

अगर छड़ी / 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

यदि, उसके बाद आपको यह त्रुटि है (क्योंकि यह था) "पैकेज MagickCore को pkg-config-path पथ में नहीं मिला।"

प्रकार

mdfind MagickCore.pc

कुछ चीज़ों को ढूंढें जैसे /opt/ImageMagick/lib/pkgconfig/MagickCore.pc

और अंत में टर्मिनल प्रकार में:

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

1
कमांड mdfindएक MacOSX केवल कमांड है, यह लिनक्स वेरिएंट पर मौजूद नहीं है।
SLM

जैसा कि @ एसएलएम ने कहा, कृपया अपना उत्तर फिर से लिखें ताकि यह क्यूए की मदद करे।
लोरेंजो वॉन मैटरहॉर्न 12

0

मैं मैक ओएस एक्स माउंटेन शेर के तहत रेडमीन लगा रहा था ...

इंस्टॉलर rmagick पर विफल ...

बहुत सारी परेशानियों के बाद, इसने "होमब्रे" स्थापित करके काम किया, लेकिन होमब्रे के माध्यम से रागागिक को स्थापित नहीं किया। इसके बजाय मैंने होमब्रे के माध्यम से "pkg-config" स्थापित किया, क्योंकि rmagick उस बारे में शिकायत कर रहा था।

आदेश:

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

फिर कोई समस्या नहीं होने से रेडमीन स्थापित हो गया।



0

R कार्यकर्ताओं को स्थापित करने से पहले आपको अपने सिस्टम पर काल्पनिक स्थापित करना चाहिए, इमेजिक की स्थापना आपके ऑपरेटिंग सिस्टम के अनुसार बदलती है, फिर आपको कुछ लाइब्रेरी स्थापित करनी होगी जो आपके सिस्टम पर इमेज प्रोसेसिंग लाइब्रेरी को मर्ज करने के लिए आंतरिक रूप से रूबी का समर्थन करती हैं। उन पुस्तकालयों को स्थापित करने के लिए निम्नलिखित कमांड का उपयोग करें। Linux के लिए: sudo apt-get install libmagickwand-dev imagemagick Cent Cent के लिए: yum libmagickwand-dev imagemagick स्थापित करें

फिर आपको निम्नलिखित आदेश के साथ मणि रागिक को स्थापित करना होगा: मणि स्थापित रागिक यह मेरे लिए काम करता है और मैंने रम्मिक को सफलतापूर्वक स्थापित किया है ...


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स्थापित सही किया गया था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.