Subject: | [PATCH] libpng probe/test fails with non-standard location |
Date: | Wed, 18 Aug 2010 18:00:45 -0700 |
To: | bug-Imager [...] rt.cpan.org |
From: | Justin Davis <jrcd83 [...] gmail.com> |
I have installed libraries and modules into a separate prefix for a website I am developing. When I try to install Imager using a libpng that is in a non-standard location (directory) Makefile.PL fails to probe libpng and returns an error. I also noticed pkg-config could not find png's information. This is because pkg-config's data-files are also in the non-standard location, in the $PREFIX/lib/pkgconfig/ directory.
I will paste the example problem output and attach a patch for lib/Imager/Probe.pm, which PNG/Makefile.PL uses.
EXAMPLE OUTPUT (BEFORE PATCH)
[juster@artemis Imager]$ perl Makefile.PL --incpath $PREFIX/include --libpath $PREFIX/lib
done.
gif: includes found - libraries found
ungif: includes found - libraries not found
jpeg: includes found - libraries found
tiff: includes found - libraries found
freetype2: includes not found - libraries not found
freetype2: not available
T1-fonts: includes not found - libraries not found
TT-fonts: includes not found - libraries not found
w32: includes not found - libraries not found
EXIF support enabled
Checking if your kit is complete...
Looks good
Writing Makefile for Imager::CountColor
Writing Makefile for Imager::Filter::DynTest
Writing Makefile for Imager::Filter::Flines
Writing Makefile for Imager::File::ICO
Writing Makefile for Imager::Filter::Mandelbrot
PNG: Not found via pkg-config
PNG: includes found - libraries found
/home/juster/build/Imager/PNG/assertlibPEXHoAxI: error while loading shared libraries: libpng14.so.14: cannot open shared object file: No such file or directory
PNG: Test code failed: wrong result: 'png'
Writing Makefile for Imager::File::SGI
Writing Makefile for Imager::plugins
Writing Makefile for Imager
[juster@artemis Imager]$
EXAMPLE OUTPUT (AFTER PATCH)
[juster@artemis Imager.patched]$ perl Makefile.PL --incpath $PREFIX/include --libpath $PREFIX/lib
done.
gif: includes found - libraries found
ungif: includes found - libraries not found
jpeg: includes found - libraries found
tiff: includes found - libraries found
freetype2: includes not found - libraries not found
freetype2: not available
T1-fonts: includes not found - libraries not found
TT-fonts: includes not found - libraries not found
w32: includes not found - libraries not found
EXIF support enabled
Writing Makefile for Imager::CountColor
Writing Makefile for Imager::Filter::DynTest
Writing Makefile for Imager::Filter::Flines
Writing Makefile for Imager::File::ICO
Writing Makefile for Imager::Filter::Mandelbrot
PNG: Found via pkg-config libpng14
PNG: library version 10402, header version 10402
PNG: Passed code check
Writing Makefile for Imager::File::PNG
Writing Makefile for Imager::File::SGI
Writing Makefile for Imager::plugins
Writing Makefile for Imager
[juster@artemis Imager.patched]$
The patch that I used is attached to this email. There was a typo in Imager::Probe which never allowed LD_RUN_PATH to be set. I have also allowed pkg-config to search non-standard locations by setting the PKG_CONFIG_PATH environment variable.
Thanks,
Justin
Message body is not shown because sender requested not to inline it.