Вопрос по rubygems, ruby – Возникли проблемы при установке гема ruby-filemagic на новый сервер RHEL6

12

Кажется, он ищет файл libmagic.so.1. У меня есть этот файл. Он находится в / usr / lib64. Я не запускаю эту установку от имени пользователя root.

Я также использую rvm и Bundler. Это результат моей "связки" команда, когда она попадает в строку ruby-filemagic в моем Gemfile:

<code>[[email protected] ext]$ ruby extconf.rb --with-magiclib
checking for magic_open() in -ltrue... no
*** ERROR: missing required library to compile this module
*** 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.
</code>

ОБНОВИТЬ:

Вот результаты mkmf.log:

<code>have_library: checking for magic_open() in -ltrue... -------------------- no

"gcc -o conftest -I. -I/usr/local/rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/x86_64-linux -I.    -g -O2  -fPIC   conftest.c  -L. -L/usr/local/rvm/rubies/ruby-1.8.7-p358/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.8.7-p358/lib -L.  -rdynamic -Wl,-export-dynamic     -lruby-static -ltrue  -lrt -ldl -lcrypt -lm   -lc"
conftest.c: In function ‘t’:
conftest.c:3: error: ‘magic_open’ undeclared (first use in this function)
conftest.c:3: error: (Each undeclared identifier is reported only once
conftest.c:3: error: for each function it appears in.)
checked program was:
/* begin */
1: /*top*/
2: int main() { return 0; }
3: int t() { void ((*volatile p)()); p = (void ((*)()))magic_open; return 0; }
/* end */

"gcc -o conftest -I. -I/usr/local/rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/x86_64-linux -I.    -g -O2  -fPIC   conftest.c  -L. -L/usr/local/rvm/rubies/ruby-1.8.7-p358/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.8.7-p358/lib -L.  -rdynamic -Wl,-export-dynamic     -lruby-static -ltrue  -lrt -ldl -lcrypt -lm   -lc"
/usr/bin/ld: cannot find -ltrue
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: /*top*/
2: int main() { return 0; }
3: int t() { magic_open(); return 0; }
/* end */
</code>

Я не могу понять, что нужно сделать, чтобы сделать эту работу.

Обновил мой вопрос выше AKWF
Что вmkmf.log? Linuxios

Ваш Ответ

4   ответа
17

libmagic-dev пакет с помощью следующей команды:

sudo apt-get install libmagic-dev
Error: User Rate Limit Exceededsudo apt-get install libmagic-dev
10

На Mac с помощью доморощенного:

sudo brew install libmagic
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededchecking for magic_open() in -lmagic... noError: User Rate Limit Exceeded
Error: User Rate Limit Exceededls -al /usr/local/include/|grep magicError: User Rate Limit Exceededmagic.hError: User Rate Limit Exceeded
1

zypper install file-devel
8

Мне нужно было сделать:

yum install file-devel

Он, очевидно, содержит заголовочные файлы libmagic, необходимые для компиляции гемом filemagic ruby. Это сработало как чемпион после этого.

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