Impossible d'installer Ruby sous Lion avec RVM - Problèmes avec GCC

268

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
Jamie Schembri
la source
Avez-vous essayé de régler CC=/usr/bin/gcc?
mu est trop court
Quelque chose d'intéressant dans le config.logdossier?
mu est trop court
Hmm; J'ai le même gcc, et il s'est bien installé :( Deuxième chose sur SO qui a bien fonctionné pour moi mais pas pour quelqu'un d'autre; généralement c'est le contraire.
Dave Newton
mu: J'ai ajouté tout le config.log maintenant. Rien d'inhabituel à mes yeux. Ceci est la version sans lien symbolique. Dave: Eh bien, ce sont les ordinateurs :-).
Jamie Schembri

Réponses:

553

Cette réponse a été modifiée plusieurs fois et contient désormais plusieurs solutions alternatives . Essayez d'abord la solution simple «Edit 3».

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 faitesCC=/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écutantrvm requirements .

Edit 2: Pour une solution plus simple, vous pouvez essayer d'ajouter --with-gcc=clangaux arguments de configureRuby pour utiliser clang au lieu de GCC.

Modifier 3 : rvm install 1.9.3 --with-gcc=clangfait 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.

Arkku
la source
3
Le GCC-10.7.pkg ne l'a pas fait pour moi - je pense qu'il ne peut fonctionner que sur 10.7.0 (j'utilise 10.7.2), mais peut-être que le pack v2 fonctionne. Quoi qu'il en soit, --with-gcc = clang l'a fait pour moi! Merci!
Jamie Schembri
2
Merci, Edit 3 l'a corrigé pour moi aussi.
écho
1
edit3 n'a pas fonctionné pour moi (Xcode 4.2.1), mais après avoir installé readline rvm pkg install readlineet passé un paramètre supplémentaire, rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usril s'est installé avec succès.
leandro
7
Comme indiqué dans cette réponse , il existe une autre alternative. rvm install 1.9.3 --with-gcc=clangtravaillé pour moi, mais il n'est pas entièrement pris en charge. Vous pouvez également utiliser CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-sharedce qui semble mieux pris en charge. J'avais l'habitude osx-gcc-installerd'obtenir 4.2, je crois.
jrhorn424
2
J'ai dû exécuter des sources de nettoyage rvm puis - avec-gcc = clang a fonctionné
Shane
22

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.

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`.


Après 2 jours, il a finalement réussi à fonctionner avec ces deux lignes:

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

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

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

Configurer CC dans

plus /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

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

brian.clear
la source
As-tu essayé rvm install 1.9.3 --with-gcc=clang?
Arkku
CC = / usr / bin / gcc-4.2 rvm install 1.9.3 --enable-shared, a travaillé sur Snow Leopard avec Xcode 4.2, merci!
Florin
Je déconseille rvm get headaux autres utilisateurs. Cela tire de la tête du dépôt git et peut ne pas être stable. rvm get latestsaisit la dernière version stable. Si cela ne résout pas ce problème pour vous, cela rvm install 1.9.3 --with-gcc=clangvaut le coup d'abord car il est moins susceptible d'introduire des effets secondaires
Eric Hu
18
rvm install 1.9.3 --with-gcc=clang

A travaillé pour moi. C'était sur un tout nouveau Lion avec Xcode (sans GCC "traditionnel").

Michael Neale
la source
8

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=clangne passait pas. Ajout de la ligne suivante à mon .rvmrc:

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

A travaillé au besoin

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]

Notez que mon env est le suivant

OS

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

GCC

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

J'ai essayé d'utiliser la réponse de passer --with-gcc=clangsur 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 validation 1641ceb0en 2011), mais même après la mise à niveau de RVM vers la dernière (via rvm get latest), il n'a toujours pas été passé. L'utilisation du .rvmrcfichier était la seule façon pour moi de fonctionner.

Leif
la source
4

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

 rvm pkg install readline 

et en passant un paramètre supplémentaire

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

il a installé avec succès.

Dave Smylie
la source
4

Je suggérerai une infusion à partir de l' rvm requirementsavoir installé alors que j'ai déjà installé la dernière version de Xcode 4.4 (4F250)

Homebrew:

Si vous utilisez Homebrew, vous pouvez installer le apple-gcc42 et les bibliothèques requises depuis homebrew / dupes:

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

Cela peut coexister avec une installation existante de Xcode 4.2+ ou des outils de ligne de commande pour Xcode.

Et vous pouvez toujours faire

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

puis si nécessaire

$ brew remove apple-gcc42

ou tout autre programme installé via brew (voir la documentation pour des explications sur ces 2 commandes), vous pouvez également

/join #machomebrew

sur freenode (pas #homebrew je pense que c'est de la vraie bière homebrew et assimilée)

tyoc213
la source
1

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:

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

Si vous recherchez le que config.logvous voyez:

CC='gcc-4.2'

J'ai eu le même problème, alors je cours configureen sélectionnant gccau lieu de 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]

(Je ne sais pas quel est le contenu configure: WARNING: unrecognized options: --with-libyaml-dirde votre sortie, je suppose que vous l'avez compris?)

stefanB
la source
1
Notez que l'OP a un lien symbolique gccvers gcc-4.2, ce qui a rendu la commande disponible mais a révélé le problème sous-jacent que leur gccétait réellement llvm-gcc(et qu'aucun GCC non LLVM n'était installé).
Arkku
1

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.

Raj Pawan Gumdal
la source
1

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:

  1. Supprimer Xcode 4.3.2 en le faisant glisser dans la corbeille
  2. Téléchargez le package d'installation gcc v2 sur https://github.com/kennethreitz/osx-gcc-installer/downloads
  3. Installez-le
  4. Ensuite, rvm install 1.9.2 fonctionne pour moi
Leon Guan
la source
1

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 latestm'a dit par erreur "Vous avez déjà la dernière version!" j'ai donc dû rvm imploderéinstaller rvm (1.15.4), ce qui m'a donné automatiquement ruby ​​1.9.3-p194 sans problème.

Jared Beck
la source
1

Pour moi, aucun des éléments ci-dessus n'a fonctionné tel quel. Ce qui a finalement fonctionné était

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

L'astuce spéciale était de supprimer la libsqllite qui, selon le journal de construction, manquait l'architecture 64 bits requise ou quelque chose.

raimohanska
la source
1

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:

  • nuke votre environnement local, (pensez à rvm imploser et désinstaller Xcode)
  • téléchargez le pack sur railsinstaller.org
  • double-cliquez et installez

Le programme d'installation prend un certain temps étant donné qu'il installe git, rvm, homebrew et un tas d'autres goodies.

Kaushik Gopal
la source
1

Avec l'infusion, vous pouvez installer le rubis dans une doublure:

brew install ruby193

A travaillé pour moi sur OS X 10.8.4. (Si vous voulez 2.0, exécutez simplement à la brew install rubyplace)

Plus généralement, brew search rubyvous montre les différents dépôts disponibles, et si vous voulez devenir vraiment spécifique, vous pouvez utiliser brew versions rubyet 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.

Nils
la source
-1

Essayer:

rvm install 1.9.3 --force-autoconf

James
la source