sdkdev has asked for the wisdom of the Perl Monks concerning the following question:

Hello,

I worked with perl years back under linux. Now I would like to set up App::Dapper on my OSX machine and I have some difficulties with it.

As suggested in another thread, I use perlbrew + cpanminus.

I've installed perlbrew as suggested on the website and cpanm via perlbrew install-cpanm

Now I tried to install App::Dapper:

~ -> cpanm --interactive App::Dapper --> Working on App::Dapper Fetching http://www.cpan.org/authors/id/M/MD/MDB/App-Dapper-0.18.tar.g +z ... OK ==> Found dependencies: Getopt::Mixed --> Working on Getopt::Mixed Fetching http://www.cpan.org/authors/id/C/CJ/CJM/Getopt-Mixed-1.12.tar +.gz ... OK Configuring Getopt-Mixed-1.12 ... Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Getopt::Mixed Writing MYMETA.yml and MYMETA.json OK Building and testing Getopt-Mixed-1.12 ... OK Successfully installed Getopt-Mixed-1.12 ! Installing the dependencies failed: Module 'Getopt::Mixed' is not in +stalled ! Bailing out the installation for App-Dapper-0.18. 1 distribution installed

My environment looks like this:

~ -> env |egrep -i 'perl|path' PATH=/Users/sdk/perl5/perlbrew/bin:/Users/sdk/perl5/perlbrew/perls/per +l-5.21.6/bin:/home/sdk/perl5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sb +in:/sbin:/usr/local/MacGPG2/bin:/sbin:/bin:/usr/sbin:/usr/bin:/Users/ +sdk/NANOBLOGGER:/usr/games:/usr/local/sbin:/usr/local/bin:/Users/sdk/ +bin:/Users/sdk/.bin PERL_LOCAL_LIB_ROOT=/home/sdk/perl5 PERL_MB_OPT=--install_base "/Users/sdk/perl5" PERL_MM_OPT=INSTALL_BASE=/Users/sdk/perl5 PERL5LIB=/home/sdk/perl5/lib/perl5 PERLBREW_BASHRC_VERSION=0.71 PERLBREW_ROOT=/Users/sdk/perl5/perlbrew PERLBREW_HOME=/Users/sdk/.perlbrew PERLBREW_MANPATH=/Users/sdk/perl5/perlbrew/perls/perl-5.21.6/man PERLBREW_PATH=/Users/sdk/perl5/perlbrew/bin:/Users/sdk/perl5/perlbrew/ +perls/perl-5.21.6/bin PERLBREW_PERL=perl-5.21.6 PERLBREW_VERSION=0.71 MANPATH=/Users/sdk/perl5/perlbrew/perls/perl-5.21.6/man:/usr/local/sha +re/man:/usr/share/man:/usr/local/MacGPG2/share/man:/Applications/Xcod +e.app/Contents/Developer/usr/share/man:/Applications/Xcode.app/Conten +ts/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man

I tried perl-5.21.6 and perl-5.18.4. The behavior is the same. I did not mess around with sudo and the system perl install. I have homebrew installed, if that may have an influence.

What I see is, that the package Getopt-Mixed got successfully installed and in the next line, cpanm forgot about it.

Here is the verbose output of the same command:

~ -> cpanm --interactive -v App::Dapper cpanm (App::cpanminus) 1.7018 on perl 5.021006 built for darwin-2level Work directory is /Users/sdk/.cpanm/work/1417695975.21759 You have make /usr/bin/make You have /usr/local/bin/wget You have /usr/bin/tar: bsdtar 2.8.3 - libarchive 2.8.3 You have /usr/bin/unzip Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.02) Checking if you have ExtUtils::Install 1.46 ... Yes (2.04) Searching App::Dapper on cpanmetadb ... --2014-12-04 13:26:15-- http://cpanmetadb.plackperl.org/v1.0/package/ +App::Dapper Resolving cpanmetadb.plackperl.org... 185.31.17.192, 185.31.17.129 Connecting to cpanmetadb.plackperl.org|185.31.17.192|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 60 [text/x-yaml] Saving to: 'STDOUT' - 100%[====================>] + 60 --.-KB/s in 0s 2014-12-04 13:26:15 (6.36 MB/s) - written to stdout [60/60] --> Working on App::Dapper Fetching http://www.cpan.org/authors/id/M/MD/MDB/App-Dapper-0.18.tar.g +z ... --2014-12-04 13:26:16-- http://www.cpan.org/authors/id/M/MD/MD +B/App-Dapper-0.18.tar.gz Resolving www.cpan.org... 94.242.223.198, 2607:f238:3::91:1 Connecting to www.cpan.org|94.242.223.198|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 33703 (33K) [application/x-gzip] Saving to: 'App-Dapper-0.18.tar.gz' App-Dapper-0.18.tar.gz 100%[====================>] + 32.91K --.-KB/s in 0.05s 2014-12-04 13:26:16 (663 KB/s) - 'App-Dapper-0.18.tar.gz' saved [33703 +/33703] OK Unpacking App-Dapper-0.18.tar.gz x App-Dapper-0.18/ x App-Dapper-0.18/.travis.yml x App-Dapper-0.18/bin/ x App-Dapper-0.18/Changes x App-Dapper-0.18/lib/ x App-Dapper-0.18/Makefile.PL x App-Dapper-0.18/MANIFEST x App-Dapper-0.18/META.json x App-Dapper-0.18/META.yml x App-Dapper-0.18/README.md x App-Dapper-0.18/t/ x App-Dapper-0.18/t/00-load.t x App-Dapper-0.18/t/01-manifest.t x App-Dapper-0.18/t/02-new.t x App-Dapper-0.18/t/03-init.t x App-Dapper-0.18/t/04-build.t x App-Dapper-0.18/lib/App/ x App-Dapper-0.18/lib/App/Dapper/ x App-Dapper-0.18/lib/App/Dapper.pm x App-Dapper-0.18/lib/App/Dapper/Defaults.pm x App-Dapper-0.18/lib/App/Dapper/Filters.pm x App-Dapper-0.18/lib/App/Dapper/Init.pm x App-Dapper-0.18/lib/App/Dapper/Utils.pm x App-Dapper-0.18/bin/dapper Entering App-Dapper-0.18 Checking configure dependencies from META.json Checking if you have Getopt::Mixed 1.11 ... No ==> Found dependencies: Getopt::Mixed Searching Getopt::Mixed on cpanmetadb ... --2014-12-04 13:26:16-- http://cpanmetadb.plackperl.org/v1.0/package/ +Getopt::Mixed Resolving cpanmetadb.plackperl.org... 185.31.17.129, 185.31.17.192 Connecting to cpanmetadb.plackperl.org|185.31.17.129|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 62 [text/x-yaml] Saving to: 'STDOUT' - 100%[====================>] + 62 --.-KB/s in 0s 2014-12-04 13:26:16 (7.39 MB/s) - written to stdout [62/62] --> Working on Getopt::Mixed Fetching http://www.cpan.org/authors/id/C/CJ/CJM/Getopt-Mixed-1.12.tar +.gz ... --2014-12-04 13:26:16-- http://www.cpan.org/authors/id/C/CJ/ +CJM/Getopt-Mixed-1.12.tar.gz Resolving www.cpan.org... 94.242.223.198, 2607:f238:3::91:1 Connecting to www.cpan.org|94.242.223.198|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 21423 (21K) [application/x-gzip] Saving to: 'Getopt-Mixed-1.12.tar.gz' Getopt-Mixed-1.12.tar.gz 100%[====================>] + 20.92K --.-KB/s in 0.03s 2014-12-04 13:26:16 (689 KB/s) - 'Getopt-Mixed-1.12.tar.gz' saved [214 +23/21423] OK Unpacking Getopt-Mixed-1.12.tar.gz x Getopt-Mixed-1.12/ x Getopt-Mixed-1.12/xt/ x Getopt-Mixed-1.12/xt/release/ x Getopt-Mixed-1.12/xt/release/pod-coverage.t x Getopt-Mixed-1.12/xt/release/pod-syntax.t x Getopt-Mixed-1.12/lib/ x Getopt-Mixed-1.12/lib/Getopt/ x Getopt-Mixed-1.12/lib/Getopt/Mixed.pm x Getopt-Mixed-1.12/examples/ x Getopt-Mixed-1.12/examples/flexible x Getopt-Mixed-1.12/examples/simple x Getopt-Mixed-1.12/Makefile.PL x Getopt-Mixed-1.12/t/ x Getopt-Mixed-1.12/t/00-all_prereqs.t x Getopt-Mixed-1.12/t/10-getopt.t x Getopt-Mixed-1.12/t/00-load.t x Getopt-Mixed-1.12/META.json x Getopt-Mixed-1.12/META.yml x Getopt-Mixed-1.12/MANIFEST x Getopt-Mixed-1.12/LICENSE x Getopt-Mixed-1.12/Changes x Getopt-Mixed-1.12/README Entering Getopt-Mixed-1.12 Checking configure dependencies from META.json Checking if you have ExtUtils::MakeMaker 6.30 ... Yes (7.02) Running Makefile.PL Configuring Getopt-Mixed-1.12 ... Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Getopt::Mixed Writing MYMETA.yml and MYMETA.json OK Checking dependencies from MYMETA.json ... Checking if you have Carp 0 ... Yes (1.34) Checking if you have Exporter 0 ... Yes (5.72) Checking if you have Test::More 0 ... Yes (1.301001_075) Building and testing Getopt-Mixed-1.12 ... cp lib/Getopt/Mixed.pm blib +/lib/Getopt/Mixed.pm Manifying 1 pod document PERL_DL_NONLAZY=1 "/Users/sdk/perl5/perlbrew/perls/perl-5.21.6/bin/per +l5.21.6" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Tes +t::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00-all_prereqs.t .. ok t/00-load.t ......... 1/1 # Testing Getopt::Mixed 1.12 t/00-load.t ......... ok t/10-getopt.t ....... ok All tests successful. Files=3, Tests=26, 2 wallclock secs ( 0.02 usr 0.01 sys + 0.06 cusr + 0.01 csys = 0.10 CPU) Result: PASS Manifying 1 pod document Appending installation info to /Users/sdk/perl5/lib/perl5/darwin-2leve +l/perllocal.pod OK Successfully installed Getopt-Mixed-1.12 Installing /Users/sdk/perl5/lib/perl5/darwin-2level/.meta/Getopt-Mixed +-1.12/install.json ! Installing the dependencies failed: Module 'Getopt::Mixed' is not in +stalled ! Bailing out the installation for App-Dapper-0.18. 1 distribution installed ~ ->

It would be nice if someone would look at this and maybe give me a hint where to look next.

Thanks in advance,
sdk

Replies are listed 'Best First'.
Re: MacOSX: perlbrew + cpanm, dependency check broken?
by Anonymous Monk on Dec 04, 2014 at 15:22 UTC
    What's the output of 'perl -V' ? Also,
    PERL_LOCAL_LIB_ROOT=/home/sdk/perl5 PERL_MB_OPT=--install_base "/Users/sdk/perl5" PERL_MM_OPT=INSTALL_BASE=/Users/sdk/perl5
    I don't know, that doesn't seem to be right. Shouldn't it be more like /home/sdk/perl5/perlbrew/perls/perl-5.21.6? Or maybe it shouldn't be there at all... What is the contents of /home/sdk/perl5?
      Hello,

      Output of perl -v:

      ~ -> perl -v This is perl 5, version 21, subversion 6 (v5.21.6) built for darwin-2l +evel [... stripped the copyright etc...]

      The actual perl bin directory is ~/perl5/perlbrew/perls/perl-5.21.6/bin. This is the /Users/sdk/perl5 directory:

      ~ -> ls -1 perl5/*/* perl5/perlbrew/build.perl-5.21.6.log perl5/lib/perl5: Getopt darwin-2level perl5/man/man3: Getopt::Mixed.3 perl5/perlbrew/bin: cpanm patchperl perlbrew perl5/perlbrew/build: perl-5.21.6 perl5/perlbrew/dists: perl-5.21.6.tar.bz2 perl5/perlbrew/etc: bashrc csh_reinit csh_set_path csh_wrapper cshrc perlbrew-completion.bash perlbrew.fish perl5/perlbrew/perls: perl-5.21.6

      I've changed my env. variables to the values below and tried again. No change. Exactly the same cpanm output.

      PERL_LOCAL_LIB=/Users/sdk/perl5/perlbrew/perls/perl-5.21.6/lib # I tri +ed with and without /lib PERL_MB_OPT=--install_base "/Users/sdk/perl5/perlbrew/perls/perl-5.21. +6" PERL_MB_OPT='--install_base "/Users/sdk/perl5/perlbrew/perls/perl-5.21 +.6"' PERL_MM_OPT=INSTALL_BASE=/Users/sdk/perl5/perlbrew/perls/perl-5.21.6
      Thank you for looking into this. - sdk
        Output of perl -v:
        Uppercase -V. It should look like:
        Summary of my perl5 (revision 5 version 20 subversion 1) configuration +: (tons of stuff)
        This is the /Users/sdk/perl5 directory:
        Well it seems your Getopt is installed right there (for some reasons), but I think that's not where Perl looks for them. Maybe you tried to install Perl manually before deciding to try perlbrew, and now there are some leftovers from manual configuration (in .bashrc)?