2012-04-26 23 views
10

libmagic.so.1ファイルを探しているようです。私はそのファイルを持っています。これは/ usr/lib64にあります。私はこのインストールをrootユーザーとして実行していません。新しいRHEL6サーバーにruby-filemagic gemをインストールするのが難しい

私はrvmとBundlerも使用しています。それは私のGemfileでルビーfilemagicラインに到達したとき、これは、私の「バンドル」コマンドの結果である:

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

UPDATE:

:ここ

がmkmf.logの結果であります

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 */ 

私はこの作業を行うために何をすべきか分かりません。

+0

'mkmf.log'には何ですか? – Linuxios

+0

私の質問は – AKWF

答えて

8

私が行うために必要な:

yum install file-devel 

明らかにコンパイルするために必要なfilemagicルビー宝石libmagicのヘッダファイルが含まれていること。それはその後、チャンピオンのように働いた。

17

Ubuntu 12.04でも同じ問題がありました。ただ、以下のコマンドを使用してlibmagic-devパッケージをインストール:

sudo apt-get install libmagic-dev 
+2

の上に更新されました: 'sudo apt-get install libmagic-dev' – mmell

1

のopenSUSE 11.3に同じ問題を抱えていました。これが助けた:

zypper install file-devel 
9

をMacでは、自作の使用:

sudo brew install libmagic 
+1

ちょっと、私はまだ' -lmagicのmagic_open()をチェックしています。 – AJP

+0

まず、libmagicが実際に正しくインストールされていることを確認してください。 'ls -al/usr/local/include/| grep magic'を試して、' magic.h'があることを確認してください) – troelskn

関連する問題