如何正確編譯ruby解譯器

來源:互聯網
上載者:User
通常我們從原始碼編譯一個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 即可。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.