Nie można zainstalować Ruby pod Lion z RVM - problemy z GCC

268

Większość pytań dotyczących tego problemu wynika z braku Xcode; Mam zainstalowany Xcode 4.2.

Próba instalacji:

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 jest dostępny:

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

Na podstawie config.log (opublikowanego na dole ze względu na rozmiar) próbowałem dowiązać symbolicznie gcc-4.2 do gcc, a następnie zainstalować:

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 .

Więc prawdopodobnie mógłbym po prostu zdobyć gcc gdzie indziej, ale jestem głównie zaniepokojony, dlaczego tak się dzieje. Czy instalacja Xcode nie powinna wystarczyć?

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
źródło
Próbowałeś ustawienia CC=/usr/bin/gcc?
mu jest za krótki
Coś interesującego w config.logpliku?
mu jest za krótki
Hmm; Mam ten sam gcc i zainstalowałem się dobrze :( Druga rzecz na SO, która działała dobrze dla mnie, ale nie dla kogoś innego; zwykle jest odwrotnie.
Dave Newton,
mu: Dodałem teraz cały config.log. Nic dziwnego dla moich oczu. To jest wersja bez dowiązania symbolicznego. Dave: Cóż, to komputery :-).
Jamie Schembri,

Odpowiedzi:

553

Ta odpowiedź była edytowana wiele razy i teraz zawiera kilka alternatywnych rozwiązań. Najpierw wypróbuj proste rozwiązanie „Edytuj 3”.

Ruby 1.9.3-p125 i nowsze mają oficjalną obsługę clang , więc jeśli instalujesz taką wersję, nie potrzebujesz GCC. Jeśli instalujesz starszą wersję Ruby, czytaj dalej.

Aby skompilować Ruby z GCC, potrzebujesz wersji GCC innej niż LLVM, która nie jest już dołączona do XCode 4.2. Zainstaluj go samodzielnie (lub tymczasowo zmień wersję na XCode 4.1), a następnie zrób CC=/usr/local/bin/gcc-4.2 rvm install 1.9.3 --enable-shared(zastępując ścieżkę do gcc spoza LLVM).

Edycja: https://github.com/kennethreitz/osx-gcc-installer/downloads może pomóc w instalacji GCC. Istnieje również kilka informacji dostępnych po uruchomieniu rvm requirements.

Edycja 2: Dla łatwiejszego rozwiązania możesz spróbować dodać --with-gcc=clangargumenty, aby configureRuby używała clang zamiast GCC.

Edycja 3 : rvm install 1.9.3 --with-gcc=clangrobi to za Ciebie.

Uwaga: W aktualnych wersjach XCode narzędzia do wiersza poleceń należy instalować oddzielnie od menu XCode -> Preferencje -> Pobieranie -> Składniki. Jest to warunek wstępny wykonywania jakiejkolwiek kompilacji z XCode w wierszu poleceń, nie tylko Ruby.

Uwaga 2: Jeśli coś nie działa po wykonaniu tych kroków, spróbuj ponownie uruchomić komputer lub ponownie się zalogować, aby upewnić się, że środowisko zostało ustawione poprawnie.

Uwaga 3: Wersje Ruby starsze niż 1.9.3-p125 nie zawsze są w pełni kompatybilne z clang, więc dokładnie przetestuj swoje oprogramowanie, jeśli używasz rozwiązania „edit 3” w środowisku produkcyjnym.

Arkku
źródło
3
GCC-10.7.pkg nie zrobił tego dla mnie - myślę, że może działać tylko na 10.7.0 (korzystam z wersji 10.7.2), ale być może działa pkg v2. W każdym razie --with-gcc = clang zrobił to dla mnie! Dzięki!
Jamie Schembri
2
Dzięki, Edit 3 naprawił to też dla mnie.
echo
1
edit3 nie działał dla mnie (Xcode 4.2.1), ale po zainstalowaniu readline rvm pkg install readlinei przekazaniu dodatkowego parametru rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usrzostał zainstalowany pomyślnie.
leandro
7
Jak zauważono w tej odpowiedzi , istnieje inna alternatywa. rvm install 1.9.3 --with-gcc=clangdziałało dla mnie, ale nie jest w pełni obsługiwane. Możesz także użyć CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared, która wydaje się lepiej obsługiwana. Wydaje mi się, że kiedyś osx-gcc-installerdostawałem 4.2.
jrhorn424
2
Musiałem wtedy uruchomić źródła czyszczenia RVM --with-gcc = clang zadziałało
Shane
22

PODSUMOWANIE PRZEPŁYWU STOSOWANIA

Próbowałem zainstalować SiriProxy na czystej instalacji Lion na Xcode z App Store

Wciąż pojawiały się błędy, takie jak: Dostarczone CC (/ usr / bin / gcc) jest oparte na 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`.


Po 2 dniach w końcu zaczęło działać z tymi dwiema liniami:

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

Wcześniej wypróbowałem każdy artykuł dotyczący przepełnienia stosu na temat Ruby i Lion, więc wykonanie tych czynności mogło pomóc w konfiguracji, która pomogła w wykonaniu powyższych 2 kroków:

Rzeczy, które próbowałem, to:

Uruchamianie Instaluj Xcode.app (pobrałem z App Store - uruchomienie to powoduje późniejszą instalację)

Instalowanie

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

Skonfiguruj CC w

więcej /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

Pierwsza linia pochodzi z instrukcji instalacji SiriProxy https://github.com/plamoni/SiriProxy

Wydaje się, że CC z 2. linii nie działa. Więc nie dodawaj.

Miał wiele wersji, z których każda wskazywała, że ​​w końcu użyłem CC = / usr / bin / gcc-4.2 rvm install 1.9.3 - enable-shared

brian.clear
źródło
Próbowałeś rvm install 1.9.3 --with-gcc=clang?
Arkku
CC = / usr / bin / gcc-4.2 rvm install 1.9.3 - włączony-udostępniony, działał na Snow Leopard z Xcode 4.2, dziękuję!
Florin
Odradzam rvm get headinnym użytkownikom. Ściąga to z głowy repozytorium git i może nie być stabilne. rvm get latestpobiera najnowszą stabilną wersję. Jeśli to nie rozwiąże problemu, rvm install 1.9.3 --with-gcc=clangwarto najpierw spróbować, ponieważ mniej prawdopodobne jest wystąpienie skutków ubocznych
Eric Hu
18
rvm install 1.9.3 --with-gcc=clang

Pracował dla mnie. To było na nowym Lwie z Xcode (nie miał „tradycyjnego” GCC).

Michael Neale
źródło
8

OK, nie musiałem instalować gcc-4.2 osobno, użyłem tego dostarczonego w XCode, ale miałem problem polegający na tym, że nie mogłem --with-gcc=clangprzejść. Dodano następujący wiersz do mojego .rvmrc:

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

Działa zgodnie z wymaganiami

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]

Uwaga moja env jest następująca

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

Próbowałem użyć odpowiedzi polegającej --with-gcc=clangna przekazaniu wiersza polecenia do polecenia uaktualnienia rvm, ale to nie zadziałało, nie udało się go przekazać z rvm do skonfigurowania. Najwyraźniej problem w RVM argumentów nieprzekazywanych do skonfigurowania jest naprawiony (w zatwierdzeniu 1641ceb0w 2011 r.), Ale nawet po aktualizacji RVM do najnowszej (przez rvm get latest) nadal nie został przekazany. Używanie .rvmrcpliku było jedynym sposobem, w jaki działałoby dla mnie.

Leif
źródło
4

Odpowiadam tylko tutaj, ponieważ nie mogę głosować / komentować komentarza Leandro do pierwotnego pytania. Po kilku dniach próbowania, aby to zadziałało, jego rozwiązanie było tym, które w końcu sprawiło, że zadziałało :

edit3 nie działało dla mnie (Xcode 4.2.1), ale po zainstalowaniu readline

 rvm pkg install readline 

i przekazanie dodatkowego parametru

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

zostało pomyślnie zainstalowane.

Dave Smylie
źródło
4

Zasugeruję napar z rvm requirementszainstalowałem go, gdy już zainstalowałem najnowszą wersję Xcode 4.4 (4F250)

Homebrew:

Jeśli używasz Homebrew, możesz zainstalować apple-gcc42 i wymagane biblioteki z homebrew / dupes:

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

Może to działać obok istniejącej instalacji Xcode 4.2+ lub Narzędzi wiersza poleceń dla Xcode.

I zawsze możesz to zrobić

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

a następnie w razie potrzeby

$ brew remove apple-gcc42

lub jakikolwiek inny zainstalowany program poprzez brew (wyjaśnienia dotyczące tych 2 poleceń znajdziesz w dokumentacji), również możesz

/join #machomebrew

na freenode (nie #homebrew Myślę, że to prawdziwe piwo homebrew i podobne)

tyoc213
źródło
1

Po prostu powiedz configure, aby używał gcc zamiast gcc-4.2 na Lionie (Mac OSX 10.7.2)

Kompilowanie ruby-1.9.3 ze źródła

Możesz zobaczyć w wynikach konfiguracji:

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

Jeśli szukasz config.log, zobaczysz:

CC='gcc-4.2'

Miałem ten sam problem, więc uruchamiam configure, wybierając gcczamiast 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]

(Nie jestem pewien, co jest configure: WARNING: unrecognized options: --with-libyaml-dirw twoich wynikach Myślę, że wymyśliłeś to?)

stefanB
źródło
1
Należy zauważyć, że OP dowiązane gccdo gcc-4.2, który wydał polecenie dostępne, ale ujawnił podstawowy problem, że ich gccbyło rzeczywiście llvm-gcc(a nie non-LLVM GCC został zainstalowany).
Arkku
1

Pobierz i używaj JewelryBox Oficjalny GUI RVM dla Mac OS. Wewnątrz „Dodaj Ruby” wybierz swoją wersję Ruby. Przed instalacją upewnij się, że wybierasz „Użyj Clang”, tak jak sugeruje to Edycja 3 zaakceptowanej odpowiedzi w tym wątku.

Raj Pawan Gumdal
źródło
1

Mam ten sam problem, ponieważ używam xcode 4.3.2 i Lion 10.7.3 i zmieniłem laptopa kilka dni temu, a następnie przesłałem całą zawartość ze starego laptopa. Najwyraźniej niektóre pliki binarne nie mogą zostać przeniesione, na przykład gcc.

I wtedy zrobiłem następujące:

  1. Usuń Xcode 4.3.2, przeciągając go do kosza
  2. Pobierz pakiet instalacyjny gcc v2 ze strony https://github.com/kennethreitz/osx-gcc-installer/downloads
  3. Zainstaluj to
  4. Następnie rvm install 1.9.2 działa dla mnie
Leon Guan
źródło
1

Upewnij się, że korzystasz z najnowszej wersji RVM. Używając rvm 1.10.0 żadne z powyższych nie działało dla mnie. Co więcej, rvm get latestbłędnie powiedział mi „Masz już najnowszą wersję!” więc musiałem rvm implodeponownie zainstalować Rvm (1.15.4), co automatycznie dało mi ruby ​​1.9.3-p194 bez żadnych problemów.

Jared Beck
źródło
1

Dla mnie żadne z powyższych nie działało w obecnej formie. W końcu zadziałało

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

Specjalną sztuczką było usunięcie biblioteki libsqllite, która zgodnie z dziennikiem kompilacji nie miała wymaganej 64-bitowej architektury lub czegoś takiego.

raimohanska
źródło
1

Nowszym prostszym rozwiązaniem jest po prostu użycie railsinstaller.org . Zawiera w sobie osx-gcc, więc jest to tak proste, jak pobranie i instalacja. Niedawno wtrącając się w nową powłokę, wylądowałem, psując środowisko szyn. Po wypróbowaniu wielu powyższych rozwiązań (które wcześniej działały, mógłbym dodać), wylądowałem zgodnie z poniższymi krokami, aby przywrócić działanie:

  • nuke lokalnego środowiska, (pomyśl rvm implode i odinstaluj Xcode)
  • pobierz pkg z railsinstaller.org
  • kliknij dwukrotnie i zainstaluj

Instalator zajmuje trochę czasu, biorąc pod uwagę, że instaluje git, rvm, homebrew i kilka innych dodatków.

Kaushik Gopal
źródło
1

Za pomocą naparu możesz zainstalować rubin w jednej linijce:

brew install ruby193

Działa dla mnie od razu z systemu OS X 10.8.4. (Jeśli chcesz 2.0, po prostu uruchom brew install rubyzamiast tego)

Mówiąc bardziej ogólnie, brew search rubypokazuje różne dostępne repozytoria, a jeśli chcesz być naprawdę konkretny, możesz brew versions rubyzamiast tego użyć i sprawdzić konkretną wersję.

Możesz potrzebować xcode i narzędzi wiersza poleceń, ale konfiguracja brew sprawdzi to wszystko za ciebie.

Nils
źródło
-1

Próbować:

rvm install 1.9.3 --force-autoconf

James
źródło