I have a Rails app that uses BackgroundRB to process images. I've been using a class that uses RMagick for quite some time without any issues at all. I recently added a new class that processes images using image_science instead of RMagick. After adding this new class and the image_science gem RMagick throws the following error:
JPEG parameter struct mismatch: library thinks size is 428, caller expects 464 `' - (Magick::ImageMagickError)
on this method: magick_image = Magick::Image.from_blob(image_blob)
When I uninstall image_science the class that uses RMagick ceases to throw the above error.
Here are my thoughts: image_science uses FreeImage, which ships with its own version of libjpeg. When Rails boots up it loads the image_science gem first, which loads FreeImage, which loads its own libjpeg. When RMagick gets loaded, is it possible that RMagick/ ImageMagick will not use the libjpeg that is in /usr/lib and instead use the one that was loaded by image_science/FreeImage?
This is of FC4 (i686 athlon i386 GNU/Linux) with Ruby 1.8.4 and the most recent versions of ImageMagick and RMagick.
Any help would be greatly appreciated!
Erik