Не удается установить Ruby 1.9.3 на чистую установку Lion

Пытаюсь установить 1.9.3 с помощью RVM.

Получение этих ошибок в моем make.log

compiling readline.c
readline.c:1499:9: error: use of undeclared identifier 'username_completion_function'; did you mean 'rl_username_completion_function'?
                                    rl_username_completion_function);
                                    ^
readline.c:69:42: note: expanded from macro 'rl_username_completion_function'
# define rl_username_completion_function username_completion_function
                                         ^
/usr/local/include/readline/readline.h:443:14: note: 'rl_username_completion_function' declared here
extern char *rl_username_completion_function PARAMS((const char *, int));
             ^
1 error generated.
make[2]: *** [readline.o] Error 1
make[1]: *** [ext/readline/all] Error 2
make: *** [build-ext] Error 2

Я сталкивался с этой проблемой раньше в SL. У меня установлен Xcode 4.3.2 (также установлены инструменты командной строки). У меня установлен readline 6.2.2.

Добавил export ARCHFLAGS="-arch x86_64" в мой файл .bash_login.

Я также пробовал rvm install 1.9.3 --with-gcc=clang, но получаю ту же ошибку, и я бы предпочел не делать этого из-за ограниченной поддержки.

У кого-нибудь есть работающая процедура?

Редактировать:

Ссылка на соответствующий открытый тикет Ruby


person Andrew Lauer Barinov    schedule 27.04.2012    source источник
comment
О какой ограниченной поддержке вы говорите? По состоянию на 1.9.3-p125 clang официально поддерживается.   -  person Andrew Marshall    schedule 27.04.2012
comment
О, в таком случае все в порядке, но я все еще получаю идентичную ошибку, когда пытаюсь установить с помощью clang.   -  person Andrew Lauer Barinov    schedule 27.04.2012
comment
Вы устанавливали readline вручную? В конце концов, он поставляется с OS X.   -  person Andrew Marshall    schedule 27.04.2012
comment
Я так считаю. Когда я попытался установить его через доморощенный, я получил ошибку, что он уже был там.   -  person Andrew Lauer Barinov    schedule 27.04.2012
comment
Понижен из моего ответа на комментарий: я смог нормально установить 1.9.3-p194 на Lion, ничего не устанавливая дополнительно. Я не использовал RVM. Но я подозреваю, что проблема в том, что у вас есть версия readline, установленная вручную, отдельно от того, что поставляется с ОС.   -  person Mark Reed    schedule 27.04.2012
comment
@MarkReed, я установил только rvm, homebrew и Xcode. Содержит ли homebrew другую версию readline?   -  person Andrew Lauer Barinov    schedule 27.04.2012
comment
@MarkReed и я действительно предпочли бы использовать rvm для управления различными зависимостями ruby.   -  person Andrew Lauer Barinov    schedule 27.04.2012
comment
@AndrewLauerBarinov Конечно. Я просто пытался воспроизвести проблему, чтобы помочь в диагностике, и не смог этого сделать. FWIW, я только что успешно установил RVM, так что это не проблема. Извините, я больше ничем не помог.   -  person Mark Reed    schedule 27.04.2012
comment
@MarkReed, спасибо за ваши комментарии, у вас настроено домашнее пиво? Вы используете Lion 10.7.3?   -  person Andrew Lauer Barinov    schedule 27.04.2012
comment
Я решил проблему, см. Ниже, для всех, кто испытывает это при попытке настроить рубин на льве.   -  person Andrew Lauer Barinov    schedule 27.04.2012


Ответы (1)


Я решил проблему. RVM не распознавал установленную строку чтения. Забавно, как readline умудряется испортить установки стольких людей.

Эта команда указывает rvm на правильное расположение readline

rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usr
person Andrew Lauer Barinov    schedule 27.04.2012
comment
Ruby был разработан с учетом чтения GNU. BSD тоже не работает. - person Reactormonk; 27.04.2012
comment
@nnyby ты пробуешь это на Lion или ML? - person Andrew Lauer Barinov; 22.08.2012
comment
@AndrewLauerBarinov Горный лев - person nnyby; 22.08.2012
comment
Насколько я знаю, этот метод не работает на ML. Я еще не обновился по этой причине. - person Andrew Lauer Barinov; 22.08.2012