Here are the interesting bits from two runs of the code I just posted. The top results doesn't try to install Expect because I remove it from the code. Everything works. After "Delayed until after prerequisites" it continues into rematin() and eventually to expand_by_any(), which expands Devel::Symdump.
In the second one, which is the same code tries to install Expect and gets a distroprefs hit (as in the output in the last message). After "Delayed until after prerequisites", it gets to expand_by_method() and doesn't go any futher. Again, I'm still investigating this, but even explaining it on a mailing list might help. :) [13:27:45]: ---- Unsatisfied dependencies detected during ---- [13:27:45]: ---- THIRDPARTY/Test-Class-0.33.tar.gz ---- [13:27:45]: Devel::Symdump [requires] [13:27:45]: Debug(Shell,CPAN.pm,2991,[Distribution,CPAN.pm,8469,expandany]): s[Devel::Symdump] [13:27:45]: Debug(Shell,CPAN.pm,3013,[Shell,CPAN.pm,3003,expand]): type[Module]args[Devel::Symdump] [13:27:45]: Debug(Shell,CPAN.pm,3038,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Module]regex[UNDEFINED]command[UNDEFINED] [13:27:45]: Debug(Shell,CPAN.pm,3119,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Module]wantarray[]count m[1] [13:27:45]: Debug(Shell,CPAN.pm,3013,[Module,CPAN.pm,10237,expand]): type[Distribution]args[T/TH/THIRDPARTY/Devel-Symdump-2.08.tar.gz] [13:27:45]: Debug(Shell,CPAN.pm,3038,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Distribution]regex[UNDEFINED]command[UNDEFINED] [13:27:45]: Debug(Shell,CPAN.pm,3119,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Distribution]wantarray[]count m[1] [13:27:45]: Debug(Distribution,CPAN.pm,8781,[Distribution,CPAN.pm,6238,prereq_pm]): ID[T/TH/THIRDPARTY/Devel-Symdump-2.08.tar.gz]prereq_pm_detected[0] [13:27:45]: Debug(Queue,Queue.pm,113,[Distribution,CPAN.pm,8480,jumpqueue]): before jumpqueue All[ Test::Class[c] [13:27:45]: T/TH/THIRDPARTY/Test-Class-0.33.tar.gz[c] [13:27:45]: Devel::Symdump[r] [13:27:45]: ] what[] [13:27:45]: Debug(Queue,Queue.pm,156,[Distribution,CPAN.pm,8480,jumpqueue]): after jumpqueue All[ Devel::Symdump[r] [13:27:45]: T/TH/THIRDPARTY/Test-Class-0.33.tar.gz[c] [13:27:45]: Test::Class[c] [13:27:45]: ] [13:27:45]: Running Build test [13:27:45]: Delayed until after prerequisites [13:27:45]: Running Build install [13:27:45]: Delayed until after prerequisites [13:27:45]: Debug(Shell,CPAN.pm,3537,[Shell,CPAN.pm,3695,rematein]): Failed. pragma[]meth[install] [13:27:45]: Debug(Shell,CPAN.pm,3013,[Module,CPAN.pm,10183,expand]): type[Distribution]args[T/TH/THIRDPARTY/Test-Class-0.33.tar.gz] [13:27:45]: Debug(Shell,CPAN.pm,3038,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Distribution]regex[UNDEFINED]command[UNDEFINED] [13:27:45]: Debug(Shell,CPAN.pm,3119,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Distribution]wantarray[]count m[1] [13:27:45]: Debug(Shell,CPAN.pm,2991,[Shell,CPAN.pm,3459,expandany]): s[Devel::Symdump] [13:27:45]: Debug(Shell,CPAN.pm,3013,[Shell,CPAN.pm,3003,expand]): type[Module]args[Devel::Symdump] [13:27:45]: Debug(Shell,CPAN.pm,3038,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Module]regex[UNDEFINED]command[UNDEFINED] [13:27:45]: Debug(Shell,CPAN.pm,3119,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Module]wantarray[]count m[1] [13:27:45]: Debug(Shell,CPAN.pm,3477,[Shell,CPAN.pm,3695,rematein]): s[Devel::Symdump]obj-reqtype[]q-reqtype[r] [13:27:45]: Debug(Shell,CPAN.pm,3511,[Shell,CPAN.pm,3695,rematein]): pragma[]meth[install]ID[Devel::Symdump] [13:27:45]: Running install for module 'Devel::Symdump' [13:05:50]: ---- Unsatisfied dependencies detected during ---- [13:05:50]: ---- THIRDPARTY/Test-Class-0.33.tar.gz ---- [13:05:50]: Devel::Symdump [requires] [13:05:50]: Debug(Shell,CPAN.pm,2991,[Distribution,CPAN.pm,8469,expandany]): s[Devel::Symdump] [13:05:50]: Debug(Shell,CPAN.pm,3013,[Shell,CPAN.pm,3003,expand]): type[Module]args[Devel::Symdump] [13:05:50]: Debug(Shell,CPAN.pm,3038,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Module]regex[UNDEFINED]command[UNDEFINED] [13:05:50]: Debug(Shell,CPAN.pm,3119,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Module]wantarray[]count m[1] [13:05:50]: Debug(Shell,CPAN.pm,3013,[Module,CPAN.pm,10237,expand]): type[Distribution]args[T/TH/THIRDPARTY/Devel-Symdump-2.08.tar.gz] [13:05:50]: Debug(Shell,CPAN.pm,3038,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Distribution]regex[UNDEFINED]command[UNDEFINED] [13:05:50]: Debug(Shell,CPAN.pm,3119,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Distribution]wantarray[]count m[1] [13:05:50]: Debug(Distribution,CPAN.pm,8781,[Distribution,CPAN.pm,6238,prereq_pm]): ID[T/TH/THIRDPARTY/Devel-Symdump-2.08.tar.gz]prereq_pm_detected[0] [13:05:50]: Debug(Queue,Queue.pm,113,[Distribution,CPAN.pm,8480,jumpqueue]): before jumpqueue All[ Test::Class[c] [13:05:50]: T/TH/THIRDPARTY/Test-Class-0.33.tar.gz[c] [13:05:50]: Devel::Symdump[r] [13:05:50]: ] what[] [13:05:50]: Debug(Queue,Queue.pm,156,[Distribution,CPAN.pm,8480,jumpqueue]): after jumpqueue All[ Devel::Symdump[r] [13:05:50]: T/TH/THIRDPARTY/Test-Class-0.33.tar.gz[c] [13:05:50]: Test::Class[c] [13:05:50]: ] [13:05:50]: Running Build test [13:05:50]: Delayed until after prerequisites [13:05:50]: Running Build install [13:05:50]: Delayed until after prerequisites [13:05:50]: Debug(Shell,CPAN.pm,3537,[Shell,CPAN.pm,3695,rematein]): Failed. pragma[]meth[install] [13:05:50]: Debug(Shell,CPAN.pm,3013,[Module,CPAN.pm,10183,expand]): type[Distribution]args[T/TH/THIRDPARTY/Test-Class-0.33.tar.gz] [13:05:50]: Debug(Shell,CPAN.pm,3038,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Distribution]regex[UNDEFINED]command[UNDEFINED] [13:05:50]: Debug(Shell,CPAN.pm,3119,[Shell,CPAN.pm,3020,expand_by_method]): class[CPAN::Distribution]wantarray[]count m[1] [13:05:50]: Stopping: 'install' failed for 'Test::Class'.