LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Shorewall won't install (https://www.linuxquestions.org/questions/linux-software-2/shorewall-wont-install-4175465840/)

3rensho 06-13-2013 07:46 AM

Shorewall won't install
 
I've been away from my Slackware64-current machine for a month and just ran the "slackpkg update/slackpkg upgrade-all" sequence. All went fine. Then noticed that there was a newer version of Shorewall available - 4.5.17.1. Installed the -core first without incident but when I run the install script for the main package I get -

Code:

root@missi:/data/patches/shorewall-4.5.17.1$ ./install.sh shorewallrc.slackware
Installing Slackware-specific configuration...
Compiling the Shorewall Perl Modules with Digest::SHA1
Can't locate Digest/SHA1.pm in @INC (you may need to install the Digest::SHA1 module) (@INC contains: /data/patches/shorewall-4.5.17.1/Perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Chains.pm line 31.
BEGIN failed--compilation aborted at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Chains.pm line 31.
Compilation failed in require at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Compiler.pm line 27.
BEGIN failed--compilation aborted at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Compiler.pm line 27.
Compilation failed in require at Perl/compiler.pl line 47.
BEGIN failed--compilation aborted at Perl/compiler.pl line 47.
ERROR: Shorewall 4.5.17.1 requires Perl which either is not installed or is not able to compile the Shorewall Perl code
      Try perl -c /data/patches/shorewall-4.5.17.1/Perl/compiler.pl

I then tried the suggested perl -c /data/patches/shorewall-4.5.17.1/Perl/compiler.pl and got the following -

Code:

root@missi:/data/patches/shorewall-4.5.17.1$ perl -c /data/patches/shorewall-4.5.17.1/Perl/compiler.pl
Can't locate Digest/SHA1111.pm in @INC (you may need to install the Digest::SHA1111 module) (@INC contains: /data/patches/shorewall-4.5.17.1/Perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Chains.pm line 31.
BEGIN failed--compilation aborted at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Chains.pm line 31.
Compilation failed in require at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Compiler.pm line 27.
BEGIN failed--compilation aborted at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Compiler.pm line 27.
Compilation failed in require at /data/patches/shorewall-4.5.17.1/Perl/compiler.pl line 47.
BEGIN failed--compilation aborted at /data/patches/shorewall-4.5.17.1/Perl/compiler.pl line 47.
root@missi:/data/patches/shorewall-4.5.17.1$

I have built perl and Digest::SHA1 from source and installed them but to no avail. Perl is definitely installed -

Code:

root@missi:/data/patches/shorewall-4.5.17.1$ perl -v

This is perl 5, version 18, subversion 0 (v5.18.0) built for x86_64-linux-thread-multi

Copyright 1987-2013, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

Does anyone have any pointers as to where the problem might lie???? Thanks in advance.

AlucardZero 06-14-2013 06:56 PM

Are you SURE Digest::SHA1 is built and installed?

3rensho 06-15-2013 02:21 AM

Yes it definitely is. What I've done now is to uninstall the perl package and then delete the bits that were left over in /usr/lib64/perl5/. Now when I try to install Shorewall I get -

root@missi:/data/patches/shorewall-4.5.17.1$ ./install.sh
Installing Slackware-specific configuration...
Compiling the Shorewall Perl Modules with Digest::SHA1
Perl API version v5.16.0 of Socket does not match v5.18.0 at /usr/share/perl5/XSLoader.pm line 92.
Compilation failed in require at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/IPAddrs.pm line 30.
BEGIN failed--compilation aborted at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/IPAddrs.pm line 30.
Compilation failed in require at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Zones.pm line 29.
BEGIN failed--compilation aborted at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Zones.pm line 29.
Compilation failed in require at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Chains.pm line 34.
BEGIN failed--compilation aborted at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Chains.pm line 34.
Compilation failed in require at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Compiler.pm line 27.
BEGIN failed--compilation aborted at /data/patches/shorewall-4.5.17.1/Perl/Shorewall/Compiler.pm line 27.
Compilation failed in require at Perl/compiler.pl line 47.
BEGIN failed--compilation aborted at Perl/compiler.pl line 47.
ERROR: Shorewall 4.5.17.1 requires Perl which either is not installed or is not able to compile the Shorewall Perl code
Try perl -c /data/patches/shorewall-4.5.17.1/Perl/compiler.pl

Clearly there is something left over from the old 5.16 installation. Will attempt to track it down-

3rensho 06-15-2013 02:34 AM

Got it sorted. Turns out there was some old Perl stuff in /usr/local/lib64/perl5 and the installer was using that version of Socket.pm. Removed all of that and the Shorewall install runs fine now.


All times are GMT -5. The time now is 03:10 AM.