Subject: | Installation under Debian Multiarch (Ubuntu >11.04) |
Date: | Tue, 2 Jul 2013 15:42:17 +0300 |
To: | bug-Filter-Crypto [...] rt.cpan.org |
From: | Stas Ivaschenko <ivaschenko.stas [...] gmail.com> |
Hi,
Since introduction of Debian Multiarch support in Ubuntu 11.04, module
wasn't able to find libssl during configuration.
*** Checking for Perl dependencies...
[Core Features]
- Test::More ...loaded. (0.98)
- blib ...loaded. (1.06)
- Exporter ...loaded. (5.64_03)
- Fcntl ...loaded. (1.11)
- Scalar::Util ...loaded. (1.23)
- Text::ParseWords ...loaded. (3.27)
- XSLoader ...loaded. (0.13)
[crypt_file -e tempfile support]
- File::Temp ...loaded. (0.22)
[PAR::Filter support]
- PAR::Filter ...loaded. (0.03)
- File::Temp ...loaded. (0.22)
[Fuller PAR::Filter::Crypto testing]
- Archive::Zip ...loaded. (1.30)
[POD testing]
- Test::Pod ...loaded. (1.44 >= 1.00)
*** Module::AutoInstall configuration finished.
Where is your OpenSSL or SSLeay? [/usr]
Found include directory ............ /usr/include
Found OpenSSL version .............. 1.0.1
Error (109): No crypto library found at Makefile.PL line 112
So openssl binary is found but the lib isn't, because now libs are
migrated to different location:
/lib/i386-linux-gnu
/lib/x86_64-linux-gnu
/usr/lib/i386-linux-gnu
/usr/lib/x86_64-linux-gnu
Small diff adds locations to the search path:
--- Filter-Crypto-2.00/inc/Module/Install/PRIVATE/Filter/Crypto.pm
2012-05-19 12:39:46.000000000 +0000
+++ Filter-Crypto-2.00/inc/Module/Install/PRIVATE/Filter/Crypto.pm
2013-07-02 12:18:27.000000000 +0000
@@ -601,6 +601,18 @@
{
$lib_dir = $dir;
}
+ elsif (defined $Config{use64bitint} and
+ $Config{use64bitint} eq 'define' and
+ -d ($dir = catdir($prefix_dir, 'lib', 'x86_64-linux-gnu')) and
+ ($lib_file, $lib_name) = $self->probe_for_lib_file($dir))
+ {
+ $lib_dir = $dir;
+ }
+ elsif (-d ($dir = catdir($prefix_dir, 'lib','i386-linux-gnu')) and
+ ($lib_file, $lib_name) = $self->probe_for_lib_file($dir))
+ {
+ $lib_dir = $dir;
+ }
elsif (-d ($dir = catdir($prefix_dir, 'lib')) and
($lib_file, $lib_name) = $self->probe_for_lib_file($dir))
{
Compiles and works fine.
--
Br,
Stanislav.