Page 1 of 1

Linux runtime error: GetPixel.al not found

Posted: 2011-03-16T12:01:25-07:00
by Eddie
I have configured and built PerlMagick from ImageMagick 6.6.7-8 on a Blade cluster running CentOS 5 (variant of RHEL5)with Perl 5.8.8. It appears to configure and build OK but when the calling script runs, this error message comes in:

Can't locate auto/Image/Magick/GetPixel.al in @INC (@INC includes ...)

The configure/build process is supposed to take care of doing the Perl autosplit/autoload and does produce an autosplit.ix file, but it only contains the line "1;" after its header. No .al files for any subroutines were generated, so all such functions fail. The GetPixel subroutine is in file Magick.xs but there is no __END__ marker there. Can anyone help on this?

Re: Linux runtime error: GetPixel.al not found

Posted: 2011-03-16T12:21:32-07:00
by magick
Unpack the ImageMagick source and type
  • cd ImageMagick-6.6.8-4
    ./configure
    make
    make install
    ldconfig /usr/local/lib
    cd PerlMagick
    perl Makefile.PL
    make install
Does GetPixel() work now?

Re: Linux runtime error: GetPixel.al not found

Posted: 2011-03-16T12:23:55-07:00
by Eddie
I will download the newer version of ImageMagick and give this a try.

Re: Linux runtime error: GetPixel.al not found

Posted: 2011-03-17T11:27:27-07:00
by Eddie
Thanks for your input. I downloaded, built and installed IM 6.6.8-4. I should mention that I am doing this in my private area so I am using prefixes for the installation locations. We use a module environment and the libraries cannot go into /usr/local. Also, only root has access to the ldconfig utility, so instead of this I exported the library path manually.

After the configure/build/install steps, I tried running again and get the same error about getPixel.al not found. The autosplit is still not creating the *.al files, so no net progress has been made.

Is it possible to totally bypass the autpsplit/autoload such that all subroutines in Magick.xs get loaded each time? If so, what would I need to modify?