为自编译的Ruby安装安装OpenSSL支持

时间:2014-02-01 13:52:32

标签: ruby openssl

我解压缩并编译了Ruby 2.1并安装了几个支持工具。

但是我安装libssl-dev时不会安装OpenSSL。

在制作openssl支持时出现此错误:

make: *** No rule to make target `/thread_native.h', needed by `ossl.o'.  Stop.

怎么办?

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。事实证明,extconf.rb生成的Makefile的最后一行读取

ossl.o: $(top_srcdir)/thread_native.h $(top_srcdir)/thread_$(THREAD_MODEL).h

但是,top_srcdir未在Makefile中的任何位置定义。

我通过运行

找出丢失的头文件的位置
sudo find / -name thread_native.h

返回(大约)

~/.rbenv/versions/2.1.0/thread_native.h

顶部有一行说明

topdir = ~/.rbenv/versions/2.1.0/include/ruby-2.1.0

所以我在它下面添加了一行指向find的目录:

top_srcdir = $(topdir)/../..

毕竟,我在make clean目录中执行了ext/openssl,然后make在没有错误的情况下运行。

答案 1 :(得分:1)

你为什么不用rvm?它为您编译,配置,安装和管理所选版本的最流行的红宝石口译员。

无论如何,请尝试使用--with-openssl-dir