I have come with a question! Basic set up is:
- Dockerfile FROM debian:stretch-slim (though this seems unrelated because I am actually debugging an issue I saw in a non-docker Debian environment)
- everything is necessarily being done as a non-privileged user
- perl 5.32.0 installed as a non-privileged user using perlbrew
The problem: following the prescribed steps (e.g, setting
MAGICK_HOME) and using
--with-perl, making sure the
perl I want is provided by the
perlbrew environment as expected, there is an issue with the build process finding
-lperl.
I have noted the following:
- perlbrew provides libperl.a (but I have also tried by making it build libperl.so)
- using the options, --enable-shared --with-modules and passing in LINKTYPE=static LD_RUN_PATH=/path/to/CORE to ExtUtils::MakeMaker via --with-perl-options allows it to build; however testing with perl -MImage::Magick fails due to not finding a method Image::Magick is using called constant.
If I install
libperl-dev via
apt-get, it all works perfectly. This just feels wrong to me. Anyone ever deal with this? I do not get the same issues on Ubuntu doing anything special with
perlbrew or passing in anything via
--with-perl-options. Though it now occurs to me that I didn't ensure that
libperl-dev was
not installed as a dependency for something else.
I've been pouring over
https://imagemagick.org/script/advanced-linux-installation.php for the better part of a day, and no luck. I also found
https://legacy.imagemagick.org/discourse-server/viewtopic.php?t=8133, but it's a very old post and didn't seem to give me any good ideas.
My last resort is to,
apt-get install libperl-dev - but I still want to use the newer version of
perl provided by
perlbrew. Any ideas? I can provide more detailed errors, but was hoping this could be recognized by someone here. TIA.