La plupart des questions concernant ce problème sont dues à Xcode manquant; J'ai installé Xcode 4.2.
Tentative d'installation:
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 est disponible:
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
Basé sur config.log (affiché en bas en raison de la taille), j'ai essayé de lier symétriquement gcc-4.2 à gcc puis d'installer:
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 .
Je pourrais donc probablement prendre gcc ailleurs, mais je me demande surtout pourquoi cela se produit. L'installation de Xcode ne devrait-elle pas suffire?
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
dossier?Réponses:
Ruby 1.9.3-p125 et versions ultérieures ont un support officiel pour clang , donc si vous installez une telle version, vous ne devriez pas avoir besoin de GCC. Si vous installez une ancienne version de Ruby, lisez la suite.
Pour compiler Ruby avec GCC, vous avez besoin d'une version non LLVM de GCC, qui n'est plus incluse avec XCode 4.2. Installez-le vous-même (ou rétrogradez temporairement vers XCode 4.1), puis faites
CC=/usr/local/bin/gcc-4.2 rvm install 1.9.3 --enable-shared
(en remplaçant le chemin vers votre gcc non LLVM).Modifier: https://github.com/kennethreitz/osx-gcc-installer/downloads peut aider à l'installation de GCC. Il existe également des informations disponibles en exécutant
rvm requirements
.Edit 2: Pour une solution plus simple, vous pouvez essayer d'ajouter
--with-gcc=clang
aux arguments deconfigure
Ruby pour utiliser clang au lieu de GCC.Modifier 3 :
rvm install 1.9.3 --with-gcc=clang
fait cela pour vous.Remarque: Avec les versions actuelles de XCode, vous devez installer les outils de ligne de commande séparément du menu XCode -> Préférences -> Téléchargements -> Composants. C'est un pré-requis pour faire toute compilation avec XCode sur la ligne de commande, pas seulement Ruby.
Remarque 2: si quelque chose ne fonctionne pas après avoir suivi les étapes, essayez de redémarrer ou de vous reconnecter pour vous assurer que l'environnement est correctement configuré.
Remarque 3: les versions de Ruby antérieures à 1.9.3-p125 peuvent ne pas toujours être entièrement compatibles avec clang, alors testez votre logiciel soigneusement si vous utilisez la solution «edit 3» dans un environnement de production.
la source
rvm pkg install readline
et passé un paramètre supplémentaire,rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usr
il s'est installé avec succès.rvm install 1.9.3 --with-gcc=clang
travaillé pour moi, mais il n'est pas entièrement pris en charge. Vous pouvez également utiliserCC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared
ce qui semble mieux pris en charge. J'avais l'habitudeosx-gcc-installer
d'obtenir 4.2, je crois.RÉSUMÉ DU DÉBORDEMENT DE LA PILE
J'essayais d'installer SiriProxy sur une installation Lion propre sur Xcode depuis l'App Store
J'ai continué à recevoir des erreurs comme: Le CC fourni (/ usr / bin / gcc) est basé sur LLVM.
Après 2 jours, il a finalement réussi à fonctionner avec ces deux lignes:
Avant cela, j'avais essayé tous les articles de stackoverflow sur Ruby et Lion, ce faisant, ils ont peut-être effectué une configuration qui a aidé les deux étapes ci-dessus à fonctionner:
J'ai essayé les choses suivantes:
Exécution de l'installation de Xcode.app (j'avais téléchargé depuis l'App Store - l'exécution de cette opération fait une autre installation)
L'installation
Configurer CC dans
plus /Users//.bash_profile
La première ligne provient de l'instruction d'installation de SiriProxy https://github.com/plamoni/SiriProxy
L'exportation de deuxième ligne CC n'a jamais semblé fonctionner. N'ajoutez donc pas.
Il y avait de nombreuses versions pointant chacune J'ai finalement utilisé CC = / usr / bin / gcc-4.2 rvm install 1.9.3 --enable-shared
la source
rvm install 1.9.3 --with-gcc=clang
?rvm get head
aux autres utilisateurs. Cela tire de la tête du dépôt git et peut ne pas être stable.rvm get latest
saisit la dernière version stable. Si cela ne résout pas ce problème pour vous, celarvm install 1.9.3 --with-gcc=clang
vaut le coup d'abord car il est moins susceptible d'introduire des effets secondairesA travaillé pour moi. C'était sur un tout nouveau Lion avec Xcode (sans GCC "traditionnel").
la source
OK, je n'ai pas eu à installer gcc-4.2 séparément, j'ai utilisé celui fourni dans XCode, mais j'ai eu un problème où le
--with-gcc=clang
ne passait pas. Ajout de la ligne suivante à mon.rvmrc
:A travaillé au besoin
Notez que mon env est le suivant
OS
XCode
GCC
J'ai essayé d'utiliser la réponse de passer
--with-gcc=clang
sur la ligne de commande à la commande de mise à niveau rvm, mais cela n'a pas fonctionné, il ne semble pas obtenir de passer de rvm à configurer. Apparemment, le problème dans RVM des arguments non transmis à configurer est résolu (dans la validation1641ceb0
en 2011), mais même après la mise à niveau de RVM vers la dernière (viarvm get latest
), il n'a toujours pas été passé. L'utilisation du.rvmrc
fichier était la seule façon pour moi de fonctionner.la source
Edit3: ne fonctionne pas, essayez d'installer le gcc séparément de https://github.com/kennethreitz/osx-gcc-installer/downloads
la source
Je ne réponds ici que parce que je ne peux pas voter / commenter le commentaire de leandro sur la question d'origine. Après avoir passé des jours à essayer de faire en sorte que cela fonctionne, sa solution était celle qui l'a finalement fait fonctionner pour moi:
edit3 n'a pas fonctionné pour moi (Xcode 4.2.1), mais après l'installation de readline
et en passant un paramètre supplémentaire
il a installé avec succès.
la source
Vous pouvez essayer d'installer les outils de ligne de commande pour Xcode , il comprend GCC, LLMV et d'autres outils exclus dans Xcode 4.2 et supérieur.
la source
Je suggérerai une infusion à partir de l'
rvm requirements
avoir installé alors que j'ai déjà installé la dernière version de Xcode 4.4 (4F250)Et vous pouvez toujours faire
puis si nécessaire
ou tout autre programme installé via brew (voir la documentation pour des explications sur ces 2 commandes), vous pouvez également
sur freenode (pas #homebrew je pense que c'est de la vraie bière homebrew et assimilée)
la source
Dites simplement à configure d'utiliser gcc au lieu de gcc-4.2 sur Lion (Mac OSX 10.7.2)
Compilation de ruby-1.9.3 à partir de la source
Vous pouvez voir dans votre sortie de configuration:
Si vous recherchez le que
config.log
vous voyez:J'ai eu le même problème, alors je cours
configure
en sélectionnantgcc
au lieu degcc-4.2
:(Je ne sais pas quel est le contenu
configure: WARNING: unrecognized options: --with-libyaml-dir
de votre sortie, je suppose que vous l'avez compris?)la source
gcc
versgcc-4.2
, ce qui a rendu la commande disponible mais a révélé le problème sous-jacent que leurgcc
était réellementllvm-gcc
(et qu'aucun GCC non LLVM n'était installé).Téléchargez et utilisez JewelryBox L'interface graphique RVM officielle pour Mac OS. Dans "Ajouter Ruby", sélectionnez votre version de Ruby. Avant l'installation, assurez-vous de sélectionner "Utiliser Clang" comme le suggère l' édition 3 de la réponse acceptée dans ce fil.
la source
J'ai le même problème, car j'utilise xcode 4.3.2 et Lion 10.7.3, et j'ai changé mon ordinateur portable il y a quelques jours, puis transférer tout le contenu de l'ancien ordinateur portable. Apparemment, certains binaires ne sont pas transférés, comme gcc.
Et puis j'ai fait ce qui suit:
la source
Assurez-vous que vous êtes sur le dernier rvm. En utilisant rvm 1.10.0, rien de ce qui précède n'a fonctionné pour moi. De plus,
rvm get latest
m'a dit par erreur "Vous avez déjà la dernière version!" j'ai donc dûrvm implode
réinstaller rvm (1.15.4), ce qui m'a donné automatiquement ruby 1.9.3-p194 sans problème.la source
Pour moi, aucun des éléments ci-dessus n'a fonctionné tel quel. Ce qui a finalement fonctionné était
L'astuce spéciale était de supprimer la libsqllite qui, selon le journal de construction, manquait l'architecture 64 bits requise ou quelque chose.
la source
Une solution plus simple et plus récente consiste à utiliser simplement railsinstaller.org . Il contient osx-gcc, il est donc aussi simple qu'un téléchargement et une installation. Après avoir récemment manipulé une nouvelle coque, j'ai atterri dans l'environnement de mon rail. Après avoir essayé plusieurs des solutions ci-dessus (qui fonctionnaient auparavant, je pourrais ajouter), j'ai atterri en suivant les étapes ci-dessous pour que les choses fonctionnent à nouveau:
Le programme d'installation prend un certain temps étant donné qu'il installe git, rvm, homebrew et un tas d'autres goodies.
la source
Avec l'infusion, vous pouvez installer le rubis dans une doublure:
A travaillé pour moi sur OS X 10.8.4. (Si vous voulez 2.0, exécutez simplement à la
brew install ruby
place)Plus généralement,
brew search ruby
vous montre les différents dépôts disponibles, et si vous voulez devenir vraiment spécifique, vous pouvez utiliserbrew versions ruby
et extraire une version spécifique à la place.Vous pourriez avoir besoin de xcode et d'outils de ligne de commande, mais la configuration de brew vérifiera tout cela pour vous.
la source
Essayer:
la source