On Oct 30, 2005, at 12:28 AM, John Horner wrote:

Actually no. But I have got this:

cc: @CPPFLAGS@: No such file or directory
cc: @: No such file or directory
cc: @LFS_CPPFLAGS@: No such file or directory
cc: @DEFS@: No such file or directory
In file included from Magick.xs:63:
/usr/local/include/magick/ImageMagick.h:774: error: `MaxTextExtent' undeclared here (not in a function)

Those @FOO@ strings are placeholders, they shouldn't appear in Makefile.PL. Are you certain that you're running "perl Makefile.PL", not "perl Makefile.PL.in"?

Also, you need to be sure you're using the same version of ImageMagick and PerlMagick. The version of ImageMagick listed on the page you mentioned is 6.1.7, but the version of PerlMagick that's on CPAN is 6.2.4. So, if you insist on using such an old version of the library, you'll need to fetch and install the Perl module by hand.

This is what I have for LIBS:

'LIBS' => ['-L/usr/lib -lMagick -L/usr/X11R6/lib64 -L/usr/lib -ltiff -ljpeg -lpng -ldpstk -ldps -lXext -lXt -lSM -lICE -lX11 - lbz2 -lxml2 -lpthread -lm -lpthread']

and this is INC

'INC' => '-I../ -I.. -I/usr/include/freetype2 -I/usr/X11R6/ include -I/usr/X11R6/include/X11 -I/usr/include/libxml2'

so, can I get a hint on how to change those things? Add new items, replace some of the ones there already? Add "/usr/local/" only or "/ usr/local/lib/" or something more specific? I'm particularly mystified by the uppercase and lowercase "L"s.

They're compiler and linker flags. The upper-case letters add to the include search path (-I) and the library search path (-L). The lower case -l tells the linker to link against a library.

In simple terms, you can think of them as being roughly equivalent to pushing a path onto @INC.

I don't, but I've become used to being able to look for errors in $!.

Sure, it's odd. Every module has its quirks though. I've seen worse. When in Rome... ;-/

sherm--

Cocoa programming in Perl: http://camelbones.sourceforge.net
Hire me! My resume: http://www.dot-app.org

Reply via email to