Ruby kann unter Lion mit RVM - GCC - Problemen nicht installiert werden


268

Die meisten Fragen zu diesem Problem sind auf fehlenden Xcode zurückzuführen. Ich habe Xcode 4.2 installiert.

Installationsversuch:

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 ist verfügbar:

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

Basierend auf config.log (aufgrund der Größe unten angegeben) habe ich versucht, gcc-4.2 mit gcc zu verknüpfen und dann zu installieren:

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 .

Also könnte ich wahrscheinlich woanders gcc holen, aber ich bin hauptsächlich besorgt darüber, warum dies geschieht. Sollte die Installation von Xcode nicht ausreichen?

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

Haben Sie versucht einzustellen CC=/usr/bin/gcc?
Mu ist zu kurz

Interessantes in der config.logAkte?
Mu ist zu kurz

Hmm; Ich habe das gleiche gcc und es hat gut installiert :( Das zweite auf SO, das für mich gut funktioniert hat, aber nicht für jemand anderen; normalerweise ist es das Gegenteil.
Dave Newton

mu: Ich habe jetzt die gesamte config.log hinzugefügt. Für meine Augen nichts Ungewöhnliches. Dies ist die Version ohne Symlink. Dave: Nun, das sind Computer :-).
Jamie Schembri

Antworten:


553

Diese Antwort wurde mehrfach bearbeitet und enthält nun mehrere alternative Lösungen. Probieren Sie zuerst die einfache Lösung „Edit 3“ aus.

Ruby 1.9.3-p125 und höher bieten offizielle Unterstützung für Clang . Wenn Sie also eine solche Version installieren, sollten Sie GCC nicht benötigen. Wenn Sie eine ältere Version von Ruby installieren, lesen Sie weiter.

Um Ruby mit GCC zu kompilieren, benötigen Sie eine Nicht-LLVM-Version von GCC, die nicht mehr in XCode 4.2 enthalten ist. Installieren Sie es selbst (oder führen Sie ein vorübergehendes Downgrade auf XCode 4.1 durch) und CC=/usr/local/bin/gcc-4.2 rvm install 1.9.3 --enable-sharedersetzen Sie dann den Pfad zu Ihrem Nicht-LLVM-gcc.

Bearbeiten: https://github.com/kennethreitz/osx-gcc-installer/downloads kann bei der Installation von GCC hilfreich sein. Es gibt auch einige Informationen, die durch Ausführen verfügbar sind rvm requirements.

Bearbeiten 2: Für eine einfachere Lösung können Sie versuchen --with-gcc=clang, den Argumenten hinzuzufügen , configuredamit Ruby Clang anstelle von GCC verwendet.

Edit 3 : rvm install 1.9.3 --with-gcc=clangerledigt das für dich.

Hinweis: Bei aktuellen Versionen von XCode müssen Sie die Befehlszeilentools separat vom XCode-Menü -> Einstellungen -> Downloads -> Komponenten installieren. Dies ist eine Voraussetzung für das Kompilieren mit XCode in der Befehlszeile, nicht nur mit Ruby.

Hinweis 2: Wenn nach dem Ausführen der Schritte etwas nicht funktioniert, führen Sie einen Neustart oder eine erneute Anmeldung durch, um sicherzustellen, dass die Umgebung korrekt eingestellt wird.

Hinweis 3: Ruby-Versionen vor 1.9.3-p125 sind möglicherweise nicht immer vollständig mit clang kompatibel. Testen Sie Ihre Software daher gründlich, wenn Sie die Lösung „edit 3“ in einer Produktionsumgebung verwenden.


3
Das GCC-10.7.pkg hat es nicht für mich getan - ich denke, es funktioniert möglicherweise nur unter 10.7.0 (ich verwende 10.7.2), aber vielleicht funktioniert das v2-Paket. Wie auch immer, --with-gcc = clang hat es für mich getan! Vielen Dank!
Jamie Schembri

2
Danke, Edit 3 hat es auch für mich behoben.
Echo

1
edit3 hat bei mir nicht funktioniert (Xcode 4.2.1), aber nach der Installation von readline rvm pkg install readlineund der Übergabe eines zusätzlichen Parameters wurde rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usres erfolgreich installiert.
Leandro

7
Wie in dieser Antwort erwähnt , gibt es eine andere Alternative. rvm install 1.9.3 --with-gcc=clanghat bei mir funktioniert, wird aber nicht vollständig unterstützt. Sie können auch verwenden CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared, was besser unterstützt scheint. Ich habe früher osx-gcc-installer4.2 bekommen, glaube ich.
jrhorn424

2
Ich musste rvm Bereinigungsquellen ausführen, dann - with-gcc = clang arbeitete
Shane

22

ZUSAMMENFASSUNG FÜR STAPELÜBERLAUF

Ich habe versucht, SiriProxy auf einer sauberen Lion-Installation auf Xcode aus dem App Store zu installieren

Ich bekam immer wieder Fehler wie: Der bereitgestellte CC (/ usr / bin / gcc) basiert auf 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`.


Nach 2 Tagen hat es endlich mit diesen beiden Zeilen geklappt:

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

Vorher hatte ich jeden Stackoverflow-Artikel über Ruby und Lion ausprobiert, daher haben diese möglicherweise einige Einstellungen vorgenommen, die die obigen 2 Schritte unterstützt haben:

Dinge, die ich ausprobiert habe, waren:

Ausführen von Install Xcode.app (Ich hatte aus dem App Store heruntergeladen - dies führt eine weitere Installation aus)

Installieren

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

Richten Sie CC in ein

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

Die erste Zeile stammt aus der SiriProxy-Installationsanweisung https://github.com/plamoni/SiriProxy

2nd Line Export CC schien nie zu funktionieren. Also nicht hinzufügen.

Es gab viele Versionen, die jeweils darauf hinwiesen, dass ich endlich CC = / usr / bin / gcc-4.2 rvm install 1.9.3 --enable-shared verwendet habe


Hast du es versucht rvm install 1.9.3 --with-gcc=clang?
Arkku

CC = / usr / bin / gcc-4.2 rvm install 1.9.3 --enable-shared, arbeitete an Snow Leopard mit Xcode 4.2, danke!
Florin

Ich würde rvm get headanderen Benutzern davon abraten . Dies zieht vom Kopf des Git Repo und ist möglicherweise nicht stabil. rvm get latestschnappt sich die neueste stabile Version. Wenn dies dieses Problem für Sie nicht behebt, rvm install 1.9.3 --with-gcc=clangist es zunächst einen Versuch wert, da es weniger wahrscheinlich ist, dass Nebenwirkungen auftreten
Eric Hu

18
rvm install 1.9.3 --with-gcc=clang

Hat für mich gearbeitet. Dies war auf einem brandneuen Lion mit Xcode (hatte kein "traditionelles" GCC).


8

OK, ich musste gcc-4.2 nicht separat installieren, ich habe das in XCode gelieferte verwendet, aber ich hatte ein Problem, bei dem --with-gcc=clangdas nicht durchgereicht wurde. Folgende Zeile wurde zu meiner hinzugefügt .rvmrc:

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

Arbeitete nach Bedarf

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]

Beachten Sie, dass meine Umgebung die folgende ist

Betriebssystem

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

Ich habe versucht, die Antwort der Übergabe --with-gcc=clangder Befehlszeile an den Befehl rvm upgrade zu verwenden, aber es hat nicht funktioniert, es schien nicht von rvm zur Konfiguration übergeben zu werden. Anscheinend ist das Problem in RVM mit Argumenten, die nicht zur Konfiguration übergeben wurden, behoben (beim Festschreiben 1641ceb0im Jahr 2011), aber selbst nach dem Upgrade von RVM auf die neueste Version (via rvm get latest) wurde es immer noch nicht übergeben. Die Verwendung der .rvmrcDatei war der einzige Weg, wie es für mich funktionieren würde.



4

Ich antworte hier nur, weil ich nicht über den Kommentar von leandro zur ursprünglichen Frage abstimmen / kommentieren kann. Nachdem ich tagelang versucht hatte, dies zum Laufen zu bringen, war seine Lösung diejenige, die es endlich für mich zum Laufen brachte:

edit3 hat bei mir nicht funktioniert (Xcode 4.2.1), aber nach der Installation von readline

 rvm pkg install readline 

und Übergeben eines zusätzlichen Parameters

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

es wurde erfolgreich installiert.



4

Ich werde vorschlagen Gebräu aus rvm requirementsIch habe es installiert , während ich bereits letzte Xcode Version 4.4 (4F250) installiert haben

Homebrew:

Wenn Sie Homebrew verwenden, können Sie das Apple-gcc42 und die erforderlichen Bibliotheken von Homebrew / Dupes installieren:

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

Dies kann neben einer vorhandenen Xcode 4.2+ -Installation oder den Befehlszeilentools für Xcode erfolgen.

Und das kannst du immer tun

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

und dann wenn nötig

$ brew remove apple-gcc42

oder ein anderes installiertes Programm durch Brauen (Erläuterungen zu diesen beiden Befehlen finden Sie in den Dokumenten)

/join #machomebrew

auf freenode (nicht #homebrew ich denke das ist echtes homebrew bier und verwandt)


1

Weisen Sie configure einfach an, gcc anstelle von gcc-4.2 unter Lion (Mac OSX 10.7.2) zu verwenden.

Ruby-1.9.3 aus der Quelle kompilieren

Sie können in Ihrer Konfigurationsausgabe sehen:

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

Wenn Sie das suchen config.log, sehen Sie:

CC='gcc-4.2'

Ich hatte das gleiche Problem, also laufe ich configurewährend der Auswahl gccstatt 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]

(Ich bin nicht sicher, was configure: WARNING: unrecognized options: --with-libyaml-dirin Ihrer Ausgabe enthalten ist. Ich denke, Sie haben das herausgefunden?)


1
Beachten Sie, dass die OP Symlink gcczu gcc-4.2, die der Befehl zur Verfügung gestellt , aber das zugrunde liegende Problem ergeben , dass sie gcceigentlich llvm-gcc(und kein nicht-LLVM GCC installiert wurde).
Arkku

1

Herunterladen und Verwenden von JewelryBox Die offizielle RVM- Benutzeroberfläche für Mac OS. Wählen Sie unter "Ruby hinzufügen" Ihre Ruby-Version aus. Stellen Sie vor der Installation sicher, dass Sie "Use Clang" auswählen, genau wie es Edit 3 der akzeptierten Antwort in diesem Thread vorschlägt.


1

Ich habe das gleiche Problem, da ich xcode 4.3.2 und Lion 10.7.3 verwende und vor einigen Tagen meinen Laptop gewechselt und dann alle Inhalte vom alten Laptop übertragen habe. Anscheinend werden einige Binärdateien nicht übertragen, wie z. B. gcc.

Und dann habe ich folgendes gemacht:

  1. Entfernen Sie Xcode 4.3.2, indem Sie es in den Papierkorb ziehen
  2. Laden Sie das gcc-Installationspaket v2 von https://github.com/kennethreitz/osx-gcc-installer/downloads herunter
  3. Es installieren
  4. Dann rvm install 1.9.2 funktioniert für mich

1

Stellen Sie sicher, dass Sie auf dem neuesten RVM sind. Mit rvm 1.10.0 hat keines der oben genannten Verfahren für mich funktioniert. Außerdem rvm get latesthabe ich fälschlicherweise gesagt "Du hast bereits die neueste Version!" rvm implodeAlso musste ich rvm (1.15.4) neu installieren, was mir automatisch Ruby 1.9.3-p194 ohne viel Aufhebens bescherte.


1

Für mich hat keines der oben genannten Dinge so funktioniert, wie es ist. Was endlich funktionierte war

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

Der besondere Trick bestand darin, die libsqllite zu entfernen, bei der laut Build-Protokoll die erforderliche 64-Bit-Architektur fehlte oder so.


1

Eine neuere, einfachere Lösung besteht darin, nur railsinstaller.org zu verwenden . Es enthält osx-gcc, ist also so einfach wie das Herunterladen und Installieren. Nachdem ich mich kürzlich in eine neue Muschel eingemischt hatte, landete ich in meiner Rails-Umgebung. Nachdem ich viele der oben genannten Lösungen ausprobiert hatte (die zuvor funktionierten, könnte ich hinzufügen), landete ich mit den folgenden Schritten, um die Dinge wieder zum Laufen zu bringen:

Das Installationsprogramm benötigt einige Zeit, da es git, rvm, homebrew und eine Reihe anderer Extras installiert.


1

Mit Brew können Sie Rubin in einem Einzeiler installieren:

brew install ruby193

Unter OS X 10.8.4 hat es für mich sofort funktioniert. (Wenn Sie 2.0 möchten, führen Sie brew install rubystattdessen einfach aus )

Im Allgemeinen werden brew search rubyIhnen die verschiedenen verfügbaren Repos angezeigt. Wenn Sie wirklich spezifisch werden möchten, können Sie brew versions rubystattdessen eine bestimmte Version verwenden und auschecken.

Möglicherweise benötigen Sie Xcode- und Befehlszeilentools, aber das Setup von Brew überprüft dies alles für Sie.


-1

Versuchen:

rvm install 1.9.3 --force-autoconf

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.