Hi,
on linux and solaris I'm using libMagickCore linked dynamically. The code works great as long as I don't move the installed delegates. I can't move the ImageMagick-6.4.1 directory (the one containing 'config' and 'modules-Q16')
When I try to install my application on a different machine in a different location it can't find the delegates. I get an exception: severity MissingDelegateError with a reason: "NoDecodeDelegateForThisImageFormat '/dir/file.jpg'" If I copy the ImageMagick-6.4.1 directory to the same path as the original machine then it works fine.
I installed the delegates on the second machine using libtool cp -R (tried a simple cp too) and set $MAGICK_HOME so that $MAGICK_HOME/lib/ImageMagick-6.4.1/config is valid. Also tried setting $MAGICKCORE_CONFIGURE_PATH to point to the full path to ImageMagick-6.4.1/config but neither works. I always get the error NoDecodeDelegateForThisImageFormat.
I've put a getenv("MAGICK_HOME") into my code to confirm that it is set when calling MagickCoreGenesis() and ReadImage().
In trying to track this down I've gone back to simply getting the 'identify' app to find the delagates when they are moved. Setting $MAGICK_HOME or $MAGICKCORE_CONFIGURE_PATH and running identify gives me the same error:
identify: no decode delegate for this image format `/opt/louisd/t.jpg'.
I also tried copying delegates.xml into the current directory and identify finds it, but still can't find the ImageMagick-6.4.1 directory containing the delegate libraries.
Any ideas? Is there a specific way I should be installing the delegates to a different location?
Thanks in advance,
Louis
Problems moving libMagickCore.so.1 and delegate libraries
Re: Problems moving libMagickCore.so.1 and delegate libraries
I've found the source of the problem. The environment variable names are incorrect in the documentation. I've found the following names from examining the source code:
MAGICK_CONFIGURE_PATH
MAGICK_CODER_MODULE_PATH
MAGICK_CODER_FILTER_PATH
The QuickStart.txt in 6.4.1 still refers to 6.4.0 and suggests the use of $MAGICKCORE_CONFIGURE_PATH instead of $MAGICK_CONFIGURE_PATH
Louis
MAGICK_CONFIGURE_PATH
MAGICK_CODER_MODULE_PATH
MAGICK_CODER_FILTER_PATH
The QuickStart.txt in 6.4.1 still refers to 6.4.0 and suggests the use of $MAGICKCORE_CONFIGURE_PATH instead of $MAGICK_CONFIGURE_PATH
Louis
Re: Problems moving libMagickCore.so.1 and delegate libraries
We patched the documentation. Thanks for alerting us to the problem.