I'm trying to install the Test::Continuous Perl module on my MacBook Pro with Snow Leopard installed using the following command:
sudo -s 'curl -L cpanmin.us | perl - Test::Continuous'
Unfortunately, all I'm getting back is:
--> Working on Test::Continuous
Fetching http://search.cpan.org/CPAN/authors/id/G/GU/GUGOD/Test-Continuous-0.69.tar.gz ... OK
Configuring Test-Continuous-0.69 ... OK
==> Found dependencies: Log::Dispatch::DesktopNotification
--> Working on Log::Dispatch::DesktopNotification
Fetching http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/Log-Dispatch-DesktopNotification-0.01.tar.gz ... OK
Configuring Log-Dispatch-DesktopNotification-0.01 ... OK
==> Found dependencies: Log::Dispatch::MacGrowl
--> Working on Log::Dispatch::MacGrowl
Fetching http://search.cpan.org/CPAN/authors/id/R/RY/RYOCHIN/Log-Dispatch-MacGrowl/Log-Dispatch-MacGrowl-0.02.tar.gz ... OK
Configuring Log-Dispatch-MacGrowl-0.02 ... OK
==> Found dependencies: Mac::Growl
--> Working on Mac::Growl
Fetching http://search.cpan.org/CPAN/authors/id/C/CN/CNANDOR/Mac-Growl-0.67.tar.gz ... OK
Configuring Mac-Growl-0.67 ... OK
Building and testing Mac-Growl-0.67 ... FAIL
! Installing Mac::Growl failed. See /Users/purinkle/.cpanm/build.log for details.
! Bailing out the installation for Log-Dispatch-MacGrowl-0.02. Retry with --prompt or --force.
! Bailing out the installation for Log-Dispatch-DesktopNotification-0.01. Retry with --prompt or --force.
! Bailing out the installation for Test-Continuous-0.69. Retry with --prompt or --force.
When I cat the build.log file as mentioned it contains the following:
Work directory is /Users/purinkle/.cpanm/work/1301425867.22435
You have make /usr/bin/make
You have LWP 5.813
You have /usr/bin/tar: bsdtar 2.6.2 - libarchive 2.6.2
You have /usr/bin/unzip
Searching Test::Continuous on cpanmetadb ...
--> Working on Test::Continuous
Fetching http://search.cpan.org/CPAN/authors/id/G/GU/GUGOD/Test-Continuous-0.69.tar.gz
-> OK
Unpacking Test-Continuous-0.69.tar.gz
Entering Test-Continuous-0.69
Checking configure dependencies from META.yml
Checking if you have ExtUtils::MakeMaker 6.42 ... Yes (6.56)
Configuring Test-Continuous-0.69
Running Makefile.PL
*** Module::AutoInstall version 1.03
*** Checking for Perl dependencies...
*** Since we're running under CPAN, I'll just let it take care
of the dependency's installation later.
[Core Features]
- Test::More ...loaded. (0.98 >= 0.42)
- Exporter::Lite ...loaded. (0.02 >= 0.02)
- File::Spec ...loaded. (3.33 >= 3.29)
- File::Temp ...loaded. (0.22 >= 0.21)
- List::MoreUtils ...loaded. (0.22 >= 0.22)
- Log::Dispatch ...loaded. (2.29 >= 2.22)
- Module::ExtractUse ...loaded. (0.23 >= 0.23)
- TAP::Harness ...loaded. (3.22 >= 3.16)
- self ...loaded. (0.34 >= 0.32)
- File::ChangeNotify ...loaded. (0.19 >= 0.12)
[Graphical notifications]
- Log::Dispatch::DesktopNotification ...missing.
==> Auto-install the 1 optional module(s) from CPAN? [Y/n] y
*** Module::AutoInstall configuration finished.
Checking if your kit is complete...
Looks good
Warning: prerequisite Log::Dispatch::DesktopNotification 0 not found.
Writing Makefile for Test::Continuous
-> OK
Finding PREREQ from Makefile ...
Checking if you have Exporter::Lite 0.02 ... Yes (0.02)
Checking if you have File::Spec 3.29 ... Yes (3.33)
Checking if you have ExtUtils::MakeMaker 6.42 ... Yes (6.56)
Checking if you have self 0.32 ... Yes (0.34)
Checking if you have TAP::Harness 3.16 ... Yes (3.22)
Checking if you have Module::ExtractUse 0.23 ... Yes (0.23)
Checking if you have File::ChangeNotify 0.12 ... Yes (0.19)
Checking if you have Test::More 0.42 ... Yes (0.98)
Checking if you have Log::Dispatch::DesktopNotification 0 ... No
Checking if you have File::Temp 0.21 ... Yes (0.22)
Checking if you have Log::Dispatch 2.22 ... Yes (2.29)
Checking if you have List::MoreUtils 0.22 ... Yes (0.22)
==> Found dependencies: Log::Dispatch::DesktopNotification
Searching Log::Dispatch::DesktopNotification on cpanmetadb ...
--> Working on Log::Dispatch::DesktopNotification
Fetching http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/Log-Dispatch-DesktopNotification-0.01.tar.gz
-> OK
Unpacking Log-Dispatch-DesktopNotification-0.01.tar.gz
Entering Log-Dispatch-DesktopNotification-0.01
Checking configure dependencies from META.yml
Configuring Log-Dispatch-DesktopNotification-0.01
Running Makefile.PL
Cannot determine perl version info from lib/Log/Dispatch/DesktopNotification.pm
Warning: prerequisite Log::Dispatch::MacGrowl 0 not found.
Checking if your kit is complete...
Looks good
Writing Makefile for Log::Dispatch::DesktopNotification
-> OK
Finding PREREQ from Makefile ...
Checking if you have namespace::clean 0 ... Yes (0.14)
Checking if you have Log::Dispatch::MacGrowl 0 ... No
Checking if you have Module::Load 0 ... Yes (0.12)
Checking if you have ExtUtils::MakeMaker 6.56 ... Yes (6.56)
Checking if you have Log::Dispatch 0 ... Yes (2.29)
Checking if you have Module::Load::Conditional 0 ... Yes (0.22)
==> Found dependencies: Log::Dispatch::MacGrowl
Searching Log::Dispatch::MacGrowl on cpanmetadb ...
--> Working on Log::Dispatch::MacGrowl
Fetching http://search.cpan.org/CPAN/authors/id/R/RY/RYOCHIN/Log-Dispatch-MacGrowl/Log-Dispatch-MacGrowl-0.02.tar.gz
-> OK
Unpacking Log-Dispatch-MacGrowl-0.02.tar.gz
Entering Log-Dispatch-MacGrowl-0.02
Checking configure dependencies from META.yml
Checking if you have Module::Build 0.36 ... Yes (0.3607)
Configuring Log-Dispatch-MacGrowl-0.02
Running Build.PL
Checking prerequisites...
requires:
! Mac::Growl is not installed
recommends:
* Cocoa::Growl is not installed
ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions
of the modules indicated above before proceeding with this installation
Creating new 'MYMETA.yml' with configuration results
Creating new 'Build' script for 'Log-Dispatch-MacGrowl' version '0.02'
-> OK
Checking dependencies from MYMETA.yml ...
Checking if you have Mac::Growl 0 ... No
Checking if you have Log::Dispatch 0 ... Yes (2.29)
Checking if you have Test::More 0 ... Yes (0.98)
==> Found dependencies: Mac::Growl
Searching Mac::Growl on cpanmetadb ...
--> Working on Mac::Growl
Fetching http://search.cpan.org/CPAN/authors/id/C/CN/CNANDOR/Mac-Growl-0.67.tar.gz
-> OK
Unpacking Mac-Growl-0.67.tar.gz
Entering Mac-Growl-0.67
META.yml not found or unparsable. Fetching META.yml from search.cpan.org
Configuring Mac-Growl-0.67
Running Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Mac::Growl
-> OK
Finding PREREQ from Makefile ...
Building and testing Mac-Growl-0.67
cp lib/Mac/Growl.pm blib/lib/Mac/Growl.pm
cp lib/Mac/Glue/glues/GrowlHelperApp blib/lib/Mac/Glue/glues/GrowlHelperApp
cp lib/Mac/Glue/glues/GrowlHelperApp.pod blib/lib/Mac/Glue/glues/GrowlHelperApp.pod
Manifying blib/man3/Mac::Growl.3pm
Manifying blib/man3/Mac::Glue::glues::GrowlHelperApp.3pm
Can't load '/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/MacPerl/MacPerl.bundle' for module MacPerl: /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/MacPerl/MacPerl.bundle: no appropriate 64-bit architecture (see "man perl" for running in 32-bit mode) at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/DynaLoader.pm line 207.
at /System/Library/Perl/Extras/5.10.0/Mac/Glue/Common.pm line 21
Compilation failed in require at /System/Library/Perl/Extras/5.10.0/Mac/Glue/Common.pm line 21.
BEGIN failed--compilation aborted at /System/Library/Perl/Extras/5.10.0/Mac/Glue/Common.pm line 21.
Compilation failed in require at /usr/bin/gluemac5.10.0 line 27.
BEGIN failed--compilation aborted at /usr/bin/gluemac5.10.0 line 27.
make: *** [.makeglue] Error 9
-> FAIL Installing Mac::Growl failed. See /Users/purinkle/.cpanm/build.log for details.
-> FAIL Bailing out the installation for Log-Dispatch-MacGrowl-0.02. Retry with --prompt or --force.
-> FAIL Bailing out the installation for Log-Dispatch-DesktopNotification-0.01. Retry with --prompt or --force.
-> FAIL Bailing out the installation for Test-Continuous-0.69. Retry with --prompt or --force.
I've tried the --prompt and --force options but to not avail
Leave the system Perl alone and brew your own Perl.
Alternatives where Perl is part of a larger system: Homebrew, MacPorts, Fink
Although this answer is ten years on, it actually answers the question. The Mac::Growl module, an interface to the notification program Growl, needed Mac::Glue to work. Mac::Glue does not run on 64-bit architectures. It uses the ancient Carbon interface to AppleEvents. Here's the relevant line in the logs:
Can't load '/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/MacPerl/MacPerl.bundle' for module MacPerl: /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/MacPerl/MacPerl.bundle: no appropriate 64-bit architecture (see "man perl" for running in 32-bit mode) at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/DynaLoader.pm line 207.
Curiously, Growl itself was retired at the end of 2020.
But, you might not want Mac::Growl at all. It's one of many possible ways to send notifications and Log::Dispatch::DesktopNotification is trying to install all sorts of things. But, that module isn't even a real dependency. Test::Continuous can work just fine without it. Sometimes in these situations, you can force install the troublesome module then try again.
Related
I was using Mac OS 12 and Perlbrew with Perl 5.36.
When I install GD using either CPAN or cpanm I get the following error:
cpanm (App::cpanminus) 1.7046 on perl 5.036000 built for darwin-2level
Work directory is /Users/mjb/.cpanm/work/1673722431.48328
You have make /usr/bin/make
You have LWP 6.67
You have /usr/bin/tar: bsdtar 3.5.1 - libarchive 3.5.1 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8
You have /usr/bin/unzip
Searching install () on cpanmetadb ...
install is up to date. (0.01)
Searching GD () on cpanmetadb ...
--> Working on GD
Fetching http://www.cpan.org/authors/id/R/RU/RURBAN/GD-2.76.tar.gz
-> OK
Unpacking GD-2.76.tar.gz
Entering GD-2.76
Checking configure dependencies from META.json
Checking if you have ExtUtils::Constant 0.22 ... Yes (0.25)
Checking if you have ExtUtils::PkgConfig 0 ... Yes (1.16)
Configuring GD-2.76
Running Makefile.PL
Notice: Type perl Makefile.PL -h for command-line option summary.
Package gdlib was not found in the pkg-config search path.
Perhaps you should add the directory containing `gdlib.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gdlib' found
at Makefile.PL line 530.
*** can not find package gdlib
*** check that it is properly installed and available in PKG_CONFIG_PATH
at Makefile.PL line 530.
-> N/A
-> FAIL Configure failed for GD-2.76. See /Users/mjb/.cpanm/work/1673722431.48328/build.log for details.
The above is the contents of build.log. I'm not sure how to investigate further or fix it.
Previously I had Perl's GD install and build using the system Perl. I also have libgd installed from Homebrew and I included /usr/local/lib in the env var PKG_CONFIG_PATH. Still no avail.
Would appreciate help as I rely upon GD for my personal projects. Thanks.
Found it... something (probably me botching my .zshrc) had unset my $PKG_CONFIG_PATH!
After finding out what pkg-config was and scouring my drive for any telling collection of .pc files, I found gdlib.pc under /usr/local/lib/pkgconfig/gdlib.pc.
Then I simply did an export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ and reran the installation. Perl's GD built and installed without grumbling.
A pernanment solution will be to add the above line to your ~/.zshrc.
I am trying to install GD and Chart to Strawberry Perl in a Windows 10 Pro PC (using CPANM). Both GD and Chart requires a dependency called ExtUtils::MakeMaker. Unfortunately MakeMaker fails to be install and I cannot tell what the error is. I hope someone can understand the error message and tell me what goes wrong.
That is how I try to install Chart and the few error message that I get:
cpanm Chart
--> Working on Chart
Fetching http://www.cpan.org/authors/id/L/LI/LICHTKIND/Chart-v2.402.1.tar.gz ... OK
==> Found dependencies: ExtUtils::MakeMaker
--> Working on ExtUtils::MakeMaker
Fetching http://www.cpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.64.tar.gz ... OK
Configuring ExtUtils-MakeMaker-7.64 ... N/A
! Configure failed for ExtUtils-MakeMaker-7.64. See C:\Users\..user-name..\.cpanm\work\1655122864.2228\build.log for details.
Configuring Chart-v2.402.1 ... N/A
! Configure failed for Chart-v2.402.1. See C:\Users\..user-name..\.cpanm\work\1655122864.2228\build.log for details.
The build.log says this:
cpanm (App::cpanminus) 1.7046 on perl 5.012003 built for MSWin32-x86-multi-thread
Work directory is C:\Users\..user-name../.cpanm/work/1655122864.2228
You have make C:\Strawberry\c\bin\dmake.exe
You have LWP 6.02
Falling back to Archive::Tar 1.76
Searching Chart () on cpanmetadb ...
--> Working on Chart
Fetching http://www.cpan.org/authors/id/L/LI/LICHTKIND/Chart-v2.402.1.tar.gz
-> OK
Unpacking Chart-v2.402.1.tar.gz
Entering Chart-v2.402.1
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... No (6.56 < 6.58)
==> Found dependencies: ExtUtils::MakeMaker
Searching ExtUtils::MakeMaker (6.58) on cpanmetadb ...
--> Working on ExtUtils::MakeMaker
Fetching http://www.cpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.64.tar.gz
-> OK
Unpacking ExtUtils-MakeMaker-7.64.tar.gz
Entering ExtUtils-MakeMaker-7.64
Checking configure dependencies from META.json
Configuring ExtUtils-MakeMaker-7.64
Running Makefile.PL
-> N/A
-> FAIL Configure failed for ExtUtils-MakeMaker-7.64. See C:\Users\..user-name..\.cpanm\work\1655122864.2228\build.log for details.
Configuring Chart-v2.402.1
Running Makefile.PL
-> N/A
-> FAIL Configure failed for Chart-v2.402.1. See C:\Users\..user-name..\.cpanm\work\1655122864.2228\build.log for details.
Please let me know what goes wrong and how to fix this problem. If there is no solution to this problem, I would like to know if there is any workaround. Thanks.
UPDATE 1: I installed the latest version of Perl (5.32.1.1). Unfortunately I still cannot install the dependency MakeMaker for Chart library. The content in the build.log after trying to install Chart is:
cpanm (App::cpanminus) 1.7046 on perl 5.032001 built for MSWin32-x86-multi-thread-64int
Work directory is C:\Users\...user-name.../.cpanm/work/1655143835.7588
You have make C:\Strawberry\c\bin\gmake.exe
You have LWP 6.52
Falling back to Archive::Tar 2.38
Searching Chart () on cpanmetadb ...
--> Working on Chart
Fetching http://www.cpan.org/authors/id/L/LI/LICHTKIND/Chart-v2.402.1.tar.gz
-> OK
Unpacking Chart-v2.402.1.tar.gz
Entering Chart-v2.402.1
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.58)
Configuring Chart-v2.402.1
Running Makefile.PL
-> N/A
-> FAIL Configure failed for Chart-v2.402.1. See C:\Users\...user-name...\.cpanm\work\1655143835.7588\build.log for details.
UPDATE 2: I used the -v switch with CPANM to install Chart, and this somehow worked fine. I don't know why -v switch can make a difference. But I am glad that this works for installing Chart. Now Chart is successfully installed. Unfortunately when I try to install GD using the -v switch, I run into the same error.
The build.log of my latest attempt is the following:
cpanm (App::cpanminus) 1.7046 on perl 5.032001 built for MSWin32-x86-multi-thread-64int
Work directory is C:\Users\...user-name.../.cpanm/work/1655147078.2428
You have make C:\Strawberry\c\bin\gmake.exe
You have LWP 6.52
Falling back to Archive::Tar 2.38
Searching GD () on cpanmetadb ...
--> Working on GD
Fetching http://www.cpan.org/authors/id/R/RU/RURBAN/GD-2.76.tar.gz
-> OK
Unpacking GD-2.76.tar.gz
Entering GD-2.76
Checking configure dependencies from META.json
Checking if you have ExtUtils::PkgConfig 0 ... Yes (1.16)
Checking if you have ExtUtils::Constant 0.22 ... Yes (0.25)
Configuring GD-2.76
Running Makefile.PL
-> N/A
-> FAIL Configure failed for GD-2.76. See C:\Users\...user-name...\.cpanm\work\1655147078.2428\build.log for details.
Please note that the build.log mentioned in the last line above is the same build.log that I have posted right above. I don't know why it refers to itself. I mention this just in case someone wants to see the "real" build.log.
UPDATE 3: Finally with the help from Håkon Hægland, I figured out that the PATH of the computer was missing several paths (namely C:\Windows;C:\Windows\System32;C:\Windows\System32\Wbem). I added the missing paths to PATH, and the installation is successful. I have no idea why those important paths would go missing. But I am glad that the installation of GD and Chart are successful.
With the help from Håkon Hægland, I finally figured out that the PATH of the computer somehow was missing several important paths, namely C:\Windows, C:\Windows\System32, and C:\Windows\System32\Wbem. This explains the reason why CPANM failed to install GD and Chart. It probably could not get access to a command to install the distribution or its dependency. After I have added the missing paths to PATH, I have no problem using CPANM to install GD and Chart.
As of why those paths were missing from PATH, I have no idea. I don't recall this problem ever happened to me.
As of why I could use CPANM to install Chart using the -v switch despite the fact that the paths were missing, I have no idea either.
I am using conda to install several packages. I already installed Perl under conda and is the one working in this machine (running Ubuntu 18.04). Now I am trying to use a script that requires bioperl.
I tried to update conda, install bioperl through conda AND installing bioperl through cpanm as shown below.
I checked to currently used Perl is the anaconda one. The shebang in the perl script is #!/home/evo-slave/anaconda_ete/bin/perl -w
This is the initial error while running the script
Can't locate Bio/SeqIO.pm in #INC (you may need to install the
Bio::SeqIO module) (#INC contains: /home/evo-
slave/anaconda_ete/lib/site_perl/5.26.2/x86_64-linux-thread-multi
/home/evo-slave/anaconda_ete/lib/site_perl/5.26.2 /home/evo-
slave/anaconda_ete/lib/5.26.2/x86_64-linux-thread-multi /home/evo-
slave/anaconda_ete/lib/5.26.2 .) at ./cortador.pl line 9.
BEGIN failed--compilation aborted at ./cortador.pl line 9.
I don`t know if this is an issue of bioperl not being called/installed by the anaconda perl or during the execution of the script, maybe this lines within the script should indicate something else
use File::Basename;
use Bio::SeqIO;
use Bio::Seq;
use Bio::DB::SeqFeature::Store;
use Bio::SeqFeatureI;
When I try to install
cpanm Bio::Perl
I got this error
--> Working on Bio::Perl
Fetching http://www.cpan.org/authors/id/C/CJ/CJFIELDS/BioPerl-
1.007002.tar.gz ... OK
Configuring BioPerl-1.007002 ... OK
==> Found dependencies: IO::String, Data::Stag, Test::Most
--> Working on IO::String
Fetching http://www.cpan.org/authors/id/G/GA/GAAS/IO-String-
1.08.tar.gz ... OK
Configuring IO-String-1.08 ... OK
Building and testing IO-String-1.08 ... OK
Successfully installed IO-String-1.08
--> Working on Data::Stag
Fetching http://www.cpan.org/authors/id/C/CM/CMUNGALL/Data-Stag-
0.14.tar.gz ... OK
Configuring Data-Stag-0.14 ... OK
==> Found dependencies: IO::String
! Installing the dependencies failed: Module 'IO::String' is not
installed
! Bailing out the installation for Data-Stag-0.14.
--> Working on Test::Most
Fetching http://www.cpan.org/authors/id/O/OV/OVID/Test-Most-
0.35.tar.gz ... OK
Configuring Test-Most-0.35 ... OK
==> Found dependencies: Test::Warn, Test::Deep, Test::Differences,
Test::Exception, Exception::Class
--> Working on Test::Warn
Fetching http://www.cpan.org/authors/id/B/BI/BIGJ/Test-Warn-
0.36.tar.gz ... OK
Configuring Test-Warn-0.36 ... OK
==> Found dependencies: Sub::Uplevel
--> Working on Sub::Uplevel
Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-
0.2800.tar.gz ... OK
Configuring Sub-Uplevel-0.2800 ... OK
Building and testing Sub-Uplevel-0.2800 ... OK
Successfully installed Sub-Uplevel-0.2800
! Installing the dependencies failed: Module 'Sub::Uplevel' is not
installed
! Bailing out the installation for Test-Warn-0.36.
--> Working on Test::Deep
Fetching http://www.cpan.org/authors/id/R/RJ/RJBS/Test-Deep-
1.128.tar.gz ... OK
Configuring Test-Deep-1.128 ... OK
Building and testing Test-Deep-1.128 ... OK
Successfully installed Test-Deep-1.128
--> Working on Test::Differences
Fetching http://www.cpan.org/authors/id/D/DC/DCANTRELL/Test-
Differences-0.67.tar.gz ... OK
Configuring Test-Differences-0.67 ... OK
==> Found dependencies: Capture::Tiny, Text::Diff
--> Working on Capture::Tiny
Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Capture-
Tiny-0.48.tar.gz ... OK
Configuring Capture-Tiny-0.48 ... OK
Building and testing Capture-Tiny-0.48 ... OK
Successfully installed Capture-Tiny-0.48
--> Working on Text::Diff
Fetching http://www.cpan.org/authors/id/N/NE/NEILB/Text-Diff-
1.45.tar.gz ... OK
Configuring Text-Diff-1.45 ... OK
==> Found dependencies: Algorithm::Diff
--> Working on Algorithm::Diff
Fetching http://www.cpan.org/authors/id/T/TY/TYEMQ/Algorithm-Diff-
1.1903.tar.gz ... OK
Configuring Algorithm-Diff-1.1903 ... OK
Building and testing Algorithm-Diff-1.1903 ... OK
Successfully installed Algorithm-Diff-1.1903
! Installing the dependencies failed: Module 'Algorithm::Diff' is
not installed
! Bailing out the installation for Text-Diff-1.45.
! Installing the dependencies failed: Module 'Text::Diff' is not
installed, Module 'Capture::Tiny' is not installed
! Bailing out the installation for Test-Differences-0.67.
--> Working on Test::Exception
Fetching http://www.cpan.org/authors/id/E/EX/EXODIST/Test-
Exception-0.43.tar.gz ... OK
Configuring Test-Exception-0.43 ... OK
==> Found dependencies: Sub::Uplevel
! Installing the dependencies failed: Module 'Sub::Uplevel' is not
installed
! Bailing out the installation for Test-Exception-0.43.
--> Working on Exception::Class
Fetching http://www.cpan.org/authors/id/D/DR/DROLSKY/Exception-
Class-1.44.tar.gz ... OK
Configuring Exception-Class-1.44 ... OK
==> Found dependencies: Class::Data::Inheritable
--> Working on Class::Data::Inheritable
Fetching http://www.cpan.org/authors/id/T/TM/TMTM/Class-Data-
Inheritable-0.08.tar.gz ... OK
Configuring Class-Data-Inheritable-0.08 ... OK
Building and testing Class-Data-Inheritable-0.08 ... OK
Successfully installed Class-Data-Inheritable-0.08
! Installing the dependencies failed: Module
'Class::Data::Inheritable' is not installed
! Bailing out the installation for Exception-Class-1.44.
! Installing the dependencies failed: Module 'Test::Exception' is
not installed, Module 'Test::Differences' is not installed, Module
'Exception::Class' is not installed, Module 'Test::Warn' is not
installed, Module 'Test::Deep' is not installed
! Bailing out the installation for Test-Most-0.35.
! Installing the dependencies failed: Module 'Test::Most' is not
installed, Module 'IO::String' is not installed, Module
'Data::Stag'
is not installed
! Bailing out the installation for BioPerl-1.007002.
6 distributions installed
ETA: It seems something is wrong and the dependencies of the modules that are required are not installed during a simple cpanm
Example of a round trying to install everything that is needed
cpanm Sub::Uplevel
--> Working on Sub::Uplevel
Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz ... OK
Configuring Sub-Uplevel-0.2800 ... OK
Building and testing Sub-Uplevel-0.2800 ... OK
Successfully installed Sub-Uplevel-0.2800
1 distribution installed
then
cpanm Test::Warn
--> Working on Test::Warn
Fetching http://www.cpan.org/authors/id/B/BI/BIGJ/Test-Warn-0.36.tar.gz ... OK
Configuring Test-Warn-0.36 ... OK
==> Found dependencies: Sub::Uplevel
--> Working on Sub::Uplevel
Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz ... OK
Configuring Sub-Uplevel-0.2800 ... OK
Building and testing Sub-Uplevel-0.2800 ... OK
Successfully installed Sub-Uplevel-0.2800
! Installing the dependencies failed: Module 'Sub::Uplevel' is not installed
! Bailing out the installation for Test-Warn-0.36.
1 distribution installed
Some info to help debugging:
$ set | grep ^PERL
PERL5LIB=:/media/evo-slave/Disco2/ANDRES/DOWNLOADS/GENOME/CAV-POC/GAAS/annotation
PERL_MB_OPT='--install_base "/home/evo-slave/perl5"'
PERL_MM_OPT=INSTALL_BASE=/home/evo-slave/perl5
$ which cpanm
/home/evo-slave/anaconda_ete/bin/cpanm
$ head -n 1 "$( which cpanm )"
#!/home/evo-slave/anaconda_ete/bin/perl
UPDATE 2
This problem is coming up again in miniconda3 bioperl installs.
UPDATE
I have not experienced this error for a while with perl packages, so likely some updates occurred on the conda/package side that fixed this. I would recommend trying to update your conda and checking your conda channels before trying this kind of weird kludge.
ORIGINAL ANSWER
I am posting this as an answer not because it's a good idea, but because it provides more information. I am working on Amazon Linux so it's slightly different, but also running into issues with bioperl dependencies installed through conda. In my case I am trying to run VirSorter, which mentions this problem and proposes a solution that does not work for me, but suggests confirming that your PERL5LIB is properly set.
I observed that my perl is 5.26.2:
$ perl --version
This is perl 5, version 26, subversion 2 (v5.26.2) built for x86_64-linux-thread-multi
But conda is for some obscure reason installing my perl dependencies for 5.22.0: /home/ec2-user/anaconda3/envs/virsorter/lib/perl5/site_perl/5.22.0/:
$ ls /home/ec2-user/anaconda3/envs/virsorter/lib/perl5/site_perl/5.22.0/
Algorithm Bio Capture Class Data Devel Exception IO Sub Test Text URI URI.pm x86_64-linux-thread-multi
I found that I could get VirSorter running, apparently successfully, by simply setting PERL5LIB to the 5.22.0 lib under conda:
OLD_PER5LIB=$PERL5LIB
export PERL5LIB=/home/ec2-user/anaconda3/envs/virsorter/lib/perl5/site_perl/5.22.0/
# run virsorter
# no errors!
I am sure that this throws up a bunch of red flags for the perl people, and I'm sure that it's very fragile if it actually works at all. Perhaps the question is why conda is installing perl modules as the wrong perl version?
Trying to install certain CPAN modules on HP-UX (May 2017), but getting an error:
# cpanm ExtUtils-MakeMaker-7.30.tar.gz
--> Working on ExtUtils-MakeMaker-7.30.tar.gz
Fetching file:///home/users/root_user/CPAN/ExtUtils-MakeMaker-7.30.tar.gz ... OK
Configuring ExtUtils-MakeMaker-7.30 ... OK
! Can't configure the distribution. You probably need to have 'make'. See /.cpanm/work/1515577528.15913/build.log for details.
But, looks like Perl is set to use gmake.
# perl -V:make
make='gmake';
make is installed on the system. How do I resolve this? Any help is appreciated.
Build Log File
cpanm (App::cpanminus) 1.7043 on perl 5.008008 built for IA64.ARCHREV_0-thread-multi
Work directory is //.cpanm/work/1515577528.15913
You have LWP 5.820
Falling back to Archive::Tar 1.40
--> Working on ExtUtils-MakeMaker-7.30.tar.gz
Fetching file:///home/users/root_user/CPAN/ExtUtils-MakeMaker-7.30.tar.gz
-> OK
Unpacking ExtUtils-MakeMaker-7.30.tar.gz
Entering ExtUtils-MakeMaker-7.30
Checking configure dependencies from META.json
Configuring ExtUtils-MakeMaker-7.30
Running Makefile.PL
Using included version of CPAN::Meta (2.143240) because it is not already installed.
Using included version of Parse::CPAN::Meta (1.4414) because it is not already installed.
Using included version of CPAN::Meta::YAML (0.011) because it is not already installed.
Using included version of File::Temp (0.22) as it is newer than the installed version (0.16).
Using included version of ExtUtils::Manifest (1.70) as it is newer than the installed version (1.46).
Using included version of JSON::PP (2.27203) because it is not already installed.
Using included version of ExtUtils::Install (2.06) as it is newer than the installed version (1.33).
Using included version of CPAN::Meta::Requirements (2.131) because it is not already installed.
Checking if your kit is complete...
Warning: the following files are missing in your kit:
't/liblist/win32/di
't/liblist/win32/space
Please inform the author.
Generating a Unix-style Makefile
Writing Makefile for ExtUtils::MakeMaker
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Data::Dumper 0 ... Yes (2.121_08)
Checking if you have File::Spec 0.8 ... Yes (3.12)
Checking if you have Pod::Man 0 ... Yes (1.37)
Checking if you have File::Basename 0 ... Yes (2.74)
Checking if you have Encode 0 ... Yes (2.12)
-> FAIL Can't configure the distribution. You probably need to have 'make'. See /.cpanm/work/1515577528.15913/build.log for details.
Thanks
I had this trouble with CPAN
The key in your error "You probably need to have 'make'."
sudo apt install build-essential
Will install makefile.pl
Strange that something essential is not installed by default?
gmake was not installed. After installing this worked fine! Thanks
UPDATE:
One difference I found was that Data::Show uses Module::Build, while Data::Dumper uses a Build file (using vimdiff):
I've noticed that with cpan and cpanm, some modules are not reinstalled when there isn't a newer version, but others are reinstalled every time. I don't have anything in my PERL5LIB variable and my #INC includes all the right paths. I am using perlbrew, but I think that I had similar problems using a custom-built perl:
%ENV:
PERLBREW_BASHRC_VERSION="0.73"
PERLBREW_HOME="/home/username/.perlbrew"
PERLBREW_MANPATH="/home/username/perl5/perlbrew/perls/perl-5.20.1/man"
PERLBREW_PATH="/home/username/perl5/perlbrew/bin:/home/user/perl5/perlbrew/perls/perl-5.20.1/bin"
PERLBREW_PERL="perl-5.20.1"
PERLBREW_ROOT="/home/username/perl5/perlbrew"
PERLBREW_VERSION="0.73"
PERLDEV="/share/data/username/Perl5"
#INC:
/home/username/perl5/perlbrew/perls/perl-5.20.1/lib/site_perl/5.20.1/x86_64-linux
/home/username/perl5/perlbrew/perls/perl-5.20.1/lib/site_perl/5.20.1
/home/username/perl5/perlbrew/perls/perl-5.20.1/lib/5.20.1/x86_64-linux
/home/username/perl5/perlbrew/perls/perl-5.20.1/lib/5.20.1
Data::Dumper doesn't get reinstalled when there isn't a newer version:
cpanm Data::Dumper
Data::Dumper is up to date. (2.154)
However, Data::Show gets reinstalled every time:
$ cpanm Data::Show
--> Working on Data::Show
Fetching http://www.cpan.org/authors/id/D/DC/DCONWAY/Data-Show-0.002002.tar.gz ... OK
Configuring Data-Show-0.002002 ... OK
Building and testing Data-Show-0.002002 ... OK
Successfully installed Data-Show-0.002002
1 distribution installed
$ cpanm Data::Show
--> Working on Data::Show
Fetching http://www.cpan.org/authors/id/D/DC/DCONWAY/Data-Show-0.002002.tar.gz ... OK
Configuring Data-Show-0.002002 ... OK
Building and testing Data-Show-0.002002 ... OK
Successfully installed Data-Show-0.002002
1 distribution installed
Results of cpanm -v Data::Show
cpanm (App::cpanminus) 1.7027 on perl 5.020001 built for x86_64-linux
Work directory is /home/username/.cpanm/work/1424150236.20375
You have make /usr/bin/make
You have LWP 6.13
You have /bin/tar: tar (GNU tar) 1.23
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching Data::Show on cpanmetadb ...
--> Working on Data::Show
Fetching http://www.cpan.org/authors/id/D/DC/DCONWAY/Data-Show-0.002002.tar.gz ... OK
Unpacking Data-Show-0.002002.tar.gz
Data-Show-0.002002/
Data-Show-0.002002/Build.PL
Data-Show-0.002002/Changes
Data-Show-0.002002/lib/
Data-Show-0.002002/Makefile.PL
Data-Show-0.002002/MANIFEST
Data-Show-0.002002/META.yml
Data-Show-0.002002/README
Data-Show-0.002002/t/
Data-Show-0.002002/t/00.load.t
Data-Show-0.002002/t/pod.t
Data-Show-0.002002/t/show.t
Data-Show-0.002002/lib/Data/
Data-Show-0.002002/lib/Data/Show.pm
Entering Data-Show-0.002002
Checking configure dependencies from META.yml
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.98)
Running Build.PL
Configuring Data-Show-0.002002 ... Module::Build will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at Build.PL, line 3.
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Data-Show' version '0.002002'
OK
Checking dependencies from MYMETA.json ...
Checking if you have version 0 ... Yes (0.9909)
Checking if you have Data::Dump 1.17 ... Yes (1.22)
Checking if you have Test::More 0 ... Yes (1.001014)
Building and testing Data-Show-0.002002 ... Module::Build will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at ./Build, line 40.
Building Data-Show
Module::Build will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at ./Build, line 40.
t/00.load.t .. 1/1 # Testing Data::Show 0.002002
t/00.load.t .. ok
t/pod.t ...... skipped: Test::Pod 1.14 required for testing POD
t/show.t ..... Smartmatch is experimental at t/show.t line 28.
t/show.t ..... ok
All tests successful.
Files=3, Tests=64, 1 wallclock secs ( 0.06 usr 0.02 sys + 0.12 cusr 0.03 csys = 0.23 CPU)
Result: PASS
Module::Build will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at ./Build, line 40.
Building Data-Show
OK
Successfully installed Data-Show-0.002002
Installing /home/username/perl5/perlbrew/perls/perl-5.20.1/lib/site_perl/5.20.1/x86_64-linux/.meta/Data-Show-0.002002/install.json
1 distribution installed
Very interestingly, they are not both installing to a place that perldoc can see:
$ perldoc -l Data::Dump
/home/username/perl5/perlbrew/perls/perl-5.20.1/lib/site_perl/5.20.1/Data/Dump.pm
$ perldoc -l Data::Show
No documentation found for "Data::Show".
It looks like my problem was that Build.PL files are not working for some reason. When I saw that Data::Show comes with both a Build.PL file and a Makefile.PL, I tried installing it manually using the Makefile and then it installed:
perl Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Data::Show
Writing MYMETA.yml and MYMETA.json
$ make
cp lib/Data/Show.pm blib/lib/Data/Show.pm
Manifying blib/man3/Data::Show.3
$ make install
Installing /home/username/perl5/perlbrew/perls/perl-5.20.1/lib/site_perl/5.20.1/Data/Show.pm
Installing /home/username/perl5/perlbrew/perls/perl-5.20.1/man/man3/Data::Show.3
Appending installation info to /home/username/perl5/perlbrew/perls/perl-5.20.1/lib/5.20.1/x86_64-linux/perllocal.pod
$ cpanm Data::Show
Data::Show is up to date. (0.002002)