[MacRuby-devel] RE mechanize and macgems

Jarrad Hope me at jarradhope.com
Sun Dec 27 00:38:49 PST 2009


I decided to go a different route by using a pure ruby version of
hpricot. Works great.

Thanks for your input


Jarred, after further analysis in regards to installing an earlier version
of the Mechanize gem (i.e. 0.8.5), it has a couple of runtime dependencies:

hpricot >= 0.5.0, Note:  This gem contains C Ruby native extensions.

hoe      >= 1.8.2, Note:  This gem contains pure Ruby code.

Thus, you'll still have issues installing earlier version of Mechanize gem
like version 0.8.5 because if depends on a gem which has C Ruby native
extensions.  I have been reading many threads on moving away from using C
Ruby extensions to using FFI which allows any client that supports FFI to
easily connect to connect to native librarie(s).  The benefit would be to
allow one to do the following:

For example, using Nokogiri as an example:

a)  build a Nokogiri interface and push the sources to github.com
b)  push the Nokogiri library sources to MacPorts, Linux distros, and so
     1)  to MacPorts, Linux distros, and so
     2)  to github.com

BTW, this is very similar to what we need to do today to interact with
MySQL, PostgreSQL, and SQLite3 relational databases from Ruby.  However,
Ruby FFI makes this process much easier.  Lastly, you can read more about
FFI here:


Good luck,


On Sat, Dec 26, 2009 at 8:04 PM, Conrad Taylor <conradwt at gmail.com> wrote:

> MacRuby's macgem doesn't support native gems (i.e. Nokogiri and Mechanize)
> at this time.  Thus, the same problem will occur usually earlier versions of
> the gem.
> Good luck,
> -Conrad
> Sent from my iPhone
> On Dec 26, 2009, at 7:00 PM, Jarrad Hope <me at jarradhope.com> wrote:
>  Hey Guys
>> First off, Id like to say im loving macruby, its awesome.
>> The story starts after having some issues with webkit and cookie
>> sharing ive decided to roll back to good ole trusty mechanize.
>> and thus my journey with macgem begins.
>> terminate called without an active exception
>> Abort trap
>> The end.
>> I read somewhere that its not possible due to dependancies (nokogiri)
>> so i thought maybe i could roll back to the pure ruby version of it...
>> i think was 0.8.5 - 0.8.3 ??
>> $sudo macgem install mechanize --version 1.8.5
>> Password:
>> ERROR:  could not find gem mechanize locally or in a repository
>> ...
>> $ sudo macgem install --local mechanize-0.8.5.gem
>> terminate called without an active exception
>> Abort trap
>> I tried with 1.8.3, no cigar...
>> little help?
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

More information about the MacRuby-devel mailing list