James P. Wright
James P. Wright

Reputation: 9131

Building Ruby from source on Mac, not working

I'm trying to build Ruby 1.9.2 from source on Snow Leopard and I keep getting this error:

readline.c: In function ‘username_completion_proc_call’:
readline.c:1292: error: ‘username_completion_function’ undeclared (first use in this function)
readline.c:1292: error: (Each undeclared identifier is reported only once
readline.c:1292: error: for each function it appears in.)
make[1]: *** [readline.o] Error 1
make: *** [mkmain.sh] Error 1

I am basing it off of this tutorial and the error comes when I do the make command.

I already have 1.8.7 installed, but want to upgrade to the latest and have not found a reliable, simple way to do it yet.

Upvotes: 1

Views: 492

Answers (3)

the Tin Man
the Tin Man

Reputation: 160571

If you haven't upgraded your version of XCode that came on the DVD, then do so from Apple's Developer site. XCode on the DVD has some errors. You have to register, but it's free.

Snow Leopard has 1.8.7 installed, but that is for Apple's use; They install code that actually uses Ruby and messing with their Ruby or installed code could break things. You might not know something broke for a while, until things don't work quite right, so it's better to leave their install alone and put one in for your own use.

As said by other answers, RVM is a great way to install Ruby for your own use. You don't need to install into /usr/local/bin and you definitely don't want to overwrite the Ruby in /usr/bin. RVM deals with this by installing into ~/.rvm. You can have multiple Rubies installed, along with the gems associated with a Ruby, create sets of gems, copy them around, remove or recompile a particular Ruby, or blow it all away without affecting the Apple installed Rubyies. RVM is actively developed and updates often, and the author is very responsive to questions.

RVM has a page dealing with the readline issues. It is specific to dealing with RVM but might help if you want to forego using RVM and go with something else.

Upvotes: 2

Scott
Scott

Reputation: 17257

The easiest way to upgrade to the latest version of Ruby on Snow Leopard is to use RVM (The Ruby Version Manager)

Upvotes: 2

craftand
craftand

Reputation: 489

I would use rvm its by far the easiest way to get ruby compiled and has many other benefits.

Upvotes: 1

Related Questions