Então, eu entrei recentemente no mundo Mac e comprei um MacBook - que eu amo, aliás.
Estou tendo alguns problemas para configurar corretamente todas as minhas ferramentas de desenvolvimento e não estou 100% familiarizado com as diferenças entre a CLI Linux e a OSX CLI.
No momento, estou tentando instalar algumas versões diferentes do Ruby via RVM.
Eu tentei obter o gcc4.2 como vi recomendado, mas, independentemente do compilador que eu uso, recebo mensagens semelhantes. Nisso, estou tentando instalar o 2.0.0-preview2, mas recebo as mesmas mensagens para outras versões também:
$ rvm install 2.0.0-preview2
No binary rubies available for: downloads/ruby-2.0.0-preview2.
Continuing with compilation. Please read 'rvm mount' to get more information on binary rubies.
Fetching openssl-1.0.1c.tar.gz to /usr/local/rvm/archives
Extracting openssl to /usr/local/rvm/src/openssl-1.0.1c
Configuring openssl in /usr/local/rvm/src/openssl-1.0.1c.
Error running 'env LDFLAGS=-L/opt/sm/pkg/active/lib CFLAGS=-I/opt/sm/pkg/active/include CPATH=/opt/sm/pkg/active/include ./Configure darwin64-x86_64-cc -I/usr/local/rvm/usr/include -L/usr/local/rvm/usr/lib zlib no-asm no-krb5 shared --prefix=/usr/local/rvm/usr --with-opt-dir=/usr/local/rvm/usr', please read /usr/local/rvm/log/ruby-2.0.0-preview2/openssl/configure.log
Compiling openssl in /usr/local/rvm/src/openssl-1.0.1c.
Error running 'make', please read /usr/local/rvm/log/ruby-2.0.0-preview2/openssl/make.log
Updating openssl certificates
Error running 'update_openssl_certs', please read /usr/local/rvm/log/ruby-2.0.0-preview2/openssl.certs.log
Installing Ruby from source to: /usr/local/rvm/rubies/ruby-2.0.0-preview2, this may take a while depending on your cpu(s)...
ruby-2.0.0-preview2 - #downloading ruby-2.0.0-preview2, this may take a while depending on your connection...
ruby-2.0.0-preview2 - #extracted to /usr/local/rvm/src/ruby-2.0.0-preview2 (already extracted)
ruby-2.0.0-preview2 - #configuring
Error running 'env LDFLAGS=-L/opt/sm/pkg/active/lib CFLAGS=-I/opt/sm/pkg/active/include CPATH=/opt/sm/pkg/active/include ./configure --enable-shared --disable-install-doc --prefix=/usr/local/rvm/rubies/ruby-2.0.0-preview2 --with-opt-dir=/usr/local/rvm/usr:/usr/local/rvm/usr', please read /usr/local/rvm/log/ruby-2.0.0-preview2/configure.log
There has been an error while running configure. Halting the installation.
Aqui está a saída dos quatro arquivos de log mencionados:
/usr/local/rvm/log/ruby-2.0.0-preview2/openssl/configure.log:
[2012-12-12 22:49:21] env LDFLAGS=-L/opt/sm/pkg/active/lib CFLAGS=-I/opt/sm/pkg/active/include CPATH=/opt/sm/pkg/active/include ./Configure darwin64-x86_64-cc -I/usr/local/rvm/usr/include -L/usr/local/rvm/usr/lib zlib no-asm no-krb5 shared --prefix=/usr/local/rvm/usr --with-opt-dir=/usr/local/rvm/usr
Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimental-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-krb5] [sctp] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]
/usr/local/rvm/log/ruby-2.0.0-preview2/openssl/make.log:
[2012-12-12 22:49:21] make
making all in crypto...
making all in crypto/objects...
/usr/bin/perl obj_dat.pl obj_mac.h obj_dat.h
/usr/bin/perl objxref.pl obj_mac.num obj_xref.txt > obj_xref.h
cc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -O -c -o obj_dat.o obj_dat.c
cc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -O -c -o obj_xref.o obj_xref.c
ar r ../../libcrypto.a o_names.o obj_dat.o obj_lib.o obj_err.o obj_xref.o
/usr/bin/ranlib: file: ../../libcrypto.a(ebcdic.o) has no symbols
/usr/bin/ranlib: file: ../../libcrypto.a(fips_ers.o) has no symbols
/usr/bin/ranlib ../../libcrypto.a || echo Never mind.
/usr/bin/ranlib: file: ../../libcrypto.a(ebcdic.o) has no symbols
/usr/bin/ranlib: file: ../../libcrypto.a(fips_ers.o) has no symbols
making all in crypto/md4...
make[2]: Nothing to be done for `all'.
making all in crypto/md5...
make[2]: Nothing to be done for `all'.
making all in crypto/sha...
make[2]: Nothing to be done for `all'.
making all in crypto/mdc2...
make[2]: Nothing to be done for `all'.
making all in crypto/hmac...
make[2]: Nothing to be done for `all'.
making all in crypto/ripemd...
make[2]: Nothing to be done for `all'.
making all in crypto/whrlpool...
make[2]: Nothing to be done for `all'.
making all in crypto/des...
cc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -O -c -o set_key.o set_key.c
set_key.c:399:17: error: unsupported inline asm: input with type 'unsigned long' matching output with type 'unsigned int'
*(k++)=ROTATE(t2,30)&0xffffffffL;
~~~~~~~^~~~~~
./des_locl.h:170:19: note: expanded from macro 'ROTATE'
: "I"(n),"0"(a) \
^
set_key.c:402:17: error: unsupported inline asm: input with type 'unsigned long' matching output with type 'unsigned int'
*(k++)=ROTATE(t2,26)&0xffffffffL;
~~~~~~~^~~~~~
./des_locl.h:170:19: note: expanded from macro 'ROTATE'
: "I"(n),"0"(a) \
^
2 errors generated.
make[2]: *** [set_key.o] Error 1
make[1]: *** [subdirs] Error 1
make: *** [build_crypto] Error 1
/usr/local/rvm/log/ruby-2.0.0-preview2/openssl.certs.log:
[2012-12-12 22:49:24] update_openssl_certs
-bash: cd: /usr/local/rvm/usr/ssl: No such file or directory
/usr/local/rvm/log/ruby-2.0.0-preview2/configure.log:
[2012-12-12 22:49:24] env LDFLAGS=-L/opt/sm/pkg/active/lib CFLAGS=-I/opt/sm/pkg/active/include CPATH=/opt/sm/pkg/active/include ./configure --enable-shared --disable-install-doc --prefix=/usr/local/rvm/rubies/ruby-2.0.0-preview2 --with-opt-dir=/usr/local/rvm/usr:/usr/local/rvm/usr
checking build system type... x86_64-apple-darwin12.2.1
checking host system type... x86_64-apple-darwin12.2.1
checking target system type... x86_64-apple-darwin12.2.1
checking whether the C compiler works... no
configure: error: in `/usr/local/rvm/src/ruby-2.0.0-preview2':
configure: error: C compiler cannot create executables
See `config.log' for more details
O OpenSSL foi instalado via homebrew:
$ brew info openssl
openssl: stable 1.0.1c
http://openssl.org
This formula is keg-only.
Mac OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.
The OpenSSL provided by OS X is too old for some software.
/usr/local/Cellar/openssl/1.0.1c (429 files, 15M)
https://github.com/mxcl/homebrew/commits/master/Library/Formula/openssl.rb
Alguém poderia me apontar na direção certa? Sinto como se estivesse perdendo algo óbvio.
Desde já, obrigado.
fonte
Respostas:
Resolvido reinstalando o Xcode, ferramentas CLI, openssl (distribuição), autoconf (distribuição), automake (distribuição) e apple-gcc42 (distribuição). Após a reinstalação, executei
rvm get head
(graças a @mpapis em #rvm no freenode).rvm get head
me deu o seguinte:Depois disso, eu apenas corri:
E tudo deu certo :)
fonte
rvm get head
anteriormente, posso ter evitado instalar / reinstalar alguns dos pacotes.rvm get head
seguido porbrew update
ebrew install ...
(muitos pacotes ausentes) fez o truque para mim.Eu tive problemas semelhantes e, por fim, não tinha alguns pacotes instalados, principalmente estes:
O llvm-3.2 é o compilador gcc que acredito ter sido o principal problema porque o openssl não foi capaz de executar ./Configure and Make.
Verifique se eles foram instalados primeiro e talvez ajude antes de ter que reinstalar tudo. Demorei 2 dias para que o Ruby 2.0.0 / Rails 3.1.1 funcionasse, espero que isso ajude alguém.
fonte