问题标签 [extconf.rb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
327 浏览

ruby - 打包编译二进制 /wa Ruby Gem

我正在创建一个用 Ruby 编写的小型守护程序,它部分依赖于从 C 代码编译的小型二进制实用程序。我想把它打包成一个 gem 并包含这个依赖项。

本质上,这个守护进程将需要运行命令,例如ip addr add ...不需要 sudo,所以我创建了一个小型 C 程序来代理那些必须编译的命令,chown torootsetuid设置位。

我想让 gem 与守护进程一起编译和安装这个依赖项,但我不确定该怎么做。我知道扩展可以通过 编译extconf.rb,但这专门用于管理 Ruby 扩展,对吧?让它编译并安装二进制文件/usr/local/bin或类似文件会是一个丑陋的黑客吗?

有谁知道现有的 gem 可以做类似的事情,我可以研究一下吗?

0 投票
1 回答
2511 浏览

ruby-on-rails - 在 Maverick 的 Rails 中安装 Ruby 时出错

我已经尝试过针对此处发布的类似问题提供的多种解决方案,但似乎没有任何效果。我无法安装 Rails。错误信息如下。另外,我尝试使用 安装 Xcode xcode-select --install,它给了我一个安装 o 网络cannot download due to network请指教。我对 Ruby 非常陌生,因此我们将不胜感激任何帮助。干杯。

0 投票
1 回答
118 浏览

ruby - Link a D library to Ruby

I would like to call D code from Ruby. I have tried to compile the D code with dmd and use extconf.rb to make a shared object file which I could use in ruby, but my linking fails somehow, the D std library is apparently missing:

Please let me know how to call D code from Ruby.

The code I tried is here:

0 投票
0 回答
617 浏览

ruby-on-rails - rmagick 安装 extconf.rb 错误

嗨,我正在尝试安装rmagick10 个小时,挫败感是巨大的..

所以这里如下:


最后当我尝试安装时(我也有 DevKit)

我尝试了很多解决方案,没有任何效果,只是不断收到此错误。

我搞砸了 %PATH%,尝试了不同的版本,阅读了所有说明,在 2 台不同的机器上尝试过。对我来说似乎不可能..

建议的重复提供了无处可去的过时链接,即使它是已回答问题的重复,该答案也不是最新的并且没有任何好处。我真的希望这能有所帮助,但我不久前遇到了那个答案......

0 投票
1 回答
126 浏览

ruby-on-rails - gcc 和 extconf 失败

这是 mkmf.log 文件,显示当我尝试安装 Rails 时生成 gcc 和 extconf 的错误。'sudo gem install rails'。我还没有看到关于 mkmf.log 的响应并提供解决方案的答案。

我已经安装了 Homebrew、RVM、Ruby、gcc、Xcode 工具等。这些错误是在安装 rails 期间抛出的。我对此有所了解,以及如何完成 Rails 5 安装?

mkmf.log 文件:“gcc -o conftest -I/Users/fulbriw/.rvm/rubies/ruby-2.2.2/include/ruby-2.2.0/x86_64-darwin14 -I/Users/fulbriw/.rvm/rubies /ruby-2.2.2/include/ruby-2.2.0/ruby/b$ ld:警告:找不到选项“-L/Users/haven/.sm/pkg/active/lib”的目录 ld:警告:忽略文件 /usr/local/lib/libz.dylib,文件是为 i386 构建的,它不是被链接的体系结构(x86_64):/usr/local/lib/libz.dylib 检查程序是:/* 开始 */ 1:#包括 "ruby.h" 2: 3: int main(int argc, char **argv) 4: { 5: return 0; 6: } /* end */

谢谢,从今天早上开始,我一直在努力解决这个问题。任何帮助将不胜感激。

0 投票
3 回答
945 浏览

ruby - ruby 原生扩展:未定义的符号

我正在尝试创建一个 ruby​​ 本机扩展,但是当我运行rake用于ext/example_project/extconf.rb构建我的项目并在 下运行我test/的测试时,运行测试时出现以下错误:

我很确定我的文件没有正确链接,我需要以某种方式更改我的extconf.rb和/或Rakefile,但我不确定如何。

我创建了一个简单的存储库,用于在 GitHub 上演示该问题。如果您克隆它并rake从项目根目录运行,它将失败并出现相同的错误。

一些附加信息:

  • 我使用 ruby​​ gemhoe通过创建项目sow example_project
  • 失败的函数试图调用子目录中定义的函数ext/example_project/c_example_project。我的实际项目使用ext/example_project目录中的 git 子模块,该子模块又将子模块设置为子目录。子模块是具有扁平结构的 ac 项目(根目录中的所有文件)。注意:该措辞可能令人困惑,但关键是定义了一个嵌套的 c 项目,ext/example_project/c_example_project其中包含我试图调用的方法。

让我知道是否需要任何澄清,我会尽力提供。

0 投票
1 回答
240 浏览

c - 将 mkmf 与 Ruby ext 一起使用 使用 -L 和 -I 和 -l 链接静态库

给定一个简单的gcc命令,如下所示:

我正在尝试extconf.rb使用mkmf. 目前我有:

这失败了:

我不确定如何处理。如果没有find_libraryMakefile 生成的调用,但是在编译时会失败:

注意

这是我的示例quickrb.c文件: