# Strange results when require'ing RMagick

**URL:** <https://www.ruby-forum.com/t/strange-results-when-requireing-rmagick/62420>\
**Category:** Ruby\
**Created:** [June 4, 2006, 3:45pm UTC](https://www.ruby-forum.com/t/strange-results-when-requireing-rmagick/62420 "2006-06-04T15:45:19Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![John\_Conrad](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b5ac83/32.png) [@John\_Conrad](https://www.ruby-forum.com/u/John_Conrad)\
**Post date:** [June 4, 2006, 3:45pm UTC](https://www.ruby-forum.com/t/strange-results-when-requireing-rmagick/62420/1 "2006-06-04T15:45:19Z")

</div>

I’ve read about some packages that return false when they are require’d  
through rubygem’s special version of require, and I think I understand  
the  
issue well enough. But this behavior has me confused anew…

Included are the transcripts from two separate irb sessions where I  
attempt  
to require RMagick. Apparently the only way I can get the library loaded  
is  
by require’ing it twice but switching the case of the first two letters  
between calls to require.

Thanks in advance for any help with this,  
John Emerson Conrad

$ ruby -v  
ruby 1.8.4 (2005-12-24) [powerpc-darwin8.5.0]

[FIRST SESSION]

$ irb  
irb(main):001:0\> require ‘rubygems’  
=\> true  
irb(main):002:0\> require ‘RMagick’  
=\> false  
irb(main):003:0\> Magick  
NameError: uninitialized constant Magick  
from (irb):3  
from  
/usr/local/lib/ruby/site\_ruby/1.8/rubygems/specification.rb:227  
irb(main):004:0\> require ‘rmagick’  
=\> true  
irb(main):005:0\> Magick  
=\> Magick  
irb(main):006:0\> exit

[SECOND SESSION]

$ irb  
irb(main):001:0\> require ‘rubygems’  
=\> true  
irb(main):002:0\> require ‘rmagick’  
=\> false  
irb(main):003:0\> require ‘RMagick’  
=\> true

---

<div class="post-metadata">

**Author:** ![John\_Conrad](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b5ac83/32.png) [@John\_Conrad](https://www.ruby-forum.com/u/John_Conrad)\
**Post date:** [June 4, 2006, 4:34pm UTC](https://www.ruby-forum.com/t/strange-results-when-requireing-rmagick/62420/2 "2006-06-04T16:34:12Z")

</div>

John Conrad wrote:

> between calls to require.  
> irb(main):001:0\> require ‘rubygems’  
> irb(main):005:0\> Magick  
> irb(main):003:0\> require ‘RMagick’  
> =\> true

What version of RMagick do you have installed?

In the 2nd session, when require returns “false”, try this:

puts Magick::Long\_version

What happens?

---

<div class="post-metadata">

**Author:** ![John\_Conrad](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b5ac83/32.png) [@John\_Conrad](https://www.ruby-forum.com/u/John_Conrad)\
**Post date:** [June 4, 2006, 4:52pm UTC](https://www.ruby-forum.com/t/strange-results-when-requireing-rmagick/62420/3 "2006-06-04T16:52:32Z")

</div>

On 6/4/06, Timothy H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 

I have rmagick-1.11.1 installed, and I uninstalled all previous versions  
to  
make sure they weren’t somehow confusing my system.

The second session is the same as the first session except the order of  
the  
calls are reversed. The constant ‘Magick’ is uninitialized until I make  
the  
second call to require (perhaps I should have demonstrated this  
explicitly  
as I did in the first session).

Anyway, here’s what happens:

$ irb  
irb(main):001:0\> require ‘rubygems’  
=\> true  
irb(main):002:0\> require ‘rmagick’  
=\> false  
irb(main):003:0\> puts Magick::Long\_version  
NameError: uninitialized constant Magick  
from (irb):3  
from  
/usr/local/lib/ruby/site\_ruby/1.8/rubygems/specification.rb:227

---

<div class="post-metadata">

**Author:** ![John\_Conrad](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b5ac83/32.png) [@John\_Conrad](https://www.ruby-forum.com/u/John_Conrad)\
**Post date:** [June 4, 2006, 10:08pm UTC](https://www.ruby-forum.com/t/strange-results-when-requireing-rmagick/62420/4 "2006-06-04T22:08:51Z")

</div>

> I’m stumped. I purged my playpen version of RMagick and installed it via  
> a normal “gem install”:

After I have loaded RMagick (by require’ing it twice and changing from  
‘RMagick’ to ‘rmagick’ between require calls), I get the same result as  
you  
from puts Magick::Long\_version.

Man I’m stumped.

Thanks for trying…

JEC

---

<div class="post-metadata">

**Author:** ![John\_Conrad](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b5ac83/32.png) [@John\_Conrad](https://www.ruby-forum.com/u/John_Conrad)\
**Post date:** [June 4, 2006, 8:52pm UTC](https://www.ruby-forum.com/t/strange-results-when-requireing-rmagick/62420/5 "2006-06-04T20:52:02Z")

</div>

John Conrad wrote:

> > 
> 
> explicitly  
> NameError: uninitialized constant Magick  
> from (irb):3  
> from  
> /usr/local/lib/ruby/site\_ruby/1.8/rubygems/specification.rb:227

I’m stumped. I purged my playpen version of RMagick and installed it via  
a normal “gem install”:

timothyhunter$ ruby --version  
ruby 1.8.4 (2005-12-24) [powerpc-darwin8.3.0]  
timothyhunter$ gem --version  
0.8.11  
timothyhunter$ irb  
irb(main):001:0\> Magick  
NameError: uninitialized constant Magick  
from (irb):1  
irb(main):002:0\> require ‘rubygems’  
=\> true  
irb(main):003:0\> require ‘RMagick’  
=\> true  
irb(main):004:0\> puts Magick::Long\_version  
This is RMagick 1.11.1 ($Date: 2006/05/27 21:05:59 $) Copyright (C) 2006  
by Timothy P. Hunter  
Built with ImageMagick 6.2.7 04/27/06 Q8 [http://www.imagemagick.org](http://www.imagemagick.org)  
Built for ruby 1.8.4 (2005-12-24) [powerpc-darwin8.3.0]  
Web page: [http://rmagick.rubyforge.org](http://rmagick.rubyforge.org)  
Email: removed\_email\_address@domain.invalid  
=\> nil  
irb(main):005:0\>

---

<div class="post-metadata">

**Author:** ![John\_Conrad](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b5ac83/32.png) [@John\_Conrad](https://www.ruby-forum.com/u/John_Conrad)\
**Post date:** [June 4, 2006, 10:30pm UTC](https://www.ruby-forum.com/t/strange-results-when-requireing-rmagick/62420/6 "2006-06-04T22:30:05Z")

</div>

John Conrad wrote:

> Thanks for trying…
> 
> JEC

One last thing: I’m using RubyGems 0.8.11.

As a last resort you could uninstall the rmagick gem and install RMagick  
from source. It’s not all that much more work (especially since you’ve  
already got ImageMagick/GraphicsMagick installed) and then you just  
wouldn’t have to depend on RubyGems.

---

<div class="post-metadata">

**Author:** ![John\_Conrad](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b5ac83/32.png) [@John\_Conrad](https://www.ruby-forum.com/u/John_Conrad)\
**Post date:** [June 4, 2006, 11:34pm UTC](https://www.ruby-forum.com/t/strange-results-when-requireing-rmagick/62420/7 "2006-06-04T23:34:52Z")

</div>

> One last thing: I’m using RubyGems 0.8.11.
> 
> As a last resort you could uninstall the rmagick gem and install RMagick  
> from source. It’s not all that much more work (especially since you’ve  
> already got ImageMagick/GraphicsMagick installed) and then you just  
> wouldn’t have to depend on RubyGems.

I’m using RubyGems 0.8.11 too. Sorry, I forgot to mention that before.  
Thanks for your help. I think I’ll follow your advice and install from  
source.

(But if anybody else on the list has any clue what’s going on, I’d still  
love to solve this mystery.)

JEC
