in reply to Re^7: Image-Magick on Strawberry Perl
in thread Image-Magick on Strawberry Perl

Hmmm ... disappointingly, it seems that these dll builds of ImageMagick make use of the Windows registry to locate the coder dlls.
That quickly kills any enthusiasm I might have had for creating ppm packages. (Just makes me want to vomit, actually.)

I see that Jean-Louis' Bribes repo provides builds (perl-5.16.x and earlier only) that don't rely on the registry. He has simply placed the coder dlls in the blib/auto/Image/Magick folder - which apparently works for him ... but doesn't work for me.
Does anyone know how he gets that to work ?

Update: Just for the record, building Image::Magick for Strawberry Perl seems to be not too difficult.
Having downloaded and installed http://www.imagemagick.org/download/binaries/ImageMagick-6.9.2-5-Q8-x64-dll.exe into C:\_64\im (making sure to tick the box that would install headers and libraries) I cd'd to \_64\im\ImageMagick-6.9.2-Q\lib and ran:
gendef ../CORE_RL_magick_.dll * [../CORE_RL_magick_.dll] Found PE+ ima +ge gendef ../CORE_RL_magick++_.dll * [../CORE_RL_magick++_.dll] Found PE+ + image gendef ../CORE_RL_wand_.dll * [../CORE_RL_wand_.dll] Found PE+ image dlltool --kill-at --input-def CORE_RL_magick_.def --output-lib libCORE +_RL_magick_.a dlltool --kill-at --input-def CORE_RL_magick++_.def --output-lib libCO +RE_RL_magick++_.a dlltool --kill-at --input-def CORE_RL_wand_.def --output-lib libCORE_R +L_wand_.a dlltool --kill-at --input-def CORE_RL_magick_.def --output-lib libMagi +ckCore.a
It's quite likely that only the first and last of those 7 commands actually needed to be run.
Following that, I ran:
set PATH=%PATH%;C:\_64\im\ImageMagick-6.9.2-Q8 set CPATH=C:\_64\im\ImageMagick-6.9.2-Q8\include;%CPATH% set LIBRARY_PATH=C:\_64\im\ImageMagick-6.9.2-Q8\lib;%LIBRARY_PATH%
Then cd to the top level folder of the PerlMagick-6.98 source and run 'perl Makefile.PL', 'dmake test' and 'dmake install'.
The only test that failed was t/wmf/read.t.

Cheers,
Rob

Replies are listed 'Best First'.
Re^9: Image-Magick on Strawberry Perl
by syphilis (Archbishop) on Nov 05, 2015 at 13:18 UTC
    Does anyone know how he gets that to work ?

    Continuing the soliloquy ... I don't know how Jean-Louis got it to work, but setting $ENV{MAGICK_CODER_MODULE_PATH} to the directory that contains the coders enables them to be loaded when the registry key either doesn't exist or specifies a wrong location.
    This re-opens the possibility that standalone Image::Magick ppm packages can be provided !!

    (Earlier today I googled up a post that asserted that MAGICK_CODER_MODULE_PATH is ignored on Windows. Thankfully that claim turns out to be bullshit - at least in relation to the ImageMagick binaries that I've downloaded.)

    Cheers,
    Rob
      This re-opens the possibility that standalone Image::Magick ppm packages can be provided !!

      For Image-Magick-6.89, using 8-bit rgb values (quantum depth = 8):
      ppm install http://www.sisyphusion.tk/ppm/Image-Magick_.ppd --force

      For Image-Magick-6.89, using 16-bit rgb values (quantum depth = 16):
      ppm install http://www.sisyphusion.tk/ppm/Image-Magick.ppd --force

      They expect to use the ImageMagick-6.9.2 that ships with them (and which is installed seamlessly).
      YMMV if attempts are made to use them with another ImageMagick installation.

      They both install a module named Image::Magick - which makes it tricky to have both types installed in the same build of perl.

      None of this is explained on the repo website (yet) beyond that provided in the post-install scripts http://www.sisyphusion.tk/ppm/scripts/install_image_magick and http://www.sisyphusion.tk/ppm/scripts/install_image_magick_

      Cheers,
      Rob

        Thanks, Rob. I have been struggling to install I::M for Strawberry 5.30 on Win Server 2016. From a cmd prompt run as Administrator, I am getting two errors:

        C:\Windows\system32>ppm install http://www.sisyphusion.tk/ppm/Image-Ma +gick_.ppd --force Unknown option: force Installing package 'http://www.sisyphusion.tk/ppm/Image-Magick_.ppd'.. +. Bytes transferred: 127690 Files found in blib\arch: installing files in blib\lib into architectu +re dependent library tree cannot remove directory for C:\Users\Administrator\.ppm/Image-Magick_- +5188: Permission denied at C:/Strawberry/perl/vendor/lib/PPM.pm line +490.

        But it looks as though I::M is working. :-)

        Regards,

        John Davies