A maioria das perguntas sobre esse problema ocorre devido à falta do Xcode; Eu tenho o Xcode 4.2 instalado.
Tentativa de instalação:
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
O GCC está disponível:
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
Baseado no config.log (publicado na parte inferior devido ao tamanho), tentei ligar o gcc-4.2 para o gcc e depois instalar:
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 .
Então eu provavelmente poderia pegar o gcc em outro lugar, mas estou principalmente preocupado com o motivo disso estar acontecendo. Instalar o Xcode não deve ser suficiente?
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
arquivo?Respostas:
O Ruby 1.9.3-p125 e versões posteriores têm suporte oficial ao clang , portanto, se você estiver instalando uma versão desse tipo, não precisará do GCC. Se você estiver instalando uma versão mais antiga do Ruby, continue lendo.
Para compilar o Ruby com o GCC, você precisa de uma versão não-LLVM do GCC, que não está mais incluída no XCode 4.2. Instale você mesmo (ou faça o downgrade temporariamente para o XCode 4.1) e, em seguida, instale
CC=/usr/local/bin/gcc-4.2 rvm install 1.9.3 --enable-shared
(substituindo o caminho para o seu gcc não LLVM).Editar: https://github.com/kennethreitz/osx-gcc-installer/downloads pode ajudar na instalação do GCC. Também há algumas informações disponíveis executando
rvm requirements
.Editar 2: para uma solução mais fácil, você pode tentar adicionar
--with-gcc=clang
aos argumentosconfigure
para Ruby usar clang em vez de GCC.Editar 3 :
rvm install 1.9.3 --with-gcc=clang
faz isso por você.Nota: Nas versões atuais do XCode, você precisa instalar as ferramentas de linha de comando separadamente no menu XCode -> Preferências -> Downloads -> Componentes. Este é um pré-requisito para fazer qualquer compilação com o XCode na linha de comando, não apenas Ruby.
Nota 2: Se algo não funcionar após seguir as etapas, tente fazer uma reinicialização ou re-login para garantir que o ambiente seja definido corretamente.
Nota 3: As versões Ruby anteriores a 1.9.3-p125 nem sempre podem ser totalmente compatíveis com o clang, portanto teste seu software minuciosamente se estiver usando a solução "edit 3" em um ambiente de produção.
fonte
rvm pkg install readline
e passar um parâmetro extra,rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usr
ele foi instalado com sucesso.rvm install 1.9.3 --with-gcc=clang
funcionou para mim, mas não é totalmente suportado. Você também pode usarCC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared
, o que parece ser melhor suportado. Eu costumavaosx-gcc-installer
receber 4.2, acredito.RESUMO DO ESTOCAMENTO DE PILHA
Eu estava tentando instalar o SiriProxy em uma instalação limpa do Lion no Xcode da App Store
Eu continuava recebendo erros como: O CC fornecido (/ usr / bin / gcc) é baseado em LLVM.
Após 2 dias, finalmente consegui trabalhar com estas duas linhas:
Antes disso, eu havia tentado todos os artigos sobre o stackoverflow sobre Ruby e Lion. Isso pode ter feito alguma configuração que ajudou as duas etapas acima a funcionar:
As coisas que tentei incluíam:
Execução do Install Xcode.app (eu baixei da App Store - executar esta instalação)
Instalando
Configurar CC no
mais /Usuários//.bash_profile
A primeira linha veio das instruções de instalação do SiriProxy https://github.com/plamoni/SiriProxy
2ª linha de exportação CC nunca parecia funcionar. Então não adicione.
Ele tinha muitas versões em cada apontador. Finalmente usei o CC = / usr / bin / gcc-4.2 rvm install 1.9.3 --enable-shared
fonte
rvm install 1.9.3 --with-gcc=clang
?rvm get head
outros usuários. Isso é retirado da cabeça do repositório git e pode não ser estável.rvm get latest
agarra a versão estável mais recente. Se isso não corrigir esse problema para você, orvm install 1.9.3 --with-gcc=clang
vale a pena um tiro primeira vez que é menos provável de apresentar efeitos colateraisTrabalhou para mim. Este foi um novo Leão com o Xcode (não tinha um GCC "tradicional").
fonte
OK Não tive que instalar o gcc-4.2 separadamente, usei o que foi entregue no XCode, mas tive um problema em que o problema
--with-gcc=clang
não estava sendo resolvido. Adicionada a seguinte linha ao meu.rvmrc
:Trabalhou conforme necessário
Observe que meu env é o seguinte
OS
XCode
GCC
Tentei usar a resposta de passar
--with-gcc=clang
na linha de comando para o comando rvm upgrade, mas não funcionou, não parecia ser aprovado pelo rvm para configurar. Aparentemente, o problema no RVM de argumentos que não estão sendo transmitidos para configuração foi corrigido (na confirmação1641ceb0
em 2011), mas mesmo após a atualização do RVM para o mais recente (viarvm get latest
), ele ainda não foi aprovado. Usar o.rvmrc
arquivo era a única maneira que funcionaria para mim.fonte
Edit3: não funciona. Tente instalar o gcc separadamente em https://github.com/kennethreitz/osx-gcc-installer/downloads
fonte
Apenas respondendo aqui, porque não posso votar / comentar o comentário de leandro na pergunta original. Depois de passar dias tentando fazer isso funcionar, sua solução foi a que finalmente conseguiu que funcionasse para mim:
edit3 não funcionou para mim (Xcode 4.2.1), mas depois de instalar o readline
e passando um parâmetro extra
instalado com sucesso.
fonte
Você pode tentar instalar o Command Line Tools para o Xcode , que inclui o GCC, o LLMV e outras ferramentas excluídas no Xcode 4.2 e superior.
fonte
Vou sugerir bebida de
rvm requirements
eu ter instalado enquanto eu já instalou mais recente Xcode Versão 4.4 (4F250)E você sempre pode fazer
e então se necessário
ou qualquer outro programa instalado através do brew (consulte os documentos para obter uma explicação sobre esses 2 comandos), também é possível
no freenode (não #homebrew eu acho que é uma cerveja caseira de verdade e relacionada)
fonte
Apenas diga ao configure para usar o gcc em vez do gcc-4.2 no Lion (Mac OSX 10.7.2)
Compilando ruby-1.9.3 da fonte
Você pode ver na sua saída de configuração:
Se você pesquisar,
config.log
verá:Eu tive o mesmo problema, então corro
configure
enquanto seleciono, emgcc
vez degcc-4.2
:(Não sei ao certo qual é a
configure: WARNING: unrecognized options: --with-libyaml-dir
sua saída, acho que você descobriu isso?)fonte
gcc
paragcc-4.2
, o que fez o comando disponíveis, mas revelou o problema subjacente que a suagcc
era na verdadellvm-gcc
(e não não-LLVM GCC foi instalado).Baixe e use o JewelryBox A GUI oficial do RVM para Mac OS. Dentro de "Adicionar Ruby", selecione sua versão do Ruby. Antes de instalar, certifique-se de selecionar "Usar clang", como sugere o Edit 3 da resposta aceita neste tópico.
fonte
Tenho o mesmo problema, pois estou usando o xcode 4.3.2 e o Lion 10.7.3, e troquei meu laptop há alguns dias e depois transfiro todo o conteúdo do laptop antigo. Aparentemente, alguns dos binários não são transferidos, como o gcc.
E então eu fiz o seguinte:
fonte
Verifique se você está no mais recente rvm. Usando o rvm 1.10.0, nenhuma das opções acima funcionou para mim. Além disso,
rvm get latest
me disse erroneamente "Você já tem a versão mais recente!" então eu tive quervm implode
reinstalar o rvm (1.15.4), o que automaticamente me deu o ruby 1.9.3-p194 sem problemas.fonte
Para mim, nenhuma das opções acima funcionou como está. O que finalmente funcionou foi
O truque especial foi remover o libsqllite que, de acordo com o log de compilação, estava faltando a arquitetura de 64 bits necessária ou algo assim.
fonte
Uma solução mais simples e mais recente é usar apenas o railsinstaller.org . Possui o osx-gcc, portanto é tão fácil quanto baixar e instalar. Depois de me meter com uma nova concha recentemente, eu acabei atrapalhando meu ambiente de trilhos. Depois de tentar muitas das soluções acima (que funcionavam anteriormente, devo acrescentar), parei de seguir as etapas abaixo para fazer as coisas funcionarem novamente:
O instalador leva algum tempo, considerando que instala git, rvm, homebrew e muitos outros itens.
fonte
Com o brew, você pode instalar o ruby em uma linha:
Trabalhou fora da caixa para mim no OS X 10.8.4. (Se você quiser 2.0, basta executar
brew install ruby
)De maneira mais geral,
brew search ruby
mostra os diferentes repositórios disponíveis e, se você quiser ser realmente específico, poderá usarbrew versions ruby
e fazer check-out de uma versão específica.Você pode precisar de xcode e ferramentas de linha de comando, mas a configuração do brew verificará tudo isso para você.
fonte
Experimentar:
fonte