Closed geira closed 10 years ago
Did you use cpanm to install Carton? It looks like you were using other methods to do it.
Added --no-fatpack
to bypass generation of fatpack executable when not needed. Use that option.
Am indeed using cpanm. Just verified problem on a clean Ubuntu Lucid VM. Have tried downgrading to 1.0.10 and 1.0.9, but no difference. Will try --no-fatpack option when released on cpan.
For reproduction the source is available here (see debian/control for a list of deps): https://svn.met.no/metamod/trunk
Using --no-fatpack in 1.0.12 solved the problem. Thanks!
I have the same problem. --no-fatpack
doesn't help, since I want a fatpacked carton in my bundle ...
However, my backtrace looks a bit different:
$ PERL5OPT=-MCarp::Always carton bundle
Bundling modules using /export/home/danielt/tmp/ctest/cpanfile
Copying S/SR/SRI/Mojolicious-4.41.tar.gz
at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Carton/Builder.pm line 39.
Carton::Builder::bundle(Carton::Builder=HASH(0x26af2a0), Path::Tiny=ARRAY(0x278fb88), Path::Tiny=ARRAY(0x278f648), Carton::Snapshot=HASH(0x26af180)) called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Carton/CLI.pm line 163
Carton::CLI::cmd_bundle(Carton::CLI=HASH(0x1c6f080)) called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Carton/CLI.pm line 55
Carton::CLI::try {...} () called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Try/Tiny.pm line 78
eval {...} called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Try/Tiny.pm line 74
Try::Tiny::try(CODE(0x2366868), Try::Tiny::Catch=REF(0x1f95548)) called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Carton/CLI.pm line 70
Carton::CLI::run(Carton::CLI=HASH(0x1c6f080), "bundle") called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/bin/carton line 9
invalid top directory at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/5.18.1/File/Find.pm line 472.
File::Find::_find_opt(HASH(0x28d4c28)) called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/5.18.1/File/Find.pm line 1079
File::Find::find(HASH(0x28d4c28)) called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Carton/Packer.pm line 87
Carton::Packer::installed_meta(Carton::Packer=HASH(0x278bf68), "Carton") called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Carton/Packer.pm line 61
Carton::Packer::required_modules(Carton::Packer=HASH(0x278bf68)) called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Carton/Packer.pm line 42
Carton::Packer::do_fatpack(Carton::Packer=HASH(0x278bf68), Path::Tiny=ARRAY(0x281d0b0)) called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Carton/Packer.pm line 27
Carton::Packer::fatpack_carton(Carton::Packer=HASH(0x278bf68), Path::Tiny=ARRAY(0x281cf90)) called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Carton/CLI.pm line 167
Carton::CLI::cmd_bundle(Carton::CLI=HASH(0x1c6f080)) called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Carton/CLI.pm line 55
Carton::CLI::try {...} () called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Try/Tiny.pm line 78
eval {...} called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Try/Tiny.pm line 74
Try::Tiny::try(CODE(0x2366868), Try::Tiny::Catch=REF(0x1f95548)) called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Carton/CLI.pm line 70
Carton::CLI::run(Carton::CLI=HASH(0x1c6f080), "bundle") called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Carton/CLI.pm line 58.
Carton::CLI::catch {...} ("invalid top directory at /home/danielt/perl5/perlbrew/perls/p"...) called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Try/Tiny.pm line 106
Try::Tiny::try(CODE(0x2366868), Try::Tiny::Catch=REF(0x1f95548)) called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Carton/CLI.pm line 70
Carton::CLI::run(Carton::CLI=HASH(0x1c6f080), "bundle") called at /home/danielt/perl5/perlbrew/perls/perl-5.18.1/bin/carton line 9
Seems like Carton::Packer calls File::Find::find with only an options hash and no argument. Hacking File::Find (5.006) to confess instead of dying produce the following: