2012-04-26 8 views
10

Sembra che stia cercando il file libmagic.so.1. Ho quel file. Si trova in/usr/lib64. Non sto eseguendo questa installazione come utente root.Difficoltà a installare gemma ruby-filemagic sul nuovo server RHEL6

Sto anche utilizzando rvm e Bundler. Questo è il risultato del mio comando "fagotto", quando si arriva alla linea rubino filemagic nel mio Gemfile:

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

Ecco i risultati del 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 */ 

Non riesco a capire cosa fare per farlo funzionare.

+0

Cosa c'è in 'mkmf.log'? – Linuxios

+0

Aggiornato la mia domanda sopra – AKWF

risposta

8

che dovevo fare:

yum install file-devel 

che contiene apparentemente i file di intestazione libmagic che il rubino gemma filemagic necessaria al fine di compilare. Dopo ha funzionato come un campione.

17

Aveva lo stesso problema su Ubuntu 12.04. Appena installato libmagic-dev pacchetto tramite seguente comando:

sudo apt-get install libmagic-dev 
+2

per essere precisi: 'sudo apt-get install libmagic-dev' – mmell

1

Ho avuto lo stesso problema su OpenSuse 11.3. Questo ha contribuito a:

zypper install file-devel 
9

Su un Mac, utilizzando homebrew:

sudo brew install libmagic 
+1

Ehi, sto ancora ottenendo' il controllo di magic_open() in -lmagic ... no' ha qualche idea? – AJP

+0

Prima assicurati che libmagic sia stato installato correttamente. Prova 'ls -al/usr/local/include/| grep magic' e verifica che' magic.h' sia lì) – troelskn