如何正确编译ruby解释器

通常我们从源代码编译一个ruby解释器后,会遇到找不到某些C扩展库的问题。下面就记录了我从源代码编译ruby解释器,遇到的这些问题,以及如何解决这些问题。

编译一个ruby解释器其实很简单,只需要把ruby代码解压开,然后进入解压目录,先编译解释器,执行编译命令:

./configure --prefix=/usr/local/ruby
make
make test

然后编译扩展库,因为c扩展库需要系统中先存在一些依赖的c程序库,所以如果系统中没有这些c程序库,那么在编译ruby解释器的时候就会
跳过一些ruby扩展库的编译、安装。比如zlib扩展库,就需要c的扩展库支持。

1、编译完成后,是否含有zlib等c扩展库?
答:不一定,如果系统中已经有依赖的c程序库,那么在编译解释器的时候就会自动编译并安装,否则必须要额外地编译c扩展库。
先安装c程序库(download from http://www.zlib.net/zlib-1.2.3.tar.gz, make,make install),
然后再到ext目录下,make , make install.

对于 curses 也是一样给的,download from http://ftp.gnu.org/pub/gnu/ncurses/, apt-get install g++,
make , make install, ruby extconf.rb, make , make install.

对于用gem安装mysql扩展库,需要 ruby extconf.rb --with-mysql-dir=/usr/local/mysql/ 指定mysql的安装路径。
然后make, make install 即可。
发布了46 篇原创文章 · 获赞 7 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/yangbo_hr/article/details/1968030