Не удается установить Ruby под Lion с RVM - проблемы GCC

268

Большинство вопросов относительно этой проблемы связано с отсутствием Xcode; У меня установлен Xcode 4.2.

Попытка установки:

rvm install 1.9.3
Installing Ruby from source to: /Users/jamie/.rvm/rubies/ruby-1.9.3-p0, this may take a while depending on your cpu(s)...

ruby-1.9.3-p0 - #fetching 
ruby-1.9.3-p0 - #extracted to /Users/jamie/.rvm/src/ruby-1.9.3-p0 (already extracted)
Fetching yaml-0.1.4.tar.gz to /Users/jamie/.rvm/archives
Extracting yaml-0.1.4.tar.gz to /Users/jamie/.rvm/src
Configuring yaml in /Users/jamie/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/jamie/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/jamie/.rvm/usr
ruby-1.9.3-p0 - #configuring 
ERROR: Error running ' ./configure --prefix=/Users/jamie/.rvm/rubies/ruby-1.9.3-p0 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/jamie/.rvm/usr ', please read /Users/jamie/.rvm/log/ruby-1.9.3-p0/configure.log
ERROR: There has been an error while running configure. Halting the installation.

configure.log:

[2011-11-07 04:32:17]  ./configure --prefix=/Users/jamie/.rvm/rubies/ruby-1.9.3-p0 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/jamie/.rvm/usr 
configure: WARNING: unrecognized options: --with-libyaml-dir
checking build system type... x86_64-apple-darwin11.2.0
checking host system type... x86_64-apple-darwin11.2.0
checking target system type... x86_64-apple-darwin11.2.0
checking whether the C compiler works... no
configure: error: in `/Users/jamie/.rvm/src/ruby-1.9.3-p0':
configure: error: C compiler cannot create executables
See `config.log' for more details

GCC доступен:

gcc -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.1~1/src/configure --disable-checking --enable-werror --prefix=/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.1~1/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)

ls /usr/bin | grep gcc         
gcc
i686-apple-darwin11-llvm-gcc-4.2
llvm-gcc
llvm-gcc-4.2

Основываясь на config.log (размещен внизу из-за размера), я попытался использовать символическую ссылку gcc-4.2 на gcc, а затем установил:

rvm install 1.9.3                       
ERROR: The autodetected CC(/usr/bin/gcc-4.2) is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`, and set CC=/path/to/gcc .

Так что я мог бы просто взять gcc в другом месте, но меня больше всего беспокоит, почему это происходит. Разве установки Xcode не должно быть достаточно?

config.log:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.68.  Invocation command line was

  $ ./configure --prefix=/Users/jamie/.rvm/rubies/ruby-1.9.3-p0 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/jamie/.rvm/usr

## --------- ##
## Platform. ##
## --------- ##

hostname = Wilson.local
uname -m = x86_64
uname -r = 11.2.0
uname -s = Darwin
uname -v = Darwin Kernel Version 11.2.0: Tue Aug  9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64

/usr/bin/uname -p = i386
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = Mach kernel version:
     Darwin Kernel Version 11.2.0: Tue Aug  9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64
Kernel configured for up to 4 processors.
4 processors are physically available.
4 processors are logically available.
Processor type: i486 (Intel 80486)
Processors active: 0 1 2 3
Primary memory available: 8.00 gigabytes
Default processor set: 110 tasks, 546 threads, 4 processors
Load average: 1.28, Mach factor: 2.71
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /Users/jamie/.rvm/usr/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/sbin
PATH: /sbin
PATH: /usr/local/bin
PATH: /usr/X11/bin
PATH: /Users/jamie/bin
PATH: /Users/jamie/.rvm/bin
PATH: /Users/jamie/.rvm/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2764: checking build system type
configure:2778: result: x86_64-apple-darwin11.2.0
configure:2849: checking host system type
configure:2862: result: x86_64-apple-darwin11.2.0
configure:2882: checking target system type
configure:2895: result: x86_64-apple-darwin11.2.0
configure:3376: checking for C compiler version
configure:3385: gcc-4.2 --version >&5
./configure: line 3387: gcc-4.2: command not found
configure:3396: $? = 127
configure:3385: gcc-4.2 -v >&5
./configure: line 3387: gcc-4.2: command not found
configure:3396: $? = 127
configure:3385: gcc-4.2 -V >&5
./configure: line 3387: gcc-4.2: command not found
configure:3396: $? = 127
configure:3385: gcc-4.2 -qversion >&5
./configure: line 3387: gcc-4.2: command not found
configure:3396: $? = 127
configure:3416: checking whether the C compiler works
configure:3438: gcc-4.2    conftest.c  >&5
./configure: line 3440: gcc-4.2: command not found
configure:3442: $? = 127
configure:3480: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define CANONICALIZATION_FOR_MATHN 1
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:3485: error: in `/Users/jamie/.rvm/src/ruby-1.9.3-p0':
configure:3487: error: C compiler cannot create executables
See `config.log' for more details

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=x86_64-apple-darwin11.2.0
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_host=x86_64-apple-darwin11.2.0
ac_cv_prog_CC=gcc-4.2
ac_cv_target=x86_64-apple-darwin11.2.0

## ----------------- ##
## Output variables. ##
## ----------------- ##

ALLOCA=''
AR=''
ARCHFILE=''
ARCH_FLAG=''
AS=''
ASFLAGS=''
BASERUBY='ruby'
BUILTIN_ENCOBJS=''
BUILTIN_TRANSOBJS=''
BUILTIN_TRANSSRCS=''
CAPITARGET=''
CC='gcc-4.2'
CCDLFLAGS=''
CFLAGS=''
CHDIR=''
COMMON_HEADERS=''
COMMON_LIBS=''
COMMON_MACROS=''
COUTFLAG=''
CP=''
CPP=''
CPPFLAGS=''
CPPOUTFILE=''
CXX='g++-4.2'
CXXFLAGS=''
DEFS=''
DLDFLAGS=''
DLDLIBS=''
DLEXT2=''
DLEXT=''
DLLWRAP=''
DOT=''
DOXYGEN=''
ECHO_C='\c'
ECHO_N=''
ECHO_T=''
EGREP=''
ENABLE_SHARED=''
EXECUTABLE_EXTS=''
EXEEXT=''
EXPORT_PREFIX=''
EXTOUT=''
EXTSTATIC=''
GCC=''
GNU_LD=''
GREP=''
INSTALLDOC=''
INSTALL_DATA=''
INSTALL_PROGRAM=''
INSTALL_SCRIPT=''
LDFLAGS=''
LDSHARED=''
LDSHAREDXX=''
LIBEXT=''
LIBOBJS=''
LIBPATHENV=''
LIBPATHFLAG=''
LIBRUBY=''
LIBRUBYARG=''
LIBRUBYARG_SHARED=''
LIBRUBYARG_STATIC=''
LIBRUBY_A=''
LIBRUBY_ALIASES=''
LIBRUBY_DLDFLAGS=''
LIBRUBY_LDSHARED=''
LIBRUBY_RELATIVE=''
LIBRUBY_SO=''
LIBS=''
LINK_SO=''
LN_S=''
LTLIBOBJS=''
MAINLIBS=''
MAJOR='1'
MAKEDIRS=''
MAKEFILES=''
MANTYPE=''
MINIOBJS=''
MINIRUBY=''
MINOR='9'
MKDIR_P=''
NM=''
NROFF=''
NULLCMD=''
OBJCOPY=''
OBJDUMP=''
OBJEXT=''
OUTFLAG=''
PACKAGE=''
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_URL=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
PKG_CONFIG=''
PREP=''
RANLIB=''
RDOCTARGET=''
RI_BASE_NAME=''
RM=''
RMALL=''
RMDIR=''
RMDIRS=''
RPATHFLAG=''
RUBYW_BASE_NAME='rubyw'
RUBYW_INSTALL_NAME=''
RUBY_BASE_NAME='ruby'
RUBY_INSTALL_NAME=''
RUBY_PROGRAM_VERSION='1.9.3'
RUBY_RELEASE_DATE='2011-10-30'
RUBY_SO_NAME=''
RUNRUBY=''
SET_MAKE=''
SHELL='/bin/sh'
SOLIBS=''
STATIC=''
STRIP=''
SYMBOL_PREFIX=''
TEENY='1'
TEST_RUNNABLE=''
THREAD_MODEL=''
TRY_LINK=''
UNIVERSAL_ARCHNAMES=''
UNIVERSAL_INTS=''
USE_RUBYGEMS=''
WERRORFLAG=''
WINDRES=''
XCFLAGS=''
XLDFLAGS=''
XRUBY=''
XRUBY_LIBDIR=''
XRUBY_RUBYHDRDIR=''
XRUBY_RUBYLIBDIR=''
ac_ct_CC=''
ac_ct_CXX=''
ac_ct_OBJCOPY=''
ac_ct_OBJDUMP=''
arch=''
bindir='${exec_prefix}/bin'
build='x86_64-apple-darwin11.2.0'
build_alias=''
build_cpu='x86_64'
build_os='darwin11.2.0'
build_vendor='apple'
cflags=' ${optflags} ${debugflags} ${warnflags}'
configure_args=''
cppflags=''
cxxflags=' ${optflags} ${debugflags} ${warnflags}'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
debugflags=''
docdir='${datarootdir}/doc/${PACKAGE}'
dvidir='${docdir}'
exec=''
exec_prefix='NONE'
host='x86_64-apple-darwin11.2.0'
host_alias=''
host_cpu='x86_64'
host_os='darwin11.2.0'
host_vendor='apple'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
oldincludedir='/usr/include'
optflags=''
pdfdir='${docdir}'
prefix='/Users/jamie/.rvm/rubies/ruby-1.9.3-p0'
program_transform_name='s&^&&'
psdir='${docdir}'
ridir=''
ruby_pc=''
ruby_version=''
rubyhdrdir=''
rubylibprefix=''
rubyw_install_name=''
sbindir='${exec_prefix}/sbin'
setup=''
sharedstatedir='${prefix}/com'
sitearch=''
sitedir=''
sitehdrdir=''
sysconfdir='${prefix}/etc'
target='x86_64-apple-darwin11.2.0'
target_alias=''
target_cpu='x86_64'
target_os='darwin11.2.0'
target_vendor='apple'
try_header=''
vendordir=''
vendorhdrdir=''
warnflags=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define CANONICALIZATION_FOR_MATHN 1

configure: exit 77
Джейми Шембри
источник
Вы пробовали установку CC=/usr/bin/gcc?
мю слишком коротка
Что-нибудь интересное в config.logфайле?
мю слишком коротка
Хмм; У меня тот же gcc, и он отлично установлен :( Вторая вещь на SO, которая работала хорошо для меня, но не для кого-то другого; обычно это наоборот.
Дейв Ньютон
mu: Я добавил весь config.log сейчас. Ничего необычного в моих глазах. Это версия без символической ссылки. Дэйв: Ну, это компьютеры :-).
Джейми Шембри

Ответы:

553

Этот ответ редактировался несколько раз и теперь содержит несколько альтернативных решений. Сначала попробуйте простое решение «Редактировать 3».

Ruby 1.9.3-p125 и более поздние имеют официальную поддержку clang , поэтому, если вы устанавливаете такую ​​версию, вам не нужен GCC. Если вы устанавливаете старую версию Ruby, читайте дальше.

Чтобы скомпилировать Ruby с GCC, вам нужна версия GCC, не относящаяся к LLVM, которая больше не включена в XCode 4.2. Установите его самостоятельно (или временно перейдите на XCode 4.1), затем сделайте CC=/usr/local/bin/gcc-4.2 rvm install 1.9.3 --enable-shared(подставив путь к gcc, не относящемуся к LLVM).

Изменить: https://github.com/kennethreitz/osx-gcc-installer/downloads может помочь в установке GCC. Есть также некоторая информация, доступная при запуске rvm requirements.

Редактировать 2: Для более простого решения вы можете попробовать добавить --with-gcc=clangв аргументы configureдля Ruby использование clang вместо GCC.

Редактировать 3 : rvm install 1.9.3 --with-gcc=clangделает это для вас.

Примечание. В текущих версиях XCode вам необходимо устанавливать инструменты командной строки отдельно от меню XCode -> «Настройки» -> «Загрузки» -> «Компоненты». Это обязательное условие для любой компиляции с использованием XCode в командной строке, а не только Ruby.

Примечание 2: Если что-то не работает после выполнения этих шагов, попробуйте выполнить перезагрузку или повторный вход в систему, чтобы убедиться, что среда настроена правильно.

Примечание 3: версии Ruby до 1.9.3-p125 не всегда могут быть полностью совместимы с clang, поэтому тщательно протестируйте свое программное обеспечение, если используете решение «edit 3» в производственной среде.

Arkku
источник
3
GCC-10.7.pkg не сделал этого для меня - я думаю, что он может работать только на 10.7.0 (у меня работает 10.7.2), но, возможно, v2 pkg работает. В любом случае, --with-gcc = clang сделал это для меня! Спасибо!
Джейми Шембри
2
Спасибо, Edit 3 исправил это для меня тоже.
эхо
1
edit3 для меня не сработало (Xcode 4.2.1), но после установки readline rvm pkg install readlineи передачи дополнительного параметра rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usrон был успешно установлен.
Леандро
7
Как отмечено в этом ответе , есть другая альтернатива. rvm install 1.9.3 --with-gcc=clangработал для меня, но это не полностью поддерживается. Вы также можете использовать CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared, который, кажется, лучше поддерживается. Я имел обыкновение osx-gcc-installerполучать 4.2, я верю.
jrhorn424
2
Затем мне пришлось запустить источники очистки rvm --with-gcc = clang работал
Шейн
22

РЕЗЮМЕ СТЕКОВОГО ПЕРЕХОДА

Я пытался установить SiriProxy на чистой установке Lion на Xcode из App Store

Я продолжал получать ошибки, такие как: Предоставленный CC (/ usr / bin / gcc) основан на LLVM.

bash-3.2$ rvm install 1.9.3
ERROR: The provided CC(/usr/bin/gcc) is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`.


Через 2 дня наконец-то начал работать с этими двумя строками:

http://stackoverflow.com/questions/8000145/ruby-rvm-llvm-and-mysql

bash-3.2$ rvm get head
bash-3.2$ CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared

До этого я пробовал каждую статью stackoverflow на Ruby и Lion, поэтому, выполнив эти действия, можно было выполнить некоторую настройку, которая помогла 2 вышеуказанным шагам:

Вещи, которые я пробовал, включали:

Запуск Install Xcode.app (я скачал из App Store - запуск этого делает дальнейшую установку)

Установка

https://github.com/kennethreitz/osx-gcc-installer/downloads may help for installing GCC.

Настройте CC в

подробнее /Users//.bash_profile

bash-3.2$ more /Users/<USERNAME>/.bash_profile 
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
export CC=/usr/share/TargetConfigs/bin/gcc

Первая строка пришла из инструкции по установке SiriProxy https://github.com/plamoni/SiriProxy

2-я строка экспорта CC никогда не работала. Так что не добавляйте.

У него было много версий, каждая из которых указывала, что я наконец использовал CC = / usr / bin / gcc-4.2 rvm install 1.9.3 --enable-shared

brian.clear
источник
Ты пробовал rvm install 1.9.3 --with-gcc=clang?
Арку
CC = / usr / bin / gcc-4.2 rvm install 1.9.3 --enable-shared, работал на Snow Leopard с Xcode 4.2, спасибо!
Флорин
Я бы посоветовал против rvm get headдругих пользователей. Это вытягивает из головы git-репо и может быть нестабильным. rvm get latestзахватывает последнюю стабильную версию. Если это не решит эту проблему для вас, rvm install 1.9.3 --with-gcc=clangсначала стоит попробовать, так как менее вероятно появление побочных эффектов
Эрик Ху,
18
rvm install 1.9.3 --with-gcc=clang

Работал на меня. Это было на новом Lion с Xcode (не было "традиционного" GCC).

Майкл Нил
источник
8

Хорошо, мне не нужно было устанавливать gcc-4.2 отдельно, я использовал тот, который поставляется в XCode, но у меня была проблема, из-за --with-gcc=clangкоторой не проходили. Добавил следующую строку в мой .rvmrc:

export rvm_configure_flags="--with-gcc=clang"

Работал как требуется

rvm upgrade ruby-1.9.2-p290 ruby-1.9.3-p125
...
ruby-1.9.3-p125 - #extracted to /Users/leif/.rvm/src/ruby-1.9.3-p125 (already extracted)
ruby-1.9.3-p125 - #configuring
ruby-1.9.3-p125 - #compiling 
ruby-1.9.3-p125 - #installing
....
Successfully migrated ruby-1.9.2-p290 to ruby-1.9.3-p125
Upgrade complete!

bang:$ ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]

Обратите внимание, мой env следующий

Операционные системы

Darwin bang.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64

XCode

XCode 4.2.1 Build 4D502

НКУ

i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)

lrwxr-xr-x  1 root  wheel  12 22 Dec 21:30 /usr/bin/gcc -> llvm-gcc-4.2

Я попытался использовать ответ на передачу --with-gcc=clangв командной строке команды обновления rvm, но это не сработало, похоже, не получило пропуск от rvm для настройки. Очевидно, проблема в RVM аргументов, не передаваемых для настройки, исправлена ​​(в коммите 1641ceb0в 2011 году), но даже после обновления RVM до последнего (через rvm get latest) он все еще не был передан. Использование .rvmrcфайла было единственным способом, которым он работал бы для меня.

Лейф
источник
4

Только отвечая здесь, потому что я не могу голосовать / комментировать комментарий Леандро на исходный вопрос. Потратив несколько дней, пытаясь заставить это работать, Его решение, наконец, заставило его работать на меня:

edit3 не работал для меня (Xcode 4.2.1), но после установки readline

 rvm pkg install readline 

и передавая дополнительный параметр

rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usr 

он успешно установлен.

Дэйв Смайл
источник
4

Я предлагаю brew от, rvm requirementsя установил это, в то время как я уже установил последнюю версию Xcode 4.4 (4F250)

Homebrew:

Если вы используете Homebrew, вы можете установить apple-gcc42 и необходимые библиотеки из homebrew / dupes:

  brew update
  brew tap homebrew/dupes
  brew install autoconf automake apple-gcc42
  rvm pkg install openssl

Это может жить бок о бок с существующей установкой Xcode 4.2+ или средствами командной строки для Xcode.

И вы всегда можете сделать

$ brew cleanup [specific-formula or without-formula to clean all]

а потом при необходимости

$ brew remove apple-gcc42

или любую другую установленную программу через brew (см. документацию для объяснения этих двух команд), также вы можете

/join #machomebrew

на freenode (не #homebrew, я думаю, что это настоящее домашнее пиво и связанные с ним)

tyoc213
источник
1

Просто скажите сконфигурировать, чтобы использовать gcc вместо gcc-4.2 на Lion (Mac OSX 10.7.2)

Компиляция ruby-1.9.3 из исходного кода

Вы можете увидеть в выходной конфигурации:

configure:3385: gcc-4.2 --version >&5
./configure: line 3387: gcc-4.2: command not found

Если вы config.logищете, вы видите:

CC='gcc-4.2'

У меня была такая же проблема, поэтому я запускаю configure, выбирая gccвместо gcc-4.2:

> CC=gcc ./configure --prefix=/usr/local 
> make
> make install
> ruby --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]

(Я не уверен, что configure: WARNING: unrecognized options: --with-libyaml-dirв твоих результатах, я думаю, ты понял это?)

stefanB
источник
1
Обратите внимание, что OP-символ ссылается gccна gcc-4.2, что делает команду доступной, но выявляет основную проблему, которая gccбыла на самом деле llvm-gcc(и не был установлен GCC без LLVM).
Арку
1

Скачайте и используйте JewelryBox Официальный графический интерфейс RVM для Mac OS. Внутри «Добавить Ruby» выберите вашу версию Ruby. Перед установкой убедитесь, что вы выбрали «Использовать Clang» так же, как предлагает Edit 3 принятого ответа в этой теме.

Радж Паван Гумдал
источник
1

Возникла та же проблема, так как я использую xcode 4.3.2 и Lion 10.7.3, и я сменил ноутбук несколько дней назад, а затем перенес все содержимое со старого ноутбука. По-видимому, некоторые двоичные файлы не переносятся, например, gcc.

И тогда я сделал следующее:

  1. Удалите Xcode 4.3.2, перетащив его в корзину
  2. Загрузите установочный пакет gcc v2 со страницы https://github.com/kennethreitz/osx-gcc-installer/downloads
  3. Установить его
  4. Тогда у меня rvm install 1.9.2 работает
Леон Гуан
источник
1

Убедитесь, что вы на последней версии. При использовании rvm 1.10.0 у меня ничего не вышло. Кроме того, rvm get latestошибочно сказал мне "У вас уже есть последняя версия!" поэтому мне пришлось rvm implodeпереустановить rvm (1.15.4), который автоматически дал мне ruby ​​1.9.3-p194 без суеты.

Джаред Бек
источник
1

Для меня ничего из вышеперечисленного не сработало как есть. Что в итоге сработало

rvm get head
rm -rf  /usr/local/lib/libsqlite3*
CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared

Особая хитрость заключалась в том, чтобы удалить libsqllite, который, согласно журналу сборки, пропускал требуемую 64-битную архитектуру или что-то в этом роде.

raimohanska
источник
1

Более свежее простое решение - просто использовать railsinstaller.org . В него встроен osx-gcc, поэтому его просто загрузить и установить. После недавнего вмешательства в новую оболочку я приземлился, осматривая окружение моих рельсов. Попробовав многие из вышеперечисленных решений (которые, возможно, уже работали ранее), я обнаружил, выполнив следующие шаги, чтобы все заработало снова:

  • взломать вашу локальную среду, (думаю, что RVM имплозировать и удалить XCode)
  • скачать файл pkg с railsinstaller.org
  • дважды щелкните и установите

Инсталлятор занимает некоторое время, учитывая, что он устанавливает git, rvm, homebrew и кучу других вкусностей.

Каушик Гопал
источник
1

С brew вы можете установить ruby ​​в одну строку:

brew install ruby193

Работал из коробки для меня на OS X 10.8.4. (Если вы хотите 2.0, просто запустите brew install rubyвместо)

В целом, brew search rubyпоказывает различные доступные репозитории, и если вы хотите получить действительно конкретные, вы можете использовать brew versions rubyи проверить конкретную версию вместо этого.

Вам могут понадобиться инструменты xcode и командной строки, но brew установит все это за вас.

Nils
источник
-1

Пытаться:

rvm install 1.9.3 --force-autoconf

Джеймс
источник