在gem安装id3lib-ruby期间缺少libstdc ++

时间:2013-01-23 17:04:12

标签: ruby rubygems id3lib mkmf

我正在尝试安装id3lib-ruby,但是我收到了这个错误:

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

        /home/rfischer/.rvm/rubies/ree-1.8.7-2012.02/bin/ruby extconf.rb
checking for main() in -lstdc++... no
You must have libstdc++ installed.
*** extconf.rb failed ***

我安装了各种libstdc ++:

$ apt-cache search libstdc | grep dev
lib32gmp-dev - Multiprecision arithmetic library developers tools (32bit)
libgmp-dev - Multiprecision arithmetic library developers tools
libstdc++6-4.4-dev - GNU Standard C++ Library v3 (development files)
libstdc++6-4.6-dev - GNU Standard C++ Library v3 (development files)
libstdc++6-4.7-dev - GNU Standard C++ Library v3 (development files)
libstdc++6-4.5-dev - GNU Standard C++ Library v3 (development files)
libstdc++6-4.6-dev-armel-cross - GNU Standard C++ Library v3 (development files)
libstdc++6-4.6-dev-armhf-cross - GNU Standard C++ Library v3 (development files)
libstdc++6-4.7-dev-armel-cross - GNU Standard C++ Library v3 (development files)
libstdc++6-4.7-dev-armhf-cross - GNU Standard C++ Library v3 (development files)

这是mkmf.log:

have_library: checking for main() in -lstdc++... -------------------- no

"/usr/bin/gcc-4.6 -o conftest -I/opt/local/include -I. -I/home/rfischer/.rvm/rubies/ree-1.8.7-2012.02/lib/ruby/1.8/x86_64-linux -I. -I/usr/local/include -I/opt/local/include -I/sw/include    -g -O2    conftest.c  -L. -L/home/rfischer/.rvm/rubies/ree-1.8.7-2012.02/lib -Wl,-R/home/rfischer/.rvm/rubies/ree-1.8.7-2012.02/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L/opt/local/lib -Wl,-R/opt/local/lib -L/sw/lib -Wl,-R/sw/lib -L.  -rdynamic -Wl,-export-dynamic     -lruby-static -lstdc++  -L/opt/local/lib -lrt -ldl -lcrypt -lm   -lc"
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: /*top*/
2: int main() { return 0; }
3: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
/* end */

"/usr/bin/gcc-4.6 -o conftest -I/opt/local/include -I. -I/home/rfischer/.rvm/rubies/ree-1.8.7-2012.02/lib/ruby/1.8/x86_64-linux -I. -I/usr/local/include -I/opt/local/include -I/sw/include    -g -O2    conftest.c  -L. -L/home/rfischer/.rvm/rubies/ree-1.8.7-2012.02/lib -Wl,-R/home/rfischer/.rvm/rubies/ree-1.8.7-2012.02/lib -L/usr/local/lib -Wl,-R/usr/local/lib -L/opt/local/lib -Wl,-R/opt/local/lib -L/sw/lib -Wl,-R/sw/lib -L.  -rdynamic -Wl,-export-dynamic     -lruby-static -lstdc++  -L/opt/local/lib -lrt -ldl -lcrypt -lm   -lc"
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: /*top*/
2: int main() { return 0; }
3: int t() { main(); return 0; }
/* end */

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

对于我做错了什么或如何解决它有任何想法?

1 个答案:

答案 0 :(得分:3)

你可能在此期间解决了你的问题,但由于我有a similar issue recently and got help here,我想我可能会分享apt-get install build-essential解决了我遗漏的libstdc ++错误。