Saturday, June 28, 2008

Gems Gems everywhere!

Today, I set out to upgrade my MacBook Pro to a full fledged dev machine. For this, I added XCode Tools and about a dozen 10 Ruby gems plus ImageMagick which proved to be a bit hairy.

Here we go...

Last login: Fri Jun 27 22:14:41 on console
Macintosh-2:RailsProjects roupen$ sudo gem install RubyInline
Updating metadata for 528 gems from http://gems.rubyforge.org/
...............................................................................complete
Successfully installed rubyforge-1.0.0
Successfully installed hoe-1.6.0
Successfully installed RubyInline-3.7.0
3 gems installed
Installing ri documentation for rubyforge-1.0.0...
Installing ri documentation for hoe-1.6.0...
Installing ri documentation for RubyInline-3.7.0...
Installing RDoc documentation for rubyforge-1.0.0...
Installing RDoc documentation for hoe-1.6.0...
Installing RDoc documentation for RubyInline-3.7.0...


Cool, 3 birds with 1 stone.

Macintosh-2:RailsProjects roupen$ gem install log4r
Successfully installed log4r-1.0.5
1 gem installed
Installing ri documentation for log4r-1.0.5...
Installing RDoc documentation for log4r-1.0.5...
Macintosh-2:RailsProjects roupen$ gem install dsl_accessor

Successfully installed activesupport-2.1.0
Successfully installed dsl_accessor-0.1.0
2 gems installed
Installing ri documentation for activesupport-2.1.0...
Installing ri documentation for dsl_accessor-0.1.0...
Installing RDoc documentation for activesupport-2.1.0...
Installing RDoc documentation for dsl_accessor-0.1.0...


Cool, 2 birds with 1 stone.

Next, i installed google-geocode but it turns out I didn’t need it so I uninstalled it (Murali ;-) ).

Macintosh-2:RailsProjects roupen$ gem install google-geocode
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /usr/bin directory.
Macintosh-2:RailsProjects roupen$ sudo gem install google-geocode
Password:
Successfully installed ZenTest-3.10.0
Successfully installed rc-rest-2.2.1
Successfully installed google-geocode-1.2.1
3 gems installed
Installing ri documentation for ZenTest-3.10.0...
Installing ri documentation for rc-rest-2.2.1...
Installing ri documentation for google-geocode-1.2.1...
Installing RDoc documentation for ZenTest-3.10.0...
Installing RDoc documentation for rc-rest-2.2.1...
Installing RDoc documentation for google-geocode-1.2.1...
Macintosh-2:RailsProjects roupen$ sudo gem uninstall google-geocode
Successfully uninstalled google-geocode-1.2.1
Macintosh-2:RailsProjects roupen$ sudo gem uninstall zentest
ERROR: While executing gem ... (Gem::InstallError)
Unknown gem zentest->= 0
Macintosh-2:RailsProjects roupen$ sudo gem uninstall ZenTest

You have requested to uninstall the gem:
ZenTest-3.10.0
rc-rest-2.2.1 depends on [ZenTest (>= 3.4.2)]
If you remove this gems, one or more dependencies will not be met.
Continue with Uninstall? [Yn] n
ERROR: While executing gem ... (Gem::DependencyRemovalException)
Uninstallation aborted due to dependent gem(s)
Macintosh-2:RailsProjects roupen$ sudo gem uninstall rc-rest
Successfully uninstalled rc-rest-2.2.1
Macintosh-2:RailsProjects roupen$ sudo gem uninstall ZenTest
Successfully uninstalled ZenTest-3.10.0
Remove executables:
autotest, multiruby, multiruby_setup, rails_test_audit, unit_diff, zentest

in addition to the gem? [Yn] Y
Removing autotest
Removing multiruby
Removing multiruby_setup
Removing rails_test_audit
Removing unit_diff
Removing zentest

A quick visual check…

Macintosh-2:RailsProjects roupen$ gem list

*** LOCAL GEMS ***

actionmailer (2.0.2, 1.3.6)
actionpack (2.0.2, 1.13.6)
actionwebservice (1.2.6)
activerecord (2.0.2, 1.15.6)
activeresource (2.0.2)
activesupport (2.1.0, 2.0.2, 1.4.4)
acts_as_ferret (0.4.1)
capistrano (2.0.0)
cgi_multipart_eof_fix (2.2)
daemons (1.0.7)
dnssd (0.6.0)
dsl_accessor (0.1.0)
fastthread (1.0)
fcgi (0.8.7)
ferret (0.11.4)
gem_plugin (0.2.2)
highline (1.2.9)
hoe (1.6.0)
hpricot (0.6)
libxml-ruby (0.3.8.4)
log4r (1.0.5)
mongrel (1.0.1)
needle (1.3.0)
net-sftp (1.1.0)
net-ssh (1.1.2)
rails (2.0.2, 1.2.6)
rake (0.8.1, 0.7.3)
RedCloth (3.0.4)
ruby-openid (1.1.4)
ruby-yadis (0.3.4)
rubyforge (1.0.0)
rubygems-update (1.1.1)
RubyInline (3.7.0)
rubynode (0.1.3)
sqlite3-ruby (1.2.1)
termios (0.9.4)

Carry on…

Macintosh-2:RailsProjects roupen$ sudo gem install image_science
Password:
Successfully installed image_science-1.1.3
1 gem installed
Installing ri documentation for image_science-1.1.3...
Installing RDoc documentation for image_science-1.1.3...
Macintosh-2:RailsProjects roupen$


Time for ImageMagick.

See this go to section about Mac OS X binary release.


Download ImageMagick-universal-apple-darwin9.3.0.tar.gz and copy to /Users/roupen or somewhere permanent because you’re going to point environment variables to here.

tar xvfz ImageMagick-universal-apple-darwin9.3.0.tar.gz
rm ImageMagick-universal-apple-darwin9.3.0.tar.gz

You should see a new dir /Users/roupen/ImageMagick-6.4.1

Next, set some env variables


export MAGICK_HOME="$HOME/ImageMagick-6.4.1"
export PATH="$MAGICK_HOME/bin:$PATH"
export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib"

Run a quick test to make sure ImageMagick is working

Macintosh-2:~ roupen$ cd
Macintosh-2:~ roupen$ pwd
/Users/roupen
Macintosh-2:~ roupen$ convert
Version: ImageMagick 6.4.1 06/12/08 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC

UPDATE

I had some problems getting RMagick going – the issue is well covered in discussions on the web. So I backed away from installing image_magic and then the rmagick gem separately. I deleted the image_magic directory and well rmagick never installed.

The NEW path that paid off is described here using rmagick-osx-installer. Search for How do I install RMagick on OS X? on this page for details.

As described in the README for the rmgaick_osx_installer, I first installed XCode Tools and X11SDK off the MacBook Pro DVD. After that, I installed the script and it took a while but it was very uneventful.

libpng was installed successfully
libjpeg was installed successfully
ghostscript was installed successfully
ghostscript-fonts-std was installed successfully
FreeType was installed successfully
libwmf was installed successfully
ImageMagick was installed successfully
RMagick was installed successfully
Removing rm_install_tmp directory...Done


I think I am done. The convert test passed.

Macintosh-2:rm_install-1.1.1 roupen$ convert
Version: ImageMagick 6.4.2 06/28/08 Q8 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC

I got real close to using MacPorts for this last step but didn’t (felt heavy handed).

2 comments:

Anonymous said...

Your blog keeps getting better and better! Your older articles are not as good as newer ones you have a lot more creativity and originality now keep it up!

Anonymous said...

Nice post and this enter helped me alot in my college assignement. Thanks you for your information.