Ubuntu 18.04.03 LTS - ошибка установки пакета выдает ошибку из-за rMagick - PullRequest
0 голосов
/ 14 января 2020

Я устанавливаю свою виртуальную машину Ubuntu 18.04.03 на MacOS. GIVEN: Ubuntu 18.04.03 LTS ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux] Expected Rails version set in Gemfile is '4.2.7.1' The system suggests to run gem install rmagick -v '2.13.2'

Когда я запускаю пакетную установку в терминале, я получаю следующую ошибку:

Installing rmagick 2.13.2 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/home/i.k/.rvm/gems/ruby-2.1.2/gems/rmagick-2.13.2/ext/RMagick
/usr/share/rvm/rubies/ruby-2.1.2/bin/ruby -I
/usr/share/rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0 -r
./siteconf20200113-25302-1t913rc.rb extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... no
Can't install RMagick 2.13.2. Can't find Magick-config in
/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:/home/i.k/.rvm/gems/ruby-2.1.2/bin:/home/i.k/.rvm/gems/ruby-2.1.2@global/bin:/usr/share/rvm/rubies/ruby-2.1.2/bin:/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin:/usr/share/rvm/bin

*** 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/share/rvm/rubies/ruby-2.1.2/bin/ruby

To see why this extension failed to compile, please check the mkmf.log which can
be found here:

/home/i.k/.rvm/gems/ruby-2.1.2/extensions/x86_64-linux/2.1.0/rmagick-2.13.2/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
/home/i.k/.rvm/gems/ruby-2.1.2/gems/rmagick-2.13.2 for inspection.
Results logged to
/home/i.k/.rvm/gems/ruby-2.1.2/extensions/x86_64-linux/2.1.0/rmagick-2.13.2/gem_make.out

An error occurred while installing rmagick (2.13.2), and Bundler cannot
continue.
Make sure that `gem install rmagick -v '2.13.2' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  rmagick

Когда я запускаю gem install rmagick -v'2.13.2' --source 'https://rubygems.org/', я получаю следующую ошибку

Building native extensions. This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

    current directory: /home/i.k/.rvm/gems/ruby-2.1.2/gems/rmagick-2.13.2/ext/RMagick
/usr/share/rvm/rubies/ruby-2.1.2/bin/ruby -I /usr/share/rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0 -r ./siteconf20200114-15956-1hlaeuw.rb extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... no
Can't install RMagick 2.13.2. Can't find Magick-config in /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:/home/i.k/.rvm/gems/ruby-2.1.2/bin:/home/i.k/.rvm/gems/ruby-2.1.2@global/bin:/usr/share/rvm/rubies/ruby-2.1.2/bin:/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin:/usr/share/rvm/bin

*** 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/share/rvm/rubies/ruby-2.1.2/bin/ruby

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /home/i.k/.rvm/gems/ruby-2.1.2/extensions/x86_64-linux/2.1.0/rmagick-2.13.2/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /home/i.k/.rvm/gems/ruby-2.1.2/gems/rmagick-2.13.2 for inspection.
Results logged to /home/i.k/.rvm/gems/ruby-2.1.2/extensions/x86_64-linux/2.1.0/rmagick-2.13.2/gem_make.out

Я уже попробовал следующее:

sudo apt install imagemagick libmagickcore-dev libmagickwand-dev 0 гемов установлено - без результата

sudo apt install libmagickcore-dev 0 гемов установлено-без результата

PATH="/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:$PATH" ничего не произошло, когда я запустил gem rmagick install - ошибка осталась прежней

UPD. mkmf.log говорит:

find_executable: checking for Magick-config... -------------------- no

--------------------

Can't install RMagick 2.13.2. Can't find Magick-config in /home/i.k/.rvm/gems/ruby-2.1.2/bin:/home/i.k/.rvm/gems/ruby-2.1.2@global/bin:/usr/share/rvm/rubies/ruby-2.1.2/bin:/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin:/usr/share/rvm/bin

Любая помощь будет оценена

1 Ответ

0 голосов
/ 14 января 2020

Я на самом деле понял это. Это то, что помогло в моем конкретном случае. Кто знает, это может помочь кому-то еще. Из каталога проекта я сделал это.

Сначала я запустил locate libMagick, чтобы убедиться, что он у меня есть и что он находится там, где он должен быть.

Во-вторых, я побежал locate Magick-config

Я также запустил convert -version в терминале, чтобы убедиться, что у меня есть Imagemagi c и проверить, какая у него версия.

Чтобы быть в безопасности, как некоторые люди предположить, что он не всегда предустановлен в Ubuntu. Я также проверил make с

find / -iname "make" 2>/dev/null

, он обычно установлен в /usr/bin/make, а у меня был.

Исправление, предложенное в качестве опции с переменной PATH, выглядит следующим образом:

PATH="/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:$PATH"

Это может быть просто для тех, кто имел дело с этим в течение дня или более но это может быть сложно для новичка ie.

Поэтому ОБЯЗАТЕЛЬНО сравните имеющуюся версию ImageMagick и обновите ее соответствующим образом в этой команде PATH.

Также он чувствителен к регистру, и в моем случае «Q» - это не заглавная «Q», а маленькая. Я нашел его по пути расположения Magick-config (см. Команду, которую я запускал выше).

В результате мой PATH выглядел так: PATH="/usr/lib/x86_64-linux-gnu/ImageMagick-6.9.7/bin-q16:$PATH"

Итак, я запустил sudo apt-get update очистить весь кеш, а затем запустил правильную команду PATH в терминале и вуаля. Если кто-то хочет что-то добавить или исправить меня в моей логи c, пожалуйста, все комментарии приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...