Problem with require 'RMagick'

59 views
Skip to first unread message

Christophe Decaux

unread,
Apr 13, 2010, 11:03:13 AM4/13/10
to rubyonra...@googlegroups.com
First, pardon me if this is not the right forum.

I'm banging my head on the wall for a day now with a RMagick installation issue.

I installed ImageMagick and RMagick both from source. They compiled with problems. (I had some issues with fonts, but that's over)

In the ruby console, this works :
Loading development environment (Rails 2.3.5)
>> require 'RMagick'
=> []

However, in my controller file the following command

require 'RMagick'
produces :

MissingSourceFile in ImagesController#serve_image

no such file to load -- RMagick
RAILS_ROOT: /srv/d_prod/www/cobra

Application Trace | Framework Trace | Full Trace
/opt/ruby-enterprise-1.8.7-2010.01/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/opt/ruby-enterprise-1.8.7-2010.01/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
/opt/ruby-enterprise-1.8.7-2010.01/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
/opt/ruby-enterprise-1.8.7-2010.01/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in'
/opt/ruby-enterprise-1.8.7-2010.01/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
/srv/d_prod/www/cobra/lib/image_tools.rb:1
/srv/d_prod/www/cobra/app/models/image.rb:17:in `thumbnail!'
/srv/d_prod/www/cobra/app/controllers/images_controller.rb:6:in `serve_image'

This error occurred while loading the following files:
RMagick


After googling around, I tried the following:
- Install RMagick as a gem = no change
- Uninstall RMagick as a gem = no change
- change the require 'RMagick' to 'rmagick' = no change (actually worse as the same command in console will fail)
- add require 'rubygems' = no change

Anyone has a clue ?

Thanks,

Christophe

Ivan Nastyukhin

unread,
Apr 13, 2010, 11:41:21 AM4/13/10
to rubyonra...@googlegroups.com
Please, people
Not use rMagic
It fucking machine will be eat all your memory

> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
>

Andy Jeffries

unread,
Apr 13, 2010, 11:48:11 AM4/13/10
to rubyonra...@googlegroups.com
On 13 April 2010 16:41, Ivan Nastyukhin <diei...@me.com> wrote:
Please, people
Not use rMagic
It fucking machine will be eat all your memory

1) get a machine with more memory, it's working fine for us.  If not, put them in a queue to be processed and handle the generation in the background - or on first request and cached.

2) there's not really any need for that language, is there?  We're all adults, but still...

3) don't just say "don't use X" without suggesting a capable replacement Y (e.g. something that will work with a few lines of code with Paperclip)

Regards,


Andy

Andy Jeffries

unread,
Apr 13, 2010, 11:53:34 AM4/13/10
to rubyonra...@googlegroups.com
In the ruby console, this works :
Loading development environment (Rails 2.3.5)
>> require 'RMagick'
=> []

However, in my controller file the following command

require 'RMagick'
produces :

MissingSourceFile in ImagesController#serve_image

Weird that one works but the other doesn't...
 
After googling around, I tried the following:
- Install RMagick as a gem = no change

Did you add the config.gem line for RMagick to your environment.rb file and restart your Apache/server:

config.gem "rmagick", :lib => "RMagick2"

You then shouldn't need the require line in your code, it should just be available.

Cheers,


Andy

Ivan Nastyukhin

unread,
Apr 13, 2010, 11:55:47 AM4/13/10
to rubyonra...@googlegroups.com
1) rmagic - is an old bastard whose time has long thrown out and entirely adequate ruby community to forget
2) 
paperclip
mini_magic

Christophe Decaux

unread,
Apr 13, 2010, 12:27:31 PM4/13/10
to rubyonra...@googlegroups.com
Thanks a million !!!

You saved my day....

Although I really don't understand what this little command does and why it's there.

Anyway, even if I heard that I shouldn't use RMagick, I can go on my project.

Christophe

Peter De Berdt

unread,
Apr 14, 2010, 4:19:47 AM4/14/10
to rubyonra...@googlegroups.com
Hey Ivan

Without going into cursing or blind statements, let me show you that
you are blatantly wrong.

On 13 Apr 2010, at 17:55, Ivan Nastyukhin wrote:

> 1) rmagic - is an old bastard whose time has long thrown out and
> entirely adequate ruby community to forget

RMagick is being used quite a lot still, depending on the
requirements. It's not thrown out, it's in active development, and
although it does use quite a bit of memory, some graphic processing
just REQUIRES RMagick if you want to get something done. See bullet
number 2.

> 2) paperclip, mini_magic

Great, now tell me how you will do the following with MiniMagic:

- Proportionally scale an incoming image to certain boundaries (so far
so good for MiniMagic)
- Overlay the image with a transparent png to simulate the texture of
a book on it
- Compose an image with the glossy scaled image from above and add a
book corner in the top left, a book corner in the top right. Then
stretch a repeating pattern across the top to make it look like a book
- Generate a reflection of the resulting image on a repeating background

MiniMagic won't get you past step one. If you think this is not a real-
life example, here's the quick-and-dirty proof-of-concept of the
project: http://mozaiek.bronnenwijzer.be/
RMagick is used, it's fast, it uses some memory, but nothing that our
server can't handle and it's stable. And to be honest, this is even
peanuts compared to some other graphic composing and processing we've
done with it, but I can't show those private projects.

You could just have made your point by saying:
"If scaling an image is the only thing you need to do, it might be a
good idea to look other options for the graphic processing, like
FreeImage or mini_magic. Their memory requirements are not as high as
RMagick and they will get the job done equally well."

Everything else you said basically tells you picked up something from
the mailing lists in the past and it grew into an pointless and
incorrect claim in your mind.


Best regards

Peter De Berdt

Arun M.

unread,
May 28, 2013, 10:42:33 PM5/28/13
to rubyonra...@googlegroups.com
Thank you so much for this answer

--
Posted via http://www.ruby-forum.com/.
Reply all
Reply to author
Forward
0 new messages