Debian packages: missing dependency to gsfonts may break Captcha
Concerned version
- Version: %2.0.11
- OS: Debian 10 buster
- Platform: Apache2
Summary
After complete install, captcha does not work. First, I have tons of warnings and after digging into the code, my conclusions are very similar to what can be found on https://github.com/burak/CPAN-GD-SecurityImage/issues/2
When I disable the use of magick, it works.
I tried to play in specifying fonts path directly into code. When I do so, warnings disappear and variables look filled correctly, however still no text on catpcha.
I also tried to change the type.xml in /etc/ImageMagick-6/type.xml but there again nothing worked.
- Packages installed about:
$ dpkg -l | grep -i magick
ii imagemagick-6-common 8:6.9.10.23+dfsg-2.1+deb10u1 all image manipulation programs -- infrastructure
ii libimage-magick-perl 8:6.9.10.23+dfsg-2.1+deb10u1 all Perl interface to the ImageMagick graphics routines
ii libimage-magick-q16-perl 8:6.9.10.23+dfsg-2.1+deb10u1 amd64 Perl interface to the ImageMagick graphics routines -- Q16 version
ii libmagickcore-6.q16-6:amd64 8:6.9.10.23+dfsg-2.1+deb10u1 amd64 low-level image manipulation library -- quantum depth Q16
ii libmagickwand-6.q16-6:amd64 8:6.9.10.23+dfsg-2.1+deb10u1 amd64 image manipulation library -- quantum depth Q16
I also have a similar installation on centOS 7, the only difference I see, is the library version for Magick, 1.72 on centOS, 1.75 on Debian buster, but looking at the changes between these 2 versions, it does not give more clues.
debug logs also does not give more information about the problem. I think warning and analysis https://github.com/burak/CPAN-GD-SecurityImage/issues/2 are a good view of the situation...
Logs
Argument " " isn't numeric in division (/) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 85.
Use of uninitialized value in addition (+) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 93.
Use of uninitialized value in addition (+) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 93.
Use of uninitialized value in addition (+) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 93.
Use of uninitialized value in addition (+) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 93.
Use of uninitialized value in addition (+) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 93.
Use of uninitialized value in addition (+) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 93.
Use of uninitialized value in addition (+) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 93.
Use of uninitialized value in addition (+) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 93.
Use of uninitialized value in addition (+) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 93.
Use of uninitialized value in addition (+) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 93.
Use of uninitialized value in multiplication (*) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 95.
Use of uninitialized value in subtraction (-) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 99.
Use of uninitialized value in multiplication (*) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 95.
Use of uninitialized value in subtraction (-) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 99.
Argument " " isn't numeric in addition (+) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 99.
Use of uninitialized value in multiplication (*) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 95.
Use of uninitialized value in subtraction (-) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 99.
Use of uninitialized value in multiplication (*) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 95.
Use of uninitialized value in subtraction (-) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 99.
Use of uninitialized value in multiplication (*) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 95.
Use of uninitialized value in subtraction (-) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 99.
Use of uninitialized value in multiplication (*) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 95.
Use of uninitialized value in subtraction (-) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 99.
Use of uninitialized value in multiplication (*) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 95.
Use of uninitialized value in subtraction (-) at /usr/share/perl5/GD/SecurityImage/Magick.pm line 99.
[...]
Possible workaround
package Lemonldap::NG::Portal::Lib::Captcha;
use strict;
use GD::SecurityImage use_magick => 0;