oetiker / znapzend

zfs backup with remote capabilities and mbuffer integration.
www.znapzend.org
GNU General Public License v3.0
604 stars 136 forks source link

Build Error on RHEL 7.9 Perl #571

Closed mwilliamsr closed 1 year ago

mwilliamsr commented 2 years ago

Getting error when running 'make'...

PERL_CPANM_OPT= PERL_CPANM_HOME=/root/Git/znapzend/thirdparty DBD_ODBC_UNICODE=1 PERL5LIB=/root/Git/znapzend/thirdparty/carton/lib/perl5 PERL_CARTON_PATH=/root/Git/znapzend/thirdparty /usr/bin/perl /root/Git/znapzend/thirdparty/carton/bin/carton install Installing modules using /root/Git/znapzend/cpanfile Successfully installed Scalar-List-Utils-1.61 (upgraded from 1.25) Successfully installed Sub-Uplevel-0.2800 Successfully installed Test-Exception-0.43 Successfully installed ExtUtils-MakeMaker-7.64 (upgraded from 6.63_02) Successfully installed Test-SharedFork-0.35 Successfully installed Exporter-5.74 (upgraded from 5.66) Successfully installed IO-1.48 (upgraded from 1.35) ! Installing the dependencies failed: Installed version (1.11) of Fcntl is not in range '1.13', Installed version (1.07) of Symbol is not in range '1.08' ! Bailing out the installation for IO-Pipely-0.006. Successfully installed Test-Harness-3.42 Successfully installed ExtUtils-Helpers-0.026 Successfully installed ExtUtils-Config-0.008 Successfully installed ExtUtils-InstallPaths-0.012 Successfully installed Module-Build-Tiny-0.039 Successfully installed CPAN-Meta-YAML-0.018 (upgraded from 0.007) Successfully installed JSON-PP-4.07 (upgraded from 2.27200) Successfully installed CPAN-Meta-Requirements-2.140 (upgraded from 2.120630) Successfully installed CPAN-Meta-2.150010 (upgraded from 2.120630) Successfully installed Module-Build-0.4231 (upgraded from 0.39_01) Successfully installed IO-Socket-IP-0.41 Successfully installed Mojolicious-8.73 Successfully installed Mojo-IOLoop-Delay-8.76 ! Installing the dependencies failed: Module 'IO::Pipely' is not installed ! Bailing out the installation for Mojo-IOLoop-ForkCall-0.21. ! Installing the dependencies failed: Module 'Mojo::IOLoop::ForkCall' is not installed ! Bailing out the installation for /root/Git/znapzend/. 20 distributions installed Installing modules failed make[1]: [cpanfile-5.16.snapshot] Error 25 make[1]: Leaving directory `/root/Git/znapzend/thirdparty' make: [all-recursive] Error 1

moetiker commented 2 years ago

have you installed perl-core autoconf automake

akkornel commented 2 years ago

Hi @moetiker, good afternoon!

I am able to observe the same error, on a CentOS 7.9.2009 system.

I am using the 0.21.1 release .tar.gz file, so I did not run bootstrap.sh. autoconf and automake were already installed for something else on the system.

I installed perl-core, which brought along the following packages ``` ============================================================================================================================ Package Arch Version Repository Size ============================================================================================================================ Installing: perl-core x86_64 5.16.3-299.el7_9 updates 43 k Installing for dependencies: perl-Archive-Extract noarch 1:0.68-3.el7 base 28 k perl-Archive-Tar noarch 1.92-3.el7 base 73 k perl-B-Lint noarch 1.17-3.el7 base 20 k perl-CGI noarch 3.63-4.el7 base 250 k perl-CPANPLUS noarch 0.91.38-4.el7 base 307 k perl-CPANPLUS-Dist-Build noarch 0.70-3.el7 base 28 k perl-DBIx-Simple noarch 1.35-7.el7 base 43 k perl-DB_File x86_64 1.830-6.el7 base 74 k perl-ExtUtils-Embed noarch 1.30-299.el7_9 updates 51 k perl-FCGI x86_64 1:0.74-8.el7 base 42 k perl-File-CheckTree noarch 4.42-3.el7 base 18 k perl-File-Fetch noarch 0.42-2.el7 base 27 k perl-IO-Zlib noarch 1:1.10-299.el7_9 updates 52 k perl-Locale-Codes noarch 3.26-2.el7 base 314 k perl-Log-Message noarch 1:0.08-3.el7 base 29 k perl-Log-Message-Simple noarch 0.10-2.el7 base 11 k perl-Module-Loaded noarch 1:0.08-299.el7_9 updates 47 k perl-Module-Pluggable noarch 1:4.8-3.el7 base 29 k perl-Object-Accessor noarch 1:0.42-299.el7_9 updates 56 k perl-Package-Constants noarch 1:0.02-299.el7_9 updates 46 k perl-Pod-Checker noarch 1.60-2.el7 base 28 k perl-Pod-LaTeX noarch 0.61-2.el7 base 35 k perl-Pod-Parser noarch 1.61-2.el7 base 107 k perl-Term-UI noarch 0.36-2.el7 base 22 k perl-Text-Soundex x86_64 3.04-4.el7 base 19 k perl-Text-Unidecode noarch 0.04-20.el7 base 114 k perl-Version-Requirements noarch 0.101022-244.el7 base 21 k perl-autodie noarch 2.16-2.el7 base 77 k Transaction Summary ============================================================================================================================ Install 1 Package (+28 Dependent packages) ```
Here is the output from `configure` ``` [root@smsh11dsu-frcf-212-18 znapzend-0.21.1]# ./configure --prefix=/usr/local checking in to see how you are doing... keep fighting man! checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether UID '0' is supported by ustar format... yes checking whether GID '0' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... (cached) yes checking for perl... /usr/bin/perl checking for curl... /usr/bin/curl checking for wget... /usr/bin/wget checking for pod2man... /usr/bin/pod2man checking default SMF service name... oep/znapzend checking for way to cat URLs... /usr/bin/wget -O - checking for perl version greater than or equal to 5.16.0... ok checking is perl reasonably complete... yes. ExtUtils::MakeMaker is available checking if require a c compiler to get perl modules compiled... yes checking for gcc... /usr/bin/gcc checking is perls favorite c compiler (gcc) available... yes checking for grep that handles long lines and -e... /usr/bin/grep checking for gnumake... no checking for gmake... /usr/bin/gmake checking for gnu make availability... /usr/bin/gmake is GNU make checking the price for bergulian eckels... way to expensive! checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating cpanfile config.status: creating Makefile config.status: creating thirdparty/Makefile config.status: creating lib/Makefile config.status: creating init/znapzend.service config.status: creating init/znapzend.sysv config.status: creating init/znapzend.upstart config.status: creating init/znapzend.xml config.status: WARNING: 'init/znapzend.xml.in' seems to ignore the --datarootdir setting config.status: creating init/org.znapzend.plist ** CONFIGURE DONE ********************************************** Settings: PERL5LIB = not set PERL = /usr/bin/perl SVCINSTALLDIR = no URL_CAT = /usr/bin/wget -O - The Makefiles use GNU make functionality. Continue installation with /usr/bin/gmake install ```
Here is the output from `gmake` ``` [root@smsh11dsu-frcf-212-18 znapzend-0.21.1]# gmake Making all in lib gmake[1]: Entering directory `/tmp/znapzend-0.21.1/lib' gmake[1]: Nothing to be done for `all'. gmake[1]: Leaving directory `/tmp/znapzend-0.21.1/lib' Making all in thirdparty gmake[1]: Entering directory `/tmp/znapzend-0.21.1/thirdparty' ** Installing Dependencies using Carton install test -f cpanfile-5.16.snapshot && cp cpanfile-5.16.snapshot ../cpanfile.snapshot || true test -x carton/bin/carton || PERL_CPANM_OPT= PERL_CPANM_HOME=/tmp/znapzend-0.21.1/thirdparty /usr/bin/perl bin/cpanm -q --notest --local-lib-contained /tmp/znapzend-0.21.1/thirdparty/carton Carton Date::Parse Successfully installed Getopt-Long-2.52 (upgraded from 2.38) Successfully installed Try-Tiny-0.31 Successfully installed version-0.9929 (upgraded from 0.99) Successfully installed Module-Metadata-1.000037 (upgraded from 1.000009) Successfully installed CPAN-Meta-Requirements-2.140 (upgraded from 2.120630) Successfully installed CPAN-Meta-YAML-0.018 (upgraded from 0.007) Successfully installed JSON-PP-4.07 (upgraded from 2.27200) Successfully installed CPAN-Meta-2.150010 (upgraded from 2.120630) Successfully installed CPAN-Meta-Check-0.014 Successfully installed Capture-Tiny-0.48 Successfully installed CPAN-DistnameInfo-0.12 Successfully installed HTTP-Tiny-0.080 (upgraded from 0.017) Successfully installed ExtUtils-MakeMaker-7.64 (upgraded from 6.63_02) Successfully installed local-lib-2.000028 Successfully installed Class-Tiny-1.008 Successfully installed Tie-Handle-Offset-0.004 Successfully installed URI-5.10 Successfully installed Search-Dict-1.07 (upgraded from 1.04) Successfully installed CPAN-Common-Index-0.010 Successfully installed File-pushd-1.016 Successfully installed Win32-ShellQuote-0.003001 Successfully installed String-ShellQuote-1.04 Successfully installed ExtUtils-Config-0.008 Successfully installed File-Which-1.27 Successfully installed ExtUtils-Helpers-0.026 Successfully installed ExtUtils-InstallPaths-0.012 Successfully installed IPC-Run3-0.048 Successfully installed HTTP-Tinyish-0.17 Successfully installed Module-CPANfile-1.1004 Successfully installed ExtUtils-MakeMaker-CPANfile-0.09 Successfully installed Parse-PMFile-0.43 Successfully installed Menlo-1.9019 Successfully installed Menlo-Legacy-1.9022 Successfully installed Path-Tiny-0.122 Successfully installed Carton-v1.0.34 Successfully installed TimeDate-2.33 36 distributions installed PERL_CPANM_OPT= PERL_CPANM_HOME=/tmp/znapzend-0.21.1/thirdparty DBD_ODBC_UNICODE=1 PERL5LIB=/tmp/znapzend-0.21.1/thirdparty/carton/lib/perl5 PERL_CARTON_PATH=/tmp/znapzend-0.21.1/thirdparty /usr/bin/perl /tmp/znapzend-0.21.1/thirdparty/carton/bin/carton install Installing modules using /tmp/znapzend-0.21.1/cpanfile Successfully installed Scalar-List-Utils-1.62 (upgraded from 1.25) Successfully installed Sub-Uplevel-0.2800 Successfully installed Test-Exception-0.43 Successfully installed ExtUtils-MakeMaker-7.64 (upgraded from 6.63_02) Successfully installed Test-SharedFork-0.35 Successfully installed Exporter-5.74 (upgraded from 5.66) Successfully installed IO-1.48 (upgraded from 1.35) ! Installing the dependencies failed: Installed version (1.11) of Fcntl is not in range '1.13', Installed version (1.07) of Symbol is not in range '1.08' ! Bailing out the installation for IO-Pipely-0.006. Successfully installed Test-Harness-3.42 Successfully installed ExtUtils-Helpers-0.026 Successfully installed ExtUtils-Config-0.008 Successfully installed ExtUtils-InstallPaths-0.012 Successfully installed Module-Build-Tiny-0.039 Successfully installed CPAN-Meta-YAML-0.018 (upgraded from 0.007) Successfully installed JSON-PP-4.07 (upgraded from 2.27200) Successfully installed CPAN-Meta-Requirements-2.140 (upgraded from 2.120630) Successfully installed CPAN-Meta-2.150010 (upgraded from 2.120630) Successfully installed Module-Build-0.4231 (upgraded from 0.39_01) Successfully installed IO-Socket-IP-0.41 Successfully installed Mojolicious-8.73 Successfully installed Mojo-IOLoop-Delay-8.76 ! Installing the dependencies failed: Module 'IO::Pipely' is not installed ! Bailing out the installation for Mojo-IOLoop-ForkCall-0.21. ! Installing the dependencies failed: Module 'Mojo::IOLoop::ForkCall' is not installed ! Bailing out the installation for /tmp/znapzend-0.21.1/. 20 distributions installed Installing modules failed gmake[1]: *** [cpanfile-5.16.snapshot] Error 25 gmake[1]: Leaving directory `/tmp/znapzend-0.21.1/thirdparty' gmake: *** [all-recursive] Error 1 ```
oetiker commented 2 years ago

@akkornel please try replacing the content of the file cpanfile with this:

requires 'Mojolicious' , '>= 8.73, <9.0';
requires 'Fcntl', '>= 1.13';
requires 'Symbol', '>= 1.08';
requires 'Mojo::IOLoop::ForkCall';
requires 'Scalar::Util', '>= 1.45';
requires 'Test::SharedFork';
requires 'Test::Exception';
requires 'Test::More';
akkornel commented 2 years ago

My colleage Taymoor reported a possible workaround by installing the perl-IO-Pipely package (version 0.005-4.el7) from EPEL. I was able to verify that.

The original system I was using now has znapzend installed & running, so I've launched a fresh CentOS 7.9.2009 VM, and reproduced the original problem, before continuing.

Here is the installation of perl-IO-Pipely ``` [akkornel@blargh-centos7 znapzend]$ sudo yum install -y perl-IO-Pipely Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: linux-mirrors.fnal.gov * epel: mirror.prgmr.com * extras: linux-mirrors.fnal.gov * updates: mirror.vtti.vt.edu Resolving Dependencies --> Running transaction check ---> Package perl-IO-Pipely.noarch 0:0.005-4.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ===================================================================================================================== Package Arch Version Repository Size ===================================================================================================================== Installing: perl-IO-Pipely noarch 0.005-4.el7 epel 23 k Transaction Summary ===================================================================================================================== Install 1 Package Total download size: 23 k Installed size: 53 k Downloading packages: warning: /var/cache/yum/x86_64/7/epel/packages/perl-IO-Pipely-0.005-4.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY Public key for perl-IO-Pipely-0.005-4.el7.noarch.rpm is not installed perl-IO-Pipely-0.005-4.el7.noarch.rpm | 23 kB 00:00:01 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) " Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-11.noarch (@extras) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : perl-IO-Pipely-0.005-4.el7.noarch 1/1 Verifying : perl-IO-Pipely-0.005-4.el7.noarch 1/1 Installed: perl-IO-Pipely.noarch 0:0.005-4.el7 Complete! ```
Here is the znapzend build once perl-IO-Pipely is installed ``` [akkornel@blargh-centos7 znapzend]$ gmake Making all in lib gmake[1]: Entering directory `/home/akkornel/znapzend/lib' gmake[1]: Nothing to be done for `all'. gmake[1]: Leaving directory `/home/akkornel/znapzend/lib' Making all in thirdparty gmake[1]: Entering directory `/home/akkornel/znapzend/thirdparty' /usr/bin/curl --location --insecure https://cpanmin.us > bin/cpanm % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 295k 100 295k 0 0 18069 0 0:00:16 0:00:16 --:--:-- 43075 ** Installing Dependencies using Carton install test -f cpanfile-5.16.snapshot && cp cpanfile-5.16.snapshot ../cpanfile.snapshot || true test -x carton/bin/carton || PERL_CPANM_OPT= PERL_CPANM_HOME=/home/akkornel/znapzend/thirdparty /usr/bin/perl bin/cpanm -q --notest --local-lib-contained /home/akkornel/znapzend/thirdparty/carton Carton Date::Parse Successfully installed Getopt-Long-2.52 (upgraded from 2.38) Successfully installed Try-Tiny-0.31 Successfully installed version-0.9929 (upgraded from 0.99) Successfully installed Module-Metadata-1.000037 (upgraded from 1.000009) Successfully installed CPAN-Meta-Requirements-2.140 (upgraded from 2.120630) Successfully installed CPAN-Meta-YAML-0.018 (upgraded from 0.007) Successfully installed JSON-PP-4.07 (upgraded from 2.27200) Successfully installed CPAN-Meta-2.150010 (upgraded from 2.120630) Successfully installed CPAN-Meta-Check-0.014 Successfully installed Capture-Tiny-0.48 Successfully installed CPAN-DistnameInfo-0.12 Successfully installed HTTP-Tiny-0.080 (upgraded from 0.017) Successfully installed ExtUtils-MakeMaker-7.64 (upgraded from 6.63_02) Successfully installed local-lib-2.000028 Successfully installed Class-Tiny-1.008 Successfully installed Tie-Handle-Offset-0.004 Successfully installed URI-5.10 Successfully installed Search-Dict-1.07 (upgraded from 1.04) Successfully installed CPAN-Common-Index-0.010 Successfully installed File-pushd-1.016 Successfully installed Win32-ShellQuote-0.003001 Successfully installed String-ShellQuote-1.04 Successfully installed ExtUtils-Config-0.008 Successfully installed File-Which-1.27 Successfully installed ExtUtils-Helpers-0.026 Successfully installed ExtUtils-InstallPaths-0.012 Successfully installed IPC-Run3-0.048 Successfully installed HTTP-Tinyish-0.17 Successfully installed Module-CPANfile-1.1004 Successfully installed ExtUtils-MakeMaker-CPANfile-0.09 Successfully installed Parse-PMFile-0.43 Successfully installed Menlo-1.9019 Successfully installed Menlo-Legacy-1.9022 Successfully installed Path-Tiny-0.122 Successfully installed Carton-v1.0.34 Successfully installed TimeDate-2.33 36 distributions installed PERL_CPANM_OPT= PERL_CPANM_HOME=/home/akkornel/znapzend/thirdparty PERL5LIB=/home/akkornel/znapzend/thirdparty/carton/lib/perl5 PERL_CARTON_PATH=/home/akkornel/znapzend/thirdparty /usr/bin/perl /home/akkornel/znapzend/thirdparty/carton/bin/carton install Installing modules using /home/akkornel/znapzend/cpanfile Successfully installed Scalar-List-Utils-1.62 (upgraded from 1.25) Successfully installed Sub-Uplevel-0.2800 Successfully installed Test-Exception-0.43 Successfully installed ExtUtils-MakeMaker-7.64 (upgraded from 6.63_02) Successfully installed Test-SharedFork-0.35 Successfully installed Exporter-5.74 (upgraded from 5.66) Successfully installed IO-1.48 (upgraded from 1.35) ! Installing the dependencies failed: Installed version (1.11) of Fcntl is not in range '1.13', Installed version (1.07) of Symbol is not in range '1.08' ! Bailing out the installation for IO-Pipely-0.006. Successfully installed Test-Harness-3.42 Successfully installed ExtUtils-Helpers-0.026 Successfully installed ExtUtils-Config-0.008 Successfully installed ExtUtils-InstallPaths-0.012 Successfully installed Module-Build-Tiny-0.039 Successfully installed CPAN-Meta-YAML-0.018 (upgraded from 0.007) Successfully installed JSON-PP-4.07 (upgraded from 2.27200) Successfully installed CPAN-Meta-Requirements-2.140 (upgraded from 2.120630) Successfully installed CPAN-Meta-2.150010 (upgraded from 2.120630) Successfully installed Module-Build-0.4231 (upgraded from 0.39_01) Successfully installed IO-Socket-IP-0.41 Successfully installed Mojolicious-8.73 Successfully installed Mojo-IOLoop-Delay-8.76 Successfully installed Mojo-IOLoop-ForkCall-0.21 21 distributions installed Complete! Modules were installed into /home/akkornel/znapzend/thirdparty mv ../cpanfile.snapshot cpanfile-5.16.snapshot ** Installing Dependencies using cpanm and cpanfile-5.16.snapshot cp cpanfile-5.16.snapshot ../cpanfile.snapshot PERL_CPANM_OPT= PERL_CPANM_HOME=/home/akkornel/znapzend/thirdparty /usr/bin/perl bin/cpanm -q --notest --local-lib-contained /home/akkornel/znapzend/thirdparty --installdeps .. gmake[1]: Leaving directory `/home/akkornel/znapzend/thirdparty' gmake[1]: Entering directory `/home/akkornel/znapzend' gmake[1]: Nothing to be done for `all-am'. gmake[1]: Leaving directory `/home/akkornel/znapzend' ```

The build succeeded, and the programs seem to be OK. So, there seems to be a workaround with EPEL.

I will remove the perl-IO-Pipely package, and next test with your updated cpanfile.

akkornel commented 2 years ago

Hello again,

Since my previous comment, I uninstalled the perl-IO-Pipely package, unpacked a fresh copy of znapzend-0.21.1.tar.gz, and updated the cpanfile as you described:

requires 'Mojolicious' , '>= 8.73, <9.0';
requires 'Fcntl', '>= 1.13';
requires 'Symbol', '>= 1.08';
requires 'Mojo::IOLoop::ForkCall';
requires 'Scalar::Util', '>= 1.45';
requires 'Test::SharedFork';
requires 'Test::Exception';
requires 'Test::More';

However, when I ran the configure script…

Here is the output from ./configure ``` [akkornel@blargh-centos7 znapzend-0.21.1]$ ./configure --prefix /home/akkornel/z checking in to see how you are doing... keep fighting man! checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether UID '1000' is supported by ustar format... yes checking whether GID '1000' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... (cached) yes checking for perl... /usr/bin/perl checking for curl... /usr/bin/curl checking for wget... no checking for pod2man... /usr/bin/pod2man checking default SMF service name... oep/znapzend checking for way to cat URLs... /usr/bin/curl --location --insecure checking for perl version greater than or equal to 5.16.0... ok checking is perl reasonably complete... yes. ExtUtils::MakeMaker is available checking if require a c compiler to get perl modules compiled... yes checking for gcc... /usr/bin/gcc checking is perls favorite c compiler (gcc) available... yes checking for grep that handles long lines and -e... /usr/bin/grep checking for gnumake... no checking for gmake... /usr/bin/gmake checking for gnu make availability... /usr/bin/gmake is GNU make checking the price for bergulian eckels... way to expensive! checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating cpanfile config.status: creating Makefile config.status: creating thirdparty/Makefile config.status: creating lib/Makefile config.status: creating init/znapzend.service config.status: creating init/znapzend.sysv config.status: creating init/znapzend.upstart config.status: creating init/znapzend.xml config.status: WARNING: 'init/znapzend.xml.in' seems to ignore the --datarootdir setting config.status: creating init/org.znapzend.plist ** CONFIGURE DONE ********************************************** Settings: PERL5LIB = not set PERL = /usr/bin/perl SVCINSTALLDIR = no URL_CAT = /usr/bin/curl --location --insecure The Makefiles use GNU make functionality. Continue installation with /usr/bin/gmake install ```

… I noticed the cpanfile was overwritten. So, I changed cpanfile.in to this:

requires 'Mojolicious' @MOJOLICIOUS_VERSION_CONSTRAINT@;
requires 'Fcntl', '>= 1.13';
requires 'Symbol', '>= 1.08';
requires 'Mojo::IOLoop::ForkCall';
requires 'Scalar::Util', '>= 1.45';
requires 'Test::SharedFork';
requires 'Test::Exception';
requires 'Test::More';

After re-running the configure script, that gave me this cpanfile:

requires 'Mojolicious' , '>= 8.73, <9.0';
requires 'Fcntl', '>= 1.13';
requires 'Symbol', '>= 1.08';
requires 'Mojo::IOLoop::ForkCall';
requires 'Scalar::Util', '>= 1.45';
requires 'Test::SharedFork';
requires 'Test::Exception';
requires 'Test::More';

With that, I was able to proceed!

Here is the output of gmake ``` [akkornel@blargh-centos7 znapzend-0.21.1]$ make Making all in lib make[1]: Entering directory `/home/akkornel/znapzend-0.21.1/lib' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/akkornel/znapzend-0.21.1/lib' Making all in thirdparty make[1]: Entering directory `/home/akkornel/znapzend-0.21.1/thirdparty' ** Installing Dependencies using Carton install test -f cpanfile-5.16.snapshot && cp cpanfile-5.16.snapshot ../cpanfile.snapshot || true test -x carton/bin/carton || PERL_CPANM_OPT= PERL_CPANM_HOME=/home/akkornel/znapzend-0.21.1/thirdparty /usr/bin/perl bin/cpanm -q --notest --local-lib-contained /home/akkornel/znapzend-0.21.1/thirdparty/carton Carton Date::Parse Successfully installed Getopt-Long-2.52 (upgraded from 2.38) Successfully installed Try-Tiny-0.31 Successfully installed version-0.9929 (upgraded from 0.99) Successfully installed Module-Metadata-1.000037 (upgraded from 1.000009) Successfully installed CPAN-Meta-Requirements-2.140 (upgraded from 2.120630) Successfully installed CPAN-Meta-YAML-0.018 (upgraded from 0.007) Successfully installed JSON-PP-4.07 (upgraded from 2.27200) Successfully installed CPAN-Meta-2.150010 (upgraded from 2.120630) Successfully installed CPAN-Meta-Check-0.014 Successfully installed Capture-Tiny-0.48 Successfully installed CPAN-DistnameInfo-0.12 Successfully installed HTTP-Tiny-0.080 (upgraded from 0.017) Successfully installed ExtUtils-MakeMaker-7.64 (upgraded from 6.63_02) Successfully installed local-lib-2.000028 Successfully installed Class-Tiny-1.008 Successfully installed Tie-Handle-Offset-0.004 Successfully installed URI-5.10 Successfully installed Search-Dict-1.07 (upgraded from 1.04) Successfully installed CPAN-Common-Index-0.010 Successfully installed File-pushd-1.016 Successfully installed Win32-ShellQuote-0.003001 Successfully installed String-ShellQuote-1.04 Successfully installed ExtUtils-Config-0.008 Successfully installed File-Which-1.27 Successfully installed ExtUtils-Helpers-0.026 Successfully installed ExtUtils-InstallPaths-0.012 Successfully installed IPC-Run3-0.048 Successfully installed HTTP-Tinyish-0.17 Successfully installed Module-CPANfile-1.1004 Successfully installed ExtUtils-MakeMaker-CPANfile-0.09 Successfully installed Parse-PMFile-0.43 Successfully installed Menlo-1.9019 Successfully installed Menlo-Legacy-1.9022 Successfully installed Path-Tiny-0.122 Successfully installed Carton-v1.0.34 Successfully installed TimeDate-2.33 36 distributions installed PERL_CPANM_OPT= PERL_CPANM_HOME=/home/akkornel/znapzend-0.21.1/thirdparty DBD_ODBC_UNICODE=1 PERL5LIB=/home/akkornel/znapzend-0.21.1/thirdparty/carton/lib/perl5 PERL_CARTON_PATH=/home/akkornel/znapzend-0.21.1/thirdparty /usr/bin/perl /home/akkornel/znapzend-0.21.1/thirdparty/carton/bin/carton install Installing modules using /home/akkornel/znapzend-0.21.1/cpanfile Successfully installed Scalar-List-Utils-1.62 (upgraded from 1.25) Successfully installed Sub-Uplevel-0.2800 Successfully installed Test-Exception-0.43 Successfully installed CPAN-Meta-YAML-0.018 (upgraded from 0.007) Successfully installed JSON-PP-4.07 (upgraded from 2.27200) Successfully installed CPAN-Meta-Requirements-2.140 (upgraded from 2.120630) Successfully installed CPAN-Meta-2.150010 (upgraded from 2.120630) Successfully installed Test-Harness-3.42 (upgraded from 3.23) Successfully installed Module-Build-0.4231 (upgraded from 0.39_01) Successfully installed IO-Socket-IP-0.41 Successfully installed Mojolicious-8.73 Successfully installed Exporter-5.74 (upgraded from 5.66) Successfully installed IO-1.48 (upgraded from 1.35) ! Installing the dependencies failed: Installed version (1.11) of Fcntl is not in range '1.13', Installed version (1.07) of Symbol is not in range '1.08' ! Bailing out the installation for IO-Pipely-0.006. ! Installing the dependencies failed: Module 'IO::Pipely' is not installed ! Bailing out the installation for Mojo-IOLoop-ForkCall-0.21. Successfully installed ExtUtils-MakeMaker-7.64 (upgraded from 6.63_02) Successfully installed Test-SharedFork-0.35 ! Installing the dependencies failed: Installed version (1.11) of Fcntl is not in range '1.13', Installed version (1.07) of Symbol is not in range '1.08', Module 'Mojo::IOLoop::ForkCall' is not installed ! Bailing out the installation for /home/akkornel/znapzend-0.21.1/. 15 distributions installed Installing modules failed make[1]: *** [cpanfile-5.16.snapshot] Error 25 make[1]: Leaving directory `/home/akkornel/znapzend-0.21.1/thirdparty' make: *** [all-recursive] Error 1 ```

So, it seem the make still failed. And I don't see carton trying to upgrade either the Fcntl or Symbol modules.

It has been some time since I worked in Perl (before Carton, which I just discovered when I was looking through this code!), but on MetaCPAN, I noticed that both Fcntl and Symbol are part of the perl distribution. Maybe that is why Carton is ignoring those entries in the cpanfile?

oetiker commented 2 years ago

Hi @akkornel, oops ... try to put the two Fnctl and Symbol lines first. Normally it is still possible to upgrade 'old' packages even when they are normally included in the core distro.

akkornel commented 2 years ago

Hi @oetiker, unfortunately that does not solve the problem.

Here is what I used for cpanfile.in:

requires 'Fcntl', '>= 1.13';
requires 'Symbol', '>= 1.08';
requires 'Mojolicious' @MOJOLICIOUS_VERSION_CONSTRAINT@;
requires 'Mojo::IOLoop::ForkCall';
requires 'Scalar::Util', '>= 1.45';
requires 'Test::SharedFork';
requires 'Test::Exception';
requires 'Test::More';

After running configure, here is the generated cpanfile:

requires 'Fcntl', '>= 1.13';
requires 'Symbol', '>= 1.08';
requires 'Mojolicious' , '>= 8.73, <9.0';
requires 'Mojo::IOLoop::ForkCall';
requires 'Scalar::Util', '>= 1.45';
requires 'Test::SharedFork';
requires 'Test::Exception';
requires 'Test::More';
Here is the output from running gmake ``` [akkornel@blargh-centos7 znapzend-0.21.1]$ gmake Making all in lib gmake[1]: Entering directory `/home/akkornel/znapzend-0.21.1/lib' gmake[1]: Nothing to be done for `all'. gmake[1]: Leaving directory `/home/akkornel/znapzend-0.21.1/lib' Making all in thirdparty gmake[1]: Entering directory `/home/akkornel/znapzend-0.21.1/thirdparty' ** Installing Dependencies using Carton install test -f cpanfile-5.16.snapshot && cp cpanfile-5.16.snapshot ../cpanfile.snapshot || true test -x carton/bin/carton || PERL_CPANM_OPT= PERL_CPANM_HOME=/home/akkornel/znapzend-0.21.1/thirdparty /usr/bin/perl bin/cpanm -q --notest --local-lib-contained /home/akkornel/znapzend-0.21.1/thirdparty/carton Carton Date::Parse Successfully installed Getopt-Long-2.52 (upgraded from 2.38) Successfully installed Try-Tiny-0.31 Successfully installed version-0.9929 (upgraded from 0.99) Successfully installed Module-Metadata-1.000037 (upgraded from 1.000009) Successfully installed CPAN-Meta-Requirements-2.140 (upgraded from 2.120630) Successfully installed CPAN-Meta-YAML-0.018 (upgraded from 0.007) Successfully installed JSON-PP-4.07 (upgraded from 2.27200) Successfully installed CPAN-Meta-2.150010 (upgraded from 2.120630) Successfully installed CPAN-Meta-Check-0.014 Successfully installed Capture-Tiny-0.48 Successfully installed CPAN-DistnameInfo-0.12 Successfully installed HTTP-Tiny-0.080 (upgraded from 0.017) Successfully installed ExtUtils-MakeMaker-7.64 (upgraded from 6.63_02) Successfully installed local-lib-2.000028 Successfully installed Class-Tiny-1.008 Successfully installed Tie-Handle-Offset-0.004 Successfully installed URI-5.10 Successfully installed Search-Dict-1.07 (upgraded from 1.04) Successfully installed CPAN-Common-Index-0.010 Successfully installed File-pushd-1.016 Successfully installed Win32-ShellQuote-0.003001 Successfully installed String-ShellQuote-1.04 Successfully installed ExtUtils-Config-0.008 Successfully installed File-Which-1.27 Successfully installed ExtUtils-Helpers-0.026 Successfully installed ExtUtils-InstallPaths-0.012 Successfully installed IPC-Run3-0.048 Successfully installed HTTP-Tinyish-0.17 Successfully installed Module-CPANfile-1.1004 Successfully installed ExtUtils-MakeMaker-CPANfile-0.09 Successfully installed Parse-PMFile-0.43 Successfully installed Menlo-1.9019 Successfully installed Menlo-Legacy-1.9022 Successfully installed Path-Tiny-0.122 Successfully installed Carton-v1.0.34 Successfully installed TimeDate-2.33 36 distributions installed PERL_CPANM_OPT= PERL_CPANM_HOME=/home/akkornel/znapzend-0.21.1/thirdparty DBD_ODBC_UNICODE=1 PERL5LIB=/home/akkornel/znapzend-0.21.1/thirdparty/carton/lib/perl5 PERL_CARTON_PATH=/home/akkornel/znapzend-0.21.1/thirdparty /usr/bin/perl /home/akkornel/znapzend-0.21.1/thirdparty/carton/bin/carton install Installing modules using /home/akkornel/znapzend-0.21.1/cpanfile Successfully installed Scalar-List-Utils-1.62 (upgraded from 1.25) Successfully installed Sub-Uplevel-0.2800 Successfully installed Test-Exception-0.43 Successfully installed CPAN-Meta-YAML-0.018 (upgraded from 0.007) Successfully installed JSON-PP-4.07 (upgraded from 2.27200) Successfully installed CPAN-Meta-Requirements-2.140 (upgraded from 2.120630) Successfully installed CPAN-Meta-2.150010 (upgraded from 2.120630) Successfully installed Test-Harness-3.42 (upgraded from 3.23) Successfully installed Module-Build-0.4231 (upgraded from 0.39_01) Successfully installed IO-Socket-IP-0.41 Successfully installed Mojolicious-8.73 Successfully installed Exporter-5.74 (upgraded from 5.66) Successfully installed IO-1.48 (upgraded from 1.35) ! Installing the dependencies failed: Installed version (1.11) of Fcntl is not in range '1.13', Installed version (1.07) of Symbol is not in range '1.08' ! Bailing out the installation for IO-Pipely-0.006. ! Installing the dependencies failed: Module 'IO::Pipely' is not installed ! Bailing out the installation for Mojo-IOLoop-ForkCall-0.21. Successfully installed ExtUtils-MakeMaker-7.64 (upgraded from 6.63_02) Successfully installed Test-SharedFork-0.35 ! Installing the dependencies failed: Installed version (1.11) of Fcntl is not in range '1.13', Installed version (1.07) of Symbol is not in range '1.08', Module 'Mojo::IOLoop::ForkCall' is not installed ! Bailing out the installation for /home/akkornel/znapzend-0.21.1/. 15 distributions installed Installing modules failed gmake[1]: *** [cpanfile-5.16.snapshot] Error 25 gmake[1]: Leaving directory `/home/akkornel/znapzend-0.21.1/thirdparty' gmake: *** [all-recursive] Error 1 ```

So unfortunately, moving the entries does not solve the problem.

akkornel commented 2 years ago

And hello again!

Thanks to my colleague Taymoor, I got a suggestion to check out some older versions. And I found that znapzend 0.19.1 is able to build successfully.

Here is the configure output from 0.19.1 ``` [akkornel@blargh-centos7 znapzend-0.19.1]$ ./configure --prefix=/home/akkornel/z checking in to see how you are doing... keep fighting man! checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether UID '1000' is supported by ustar format... yes checking whether GID '1000' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... (cached) yes checking for perl... /usr/bin/perl checking for curl... /usr/bin/curl checking for wget... no checking for pod2man... /usr/bin/pod2man checking default SMF service name... oep/znapzend checking for perl version greater than or equal to 5.10.1... ok checking is perl reasonably complete... yes. ExtUtils::MakeMaker is available checking if require a c compiler to get perl modules compiled... yes checking for gcc... /usr/bin/gcc checking is perls favorite c compiler (gcc) available... yes checking for grep that handles long lines and -e... /usr/bin/grep checking for gnumake... no checking for gmake... /usr/bin/gmake checking for gnu make availablility... /usr/bin/gmake is GNU make checking the price for bergulian eckels... way to expensive! checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating thirdparty/Makefile config.status: creating lib/Makefile config.status: creating init/znapzend.service config.status: creating init/znapzend.sysv config.status: creating init/znapzend.upstart config.status: creating init/znapzend.xml config.status: WARNING: 'init/znapzend.xml.in' seems to ignore the --datarootdir setting config.status: creating init/org.znapzend.plist ** CONFIGURE DONE ********************************************** Settings: PERL5LIB = not set PERL = /usr/bin/perl SVCINSTALLDIR = no The Makefiles use GNU make functionality. Continue installation with /usr/bin/gmake install ```
Here is the gmake output from 0.19.1 ``` [akkornel@blargh-centos7 znapzend-0.19.1]$ gmake Making all in thirdparty gmake[1]: Entering directory `/home/akkornel/znapzend-0.19.1/thirdparty' GEN touch Successfully installed IO-Socket-IP-0.39 Successfully installed Mojolicious-6.46 Successfully installed Exporter-5.72 (upgraded from 5.66) Successfully installed IO-Pipely-0.005 Successfully installed Mojo-IOLoop-ForkCall-0.17 Successfully installed Scalar-List-Utils-1.45 (upgraded from 1.25) Successfully installed Test-Harness-3.42 (upgraded from 3.23) 7 distributions installed GEN touch gmake[1]: Leaving directory `/home/akkornel/znapzend-0.19.1/thirdparty' Making all in lib gmake[1]: Entering directory `/home/akkornel/znapzend-0.19.1/lib' gmake[1]: Nothing to be done for `all'. gmake[1]: Leaving directory `/home/akkornel/znapzend-0.19.1/lib' gmake[1]: Entering directory `/home/akkornel/znapzend-0.19.1' GEN man/znapzend.1 gmake[1]: Leaving directory `/home/akkornel/znapzend-0.19.1' ```

Checking back older releases, it seems 0.20.0 is the first one with the failure:

Here is the configure output from 0.20.0 ``` [akkornel@blargh-centos7 znapzend-0.20.0]$ ./configure --prefix=/home/akkornel/z checking in to see how you are doing... keep fighting man! checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether UID '1000' is supported by ustar format... yes checking whether GID '1000' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... (cached) yes checking for perl... /usr/bin/perl checking for curl... /usr/bin/curl checking for wget... no checking for pod2man... /usr/bin/pod2man checking default SMF service name... oep/znapzend checking for perl version greater than or equal to 5.10.1... ok checking is perl reasonably complete... yes. ExtUtils::MakeMaker is available checking if require a c compiler to get perl modules compiled... yes checking for gcc... /usr/bin/gcc checking is perls favorite c compiler (gcc) available... yes checking for grep that handles long lines and -e... /usr/bin/grep checking for gnumake... no checking for gmake... /usr/bin/gmake checking for gnu make availability... /usr/bin/gmake is GNU make checking the price for bergulian eckels... way to expensive! checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating thirdparty/Makefile config.status: creating lib/Makefile config.status: creating init/znapzend.service config.status: creating init/znapzend.sysv config.status: creating init/znapzend.upstart config.status: creating init/znapzend.xml config.status: WARNING: 'init/znapzend.xml.in' seems to ignore the --datarootdir setting config.status: creating init/org.znapzend.plist ** CONFIGURE DONE ********************************************** Settings: PERL5LIB = not set PERL = /usr/bin/perl SVCINSTALLDIR = no The Makefiles use GNU make functionality. Continue installation with /usr/bin/gmake install ```
Here is the gmake output from 0.20.0 ``` [akkornel@blargh-centos7 znapzend-0.20.0]$ gmake Making all in lib gmake[1]: Entering directory `/home/akkornel/znapzend-0.20.0/lib' gmake[1]: Nothing to be done for `all'. gmake[1]: Leaving directory `/home/akkornel/znapzend-0.20.0/lib' Making all in thirdparty gmake[1]: Entering directory `/home/akkornel/znapzend-0.20.0/thirdparty' ** Installing Dependencies using Carton install Successfully installed Getopt-Long-2.52 (upgraded from 2.38) Successfully installed Try-Tiny-0.31 Successfully installed version-0.9929 (upgraded from 0.99) Successfully installed Module-Metadata-1.000037 (upgraded from 1.000009) Successfully installed CPAN-Meta-Requirements-2.140 (upgraded from 2.120630) Successfully installed CPAN-Meta-YAML-0.018 (upgraded from 0.007) Successfully installed JSON-PP-4.07 (upgraded from 2.27200) Successfully installed CPAN-Meta-2.150010 (upgraded from 2.120630) Successfully installed CPAN-Meta-Check-0.014 Successfully installed Capture-Tiny-0.48 Successfully installed CPAN-DistnameInfo-0.12 Successfully installed HTTP-Tiny-0.080 (upgraded from 0.017) Successfully installed ExtUtils-MakeMaker-7.64 (upgraded from 6.63_02) Successfully installed local-lib-2.000028 Successfully installed Class-Tiny-1.008 Successfully installed Tie-Handle-Offset-0.004 Successfully installed URI-5.10 Successfully installed Search-Dict-1.07 (upgraded from 1.04) Successfully installed CPAN-Common-Index-0.010 Successfully installed File-pushd-1.016 Successfully installed Win32-ShellQuote-0.003001 Successfully installed String-ShellQuote-1.04 Successfully installed ExtUtils-Config-0.008 Successfully installed File-Which-1.27 Successfully installed ExtUtils-Helpers-0.026 Successfully installed ExtUtils-InstallPaths-0.012 Successfully installed IPC-Run3-0.048 Successfully installed HTTP-Tinyish-0.17 Successfully installed Module-CPANfile-1.1004 Successfully installed ExtUtils-MakeMaker-CPANfile-0.09 Successfully installed Parse-PMFile-0.43 Successfully installed Menlo-1.9019 Successfully installed Menlo-Legacy-1.9022 Successfully installed Path-Tiny-0.122 Successfully installed Carton-v1.0.34 35 distributions installed Installing modules using /home/akkornel/znapzend-0.20.0/cpanfile Successfully installed Scalar-List-Utils-1.62 (upgraded from 1.25) Successfully installed Sub-Uplevel-0.2800 Successfully installed Test-Exception-0.43 Successfully installed Exporter-5.74 (upgraded from 5.66) Successfully installed IO-1.48 (upgraded from 1.35) ! Installing the dependencies failed: Installed version (1.11) of Fcntl is not in range '1.13', Installed version (1.07) of Symbol is not in range '1.08' ! Bailing out the installation for IO-Pipely-0.006. Successfully installed Test-Harness-3.42 Successfully installed ExtUtils-Helpers-0.026 Successfully installed ExtUtils-Config-0.008 Successfully installed ExtUtils-InstallPaths-0.012 Successfully installed Module-Build-Tiny-0.039 Successfully installed CPAN-Meta-YAML-0.018 (upgraded from 0.007) Successfully installed JSON-PP-4.07 (upgraded from 2.27200) Successfully installed CPAN-Meta-Requirements-2.140 (upgraded from 2.120630) Successfully installed CPAN-Meta-2.150010 (upgraded from 2.120630) Successfully installed Module-Build-0.4231 (upgraded from 0.39_01) Successfully installed IO-Socket-IP-0.41 Successfully installed Mojolicious-9.23 Successfully installed Mojo-IOLoop-Delay-8.76 ! Installing the dependencies failed: Module 'IO::Pipely' is not installed ! Bailing out the installation for Mojo-IOLoop-ForkCall-0.21. ! Installing the dependencies failed: Module 'Mojo::IOLoop::ForkCall' is not installed ! Bailing out the installation for /home/akkornel/znapzend-0.20.0/. 18 distributions installed Installing modules failed gmake[1]: *** [cpanfile-5.16.3.snapshot] Error 25 gmake[1]: Leaving directory `/home/akkornel/znapzend-0.20.0/thirdparty' gmake: *** [all-recursive] Error 1 ```

But that is weird, because we were using 0.21.0 successfully in the past. However, our systems our configured 'diskless', with no OS drives. That means, when systems boot, they download an OS image over the network. As part of that, they rebuild and install znapzend at boot time.

So, I think what happened is, one of the upstream dependencies changed some time before February 25. That would explain why even 0.20.0 is failing to build.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

akkornel commented 2 years ago

Hello!

@stale please revive!

I noticed #576 might have resolved this, so I'll make a note to give it a test this week or next.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.