When building PerlMagick from ImageMagick 6.3.0.1 the build fails with the errorlog shown below.
The problem seems to stem from the wrong order of link switches in the MakeMaker generated makefile and can be fixed with the attached patch to /lib/perl5/5.8/ExtUtils/MM_Unix.pm . Volker Running Mkbootstrap for Image::Magick () chmod 644 Magick.bs rm -f blib/arch/auto/Image/Magick/Magick.dll LD_RUN_PATH="" ld2 -L../magick/.libs -lMagick -s -L/usr/local/lib Magick.o -o blib/arch/auto/Image/Magick/Magick.dll /usr/lib/perl5/5.8/cygwin/CORE/libperl.dll.a -L/usr/lib -lfreetype -lz -L/usr/lib -llcms -ltiff -lfreetype -ljpeg -lbz2 -lz -lpthread -lm -lpthread gcc -shared -o Magick.dll -Wl,--out-implib=libMagick.dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--stack,8388608 -Wl,--enable-auto-image-base \ -L../magick/.libs -lMagick -s -L/usr/local/lib Magick.o /usr/lib/perl5/5.8/cygwin/CORE/libperl.dll.a -L/usr/lib -lfreetype -lz -L/usr/lib -llcms -ltiff -lfreetype -ljpeg -lbz2 -lz -lpthread -lm -lpthread Magick.o:Magick.c:(.text+0x1df): undefined reference to `_AcquireMagickMemory' Magick.o:Magick.c:(.text+0x1fa): undefined reference to `_ResizeMagickMemory' ( snip lots of undefined references ) Magick.o:Magick.c:(.text+0x28e89): undefined reference to `_SetErrorHandler' Creating library file: libMagick.dll.a collect2: ld returned 1 exit status perlld: *** system() failed to execute gcc -shared -o Magick.dll -Wl,--out-implib=libMagick.dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--stack,8388608 -Wl,--enable-auto-image-base \ -L../magick/.libs -lMagick -s -L/usr/local/lib Magick.o /usr/lib/perl5/5.8/cygwin/CORE/libperl.dll.a -L/usr/lib -lfreetype -lz -L/usr/lib -llcms -ltiff -lfreetype -ljpeg -lbz2 -lz -lpthread -lm -lpthread make[1]: *** [blib/arch/auto/Image/Magick/Magick.dll] Error 2 make[1]: Leaving directory `/usr/src/im6301/ImageMagick-6.3.0.1-1/build/PerlMagick' -- PGP/GPG key (ID: 0x9F8A785D) available from wwwkeys.de.pgp.net key-fingerprint 550D F17E B082 A3E9 F913 9E53 3D35 C9BA 9F8A 785D
--- /lib/perl5/5.8/ExtUtils/MM_Unix.pm.org 2006-10-29 14:32:59.093750000 -0500 +++ /lib/perl5/5.8/ExtUtils/MM_Unix.pm 2006-10-29 14:34:24.546875000 -0500 @@ -1135,8 +1135,8 @@ } push(@m, -' LD_RUN_PATH="$(LD_RUN_PATH)" $(LD) '.$ldrun.' $(LDDLFLAGS) '.$ldfrom. -' $(OTHERLDFLAGS) -o $@ $(MYEXTLIB) $(PERL_ARCHIVE) '.$libs.' $(PERL_ARCHIVE_AFTER) $(EXPORT_LIST) $(INST_DYNAMIC_FIX)'); +' LD_RUN_PATH="$(LD_RUN_PATH)" $(LD) '.$ldrun.' '.$ldfrom. +' $(LDDLFLAGS) $(OTHERLDFLAGS) -o $@ $(MYEXTLIB) $(PERL_ARCHIVE) '.$libs.' $(PERL_ARCHIVE_AFTER) $(EXPORT_LIST) $(INST_DYNAMIC_FIX)'); push @m, ' $(CHMOD) $(PERM_RWX) $@ ';
signature.asc
Description: OpenPGP digital signature