Tidak dapat menginstal Ruby di bawah Lion dengan masalah RVM - GCC

268

Sebagian besar pertanyaan tentang masalah ini adalah karena Xcode hilang; Saya sudah menginstal Xcode 4.2.

Pasang upaya:

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 tersedia:

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

Berdasarkan config.log (diposting di bagian bawah karena ukuran) saya mencoba symlinking gcc-4.2 ke gcc dan kemudian menginstal:

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 .

Jadi saya mungkin bisa mengambil gcc di tempat lain, tapi saya lebih khawatir mengapa ini terjadi. Bukankah seharusnya menginstal Xcode sudah cukup?

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
sumber
Sudahkah Anda mencoba pengaturan CC=/usr/bin/gcc?
mu terlalu pendek
Adakah yang menarik dalam config.logfile ini?
mu terlalu pendek
Hmm; Saya memiliki gcc yang sama, dan itu diinstal dengan baik :( Hal kedua pada SO yang telah bekerja dengan baik untuk saya tetapi tidak untuk orang lain; biasanya itu kebalikannya.
Dave Newton
mu: Saya telah menambahkan seluruh config.log sekarang. Tidak ada yang aneh di mataku. Ini adalah versi tanpa symlink. Dave: Ya, itu komputer :-).
Jamie Schembri
Berkat bantuan dari @mpapis, saya telah mendokumentasikan Cara Memasang RVM pada Mac OS X 10.8 (Mountain Lion) dengan Xcode 4.5 tanpa Menginstal Alat Baris Perintah .
ma11hew28

Jawaban:

553

Jawaban ini telah diedit beberapa kali dan sekarang berisi beberapa solusi alternatif . Coba solusi "Edit 3" sederhana terlebih dahulu.

Ruby 1.9.3-p125 dan yang lebih baru memiliki dukungan resmi untuk dentang , jadi jika Anda menginstal versi seperti itu Anda tidak perlu GCC. Jika Anda menginstal versi Ruby yang lebih lama, baca terus.

Untuk mengkompilasi Ruby dengan GCC, Anda memerlukan GCC versi non-LLVM, yang tidak lagi disertakan dengan XCode 4.2. Instal sendiri (atau turunkan ke XCode 4.1 sementara), lalu lakukan CC=/usr/local/bin/gcc-4.2 rvm install 1.9.3 --enable-shared(mengganti jalur ke gcc non-LLVM Anda).

Edit: https://github.com/kennethreitz/osx-gcc-installer/downloads dapat membantu menginstal GCC. Ada juga beberapa info yang tersedia dengan menjalankan rvm requirements.

Sunting 2: Untuk solusi yang lebih mudah, Anda dapat mencoba menambahkan --with-gcc=clangargumen untuk configureagar Ruby menggunakan dentang daripada GCC.

Sunting 3 : rvm install 1.9.3 --with-gcc=clangapakah itu untuk Anda.

Catatan: Dengan versi XCode saat ini, Anda perlu menginstal alat baris perintah secara terpisah dari menu XCode -> Preferensi -> Unduhan -> Komponen. Ini adalah prasyarat untuk melakukan kompilasi dengan XCode pada command-line, bukan hanya Ruby.

Catatan 2: Jika sesuatu tidak berfungsi setelah mengikuti langkah-langkah ini, coba lakukan reboot atau login ulang untuk memastikan bahwa lingkungan diatur dengan benar.

Catatan 3: Versi Ruby sebelum 1.9.3-p125 mungkin tidak selalu sepenuhnya kompatibel dengan dentang, jadi uji perangkat lunak Anda secara menyeluruh jika menggunakan solusi "edit 3" di lingkungan produksi.

Arkku
sumber
3
GCC-10.7.pkg tidak melakukannya untuk saya - saya pikir itu hanya bekerja pada 10.7.0 (saya menjalankan 10.7.2), tapi mungkin pkg v2 berfungsi. Bagaimanapun, --dengan-gcc = dentang melakukannya untuk saya! Terima kasih!
Jamie Schembri
2
Terima kasih, Edit 3 memperbaikinya juga untuk saya.
Gema
1
sunting3 tidak berfungsi untuk saya (Xcode 4.2.1), tetapi setelah menginstal readline rvm pkg install readlinedan melewati parameter tambahan rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usrberhasil diinstal.
leandro
7
Seperti disebutkan dalam jawaban ini , ada alternatif lain. rvm install 1.9.3 --with-gcc=clangbekerja untuk saya, tetapi tidak sepenuhnya didukung. Anda juga dapat menggunakan CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared, yang tampaknya lebih didukung. Dulu saya osx-gcc-installermendapatkan 4.2, saya percaya.
jrhorn424
2
Saya harus menjalankan sumber pembersihan rvm kemudian --with-gcc = dentang bekerja
Shane
22

IKHTISAR UNTUK STACK OVERFLOW

Saya mencoba menginstal SiriProxy pada instalasi Lion yang bersih di Xcode dari App Store

Saya terus mendapatkan kesalahan seperti: CC yang disediakan (/ usr / bin / gcc) berbasis 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`.


Setelah 2 hari akhirnya berhasil dengan dua baris ini:

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

Sebelumnya saya telah mencoba setiap artikel stackoverflow di Ruby dan Lion dengan melakukan hal ini mungkin telah melakukan beberapa pengaturan yang membantu 2 langkah di atas bekerja:

Hal-hal yang saya coba termasuk:

Menjalankan Instal Xcode.app (Saya telah mengunduh dari App Store - menjalankan ini tidak menginstal lebih lanjut)

Menginstal

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

Siapkan CC masuk

lebih banyak / Pengguna //.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

Baris pertama datang dari instruksi pemasangan SiriProxy https://github.com/plamoni/SiriProxy

Ekspor baris ke-2 sepertinya tidak pernah berhasil. Jadi, jangan menambahkan.

Itu memiliki banyak versi masing-masing menunjuk saya akhirnya menggunakan CC = / usr / bin / gcc-4.2 rvm install 1.9.3 --enable-shared

brian.clear
sumber
Apakah kamu sudah mencoba rvm install 1.9.3 --with-gcc=clang?
Arkku
CC = / usr / bin / gcc-4.2 rvm install 1.9.3 --enable-shared, bekerja pada Snow Leopard dengan Xcode 4.2, terima kasih!
Florin
Saya menyarankan rvm get headuntuk pengguna lain. Ini menarik dari kepala repo git dan mungkin tidak stabil. rvm get latestambil versi stabil terbaru. Jika ini tidak memperbaiki masalah ini untuk Anda, rvm install 1.9.3 --with-gcc=clangini layak dicoba terlebih dahulu karena cenderung menimbulkan efek samping
Eric Hu
18
rvm install 1.9.3 --with-gcc=clang

Bekerja untukku. Ini adalah Lion baru dengan Xcode (tidak punya GCC "tradisional").

Michael Neale
sumber
8

OK saya tidak perlu menginstal gcc-4.2 secara terpisah, saya menggunakan yang dikirim dalam XCode, tapi saya punya masalah di mana --with-gcc=clangtidak bisa dilewati. Menambahkan baris berikut ke saya .rvmrc:

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

Bekerja sesuai kebutuhan

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]

Perhatikan id saya adalah sebagai berikut

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

Saya mencoba menggunakan jawaban meneruskan --with-gcc=clangpada baris perintah ke perintah upgrade rvm, tetapi tidak berhasil, tampaknya tidak lulus dari rvm untuk mengkonfigurasi. Rupanya masalah dalam RVM dari argumen yang tidak lulus untuk mengonfigurasi diperbaiki (dalam komit 1641ceb0pada 2011), tetapi bahkan setelah memutakhirkan RVM ke yang terbaru (via rvm get latest) itu masih tidak bisa diteruskan. Menggunakan .rvmrcfile adalah satu-satunya cara untuk saya.

Leif
sumber
4

Hanya menjawab di sini karena saya tidak dapat memilih / mengomentari komentar leandro pada pertanyaan awal. Setelah menghabiskan waktu berhari-hari untuk mencoba ini bekerja, solusi-Nya adalah yang akhirnya membuatnya bekerja untuk saya:

sunting3 tidak berfungsi untuk saya (Xcode 4.2.1), tetapi setelah menginstal readline

 rvm pkg install readline 

dan melewati parameter tambahan

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

berhasil diinstal.

Dave Smylie
sumber
4

Saya akan menyarankan minuman dari rvm requirementssaya telah menginstalnya sementara saya sudah menginstal Xcode Versi 4.4 (4F250) terbaru

Homebrew:

Jika Anda menggunakan Homebrew, Anda dapat menginstal apple-gcc42 dan pustaka yang diperlukan dari homebrew / dupes:

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

Ini dapat hidup berdampingan dengan instal Xcode 4.2+ yang ada atau Command Line Tools untuk Xcode.

Dan Anda selalu bisa melakukannya

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

dan jika perlu

$ brew remove apple-gcc42

atau program lain yang diinstal melalui minuman (lihat dokumentasi untuk penjelasan tentang 2 perintah itu), juga Anda bisa

/join #machomebrew

di freenode (bukan #homebrew, saya pikir itu bir rumahan asli dan terkait)

tyoc213
sumber
1

Katakan saja configure untuk menggunakan gcc bukan gcc-4.2 di Lion (Mac OSX 10.7.2)

Kompilasi ruby-1.9.3 dari sumber

Anda dapat melihat di hasil konfigurasi:

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

Jika Anda mencari, config.logAnda melihat:

CC='gcc-4.2'

Saya memiliki masalah yang sama, jadi saya menjalankannya configuresaat memilih gccalih-alih 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]

(Saya tidak yakin apa yang ada configure: WARNING: unrecognized options: --with-libyaml-dirdi output Anda, saya kira Anda tahu itu?)

Stefan
sumber
1
Perhatikan bahwa OP disinkronkan gccke gcc-4.2, yang membuat perintah tersedia tetapi mengungkapkan masalah mendasar bahwa mereka gccsebenarnya llvm-gcc(dan tidak ada GCC non-LLVM yang diinstal).
Arkku
1

Unduh dan gunakan JewelryBox GUI RVM resmi untuk Mac OS. Di dalam "Tambahkan Ruby" pilih versi Ruby Anda. Sebelum menginstal, pastikan Anda memilih "Gunakan Dentang" seperti yang disarankan Edit 3 dari jawaban yang diterima di utas ini.

Raj Pawan Gumdal
sumber
1

Mendapat masalah yang sama, karena saya menggunakan xcode 4.3.2 dan Lion 10.7.3, dan saya mengubah laptop saya beberapa hari yang lalu dan kemudian mentransfer semua konten dari laptop lama. Rupanya, beberapa binari tidak dapat ditransfer, seperti gcc.

Dan kemudian saya mengikuti:

  1. Hapus Xcode 4.3.2 dengan menyeretnya ke tempat sampah
  2. Unduh paket instal gcc v2 dari https://github.com/kennethreitz/osx-gcc-installer/downloads
  3. Pasang itu
  4. Kemudian rvm instal 1.9.2 bekerja untuk saya
Leon Guan
sumber
1

Pastikan Anda berada di rvm terbaru. Menggunakan rvm 1.10.0 tidak ada di atas yang berfungsi untuk saya. Lebih jauh lagi, dengan rvm get latestkeliru mengatakan kepada saya, "Anda sudah memiliki versi terbaru!" jadi saya harus rvm implodemenginstal ulang rvm (1.15.4), yang secara otomatis memberi saya ruby ​​1.9.3-p194 tanpa ribut-ribut.

Jared Beck
sumber
1

Bagi saya, tidak ada di atas yang berfungsi apa adanya. Yang akhirnya berhasil adalah

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

Trik khusus adalah menghapus libsqllite yang, menurut build log, tidak memiliki arsitektur 64-bit yang diperlukan atau sesuatu.

raimohanska
sumber
1

Solusi sederhana yang lebih baru adalah dengan hanya menggunakan railsinstaller.org . Ini memiliki osx-gcc yang dikemas di dalamnya, jadi semudah mengunduh dan menginstal. Setelah ikut campur dengan cangkang baru baru-baru ini, saya mendarat mengacaukan lingkungan rel saya. Setelah mencoba banyak solusi di atas (yang sebelumnya berfungsi mungkin saya tambahkan), saya mendarat mengikuti langkah-langkah di bawah ini untuk membuat hal-hal berfungsi lagi:

  • nuke lingkungan lokal Anda, (pikirkan rvm implode dan hapus instalan Xcode)
  • unduh pkg dari railsinstaller.org
  • klik dua kali dan instal

Penginstal membutuhkan waktu mempertimbangkan menginstal git, rvm, homebrew dan banyak barang lainnya.

Kaushik Gopal
sumber
1

Dengan minuman Anda dapat menginstal ruby ​​dalam satu-liner:

brew install ruby193

Berfungsi untuk saya di OS X 10.8.4. (Jika Anda ingin 2.0, jalankan brew install rubysaja)

Secara umum, brew search rubymenunjukkan kepada Anda berbagai repo yang tersedia, dan jika Anda ingin benar-benar spesifik, Anda dapat menggunakan brew versions rubydan checkout versi tertentu.

Anda mungkin memerlukan xcode dan alat baris perintah, tetapi pengaturan brew akan memeriksa semua itu untuk Anda.

Nils
sumber
-1

Mencoba:

rvm instal 1.9.3 --force-autoconf

James
sumber