Fernando, se entendi o teste, era para nao so usar o -c mas remover os "--modules". Neste caso falha :
-bash-4.1$ pp -B -c -o report-fjr-couch report-fjr-couch.pl Can't locate XML/LibXML/SAX.pm in @INC (@INC contains: /tmp/par-6e697374657374/cache-25bcda770974f790ce830f7c825dfabc72f693a6/inc/lib /tmp/par-6e697374657374/cache-25bcda770974f790ce830f7c825dfabc72f693a6/inc CODE(0x144de00) CODE(0x144e280)) at (eval 67) line 1. Mas se usar com os --module que citei acima, tudo funciona tranquilo. Falando nisso, achei interessante o -P, ele poe _tudo_ num arquivao de texto. Abs 2014-09-30 18:51 GMT-07:00 Fernando Gmail <fernandocor...@gmail.com>: > Blz Samir?! Você chegou a testar o -c que o Breno falou? > > Fernando > > Em 30/09/2014, às 20:48, Samir Cury <samircu...@gmail.com> escreveu: > > Matou, Breno! > > Estava assumindo por algum motivo que o pp era esperto o suficiente para > seguir todos os modulos mencionados em "use X::Y;" e as dependencias. Uma > vez que inclui esses 2 caras : > > pp -B --module=XML::LibXML::SAX --module=Variable::Magic -o > report-fjr-couch report-fjr-couch.pl > > Funcionou perfeito. Outra grande vantagem e que tive que fazer um patch > local para o CouchDB::Client. Desse jeito e certo que seja la o que for vai > rodar com o patch. > > Ah, o patch estaria no CPAN se o autor respondesse a pull requests. Como > nao esta, fazemos assim. > > Abs, > Samir > > 2014-09-30 16:35 GMT-07:00 breno <br...@rio.pm.org>: > >> Samir, o -B adiciona só os módulos core, e o Variable::Magic não é core. >> Acho que o que vc quer é "--module=Variable::Magic" não? >> >> Se não houver código destrutivo em BEGIN's, vale adicionar "-c" pra ele >> tentar achar dependências de runtime também. >> >> Espero que isso ajude. Senão, as outras dicas que o pessoal deu (de >> carton à bundles de instalação) são muito boas! >> >> []s >> >> -b >> >> 2014-09-30 15:51 GMT-03:00 Samir Cury <samircu...@gmail.com>: >> >>> Galera, >>> >>> Escrevi um codigo basico para uma tarefa trivial. Problema : Usei o CPAN >>> demais e tenho muitas dependencias. Vou rodar o codigo em sistemas remotos >>> onde so e garantido existir o Perl + core modules. >>> >>> Pensei em usar o PAR, que ja me cria um executavel com "todos os modulo" >>> (-B). Perfeito. >>> >>> Nem tanto. Uma vez que consigo o executavel, ele reclama de nao achar o >>> Variable::Magic [1]. >>> >>> Porem o .pl original roda tranquilo no mesmo sistema : >>> >>> -bash-4.1$ ./report-fjr-couch.pl --fjr=FrameworkJobReport.xml >>> --couchurl=http://a.cloudant.com --db=tr-benchmarks >>> CouchDB::Client::Doc=HASH(0x1286d60) >>> >>> O erro ate fez sentido uma vez que percebi que o sistema que usei para >>> gerar o executavel nao tinha o Variable::Magic instalado. Imaginei que >>> instalando e rodando de novo com -B iria incluir o modulo. Nada. >>> >>> Sendo mais concreto, aqui estao os "pp s" que tentei : >>> >>> pp -B -o report-fjr-couch report-fjr-couch.pl >>> pp -B -P -o report-fjr-couch report-fjr-couch.pl >>> pp -B -p -o report-fjr-couch report-fjr-couch.pl >>> >>> Mesmo problema em todos. >>> >>> Descricao das opcoes : >>> >>> http://search.cpan.org/~rschupp/PAR-Packer-1.022/lib/pp.pm >>> >>> Caso queiram ver o codigo, aqui esta, mas fiquem tranquilos, admito e >>> sei que nao foi feito para ser bonito, mas funciona : >>> >>> >>> https://github.com/samircury/CMSSW-benchmarks/blob/master/condor/report-fjr-couch.pl >>> >>> Alguem ja passou por uma situacao parecida ou teria dicas de como >>> resolver? >>> >>> Valeu! >>> >>> [1] : >>> >>> -bash-4.1$ ./report-fjr-couch --fjr=FrameworkJobReport.xml --couchurl= >>> http://a.cloudant.com --db=tr-benchmarks >>> Could not find a suitable B::Hooks::EndOfScope implementation: Can't >>> locate Variable/Magic.pm in @INC (@INC contains: CODE(0x1e1aca0) >>> /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc/lib >>> /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc >>> CODE(0x1aea050) CODE(0x1aea4d0)) at Module/Runtime.pm line 317. >>> BEGIN failed--compilation aborted at B/Hooks/EndOfScope/XS.pm line 17. >>> Compilation failed in require at Module/Runtime.pm line 317. >>> Can't locate B/Hooks/EndOfScope/PP/FieldHash.pm in @INC (@INC contains: >>> CODE(0x1e1aca0) >>> /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc/lib >>> /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc >>> CODE(0x1aea050) CODE(0x1aea4d0)) at Module/Runtime.pm line 317. >>> BEGIN failed--compilation aborted at B/Hooks/EndOfScope/PP.pm line 29. >>> Compilation failed in require at Module/Runtime.pm line 317. >>> at B/Hooks/EndOfScope.pm line 22 >>> BEGIN failed--compilation aborted at B/Hooks/EndOfScope.pm line 26. >>> Compilation failed in require at namespace/clean.pm line 11. >>> BEGIN failed--compilation aborted at namespace/clean.pm line 11. >>> Compilation failed in require at JSON/Any.pm line 11. >>> BEGIN failed--compilation aborted at JSON/Any.pm line 11. >>> Compilation failed in require at CouchDB/Client.pm line 9. >>> BEGIN failed--compilation aborted at CouchDB/Client.pm line 9. >>> Compilation failed in require at script/report-fjr-couch.pl line 6. >>> BEGIN failed--compilation aborted at script/report-fjr-couch.pl line 6. >>> >>> >>> _______________________________________________ >>> Rio-pm mailing list >>> Rio-pm@pm.org >>> http://mail.pm.org/mailman/listinfo/rio-pm >>> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm@pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > _______________________________________________ > Rio-pm mailing list > Rio-pm@pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > _______________________________________________ > Rio-pm mailing list > Rio-pm@pm.org > http://mail.pm.org/mailman/listinfo/rio-pm >
_______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm