13

它似乎正在寻找 libmagic.so.1 文件。我有那个文件。它位于 /usr/lib64。我没有以 root 用户身份运行此安装。

我也在使用 rvm 和 Bundler。这是我的“bundle”命令的结果,当它到达我的 Gemfile 中的 ruby​​-filemagic 行时:

[server@mine 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.

更新:

以下是 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 */

我不知道该怎么做才能完成这项工作。

4

4 回答 4

19

在 Ubuntu 12.04 上有同样的问题。刚刚libmagic-dev通过以下命令安装了软件包:

sudo apt-get install libmagic-dev
于 2012-05-05T16:16:49.377 回答
10

在 Mac 上,使用自制软件:

sudo brew install libmagic
于 2013-01-02T09:41:57.803 回答
8

我需要做:

yum install file-devel

这显然包含了 filemagic ruby​​ gem 编译所需的 libmagic 头文件。在那之后它就像一个冠军。

于 2012-04-30T15:47:19.307 回答
1

我在 OpenSuse 11.3 上遇到了同样的问题。这有助于:

zypper install file-devel
于 2012-06-01T09:04:35.233 回答