Большинство вопросов относительно этой проблемы связано с отсутствием 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
файле?Ответы:
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» в производственной среде.
источник
rvm pkg install readline
и передачи дополнительного параметраrvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usr
он был успешно установлен.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, я верю.РЕЗЮМЕ СТЕКОВОГО ПЕРЕХОДА
Я пытался установить SiriProxy на чистой установке Lion на Xcode из App Store
Я продолжал получать ошибки, такие как: Предоставленный CC (/ usr / bin / gcc) основан на LLVM.
Через 2 дня наконец-то начал работать с этими двумя строками:
До этого я пробовал каждую статью stackoverflow на Ruby и Lion, поэтому, выполнив эти действия, можно было выполнить некоторую настройку, которая помогла 2 вышеуказанным шагам:
Вещи, которые я пробовал, включали:
Запуск Install Xcode.app (я скачал из App Store - запуск этого делает дальнейшую установку)
Установка
Настройте CC в
подробнее /Users//.bash_profile
Первая строка пришла из инструкции по установке SiriProxy https://github.com/plamoni/SiriProxy
2-я строка экспорта CC никогда не работала. Так что не добавляйте.
У него было много версий, каждая из которых указывала, что я наконец использовал CC = / usr / bin / gcc-4.2 rvm install 1.9.3 --enable-shared
источник
rvm install 1.9.3 --with-gcc=clang
?rvm get head
других пользователей. Это вытягивает из головы git-репо и может быть нестабильным.rvm get latest
захватывает последнюю стабильную версию. Если это не решит эту проблему для вас,rvm install 1.9.3 --with-gcc=clang
сначала стоит попробовать, так как менее вероятно появление побочных эффектовРаботал на меня. Это было на новом Lion с Xcode (не было "традиционного" GCC).
источник
Хорошо, мне не нужно было устанавливать gcc-4.2 отдельно, я использовал тот, который поставляется в XCode, но у меня была проблема, из-за
--with-gcc=clang
которой не проходили. Добавил следующую строку в мой.rvmrc
:Работал как требуется
Обратите внимание, мой env следующий
Операционные системы
XCode
НКУ
Я попытался использовать ответ на передачу
--with-gcc=clang
в командной строке команды обновления rvm, но это не сработало, похоже, не получило пропуск от rvm для настройки. Очевидно, проблема в RVM аргументов, не передаваемых для настройки, исправлена (в коммите1641ceb0
в 2011 году), но даже после обновления RVM до последнего (черезrvm get latest
) он все еще не был передан. Использование.rvmrc
файла было единственным способом, которым он работал бы для меня.источник
Edit3: не работает, попробуйте установить gcc отдельно от https://github.com/kennethreitz/osx-gcc-installer/downloads
источник
Только отвечая здесь, потому что я не могу голосовать / комментировать комментарий Леандро на исходный вопрос. Потратив несколько дней, пытаясь заставить это работать, Его решение, наконец, заставило его работать на меня:
edit3 не работал для меня (Xcode 4.2.1), но после установки readline
и передавая дополнительный параметр
он успешно установлен.
источник
Вы можете попробовать установить инструменты командной строки для XCode , он включает в себя GCC, LLMV и другие инструменты, которые исключены в XCode 4.2 и выше.
источник
Я предлагаю brew от,
rvm requirements
я установил это, в то время как я уже установил последнюю версию Xcode 4.4 (4F250)И вы всегда можете сделать
а потом при необходимости
или любую другую установленную программу через brew (см. документацию для объяснения этих двух команд), также вы можете
на freenode (не #homebrew, я думаю, что это настоящее домашнее пиво и связанные с ним)
источник
Просто скажите сконфигурировать, чтобы использовать gcc вместо gcc-4.2 на Lion (Mac OSX 10.7.2)
Компиляция ruby-1.9.3 из исходного кода
Вы можете увидеть в выходной конфигурации:
Если вы
config.log
ищете, вы видите:У меня была такая же проблема, поэтому я запускаю
configure
, выбираяgcc
вместоgcc-4.2
:(Я не уверен, что
configure: WARNING: unrecognized options: --with-libyaml-dir
в твоих результатах, я думаю, ты понял это?)источник
gcc
наgcc-4.2
, что делает команду доступной, но выявляет основную проблему, котораяgcc
была на самом делеllvm-gcc
(и не был установлен GCC без LLVM).Скачайте и используйте JewelryBox Официальный графический интерфейс RVM для Mac OS. Внутри «Добавить Ruby» выберите вашу версию Ruby. Перед установкой убедитесь, что вы выбрали «Использовать Clang» так же, как предлагает Edit 3 принятого ответа в этой теме.
источник
Возникла та же проблема, так как я использую xcode 4.3.2 и Lion 10.7.3, и я сменил ноутбук несколько дней назад, а затем перенес все содержимое со старого ноутбука. По-видимому, некоторые двоичные файлы не переносятся, например, gcc.
И тогда я сделал следующее:
источник
Убедитесь, что вы на последней версии. При использовании rvm 1.10.0 у меня ничего не вышло. Кроме того,
rvm get latest
ошибочно сказал мне "У вас уже есть последняя версия!" поэтому мне пришлосьrvm implode
переустановить rvm (1.15.4), который автоматически дал мне ruby 1.9.3-p194 без суеты.источник
Для меня ничего из вышеперечисленного не сработало как есть. Что в итоге сработало
Особая хитрость заключалась в том, чтобы удалить libsqllite, который, согласно журналу сборки, пропускал требуемую 64-битную архитектуру или что-то в этом роде.
источник
Более свежее простое решение - просто использовать railsinstaller.org . В него встроен osx-gcc, поэтому его просто загрузить и установить. После недавнего вмешательства в новую оболочку я приземлился, осматривая окружение моих рельсов. Попробовав многие из вышеперечисленных решений (которые, возможно, уже работали ранее), я обнаружил, выполнив следующие шаги, чтобы все заработало снова:
Инсталлятор занимает некоторое время, учитывая, что он устанавливает git, rvm, homebrew и кучу других вкусностей.
источник
С brew вы можете установить ruby в одну строку:
Работал из коробки для меня на OS X 10.8.4. (Если вы хотите 2.0, просто запустите
brew install ruby
вместо)В целом,
brew search ruby
показывает различные доступные репозитории, и если вы хотите получить действительно конкретные, вы можете использоватьbrew versions ruby
и проверить конкретную версию вместо этого.Вам могут понадобиться инструменты xcode и командной строки, но brew установит все это за вас.
источник
Пытаться:
источник