Open dmacks opened 3 years ago
I do not think it is as easy as changing a few calls in the code, but we would have to do a full investigation and evaluate all the changes between the ImageMagick 6 and 7 APIs.
As the im.so
plugin is an optional plugin for Virtuoso, and is mainly used by the ODS applications, this is currently not a high priority. Many current Linux distributions still ship with ImageMagick 6, and although Apple does not ship this library, packages are available via homebrew
, fink
, or macports
.
As you mention you are using fink
, i would advice you to use the ImageMagick 6 libraries which are as I can see available as well:
https://pdb.finkproject.org/pdb/package.php/imagemagick6.9.q16-common
Alternatively you can configure VOS with the --disable-imagemagick
option to disable building this plugin. Note this does NOT affect the main functionality of the Virtuoso database.
virtuoso-7.2.5.1
uses somemagickwand
APIs that changed frommagick6
tomagick7
. First, there is already confusion about the header filename:configure.ac
checks forwand/magick-wand.h
butbinsrc/samples/image_magick/im.c
was changed to usewand/MagickWand.h
in 0179c479315f222172c3e3fde5fa5c8a47af5b4e. I'm not sure why./configure
needs to check for the specific header, given it's already usedpkg-config
to check for the library itself...seems like just one more thing to have to keep updated manually?For
magick7
, it's now calledMagickWand/MagickWand.h
. Making the change here and and inconfigure
leads to three types of compile-time failure:as a result of API changes.
MagickResizeImage()
andMagickResampleImage()
no longer take a blur parameter. AndMagickCompositeImage()
has a newclip_to_self
boolean parameter after theCompositeOperator
(see for exampleleafo/magick/issues/57
). Removing the blur parameter and inserting1.0
for the clip flag getsim.so
to compile on my OS X 10.13 box (all non-Apple dependencies supplied byfink
). I don't know if that is the right solution though, since the blur values seem to come from external to the code here...not sure if there is an alternate way to implement whatever feature is desired for it.