我有一个测试代码:
require 'mkmf'
puts have_header("iostream.h")这段代码在Jruby中引发一个错误,如下所示:
查一查碘酒。RuntimeError:编译器无法生成可执行文件。您必须首先安装开发工具。 /home/abd/.rvm/rubies/jruby-9.1.6.0/lib/ruby/stdlib/mkmf.rb:456 try_cpp at /home/abd/.rvm/rubies/jruby-9.1.6.0/lib/ruby/stdlib/mkmf.rb:587的try_do 在/home/abd/.rvm/rubies/jruby-9.1.6.0/lib/ruby/stdlib/mkmf.rb:1091的have_header中阻塞 在/home/abd/.rvm/rubies/jruby-9.1.6.0/lib/ruby/stdlib/mkmf.rb:942区checking_for中的阻塞在/home/abd/.rvm/rubies/jruby-9.1.6.0/lib/ruby/stdlib/mkmf.rb:320的/home/abd/.rvm/rubies/jruby-9.1.6.0/lib/ruby/stdlib/mkmf.rb:350开放处延迟在/home/abd/.rvm/rubies/jruby-9.1.6.0/lib/ruby/stdlib/mkmf.rb:350阻止延迟在/home/abd/.rvm/rubies/jruby-9.1.6.0/lib/ruby/stdlib/mkmf.rb:320开放在/home/abd/.rvm/rubies/jruby-9.1.6.0/lib/ruby/stdlib/mkmf.推迟rb:346 /home/abd/.rvm/rubies/jruby-9.1.6.0/lib/ruby/stdlib/mkmf.rb:941 have_header at /home/abd/.rvm/rubies/jruby-9.1.6.0/lib/ruby/stdlib/mkmf.rb:1090 at test.rb:3
我不知道开发工具意味着什么,我搜索互联网时没有发现任何相关信息。
我通过rvm安装了JRuby9.1.6.0,这是我的java版本:
[abd@abd testruby]$ java -version
openjdk version "1.8.0_112"
OpenJDK Runtime Environment (build 1.8.0_112-b15)
OpenJDK 64-Bit Server VM (build 25.112-b15, mixed mode)我这里用的是Arch linux。
我问题背后的真正原因是,我试着安装gem,由于同样的错误,本机扩展无法构建,我知道gem没有得到维护,但我还是想解决这个问题,因为上面的消息表明我缺少安装。
顺便说一下,我有jdk,而不仅仅是jre。
https://stackoverflow.com/questions/41280375
复制相似问题