2009
11.29

No último post eu expliquei como instalar a gem do MySQL com o RVM em um ambiente 64 bits. A solução foi instalar o MySQL 64 bits já que o ruby instalado pelo RVM era 64 bits. Tudo estava funcionando normalmente.

Porém, instalando todas as gems necessárias para o projeto em que trabalho atualmente, tive problemas com a gem libxml-ruby: “Symbol not found: _xmlParserDebugEntities”. Este problema só aconteceu com o ruby 64 bits.

Estou utilizando o Mac OS X 10.5, mas acredito que se aplique para qualquer S.O. 64 bits.

Depois de muitas tentativas sem sucesso, decidi mudar a abordagem. Parti para instalação o ruby no RVM em 32 bits. Desta forma, tudo funcionou. Instalei várias gems, e nesse momento, estou rodando todos os meus projetos sem nenhum problema.

Instalando o ruby no RVM em 32 bits

No meu caso, vou utilizar a versão 1.8.7 do ruby. Caso deseje utilizar outra versão, apenas substitua 1.8.7 pela versão deseja nos comandos que forem executados.

Se você não tem o RVM instalado:

$ sudo gem install rvm
$ rvm-install

Se você já tem o RVM instalado, verifique qual a arquitetura do ruby:

$ rvm 1.8.7
$ file $(which ruby)

Se o resultado for diferente de “Mach-O executable i386″, remova o ruby instalado:

$ rvm remove 1.8.7

O seu arquivo ~/.rvmrc deve ter o conteúdo abaixo. Caso ele não exista, crie.

rvm_archflags="-arch i386"

Agora instale o ruby:

$ export ARCHFLAGS="-arch i386"; optflags="-arch i386" rvm install 1.8.7

Para ter certeza, verifique a arquiterura do ruby instalado (deve ser “Mach-O executable i386″):

$ rvm 1.8.7
$ file $(which ruby)

Para aqueles que desejam instalar a gem do MySQL, tenha certeza que o MySQL instalado é 32 bits:

$ file $(which mysql)

Mais uma vez, o resultado deve ser  ”Mach-O executable i386″. Caso não seja, reinstale o MySQL. Não se esqueça de baixar a versão x86.

Para instalar a gem do MySQL execute:

$ gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

A partir de agora, tudo deve funcionar normalmente. Instale todas as gems que você precisa.

Referências:
http://www.nuxlli.com.br/2009/11/24/para-tudo-instale-o-rvm-antes/
http://www.nuxlli.com.br/2009/11/24/rvm-onde-estou/
http://rvm.beginrescueend.com/mysql/

2 comments so far

Add Your Comment
  1. Ola,
    so uma pergunta, voce tem um SO 64bis e nele usa o RVM pra 32bits.. eh isso ??

    p.s.: excelente post :D
    att,

  2. Pois é! Não por minha vontade! :P