Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Reply-To: From: "Bill McCormick" To: "Cygwin" Subject: RE: ImageMagick/PerlMagick Date: Wed, 23 Jul 2003 02:55:17 -0500 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_000D_01C350C5.D920F120" X-Priority: 3 (Normal) X-MSMail-Priority: Normal In-Reply-To: X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Importance: Normal ------=_NextPart_000_000D_01C350C5.D920F120 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit The saga continues ... Exerpt from my \usr\src\ImageMagick-5.5.7\PerlMagick\README.txt: Next, edit Makefile.PL and change LIBS and INC to include the appropriate path information to the required libMagick library. You will also need library search paths (-L) to JPEG, PNG, TIFF, etc. libraries if they were included with your installed version of ImageMagick. If an extension library is built as a shared library but not installed in the system's default library search path, you may need to add run-path information (often -R or -rpath) corresponding to the equivalent library search path option so that the library can be located at run-time. I think I'm missing something when I try to make the necessary edits to Makefile.PL. Maybe somebody could have a look. I think I need a -R or -rpath but I'm not sure exactly where to put it. I just made changes to the INC and LIB sections adding -L/lib (which is where some of the extension libs are) and the -I\usr\local\include\magick -I\usr\local\include\Magick++. Not sure if I need the Magick++; I can't figure out what I left out at this point. Something else of note is that when I run perl Makefile.PL the output is ... $ perl Makefile.PL Note (probably harmless): No library found for -lMagick Note (probably harmless): No library found for -lgdi32 Writing Makefile for Image::Magick I would have to think that the fact it can't find the lib for -lMagick is not harmless (i.e. bad.) Thanks. Finally going to sleep now. > When last we left our valiant hero, he was finally able to get > ImageMagic to > config w/ jpeg. Although the support for EXIF seemed to still be missing > something, he compiled ImageMagick and trudged on to the next step in his > quest... PerlMagick. > > Issuing the 'perl Makefile.PL' command, his confidence was again bolstered > by a the happy output of a Makefile generation. Then upon issuing the make > command, from out of nowhere like some ghost in the machine, the make > failed. > > Our hero took a deep breath, read various docs and searched the lists, but > upon finding no answer decided to start over from the beginning. > Upon doing > more thorough navigation at imagemagick.org web site, he finds > binaries for > cygwin. With spirits again bolstered, he downloads that along with all the > delegates and other various items ('cause he's a download doggy.) Hoping > just to get PerlMagick working, following strict software installation > guidelines of making small changes, one at a time, he installs only the > cygwin ImageMagick binaries. Disappointment strikes again; PerlMagick is > still unable to make. > > Ok .... f*ck the story. It's too late. I hope you got a chuckle anyway. > > I got Imagemagick to finally config and build w/ jpeg by uninstalling the > jpeg libs from the cygwin setup and then re-installing. The PerlMagick > Makefile.PL makes a Makefile that does not make. Did that make scense? > During make we get to ... > > Creating library file: libMagick.dll.a > > and then about a zillion messages like ... > > Magick.o(.text+0xbd9):Magick.c: undefined reference to `_GetExceptionInfo' > Magick.o(.text+0xc00):Magick.c: undefined reference to `_CloneImage' > Magick.o(.text+0xc14):Magick.c: undefined reference to > `_DestroyExceptionInfo' > Magick.o(.text+0xc2c):Magick.c: undefined reference to `_CatchException' > Magick.o(.text+0xcbc):Magick.c: undefined reference to `_ReacquireMemory' > Magick.o(.text+0xcce):Magick.c: undefined reference to `_AcquireMemory' > Magick.o(.text+0xdec):Magick.c: undefined reference to `_FormatString' > Magick.o(.text+0xe4a):Magick.c: undefined reference to `_AcquireMemory' > Magick.o(.text+0xe58):Magick.c: undefined reference to `_CloneImageInfo' > Magick.o(.text+0xe6a):Magick.c: undefined reference to `_CloneDrawInfo' > Magick.o(.text+0xe79):Magick.c: undefined reference to > `_CloneQuantizeInfo' > Magick.o(.text+0xecd):Magick.c: undefined reference to `_MagickError' > Magick.o(.text+0x1378):Magick.c: undefined reference to `_MagickError' > > *snip* > > Seems to be a missing lib or path to find it. > > Takers? > > > Thanks, > > Bill > --- > Outgoing mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.502 / Virus Database: 300 - Release Date: 7/18/2003 > > > -- > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > Problem reports: http://cygwin.com/problems.html > Documentation: http://cygwin.com/docs.html > FAQ: http://cygwin.com/faq/ > > > --- > Incoming mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.502 / Virus Database: 300 - Release Date: 7/18/2003 > --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.502 / Virus Database: 300 - Release Date: 7/18/2003 ------=_NextPart_000_000D_01C350C5.D920F120 Content-Type: application/octet-stream; name="Makefile.PL" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="Makefile.PL" # Makefile written by Bob Friesenhahn.=0A= =0A= use ExtUtils::MakeMaker;=0A= use Config;=0A= =0A= # Compute test specification=0A= my $delegate_tests=3D't/*.t';=0A= my $delegate;=0A= foreach $delegate (qw/ bzlib jbig jng jpeg png ps tiff ttf x zlib/) {=0A= if( -d "t/$delegate" ) {=0A= $delegate_tests .=3D " t/$delegate/*.t";=0A= }=0A= }=0A= =0A= # See lib/ExtUtils/MakeMaker.pm for details of how to influence=0A= # the contents of the Makefile that is written.=0A= WriteMakefile=0A= (=0A= # Module description=0A= 'ABSTRACT' =3D> 'ImageMagick PERL Extension',=0A= =0A= # Perl module name is Image::Magick=0A= 'NAME' =3D> 'Image::Magick',=0A= =0A= # Module author=0A= 'AUTHOR' =3D> 'ImageMagick Studio LLC',=0A= =0A= # Module version=0A= 'VERSION' =3D> '5.5.7',=0A= =0A= # Preprocessor defines=0A= 'DEFINE' =3D> '-DHAVE_CONFIG_H', # e.g., '-DHAVE_SOMETHING' =0A= =0A= # Header search specfication and preprocessor flags=0A= 'INC' =3D> '-I../ -I.. -I/usr/X11R6/include/freetype2 -D_REENTRANT = -I/usr/X11R6/include -I/usr/X11R6/include/X11 -I/usr/include/libxml2 = -I\usr\local\include\magick -I\usr\local\include\Magick++',=0A= =0A= # C pre-processor flags (e.g. -I & -D options)=0A= # 'CPPFLAGS' =3D> "$Config{'cppflags'} = -I/usr/X11R6/include/freetype2 -D_REENTRANT -I/usr/X11R6/include = -I/usr/X11R6/include/X11 -I/usr/include/libxml2",=0A= =0A= # C compiler flags (e.g. -O -g)=0A= # 'CCFLAGS' =3D> "$Config{'ccflags'} -g -O2 -Wall",=0A= =0A= # Linker flags for building an executable=0A= 'LDFLAGS' =3D> "-L/usr/local/lib $Config{'ldflags'}",=0A= =0A= # Linker flags for building a dynamically loadable module=0A= 'LDDLFLAGS' =3D> "-L/usr/local/lib $Config{'lddlflags'}",=0A= =0A= # Install PerlMagick binary into ImageMagick bin directory=0A= 'INSTALLBIN' =3D> '/usr/local/bin',=0A= =0A= # Library specification=0A= 'LIBS' =3D> ['-L/usr/local/lib -lMagick -L/usr/X11R6/lib = -L/usr/X11R6/lib -L/usr/lib -L/lib -ljbig -ltiff -lfreetype -ljpeg -lpng = -ldpstk -ldps -lXext -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lgdi32 -lpthread = -lm'],=0A= =0A= # Perl binary name (if a Perl binary is built)=0A= 'MAP_TARGET' =3D> 'PerlMagick',=0A= =0A= # Let CFLAGS drive optimization flags by setting OPTIMIZE to empty=0A= # 'OPTIMIZE' =3D> '',=0A= =0A= # Use same compiler as ImageMagick=0A= 'PERLMAINCC' =3D> '',=0A= =0A= # Set Perl installation prefix to ImageMagick=0A= # 'PREFIX' =3D> '/usr/local',=0A= =0A= # Include delegate directories in tests=0A= test =3D> { TESTS =3D> $delegate_tests},=0A= =0A= ($Config{'archname'} =3D~ /-object$/i ? ('CAPI' =3D> 'TRUE') : ()),=0A= );=0A= =0A= #=0A= # Stinky ExtUtils::MM_Unix likes to append its own library path to $(CC),=0A= # prior to any user-specified library path so that an installed library = is=0A= # used rather than the library just built. This substitution function=0A= # tries to insert our library path first. Also, use the same compiler = used=0A= # to build perlmain.c to link so that a C++ compiler may be used if=0A= # necessary.=0A= #=0A= sub MY::makeaperl {=0A= package MY; # so that "SUPER" works right=0A= my $inherited =3D shift->SUPER::makeaperl(@_);=0A= =0A= $inherited =3D~ s:MAP_LINKCMD\s.*\s*\$\(CC\):MAP_LINKCMD =3D = \$(PERLMAINCC) -L/usr/local/lib: ;=0A= $inherited;=0A= }=0A= ------=_NextPart_000_000D_01C350C5.D920F120 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ ------=_NextPart_000_000D_01C350C5.D920F120--