невозможно установить модуль cpan Image :: Magick

Этот вопрос до сих пор не решен (прокрутите вниз до «РЕДАКТИРОВАТЬ 5», чтобы увидеть реальное состояние)

Я пытаюсь установить Image :: Magick на мой безголовый сервер Ubuntu Ubuntu 14.04.2 LTS

# cpan install Image::Magick
Reading '/root/.cpan/Metadata'
  Database was generated on Thu, 21 May 2015 22:17:02 GMT
Running install for module 'Image::Magick'
Checksum for /root/.cpan/sources/authors/id/J/JC/JCRISTY/PerlMagick-6.89-1.tar.gz ok
Configuring J/JC/JCRISTY/PerlMagick-6.89-1.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Warning (mostly harmless): No library found for -lMagickCore-6.Q16
Generating a Unix-style Makefile
Writing Makefile for Image::Magick
Writing MYMETA.yml and MYMETA.json
  JCRISTY/PerlMagick-6.89-1.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for J/JC/JCRISTY/PerlMagick-6.89-1.tar.gz
cp Magick.pm blib/lib/Image/Magick.pm
AutoSplitting blib/lib/Image/Magick.pm (blib/lib/auto/Image/Magick)
Running Mkbootstrap for Image::Magick ()
chmod 644 "Magick.bs"
"/usr/bin/perl" "/usr/local/share/perl/5.18.2/ExtUtils/xsubpp"  -typemap "/usr/share/perl/5.18/ExtUtils/typemap" -typemap "typemap"  Magick.xs > Magick.xsc && mv Magick.xsc Magick.c
cc -c  -I/usr/local/include/ImageMagick-6 -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/libxml2 -I"/usr/include/ImageMagick-6" -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/freetype2 -g -O2 -Wall -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -O2 -g   -DVERSION=\"6.89\" -DXS_VERSION=\"6.89\" -fPIC "-I/usr/lib/perl/5.18/CORE"  -D_LARGE_FILES=1 -DHAVE_CONFIG_H Magick.c
Magick.xs:60:31: fatal error: magick/MagickCore.h: Datei oder Verzeichnis nicht gefunden
 #include <magick/MagickCore.h>
                               ^
compilation terminated.
make: *** [Magick.o] Fehler 1
  JCRISTY/PerlMagick-6.89-1.tar.gz
  make -- NOT OK

Очевидно, что скрипт установки пытается включить заголовочный файл magick / MagickCore.h, но не может его найти.

Когда я ищу в поисковых системах magick / MagickCore.h, я нахожу множество публикаций, в которых некоторые люди имеют ту же проблему и просят ее, но вместо решения я нашел только много ответов, говорящих: «У меня такая же проблема» «- нет решения.

У кого-нибудь из вас есть решение, которое работает на сервере Ubuntu 14.04.2?

Редактировать 1:
Я уже установил пакет ImageMagic:

# apt-get install imagemagick

Но я все еще получаю сообщение об ошибке выше.

Редактировать 2:
Следуя совету одного из ответов, я также попытался

# apt-get install php5-imagick

, а затем

# cpan install Image::Magick  

И Я все еще получаю ту же ошибку (скрипт не может найти magick / MagickCore.h)

Редактировать 3:
Я последовал другому совету и искал magick/MagickCore.h. ответ был:

libmagickcore-dev: /usr/include/ImageMagick/magick/MagickCore.h

Итак, я установил libmagickcore-dev (я ожидал sudo -i раньше):

apt-get install libmagickcore-dev

Эта установка прошла успешно, ранее отсутствующий файл заголовка теперь в файловой системе:

# find / -name MagickCore.h
/usr/include/ImageMagick/magick/MagickCore.h

Так что я снова попытался

cpan install Image::Magick

Но я все еще получаю эту ошибку:

Magick.xs:60:31: fatal error: magick/MagickCore.h: Datei oder Verzeichnis nicht gefunden
 #include <magick/MagickCore.h>
                               ^
compilation terminated.

Datei oder Verzeichnis nicht gefunden «это немецкий, мой родной язык и означает» нет такого файла или каталога «)

Редактировать 4:
Кто-то сказал мне, что компилятор ищет magick/MagickCore.h не в /usr/include/ImageMagick/, а в /usr/include/ImageMagick-6/. Поэтому я создал символическую ссылку:

sudo ln -s /usr/include/ImageMagick /usr/include/ImageMagick-6

и попытался снова установить модуль:

# cpan install Image::Magick
...
chmod 644 "Magick.bs"
"/usr/bin/perl" "/usr/local/share/perl/5.18.2/ExtUtils/xsubpp"  -typemap "/usr/share/perl/5.18/ExtUtils/typemap" -typemap "typemap"  Magick.xs > Magick.xsc && mv Magick.xsc Magick.c
cc -c  -I/usr/local/include/ImageMagick-6 -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/libxml2 -I"/usr/include/ImageMagick-6" -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/freetype2 -g -O2 -Wall -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -O2 -g   -DVERSION=\"6.89\" -DXS_VERSION=\"6.89\" -fPIC "-I/usr/lib/perl/5.18/CORE"  -D_LARGE_FILES=1 -DHAVE_CONFIG_H Magick.c
Magick.xs:545:33: error: ‘MagickPixelIntensityOptions’ undeclared here (not in a function)
     { "Grayscale", { {"method", MagickPixelIntensityOptions} } },
                                 ^
Magick.xs: In function ‘XS_Image__Magick_ComplexImages’:
Magick.xs:3475:5: error: unknown type name ‘ComplexOperator’
     ComplexOperator
     ^
Magick.xs:3510:8: error: ‘UndefinedComplexOperator’ undeclared (first use in this function)
     op=UndefinedComplexOperator;
        ^
...
Magick.xs:10939:16: warning: assignment makes pointer from integer without a cast [enabled by default]
           image=MeanShiftImage(image,(size_t) geometry_info.rho,(size_t)
                ^
make: *** [Magick.o] Fehler 1
  JCRISTY/PerlMagick-6.89-1.tar.gz
  make -- NOT OK

Итак, скрипт действительно нашел magick/MagickCore.h, но теперь выдает множество других ошибок .


РЕДАКТИРОВАТЬ 5 (2015-09-17)

У меня есть подсказка для установки

apt-get install perlmagick

Но сказано, что установлена ​​самая новая версия. Но я все равно попытался установить Image :: Magick. Это все еще не работает:

# cpan install Image::Magick
Reading '/root/.cpan/Metadata'
  Database was generated on Mon, 31 Aug 2015 22:41:03 GMT
Fetching with LWP:
http://ftp.u-tx.net/CPAN/authors/01mailrc.txt.gz
Reading '/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://ftp.u-tx.net/CPAN/modules/02packages.details.txt.gz
Reading '/root/.cpan/sources/modules/02packages.details.txt.gz'
  Database was generated on Wed, 16 Sep 2015 22:41:02 GMT
............................................................................DONE
Fetching with LWP:
http://ftp.u-tx.net/CPAN/modules/03modlist.data.gz
Reading '/root/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /root/.cpan/Metadata
Running install for module 'Image::Magick'
Checksum for /root/.cpan/sources/authors/id/J/JC/JCRISTY/PerlMagick-6.89-1.tar.gz ok
tmp-18091 for tmp-18091: Datei oder Verzeichnis nicht gefunden at /usr/share/perl/5.18/CPAN/Distribution.pm line 468.
Configuring J/JC/JCRISTY/PerlMagick-6.89-1.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Warning (mostly harmless): No library found for -lMagickCore-6.Q16
Generating a Unix-style Makefile
Writing Makefile for Image::Magick
Writing MYMETA.yml and MYMETA.json
  JCRISTY/PerlMagick-6.89-1.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for J/JC/JCRISTY/PerlMagick-6.89-1.tar.gz
cp Magick.pm blib/lib/Image/Magick.pm
AutoSplitting blib/lib/Image/Magick.pm (blib/lib/auto/Image/Magick)
Running Mkbootstrap for Image::Magick ()
chmod 644 "Magick.bs"
"/usr/bin/perl" "/usr/local/share/perl/5.18.2/ExtUtils/xsubpp"  -typemap "/usr/share/perl/5.18/ExtUtils/typemap" -typemap "typemap"  Magick.xs > Magick.xsc && mv Magick.xsc Magick.c
cc -c  -I/usr/local/include/ImageMagick-6 -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/libxml2 -I"/usr/include/ImageMagick-6" -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/freetype2 -g -O2 -Wall -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -O2 -g   -DVERSION=\"6.89\" -DXS_VERSION=\"6.89\" -fPIC "-I/usr/lib/perl/5.18/CORE"  -D_LARGE_FILES=1 -DHAVE_CONFIG_H Magick.c
Magick.xs:545:33: error: ‘MagickPixelIntensityOptions’ undeclared here (not in a function)
     { "Grayscale", { {"method", MagickPixelIntensityOptions} } },
                                 ^
Magick.xs: In function ‘XS_Image__Magick_ComplexImages’:
Magick.xs:3475:5: error: unknown type name ‘ComplexOperator’
     ComplexOperator
     ^
Magick.xs:3510:8: error: ‘UndefinedComplexOperator’ undeclared (first use in this function)
     op=UndefinedComplexOperator;
        ^
Magick.xs:3510:8: note: each undeclared identifier is reported only once for each function it appears in
Magick.xs:3510:7: warning: assignment makes integer from pointer without a cast [enabled by default]
     op=UndefinedComplexOperator;
       ^
Magick.xs:3516:31: error: ‘MagickComplexOptions’ undeclared (first use in this function)
         in=ParseCommandOption(MagickComplexOptions,MagickFalse,(char *)
                               ^
Magick.xs:3517:11: error: incompatible type for argument 1 of ‘ParseCommandOption’
           SvPV(ST(1),na));
           ^
In file included from /usr/include/ImageMagick-6/magick/MagickCore.h:115:0,
                 from Magick.xs:60:
/usr/include/ImageMagick-6/magick/option.h:166:3: note: expected ‘CommandOption’ but argument is of type ‘struct Methods *’
   ParseCommandOption(const CommandOption,const MagickBooleanType,const char *);
   ^
Magick.xs:3516:11: warning: assignment makes integer from pointer without a cast [enabled by default]
         in=ParseCommandOption(MagickComplexOptions,MagickFalse,(char *)
           ^
Magick.xs:3524:13: error: ‘ComplexOperator’ undeclared (first use in this function)
         op=(ComplexOperator) in;
             ^
Magick.xs:3524:11: warning: assignment makes integer from pointer without a cast [enabled by default]
         op=(ComplexOperator) in;
           ^
Magick.xs:3524:30: error: expected ‘;’ before ‘in’
         op=(ComplexOperator) in;
                              ^
Magick.xs:3541:19: error: incompatible type for argument 1 of ‘ParseCommandOption’
                   MagickComplexOptions,MagickFalse,SvPV(ST(i),na));
                   ^
In file included from /usr/include/ImageMagick-6/magick/MagickCore.h:115:0,
                 from Magick.xs:60:
/usr/include/ImageMagick-6/magick/option.h:166:3: note: expected ‘CommandOption’ but argument is of type ‘struct Methods *’
   ParseCommandOption(const CommandOption,const MagickBooleanType,const char *);
   ^
Magick.xs:3540:48: warning: pointer/integer type mismatch in conditional expression [enabled by default]
                 in=!SvPOK(ST(i)) ? SvIV(ST(i)) : ParseCommandOption(
                                                ^
Magick.xs:3540:19: warning: assignment makes integer from pointer without a cast [enabled by default]
                 in=!SvPOK(ST(i)) ? SvIV(ST(i)) : ParseCommandOption(
                   ^
Magick.xs:3548:19: warning: assignment makes integer from pointer without a cast [enabled by default]
                 op=(ComplexOperator) in;
                   ^
Magick.xs:3548:38: error: expected ‘;’ before ‘in’
                 op=(ComplexOperator) in;
                                      ^
Magick.xs:3563:5: warning: implicit declaration of function ‘ComplexImages’ [-Wimplicit-function-declaration]
     image=ComplexImages(image,op,exception);
     ^
Magick.xs:3563:10: warning: assignment makes pointer from integer without a cast [enabled by default]
     image=ComplexImages(image,op,exception);
          ^
Magick.xs: In function ‘XS_Image__Magick_Mogrify’:
Magick.xs:9175:11: warning: implicit declaration of function ‘SolarizeImageChannel’ [-Wimplicit-function-declaration]
           (void) SolarizeImageChannel(image,channel,geometry_info.rho,
           ^
Magick.xs:9824:11: warning: implicit declaration of function ‘RotationalBlurImageChannel’ [-Wimplicit-function-declaration]
           image=RotationalBlurImageChannel(image,channel,geometry_info.rho,
           ^
Magick.xs:9824:16: warning: assignment makes pointer from integer without a cast [enabled by default]
           image=RotationalBlurImageChannel(image,channel,geometry_info.rho,
                ^
Magick.xs:10112:11: warning: implicit declaration of function ‘AutoOrientImage’ [-Wimplicit-function-declaration]
           image=AutoOrientImage(image,image->orientation,exception);
           ^
Magick.xs:10112:16: warning: assignment makes pointer from integer without a cast [enabled by default]
           image=AutoOrientImage(image,image->orientation,exception);
                ^
Magick.xs:10824:11: warning: implicit declaration of function ‘PerceptibleImageChannel’ [-Wimplicit-function-declaration]
           (void) PerceptibleImageChannel(image,channel,epsilon);
           ^
Magick.xs:10853:11: warning: implicit declaration of function ‘PolynomialImageChannel’ [-Wimplicit-function-declaration]
           image=PolynomialImageChannel(image,channel,number_terms >> 1,terms,
           ^
Magick.xs:10853:16: warning: assignment makes pointer from integer without a cast [enabled by default]
           image=PolynomialImageChannel(image,channel,number_terms >> 1,terms,
                ^
Magick.xs:10860:11: error: unknown type name ‘PixelIntensityMethod’
           PixelIntensityMethod
           ^
Magick.xs:10863:18: error: ‘UndefinedPixelIntensityMethod’ undeclared (first use in this function)
           method=UndefinedPixelIntensityMethod;
                  ^
Magick.xs:10863:17: warning: assignment makes integer from pointer without a cast [enabled by default]
           method=UndefinedPixelIntensityMethod;
                 ^
Magick.xs:10865:21: error: ‘PixelIntensityMethod’ undeclared (first use in this function)
             method=(PixelIntensityMethod) argument_list[0].integer_reference;
                     ^
Magick.xs:10865:19: warning: assignment makes integer from pointer without a cast [enabled by default]
             method=(PixelIntensityMethod) argument_list[0].integer_reference;
                   ^
Magick.xs:10865:43: error: expected ‘;’ before ‘argument_list’
             method=(PixelIntensityMethod) argument_list[0].integer_reference;
                                           ^
Magick.xs:10866:11: warning: implicit declaration of function ‘GrayscaleImage’ [-Wimplicit-function-declaration]
           (void) GrayscaleImage(image,method);
           ^
Magick.xs:10895:11: warning: implicit declaration of function ‘CannyEdgeImage’ [-Wimplicit-function-declaration]
           image=CannyEdgeImage(image,geometry_info.rho,geometry_info.sigma,
           ^
Magick.xs:10895:16: warning: assignment makes pointer from integer without a cast [enabled by default]
           image=CannyEdgeImage(image,geometry_info.rho,geometry_info.sigma,
                ^
Magick.xs:10916:11: warning: implicit declaration of function ‘HoughLineImage’ [-Wimplicit-function-declaration]
           image=HoughLineImage(image,(size_t) geometry_info.rho,(size_t)
           ^
Magick.xs:10916:16: warning: assignment makes pointer from integer without a cast [enabled by default]
           image=HoughLineImage(image,(size_t) geometry_info.rho,(size_t)
                ^
Magick.xs:10939:11: warning: implicit declaration of function ‘MeanShiftImage’ [-Wimplicit-function-declaration]
           image=MeanShiftImage(image,(size_t) geometry_info.rho,(size_t)
           ^
Magick.xs:10939:16: warning: assignment makes pointer from integer without a cast [enabled by default]
           image=MeanShiftImage(image,(size_t) geometry_info.rho,(size_t)
                ^
make: *** [Magick.o] Fehler 1
  JCRISTY/PerlMagick-6.89-1.tar.gz
  make -- NOT OK

Это первая сообщенная ошибка:

tmp-18091 для tmp-18091: Datei oder Verzeichnis nicht gefunden в / usr / share /perl/5.18/CPAN/Distribution.pm строка 468.

, что, вероятно, на английском языке:

tmp-18091 для tmp-18091: такого файла или каталога в /usr/share/perl/5.18/CPAN/Distribution.pm нет 468.

2
задан 17 September 2015 в 13:31

5 ответов

Установите пакет php5-imagick и попытайтесь установить через CPAN снова.

0
ответ дан 17 September 2015 в 13:31

Мое конечное решение, устанавливающее волшебство Изображения, было:

(После попытки всех Ваших шагов)

текущая версия Загрузки ImageMagick от источник

6.9.2 в моем случае:

После загрузки, переключитесь на папку Download и:

tar xvfz ImageMagick-6.9.2-4.tar.gz
cd ImageMagick-6.9.2-4/
./configure --with-perl
make
(*)
sudo make install

и затем все идет гладко

(*) другая недостающая часть, lperl, таким образом, в процессе я должен добавить: sudo apt-get install libperl-dev

1
ответ дан 17 September 2015 в 23:31
  • 1
    Спасибо, Это на самом деле поможет мне:), потому что я didn' t думают о нем.. Большое спасибо снова! – Karlo Santini 23 August 2016 в 01:21

Работы решения Diego.

А подобная процедура работала на меня для версий ImageMagick-6.9.1 и ImageMagick-6.9.5.

Изображение Сборки:: модуль Magick жемчуга из источника

Переходит в: http://www.imagemagick.org/script/download.php

Загрузка tar.gz файл от одного из зеркал:

ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageMagick-6.9.5-8.tar.gz

Извлечение в ~/home/src:

$ cd ~/home/src
$ mv ~/Downloads/ImageMagick-6.9.5-8.tar.gz .
$ tar xzvf ImageMagick-6.9.5-8.tar.gz

Настраивают Волшебство Изображения с Привязкой Perl

$ cd ImageMagick-6.9.5-8
$ ./configure --with-perl
$ make

, Удостоверяются, что жемчуг dev файлы установлен

$ sudo-apt get install libperl-dev

Проверка Magick

$ make install  # or sudo make install

Изображения Установки, что это работает:

$ perldoc Image::Magick

Ресурсы:

http://www.imagemagick.org/script/perl-magick.php
http://www.imagemagick.org/script/examples.php
http://www.imagemagick.org/script/command-line-options.php
2
ответ дан 17 September 2015 в 23:31
  • 1
    @KarloSantini После тестирования предложения, если это работает, полагают, что удар стрелки вверх указывает, что это имеет заслугу или галочку, если это решает Ваш вопрос. Кроме того, наименьшее, что это сделает, помочь Вам иметь больше определения для новых последующих вопросов такой как который библиотеки и процесс включения их с Вашими дистрибутивами пакета. – L. D. James 23 August 2016 в 02:26

Попытайтесь установить заголовки:

sudo apt-get install libmagickcore-6-headers libmagick++-6-headers libmagickwand-6-headers

Наряду с -dev пакеты:

sudo apt-get install libmagic-dev libmagick++-6.q16-dev libmagickcore-6.q16-dev libmagickcore-dev libmagick++-dev libmagickwand-6.q16-dev libmagickwand-dev libmagic-ocaml-dev libmagics++-dev libmagics++-metview-dev
0
ответ дан 17 September 2015 в 23:31
  • 1
    Спасибо. Я попробовал это. Но у меня все еще есть проблема. – wooruang 23 August 2016 в 12:29

Очевидно, perl-lib менее тщательно поддерживается, чем репозитории Ubuntu.

apt-get install libimage-magick-perl

Исправлено при сбое cpanm.

0
ответ дан 3 February 2020 в 13:03

Другие вопросы по тегам:

Похожие вопросы: