<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>lucasfais.com &#187; gem</title>
	<atom:link href="http://lucasfais.com/tag/gem/feed/" rel="self" type="application/rss+xml" />
	<link>http://lucasfais.com</link>
	<description></description>
	<lastBuildDate>Fri, 05 Mar 2010 16:20:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Gem do MySQL com RVM</title>
		<link>http://lucasfais.com/2009/11/26/gem-do-mysql-com-rvm/</link>
		<comments>http://lucasfais.com/2009/11/26/gem-do-mysql-com-rvm/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 01:47:50 +0000</pubDate>
		<dc:creator>Lucas Fais</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[rvm]]></category>

		<guid isPermaLink="false">http://lucasfais.com/?p=72</guid>
		<description><![CDATA[Sim, o autor deste blog continua vivo&#8230;
Peço desculpas aos raros leitores, mas este ano foi bastante corrido e, infelizmente, o blog ficou abandonado. Espero escrever com mais frequência.
Alguns dias atrás, o Éverton Ribeiro deu uma super dica em seu blog para quem trabalha com ruby: o Ruby Version Manager (a.k.a RVM). Com ele você pode [...]]]></description>
			<content:encoded><![CDATA[<p>Sim, o autor deste blog continua vivo&#8230;</p>
<p>Peço desculpas aos raros leitores, mas este ano foi bastante corrido e, infelizmente, o blog ficou abandonado. Espero escrever com mais frequência.</p>
<p>Alguns dias atrás, o <a href="http://www.nuxlli.com.br/sobre/">Éverton Ribeiro</a> deu uma <a href="http://www.nuxlli.com.br/2009/11/24/para-tudo-instale-o-rvm-antes/">super dica</a> em seu blog para quem trabalha com <em>ruby</em>: o <a href="http://rvm.beginrescueend.com">Ruby Version Manager</a> (<em>a.k.a</em> <strong>RVM</strong>). Com ele você pode instalar e gerenciar facilmente várias versões do <em>ruby</em> e criar <em>sets</em> de <em>gems</em> de acordo com as suas necessidades.</p>
<p>Hoje, tivemos problemas para instalar a <em>gem</em> do MySQL em uma versão do <em>ruby</em> instalado pelo <em>RVM</em>. Depois de várias tentativas e vasculhadas na internet, conseguimos entender o problema.</p>
<p>Por padrão, pelo menos no Mac OS X Leopard (64 bits), o <em>RVM</em> instala o <em>ruby</em> com arquitetura x86_64. Entretanto, o MySQL que tinhamos instalado era i386. Sendo assim, a <em>gem</em> simplesmente não funcionava, e exibia o seguinte erro ao tentar usá-la:</p>
<pre class="terminal">$ rake db:migrate
(in /private/tmp/mysql_test)
dyld: lazy symbol binding failed: Symbol not found: _mysql_init
Referenced from: /Users/lfais/.rvm/gems/ruby/1.8.7/gems/mysql-2.8.1/lib/mysql_api.bundle
Expected in: flat namespace

dyld: Symbol not found: _mysql_init
Referenced from: /Users/lfais/.rvm/gems/ruby/1.8.7/gems/mysql-2.8.1/lib/mysql_api.bundle
Expected in: flat namespace

Trace/BPT trap</pre>
<p><br/></p>
<h3>A solução</h3>
<p>Para verificar a arquitetura do MySQL e do <em>ruby</em>, respectivamente, execute:</p>
<pre class="terminal">$ file $(which mysql)
$ file $(which ruby)</pre>
<p>A solução foi instalar o MySQL com arquitetura x86_64 e reinstalar a <em>gem</em> do MySQL.<br />
Para isso execute os seguintes passos:</p>
<ol>
<li>Se você já tem o MySQL instalado, não esqueça de fazer backup de seus <em>databases</em> e da pasta do MySQL (geralmente /usr/local/mysql).</li>
<li>Faça <a href="http://dev.mysql.com/downloads/mysql/5.1.html">download</a> do MySQL para o seu S.O. Não esqueça que a arquitetura tem que ser x86_64. No meu caso, baixei o <a href="http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg">dmg para Mac OS X 10.5</a> com a verão 5.1.41.</li>
<li><a href="http://dev.mysql.com/doc/refman/5.1/en/installing.html">Instale ou atualize</a> o MySQL.</li>
<li>Coloque o seguinte conteúdo no seu arquivo ~/.rvmrc (caso não tenha, crie-o):</li>
<p>
<pre class="terminal">rvm_archflags="-arch x86_64"</pre>
</p>
<li>Caso tenha a <em>gem</em> do MySQL instalada, desinstale:</li>
<p>
<pre class="terminal">$ gem uninstall mysql</pre>
</p>
<li>Instale a gem do MySQL com o seguinte comando (lembre-se que utilizando o RVM <strong>não</strong> deve-se usar <strong>sudo</strong> para instalar gems):</li>
<p>
<pre class="terminal">$ export ARCHFLAGS="-arch x86_64" ; gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config</pre>
</p>
</ol>
<p>Com esses passos, tudo deve funcionar normalmente.<br />
Obrigado ao <a href="http://www.nuxlli.com.br/sobre/">Éverton</a> e ao <a href="http://twitter.com/ericfer">Eric Fer</a> que colaboraram para a resolução do problema.</p>
<p>Até a próxima!</p>
<p>Referências:<br />
<a href="http://rvm.beginrescueend.com/mysql/">http://rvm.beginrescueend.com/mysql/</a><br />
<a href="http://www.nuxlli.com.br/2009/11/24/para-tudo-instale-o-rvm-antes/">http://www.nuxlli.com.br/2009/11/24/para-tudo-instale-o-rvm-antes/</a><br />
<a href="http://www.nuxlli.com.br/2009/11/24/rvm-onde-estou/">http://www.nuxlli.com.br/2009/11/24/rvm-onde-estou/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://lucasfais.com/2009/11/26/gem-do-mysql-com-rvm/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
