From jc em joaocoutinho.com.br Thu Jan 2 17:49:40 2014 From: jc em joaocoutinho.com.br (=?ISO-8859-1?Q?Jo=E3o_C=2E_Coutinho?=) Date: Thu, 2 Jan 2014 23:49:40 -0200 Subject: [Rio-pm] Fwd: [SP-pm] Perl White Camel In-Reply-To: References: <1387474530.15178.61637045.439BD660@webmail.messagingengine.com> Message-ID: Parabéns! João C. Coutinho 2013/12/19 Guilherme Alves : > Parabéns para os dois! > WC 2012 e WC 2013! > > On Fri, Dec 20, 2013 at 2:35 AM, Nuba Princigalli wrote: >> Pessoal, passando adiante a notícia, muito legal! >> >> Perl Community: Thiago "maluco" Rondon >> >> If you're doing Perl in Brasil, you probably know "maluco". Not only does he >> run multiple business with heavy doses of Perl, but he was the leader of the >> São Paulo Perl mongersand the organizer of the Brasilian versions of the >> Perl Advent calendars, called Equinócio, which the local community runs >> twice a year. He's also the creator of OpenData-BR, which uses Perl to >> illuminate government spending data. >> >> Fonte: blogs.perl.org/users/brian_d_foy/2013/12/the-2013-white-camels.html >> >> Parabéns Maluco! :) >> >> ----- Original message ----- >> From: Solli Honorio >> To: "saopaulo-pm em mail.pm.org" >> Subject: [SP-pm] Perl White Camel >> Date: Thu, 19 Dec 2013 08:43:02 -0200 >> >> Pessoal, >> >> É com enorme orgulho que anuncio na lista que o nosso colega Thiago Rodon, >> mais conhecido como maluco, teve os esforços reconhecido mais uma vez e >> recebeu o título de Perl White Camel. >> >> É o segundo ano consecutivo que o Brasil é tem representante no Perl White >> Camel, ano passado foi o Breno. >> >> Maculo aproveite mais este título e pode gastar os milhões da premiação com >> cerveja para o grupo. >> >> Solli Honorio >> >> -- >> "o animal satisfeito dorme". - Guimarães Rosa >> =begin disclaimer >> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >> SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org >> L >> =end disclaimer >> >> -- >> Nuba R. Princigalli nuba em pauleira.com http://pauleira.com @nprincigalli >> Discipline is not an end in itself, just a means to an end. - King Crimson >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm > > > > -- > Guilherme Alves > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm From alpbs2003 em gmail.com Fri Jan 10 03:26:27 2014 From: alpbs2003 em gmail.com (Andre Luis) Date: Fri, 10 Jan 2014 09:26:27 -0200 Subject: [Rio-pm] Perl e Facebook Message-ID: Bom dia lista, Hoje configurando o CPAN na minha maquina notei uma coisa curiosa (32) http://cpan.mirror.facebook.net/ Alguém sabe se o facebook está trabalhando com perl? Eu achava que o facebook usava PHP Abs -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From perl em mosconi.mat.br Fri Jan 10 03:29:54 2014 From: perl em mosconi.mat.br (Rodrigo Mosconi (perl)) Date: Fri, 10 Jan 2014 09:29:54 -0200 Subject: [Rio-pm] Perl e Facebook In-Reply-To: References: Message-ID: IMHO: O frontend usa php, mas acredito que há coisa de "back" que usam perl Em 10 de janeiro de 2014 09:26, Andre Luis escreveu: > Bom dia lista, > > > Hoje configurando o CPAN na minha maquina notei uma coisa curiosa > > > (32) http://cpan.mirror.facebook.net/ > > > Alguém sabe se o facebook está trabalhando com perl? Eu achava que o > facebook usava PHP > > > Abs > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From renato.cron em gmail.com Fri Jan 10 03:32:29 2014 From: renato.cron em gmail.com (Renato Santos) Date: Fri, 10 Jan 2014 09:32:29 -0200 Subject: [Rio-pm] Perl e Facebook In-Reply-To: References: Message-ID: Isso é só um mirror, geralmente de "contribuição" por utilizar Perl em alguns pedaços (e no começo era um Perl script cgi) aí como pra eles um servidor não é nada, eles fazem o mirror. Assim como globo . com, etc On Jan 10, 2014 9:26 AM, "Andre Luis" wrote: > Bom dia lista, > > > Hoje configurando o CPAN na minha maquina notei uma coisa curiosa > > > (32) http://cpan.mirror.facebook.net/ > > > Alguém sabe se o facebook está trabalhando com perl? Eu achava que o > facebook usava PHP > > > Abs > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From tiago.peczenyj em gmail.com Fri Jan 10 03:33:36 2014 From: tiago.peczenyj em gmail.com (Tiago Peczenyj) Date: Fri, 10 Jan 2014 09:33:36 -0200 Subject: [Rio-pm] Perl e Facebook In-Reply-To: References: Message-ID: resposta curta: facebook usava e ainda usa muita coisa. https://github.com/facebook/ Vale lembrar que o facebook usa uma solução doida que transforma PHP em C++ https://developers.facebook.com/blog/post/2010/02/02/hiphop-for-php--move-fast/ 2014/1/10 Andre Luis > Bom dia lista, > > > Hoje configurando o CPAN na minha maquina notei uma coisa curiosa > > > (32) http://cpan.mirror.facebook.net/ > > > Alguém sabe se o facebook está trabalhando com perl? Eu achava que o > facebook usava PHP > > > Abs > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- Tiago B. Peczenyj Linux User #405772 http://about.me/peczenyj -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From junior em fvox.com.br Fri Jan 10 03:37:59 2014 From: junior em fvox.com.br (Junior Moraes) Date: Fri, 10 Jan 2014 09:37:59 -0200 Subject: [Rio-pm] Perl e Facebook In-Reply-To: References: Message-ID: Hi. O Facebook tem mirror de vários outros projetos de código aberto: http://mirror.facebook.net/ É óbvio que em algum lugar (nem que seja nos scripts do próprio SO dos servidores) deve rodar Perl. Mas creio que dentro da arquitetura da aplicação do Facebook em si, não há muito espaço para o Perl rs. []'s Em 10 de janeiro de 2014 09:29, Rodrigo Mosconi (perl) escreveu: > IMHO: O frontend usa php, mas acredito que há coisa de "back" que usam perl > > > Em 10 de janeiro de 2014 09:26, Andre Luis escreveu: > >> Bom dia lista, >> >> >> Hoje configurando o CPAN na minha maquina notei uma coisa curiosa >> >> >> (32) http://cpan.mirror.facebook.net/ >> >> >> Alguém sabe se o facebook está trabalhando com perl? Eu achava que o >> facebook usava PHP >> >> >> Abs >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- ==================================== Junior "fvox" Moraes Perl Programmer Linux Reg. #557527 junior[at]fvox[dot]com[dot]br fb[dot]com/fvox twitter[dot]com/fvox ==================================== -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From guedes_1000 em hotmail.com Fri Jan 10 08:32:31 2014 From: guedes_1000 em hotmail.com (Aureliano Guedes) Date: Fri, 10 Jan 2014 14:32:31 -0200 Subject: [Rio-pm] Perl e Facebook Message-ID: Posso ta errado, mas acredito que aquele chat do face usa Perl. Mas que trem e esse de hiphop "sei la o que" e esse de PHP com performance de C++? Renato Santos escreveu: Isso é só um mirror, geralmente de "contribuição" por utilizar Perl em alguns pedaços (e no começo era um Perl script cgi) aí como pra eles um servidor não é nada, eles fazem o mirror. Assim como globo . com, etc On Jan 10, 2014 9:26 AM, "Andre Luis" wrote: > Bom dia lista, > > > Hoje configurando o CPAN na minha maquina notei uma coisa curiosa > > > (32) http://cpan.mirror.facebook.net/ > > > Alguém sabe se o facebook está trabalhando com perl? Eu achava que o > facebook usava PHP > > > Abs > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: -------------- Próxima Parte ---------- _______________________________________________ Rio-pm mailing list Rio-pm em pm.org http://mail.pm.org/mailman/listinfo/rio-pm From tiago.peczenyj em gmail.com Fri Jan 10 08:38:24 2014 From: tiago.peczenyj em gmail.com (Tiago Peczenyj) Date: Fri, 10 Jan 2014 14:38:24 -0200 Subject: [Rio-pm] Perl e Facebook In-Reply-To: References: Message-ID: basicamente eles convertem PHP em C++ usando o HipHop e o facebook todo é um binario com mais de 1 GB o deploy é via bit-torrent. 2014/1/10 Aureliano Guedes > Posso ta errado, mas acredito que aquele chat do face usa Perl. > > Mas que trem e esse de hiphop "sei la o que" e esse de PHP com > performance de C++? > > > Renato Santos escreveu: > > Isso é só um mirror, geralmente de "contribuição" por utilizar Perl em > alguns pedaços (e no começo era um Perl script cgi) aí como pra eles um > servidor não é nada, eles fazem o mirror. Assim como globo . com, etc > On Jan 10, 2014 9:26 AM, "Andre Luis" wrote: > > Bom dia lista, > > > Hoje configurando o CPAN na minha maquina notei uma coisa curiosa > > > (32) http://cpan.mirror.facebook.net/ > > > Alguém sabe se o facebook está trabalhando com perl? Eu achava que o > facebook usava PHP > > > Abs > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- Tiago B. Peczenyj Linux User #405772 http://about.me/peczenyj -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From blabos em gmail.com Fri Jan 10 09:27:32 2014 From: blabos em gmail.com (Blabos de Blebe) Date: Fri, 10 Jan 2014 15:27:32 -0200 Subject: [Rio-pm] Perl e Facebook In-Reply-To: References: Message-ID: > e o facebook todo é um binario com mais de 1 GB > > o deploy é via bit-torrent. Você, claro, tá tirando um sarro, né!? 2014/1/10 Tiago Peczenyj > basicamente eles convertem PHP em C++ usando o HipHop > > e o facebook todo é um binario com mais de 1 GB > > o deploy é via bit-torrent. > > > 2014/1/10 Aureliano Guedes > >> Posso ta errado, mas acredito que aquele chat do face usa Perl. >> >> Mas que trem e esse de hiphop "sei la o que" e esse de PHP com >> performance de C++? >> >> >> Renato Santos escreveu: >> >> Isso é só um mirror, geralmente de "contribuição" por utilizar Perl em >> alguns pedaços (e no começo era um Perl script cgi) aí como pra eles um >> servidor não é nada, eles fazem o mirror. Assim como globo . com, etc >> On Jan 10, 2014 9:26 AM, "Andre Luis" wrote: >> >> Bom dia lista, >> >> >> Hoje configurando o CPAN na minha maquina notei uma coisa curiosa >> >> >> (32) http://cpan.mirror.facebook.net/ >> >> >> Alguém sabe se o facebook está trabalhando com perl? Eu achava que o >> facebook usava PHP >> >> >> Abs >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > > -- > Tiago B. Peczenyj > Linux User #405772 > > http://about.me/peczenyj > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From geraldonetto em gmail.com Fri Jan 10 09:31:00 2014 From: geraldonetto em gmail.com (Geraldo Netto) Date: Fri, 10 Jan 2014 15:31:00 -0200 Subject: [Rio-pm] Perl e Facebook In-Reply-To: References: Message-ID: Não tenho as evidências do crime (ex: link) mas, o Peczenyj está certo! Geraldo Netto Sapere Aude => Non dvcor, dvco São Paulo, Brasil, -3gmt site: http://exdev.sf.net/ 2014/1/10 Blabos de Blebe : >> e o facebook todo é um binario com mais de 1 GB >> >> o deploy é via bit-torrent. > > Você, claro, tá tirando um sarro, né!? > > > 2014/1/10 Tiago Peczenyj >> >> basicamente eles convertem PHP em C++ usando o HipHop >> >> e o facebook todo é um binario com mais de 1 GB >> >> o deploy é via bit-torrent. >> >> >> 2014/1/10 Aureliano Guedes >>> >>> Posso ta errado, mas acredito que aquele chat do face usa Perl. >>> >>> Mas que trem e esse de hiphop "sei la o que" e esse de PHP com >>> performance de C++? >>> >>> >>> Renato Santos escreveu: >>> >>> Isso é só um mirror, geralmente de "contribuição" por utilizar Perl em >>> alguns pedaços (e no começo era um Perl script cgi) aí como pra eles um >>> servidor não é nada, eles fazem o mirror. Assim como globo . com, etc >>> >>> On Jan 10, 2014 9:26 AM, "Andre Luis" wrote: >>> >>> Bom dia lista, >>> >>> >>> Hoje configurando o CPAN na minha maquina notei uma coisa curiosa >>> >>> >>> (32) http://cpan.mirror.facebook.net/ >>> >>> >>> Alguém sabe se o facebook está trabalhando com perl? Eu achava que o >>> facebook usava PHP >>> >>> >>> Abs >>> >>> >>> _______________________________________________ >>> Rio-pm mailing list >>> Rio-pm em pm.org >>> http://mail.pm.org/mailman/listinfo/rio-pm >>> >>> >>> _______________________________________________ >>> Rio-pm mailing list >>> Rio-pm em pm.org >>> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> >> -- >> Tiago B. Peczenyj >> Linux User #405772 >> >> http://about.me/peczenyj >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm From tiago.peczenyj em gmail.com Fri Jan 10 09:33:09 2014 From: tiago.peczenyj em gmail.com (Tiago Peczenyj) Date: Fri, 10 Jan 2014 15:33:09 -0200 Subject: [Rio-pm] Perl e Facebook In-Reply-To: References: Message-ID: http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/ "Because Facebook's entire code base is compiled down to a single binary executable, the company's deployment process is quite different from what you'd normally expect in a PHP environment. Rossi told me that the binary, which represents the entire Facebook application, is approximately 1.5GB in size. When Facebook updates its code and generates a new build, the new binary has to be pushed to all of the company's servers. Moving a 1.5GB binary blob to countless servers is a non-trivial technical challenge. After exploring several solutions, Facebook came up with the idea of using BitTorrent, the popular peer-to-peer filesharing protocol. BitTorrent is very good at propagating large files over a large number of different servers." 2014/1/10 Blabos de Blebe > > e o facebook todo é um binario com mais de 1 GB > > > > o deploy é via bit-torrent. > > Você, claro, tá tirando um sarro, né!? > > > 2014/1/10 Tiago Peczenyj > >> basicamente eles convertem PHP em C++ usando o HipHop >> >> e o facebook todo é um binario com mais de 1 GB >> >> o deploy é via bit-torrent. >> >> >> 2014/1/10 Aureliano Guedes >> >>> Posso ta errado, mas acredito que aquele chat do face usa Perl. >>> >>> Mas que trem e esse de hiphop "sei la o que" e esse de PHP com >>> performance de C++? >>> >>> >>> Renato Santos escreveu: >>> >>> Isso é só um mirror, geralmente de "contribuição" por utilizar Perl em >>> alguns pedaços (e no começo era um Perl script cgi) aí como pra eles um >>> servidor não é nada, eles fazem o mirror. Assim como globo . com, etc >>> On Jan 10, 2014 9:26 AM, "Andre Luis" wrote: >>> >>> Bom dia lista, >>> >>> >>> Hoje configurando o CPAN na minha maquina notei uma coisa curiosa >>> >>> >>> (32) http://cpan.mirror.facebook.net/ >>> >>> >>> Alguém sabe se o facebook está trabalhando com perl? Eu achava que o >>> facebook usava PHP >>> >>> >>> Abs >>> >>> >>> _______________________________________________ >>> Rio-pm mailing list >>> Rio-pm em pm.org >>> http://mail.pm.org/mailman/listinfo/rio-pm >>> >>> >>> _______________________________________________ >>> Rio-pm mailing list >>> Rio-pm em pm.org >>> http://mail.pm.org/mailman/listinfo/rio-pm >>> >> >> >> >> -- >> Tiago B. Peczenyj >> Linux User #405772 >> >> http://about.me/peczenyj >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- Tiago B. Peczenyj Linux User #405772 http://about.me/peczenyj -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From blabos em gmail.com Fri Jan 10 09:55:33 2014 From: blabos em gmail.com (Blabos de Blebe) Date: Fri, 10 Jan 2014 15:55:33 -0200 Subject: [Rio-pm] Perl e Facebook In-Reply-To: References: Message-ID: Hooooooooly Shit!!!! On Fri, Jan 10, 2014 at 3:33 PM, Tiago Peczenyj wrote: > > http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/ > > "Because Facebook's entire code base is compiled down to a single binary > executable, the company's deployment process is quite different from what > you'd normally expect in a PHP environment. Rossi told me that the binary, > which represents the entire Facebook application, is approximately 1.5GB in > size. When Facebook updates its code and generates a new build, the new > binary has to be pushed to all of the company's servers. > > Moving a 1.5GB binary blob to countless servers is a non-trivial technical > challenge. After exploring several solutions, Facebook came up with the > idea of using BitTorrent, the popular peer-to-peer filesharing protocol. > BitTorrent is very good at propagating large files over a large number of > different servers." > > > 2014/1/10 Blabos de Blebe > >> > e o facebook todo é um binario com mais de 1 GB >> > >> > o deploy é via bit-torrent. >> >> Você, claro, tá tirando um sarro, né!? >> >> >> 2014/1/10 Tiago Peczenyj >> >>> basicamente eles convertem PHP em C++ usando o HipHop >>> >>> e o facebook todo é um binario com mais de 1 GB >>> >>> o deploy é via bit-torrent. >>> >>> >>> 2014/1/10 Aureliano Guedes >>> >>>> Posso ta errado, mas acredito que aquele chat do face usa Perl. >>>> >>>> Mas que trem e esse de hiphop "sei la o que" e esse de PHP com >>>> performance de C++? >>>> >>>> >>>> Renato Santos escreveu: >>>> >>>> Isso é só um mirror, geralmente de "contribuição" por utilizar Perl >>>> em alguns pedaços (e no começo era um Perl script cgi) aí como pra eles um >>>> servidor não é nada, eles fazem o mirror. Assim como globo . com, etc >>>> On Jan 10, 2014 9:26 AM, "Andre Luis" wrote: >>>> >>>> Bom dia lista, >>>> >>>> >>>> Hoje configurando o CPAN na minha maquina notei uma coisa curiosa >>>> >>>> >>>> (32) http://cpan.mirror.facebook.net/ >>>> >>>> >>>> Alguém sabe se o facebook está trabalhando com perl? Eu achava que o >>>> facebook usava PHP >>>> >>>> >>>> Abs >>>> >>>> >>>> _______________________________________________ >>>> Rio-pm mailing list >>>> Rio-pm em pm.org >>>> http://mail.pm.org/mailman/listinfo/rio-pm >>>> >>>> >>>> _______________________________________________ >>>> Rio-pm mailing list >>>> Rio-pm em pm.org >>>> http://mail.pm.org/mailman/listinfo/rio-pm >>>> >>> >>> >>> >>> -- >>> Tiago B. Peczenyj >>> Linux User #405772 >>> >>> http://about.me/peczenyj >>> >>> _______________________________________________ >>> Rio-pm mailing list >>> Rio-pm em pm.org >>> http://mail.pm.org/mailman/listinfo/rio-pm >>> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > > -- > Tiago B. Peczenyj > Linux User #405772 > > http://about.me/peczenyj > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From bruno.buss em gmail.com Fri Jan 10 10:06:33 2014 From: bruno.buss em gmail.com (Bruno Buss) Date: Fri, 10 Jan 2014 16:06:33 -0200 Subject: [Rio-pm] Perl e Facebook In-Reply-To: References: Message-ID: O Pac ta certo, só que hoje eles não utilizam mais o hiphop com conversão para C++ (que era o hiphop compiler) e sim o HHVM[1] que é uma virtual machine pra PHP. Funciona muito bem para a aplicação deles - aparentemente - e eles estão agora tentando deixa-la compatível com a os frameworks mais famosos em PHP para que outras pessoas/empresas possam utiliza-la também. https://github.com/facebook/hhvm http://www.hhvm.com/blog/ https://en.wikipedia.org/wiki/HHVM [ ]'s 2014/1/10 Tiago Peczenyj > basicamente eles convertem PHP em C++ usando o HipHop > > e o facebook todo é um binario com mais de 1 GB > > o deploy é via bit-torrent. > > > 2014/1/10 Aureliano Guedes > >> Posso ta errado, mas acredito que aquele chat do face usa Perl. >> >> Mas que trem e esse de hiphop "sei la o que" e esse de PHP com >> performance de C++? >> >> >> Renato Santos escreveu: >> >> Isso é só um mirror, geralmente de "contribuição" por utilizar Perl em >> alguns pedaços (e no começo era um Perl script cgi) aí como pra eles um >> servidor não é nada, eles fazem o mirror. Assim como globo . com, etc >> On Jan 10, 2014 9:26 AM, "Andre Luis" wrote: >> >> Bom dia lista, >> >> >> Hoje configurando o CPAN na minha maquina notei uma coisa curiosa >> >> >> (32) http://cpan.mirror.facebook.net/ >> >> >> Alguém sabe se o facebook está trabalhando com perl? Eu achava que o >> facebook usava PHP >> >> >> Abs >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > > -- > Tiago B. Peczenyj > Linux User #405772 > > http://about.me/peczenyj > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- Bruno C. Buss http://www.brunobuss.net -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From bruno.buss em gmail.com Fri Jan 10 10:08:41 2014 From: bruno.buss em gmail.com (Bruno Buss) Date: Fri, 10 Jan 2014 16:08:41 -0200 Subject: [Rio-pm] Perl e Facebook In-Reply-To: References: Message-ID: Sim, inclusive tem pelo menos um vídeo do grupo Facebook Engineering[1] onde eles falam sobre os deploys deles e coisa do tipo e a parada é bem mindfuck para quem não está acostumado com a escala desse tipo ;P [1] https://www.facebook.com/Engineering PS: Vale a pena ler/ver a maioria dos textos/vídeos deste grupo ;) On Fri, Jan 10, 2014 at 3:55 PM, Blabos de Blebe wrote: > Hooooooooly Shit!!!! > > > On Fri, Jan 10, 2014 at 3:33 PM, Tiago Peczenyj wrote: > >> >> http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/ >> >> "Because Facebook's entire code base is compiled down to a single binary >> executable, the company's deployment process is quite different from what >> you'd normally expect in a PHP environment. Rossi told me that the binary, >> which represents the entire Facebook application, is approximately 1.5GB in >> size. When Facebook updates its code and generates a new build, the new >> binary has to be pushed to all of the company's servers. >> >> Moving a 1.5GB binary blob to countless servers is a non-trivial >> technical challenge. After exploring several solutions, Facebook came up >> with the idea of using BitTorrent, the popular peer-to-peer filesharing >> protocol. BitTorrent is very good at propagating large files over a large >> number of different servers." >> >> >> 2014/1/10 Blabos de Blebe >> >>> > e o facebook todo é um binario com mais de 1 GB >>> > >>> > o deploy é via bit-torrent. >>> >>> Você, claro, tá tirando um sarro, né!? >>> >>> >>> 2014/1/10 Tiago Peczenyj >>> >>>> basicamente eles convertem PHP em C++ usando o HipHop >>>> >>>> e o facebook todo é um binario com mais de 1 GB >>>> >>>> o deploy é via bit-torrent. >>>> >>>> >>>> 2014/1/10 Aureliano Guedes >>>> >>>>> Posso ta errado, mas acredito que aquele chat do face usa Perl. >>>>> >>>>> Mas que trem e esse de hiphop "sei la o que" e esse de PHP com >>>>> performance de C++? >>>>> >>>>> >>>>> Renato Santos escreveu: >>>>> >>>>> Isso é só um mirror, geralmente de "contribuição" por utilizar Perl >>>>> em alguns pedaços (e no começo era um Perl script cgi) aí como pra eles um >>>>> servidor não é nada, eles fazem o mirror. Assim como globo . com, etc >>>>> On Jan 10, 2014 9:26 AM, "Andre Luis" wrote: >>>>> >>>>> Bom dia lista, >>>>> >>>>> >>>>> Hoje configurando o CPAN na minha maquina notei uma coisa curiosa >>>>> >>>>> >>>>> (32) http://cpan.mirror.facebook.net/ >>>>> >>>>> >>>>> Alguém sabe se o facebook está trabalhando com perl? Eu achava que o >>>>> facebook usava PHP >>>>> >>>>> >>>>> Abs >>>>> >>>>> >>>>> _______________________________________________ >>>>> Rio-pm mailing list >>>>> Rio-pm em pm.org >>>>> http://mail.pm.org/mailman/listinfo/rio-pm >>>>> >>>>> >>>>> _______________________________________________ >>>>> Rio-pm mailing list >>>>> Rio-pm em pm.org >>>>> http://mail.pm.org/mailman/listinfo/rio-pm >>>>> >>>> >>>> >>>> >>>> -- >>>> Tiago B. Peczenyj >>>> Linux User #405772 >>>> >>>> http://about.me/peczenyj >>>> >>>> _______________________________________________ >>>> Rio-pm mailing list >>>> Rio-pm em pm.org >>>> http://mail.pm.org/mailman/listinfo/rio-pm >>>> >>> >>> >>> _______________________________________________ >>> Rio-pm mailing list >>> Rio-pm em pm.org >>> http://mail.pm.org/mailman/listinfo/rio-pm >>> >> >> >> >> -- >> Tiago B. Peczenyj >> Linux User #405772 >> >> http://about.me/peczenyj >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- Bruno C. Buss http://www.brunobuss.net -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From guedes_1000 em hotmail.com Fri Jan 10 11:13:23 2014 From: guedes_1000 em hotmail.com (Aureliano Guedes) Date: Fri, 10 Jan 2014 17:13:23 -0200 Subject: [Rio-pm] Perl e Facebook Message-ID: Vei... to sem palavras. Bruno Buss escreveu: Sim, inclusive tem pelo menos um vídeo do grupo Facebook Engineering[1] onde eles falam sobre os deploys deles e coisa do tipo e a parada é bem mindfuck para quem não está acostumado com a escala desse tipo ;P [1] https://www.facebook.com/Engineering PS: Vale a pena ler/ver a maioria dos textos/vídeos deste grupo ;) On Fri, Jan 10, 2014 at 3:55 PM, Blabos de Blebe wrote: > Hooooooooly Shit!!!! > > > On Fri, Jan 10, 2014 at 3:33 PM, Tiago Peczenyj wrote: > >> >> http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/ >> >> "Because Facebook's entire code base is compiled down to a single binary >> executable, the company's deployment process is quite different from what >> you'd normally expect in a PHP environment. Rossi told me that the binary, >> which represents the entire Facebook application, is approximately 1.5GB in >> size. When Facebook updates its code and generates a new build, the new >> binary has to be pushed to all of the company's servers. >> >> Moving a 1.5GB binary blob to countless servers is a non-trivial >> technical challenge. After exploring several solutions, Facebook came up >> with the idea of using BitTorrent, the popular peer-to-peer filesharing >> protocol. BitTorrent is very good at propagating large files over a large >> number of different servers." >> >> >> 2014/1/10 Blabos de Blebe >> >>> > e o facebook todo é um binario com mais de 1 GB >>> > >>> > o deploy é via bit-torrent. >>> >>> Você, claro, tá tirando um sarro, né!? >>> >>> >>> 2014/1/10 Tiago Peczenyj >>> >>>> basicamente eles convertem PHP em C++ usando o HipHop >>>> >>>> e o facebook todo é um binario com mais de 1 GB >>>> >>>> o deploy é via bit-torrent. >>>> >>>> >>>> 2014/1/10 Aureliano Guedes >>>> >>>>> Posso ta errado, mas acredito que aquele chat do face usa Perl. >>>>> >>>>> Mas que trem e esse de hiphop "sei la o que" e esse de PHP com >>>>> performance de C++? >>>>> >>>>> >>>>> Renato Santos escreveu: >>>>> >>>>> Isso é só um mirror, geralmente de "contribuição" por utilizar Perl >>>>> em alguns pedaços (e no começo era um Perl script cgi) aí como pra eles um >>>>> servidor não é nada, eles fazem o mirror. Assim como globo . com, etc >>>>> On Jan 10, 2014 9:26 AM, "Andre Luis" wrote: >>>>> >>>>> Bom dia lista, >>>>> >>>>> >>>>> Hoje configurando o CPAN na minha maquina notei uma coisa curiosa >>>>> >>>>> >>>>> (32) http://cpan.mirror.facebook.net/ >>>>> >>>>> >>>>> Alguém sabe se o facebook está trabalhando com perl? Eu achava que o >>>>> facebook usava PHP >>>>> >>>>> >>>>> Abs >>>>> >>>>> >>>>> _______________________________________________ >>>>> Rio-pm mailing list >>>>> Rio-pm em pm.org >>>>> http://mail.pm.org/mailman/listinfo/rio-pm >>>>> >>>>> >>>>> _______________________________________________ >>>>> Rio-pm mailing list >>>>> Rio-pm em pm.org >>>>> http://mail.pm.org/mailman/listinfo/rio-pm >>>>> >>>> >>>> >>>> >>>> -- >>>> Tiago B. Peczenyj >>>> Linux User #405772 >>>> >>>> http://about.me/peczenyj >>>> >>>> _______________________________________________ >>>> Rio-pm mailing list >>>> Rio-pm em pm.org >>>> http://mail.pm.org/mailman/listinfo/rio-pm >>>> >>> >>> >>> _______________________________________________ >>> Rio-pm mailing list >>> Rio-pm em pm.org >>> http://mail.pm.org/mailman/listinfo/rio-pm >>> >> >> >> >> -- >> Tiago B. Peczenyj >> Linux User #405772 >> >> http://about.me/peczenyj >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- Bruno C. Buss http://www.brunobuss.net -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: -------------- Próxima Parte ---------- _______________________________________________ Rio-pm mailing list Rio-pm em pm.org http://mail.pm.org/mailman/listinfo/rio-pm From leprevostfv em gmail.com Wed Jan 22 12:37:42 2014 From: leprevostfv em gmail.com (Felipe da Veiga Leprevost) Date: Wed, 22 Jan 2014 18:37:42 -0200 Subject: [Rio-pm] Perl Blogs Hackeado, dados vazaram Message-ID: <1390423062.32368.74100713.3B2A4D29@webmail.messagingengine.com> Olá pessoal, Agora de tarde foi postado no blog Perl Hacks ([1]http://perlhacks.com/2014/01/blogs-perl-org/) a notícia de que ontem o blog oficial da comunidade Perl, blog.perl.org foi hackeado. Aparentemente medidas estão sendo tomadas pelo pessoal que faz a manutenção do servidor, porém a resistência islâmica (!?!) que causou os danos liberou os dados de cerca de 3000 usuários onde vazaram junto as informações de login e senha (as senhas felizmente estão criptografadas com crypt). Acredito que seria pertinente atualizar as senhas de acesso ao blog (ou alterá-las caso as usem em outros lugares) mas no momento o login está bloqueado. Abraços References 1. http://perlhacks.com/2014/01/blogs-perl-org/ -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From bionica2007-perl em yahoo.com Wed Jan 29 10:43:55 2014 From: bionica2007-perl em yahoo.com (Nicole Scherer) Date: Wed, 29 Jan 2014 10:43:55 -0800 (PST) Subject: [Rio-pm] =?iso-8859-1?q?Configura=E7=E3o_de_usu=E1rio_n=E3o_root_?= =?iso-8859-1?q?no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= Message-ID: <1391021035.45590.YahooMailNeo@web120401.mail.ne1.yahoo.com> Boa tarde, queridos Mongers, eu não queria importuná-los com problemas simples, mas após três dias batendo a cabeça e vasculhando fóruns na internet sem solução para algumas das perguntas, recorro a vocês. Vou tentar explicar a novela. Montamos um cluster HPC para pesquisa usando o Rocks 6.1 (http://www.rocksclusters.org/) -- um tipo de linux que instala outro linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as vezes coexistem com os binários do SO. Desta forma, tenho duas versões de Perl: - a do sistema (RHEL6): $ /usr/bin/perl -v This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi - e a do Rocks: $ /opt/perl/bin/perl -v This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-thread-multi Cada qual com as suas bibliotecas.   @INC:     /usr/local/lib64/perl5     /usr/local/share/perl5     /usr/lib64/perl5/vendor_perl     /usr/share/perl5/vendor_perl     /usr/lib64/perl5     /usr/share/perl5     .   @INC:     /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi     /opt/perl/lib/site_perl/5.14.2     /opt/perl/lib/5.14.2/x86_64-linux-thread-multi     /opt/perl/lib/5.14.2     . Agora é que começam meus problemas... Primeiro: Alguém já teve experiência com duas instalações coexistentes de Perl? Posso ter problemas de funcionamento no SO se eu mover  o /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl  (uma vez que as shebang dos scripts costuma ter este endereço). Colocar simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. O CPAN só está instalado na versão do Rocks, o que me motiva mais a deixá-lo como default. Como a maioria dos usuários não terão privilégios de root e além disso, qualquer instalação no sistema operacional tem que ser espelhada para todos os nós, a melhor opção para instalar pacotes é na home dos usuários, concordam? Então eu quero deixar tudo o mais fácil possível para que os usuários instalem os pacotes desejados. Como não teremos acesso direto à internet usei o minicpan para criar um mirror em uma pasta compartilhada com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo ok. Agora esbarrei em um problema que não estou achando resposta fácil. Quando executo o cpan pela primeira vez como usuário comum, da forma mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e toda a estrutura de diretórios no home do usuário. Ele executa quase tudo com perfeição, substituindo o endereço default pelo do usuário em QUASE todos os itens, menos em prefs_dir. [hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm   'build_dir' => q[/home/hpcst06/.cpan/build],   'cpan_home' => q[/home/hpcst06/.cpan],   'histfile' => q[/home/hpcst06/.cpan/histfile],   'keep_source_where' => q[/home/hpcst06/.cpan/sources],   'prefs_dir' => q[/export/cpan/cpan/prefs], (O default cpan_home é /export/cpan/cpan ) [hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm   'build_dir' => q[/export/cpan/cpan/build],   'cpan_home' => q[/export/cpan/cpan],   'histfile' => q[/export/cpan/cpan/histfile],   'keep_source_where' => q[/export/cpan/cpan/sources],   'prefs_dir' => q[/export/cpan/cpan/prefs], Claro que o usuário pode executar >o conf prefs_dir /home/hpcst06/.cpan/prefs para alterar esta variável, mas concordam que deveria ter sido automático. Alguém já passou por isto? Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me chamasse a atenção. Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. - Tendo corrigido manualmente o prefs_dir, segui tentando instalar localmente algum pacote. Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei entender o que os tutoriais na internet e fiquei perdida. Devo usar direto o cpan? (já que na configuração ele me pergunta se eu quero que use local::lib) What approach do you want?  (Choose 'local::lib', 'sudo' or 'manual')  [local::lib] Ou devo usar sempre $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' ? (tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, mas funciona) - Rodando [hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' - deu tudo certo. [...] Result: PASS   ABIGAIL/Acme-Time-Baby-2010090301.tar.gz   /usr/bin/make test -- OK Running make install Prepending /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to PERL5LIB for 'install' Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 Appending installation info to /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod   ABIGAIL/Acme-Time-Baby-2010090301.tar.gz   /usr/bin/make install  -- OK - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. Test Summary Report ------------------- t/05-obj.t                (Wstat: 512 Tests: 0 Failed: 0)   Non-zero exit status: 2   Parse errors: No plan found in TAP output t/06-obj2.t               (Wstat: 512 Tests: 0 Failed: 0)   Non-zero exit status: 2   Parse errors: No plan found in TAP output t/07-sort.t               (Wstat: 512 Tests: 1 Failed: 0)   Non-zero exit status: 2   Parse errors: No plan found in TAP output t/25-weak.t               (Wstat: 512 Tests: 8 Failed: 0)   Non-zero exit status: 2   Parse errors: No plan found in TAP output Files=54, Tests=258,  4 wallclock secs ( 0.19 usr  0.09 sys +  2.82 cusr  0.40 csys =  3.50 CPU) Result: FAIL Failed 4/54 test programs. 0/258 subtests failed. make: *** [test_dynamic] Error 255   GARU/Data-Printer-0.35.tar.gz   /usr/bin/make test -- NOT OK //hint// to see the cpan-testers results for installing this module, try:   reports GARU/Data-Printer-0.35.tar.gz Running make install   make test had returned bad status, won't install without force Desculpem a postagem tão longa. Acabei até solucionando algumas outras dúvidas enquanto tentava descrevê-las aqui. Abraços a todos, Nicole Scherer -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From creaktive em gmail.com Thu Jan 30 01:14:05 2014 From: creaktive em gmail.com (Stanislaw Pusep) Date: Thu, 30 Jan 2014 10:14:05 +0100 Subject: [Rio-pm] =?utf-8?b?Q29uZmlndXJhw6fDo28gZGUgdXN1w6FyaW8gbsOjbyBy?= =?utf-8?q?oot_no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= In-Reply-To: <1391021035.45590.YahooMailNeo@web120401.mail.ne1.yahoo.com> References: <1391021035.45590.YahooMailNeo@web120401.mail.ne1.yahoo.com> Message-ID: Olá Nicole! Já passei por situação semelhante à sua, quando não podia atualizar o Perl default do sistema e a opção foi instalar um Perl mais atualizado avulso no /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: 1. export PATH=/usr/local/bin:$PATH 2. Os shebangs de todos os scripts executáveis do projeto foram modificados de: #!/usr/bin/perl para: #!/usr/bin/env perl 3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib requer uma intervenção do .profile do sistema, para inicializar o environment apropriadamente. Seguem os passos para instalar o local::lib dessa forma. 3.1. Download do local::lib: $ wget http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz $ tar xzvf local-lib-2.000004.tar.gz $ cd local-lib-2.000004/ 3.2. Instalação do local::lib: $ perl Makefile.PL --bootstrap=$HOME/perl5 $ make $ make test $ make install 3.3. Ativando local::lib na inicialização da shell (Bash): $ cat << PROFILE >> $HOME/.profile eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) PROFILE $ A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl buscar instalação dos módulos em um lugar específico ($HOME). Pode simplesmente colar essas variáveis direto no .profile, ou (como demonstrado acima) rodar eval do output do Perl. 3.4. Carregar a configuração: . $HOME/.profile 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa configuração faz as dependências serem instaladas automaticamente): $ cpan cpan[1]> o conf prerequisites_policy follow cpan[2]> o conf commit cpan[3]> install App::cpanminus cpan[4]> quit Boa sorte! 2014-01-29 Nicole Scherer > Boa tarde, queridos Mongers, > > eu não queria importuná-los com problemas simples, mas após três dias > batendo a cabeça e vasculhando fóruns na internet sem solução para algumas > das perguntas, recorro a vocês. Vou tentar explicar a novela. > > Montamos um cluster HPC para pesquisa usando o Rocks 6.1 ( > http://www.rocksclusters.org/) -- um tipo de linux que instala outro > linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, > mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO > (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, > Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as > vezes coexistem com os binários do SO. Desta forma, tenho duas versões de > Perl: > > - a do sistema (RHEL6): > $ /usr/bin/perl -v > This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi > > - e a do Rocks: > $ /opt/perl/bin/perl -v > This is perl 5, version 14, subversion 2 (v5.14.2) built for > x86_64-linux-thread-multi > > Cada qual com as suas bibliotecas. > > @INC: > /usr/local/lib64/perl5 > /usr/local/share/perl5 > /usr/lib64/perl5/vendor_perl > /usr/share/perl5/vendor_perl > /usr/lib64/perl5 > /usr/share/perl5 > . > @INC: > /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/site_perl/5.14.2 > /opt/perl/lib/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/5.14.2 > . > > > Agora é que começam meus problemas... > > Primeiro: Alguém já teve experiência com duas instalações coexistentes de > Perl? Posso ter problemas de funcionamento no SO se eu mover o > /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl > (uma vez que as shebang dos scripts costuma ter este endereço). Colocar > simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. > > > O CPAN só está instalado na versão do Rocks, o que me motiva mais a > deixá-lo como default. > Como a maioria dos usuários não terão privilégios de root e além disso, > qualquer instalação no sistema operacional tem que ser espelhada para todos > os nós, a melhor opção para instalar pacotes é na home dos usuários, > concordam? Então eu quero deixar tudo o mais fácil possível para que os > usuários instalem os pacotes desejados. Como não teremos acesso direto à > internet usei o minicpan para criar um mirror em uma pasta compartilhada > com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo > ok. > Agora esbarrei em um problema que não estou achando resposta fácil. > > Quando executo o cpan pela primeira vez como usuário comum, da forma mais > automática possível, ele cria, como esperado o arquivo MyConfig.pm e toda a > estrutura de diretórios no home do usuário. Ele executa quase tudo com > perfeição, substituindo o endereço default pelo do usuário em QUASE todos > os itens, menos em prefs_dir. > > [hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm > 'build_dir' => q[/home/hpcst06/.cpan/build], > 'cpan_home' => q[/home/hpcst06/.cpan], > 'histfile' => q[/home/hpcst06/.cpan/histfile], > 'keep_source_where' => q[/home/hpcst06/.cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > (O default cpan_home é /export/cpan/cpan ) > [hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm > 'build_dir' => q[/export/cpan/cpan/build], > 'cpan_home' => q[/export/cpan/cpan], > 'histfile' => q[/export/cpan/cpan/histfile], > 'keep_source_where' => q[/export/cpan/cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > Claro que o usuário pode executar > >o conf prefs_dir /home/hpcst06/.cpan/prefs > para alterar esta variável, mas concordam que deveria ter sido automático. > Alguém já passou por isto? > > Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me > chamasse a atenção. > Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. > > > - Tendo corrigido manualmente o prefs_dir, segui tentando instalar > localmente algum pacote. > Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei > entender o que os tutoriais na internet e fiquei perdida. Devo usar direto > o cpan? (já que na configuração ele me pergunta se eu quero que use > local::lib) > What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') > [local::lib] > Ou devo usar sempre > $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' > ? > (tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, > mas funciona) > > > - Rodando > [hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e > 'CPAN::install(Acme::Time::Baby)' > > - deu tudo certo. > [...] > Result: PASS > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make test -- OK > Running make install > Prepending > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to > PERL5LIB for 'install' > Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm > Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 > Appending installation info to > /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make install -- OK > > > - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma estratégia > e não consegui. Pode ser que não tenha a ver com a estratégia. > > Test Summary Report > ------------------- > t/05-obj.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/06-obj2.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/07-sort.t (Wstat: 512 Tests: 1 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/25-weak.t (Wstat: 512 Tests: 8 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > Files=54, Tests=258, 4 wallclock secs ( 0.19 usr 0.09 sys + 2.82 cusr > 0.40 csys = 3.50 CPU) > Result: FAIL > Failed 4/54 test programs. 0/258 subtests failed. > make: *** [test_dynamic] Error 255 > GARU/Data-Printer-0.35.tar.gz > /usr/bin/make test -- NOT OK > //hint// to see the cpan-testers results for installing this module, try: > reports GARU/Data-Printer-0.35.tar.gz > Running make install > make test had returned bad status, won't install without force > > > > Desculpem a postagem tão longa. Acabei até solucionando algumas outras > dúvidas enquanto tentava descrevê-las aqui. > > Abraços a todos, > Nicole Scherer > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From guedes_1000 em hotmail.com Thu Jan 30 02:36:49 2014 From: guedes_1000 em hotmail.com (Aureliano Guedes) Date: Thu, 30 Jan 2014 08:36:49 -0200 Subject: [Rio-pm] =?iso-8859-1?q?Configura=E7=E3o_de_usu=E1rio_n=E3o_root_?= =?iso-8859-1?q?no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= Message-ID: Caraca. Complexo. O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. Hello colega bioinformata. Stanislaw Pusep escreveu: Olá Nicole! Já passei por situação semelhante à sua, quando não podia atualizar o Perl default do sistema e a opção foi instalar um Perl mais atualizado avulso no /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: 1. export PATH=/usr/local/bin:$PATH 2. Os shebangs de todos os scripts executáveis do projeto foram modificados de: #!/usr/bin/perl para: #!/usr/bin/env perl 3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib requer uma intervenção do .profile do sistema, para inicializar o environment apropriadamente. Seguem os passos para instalar o local::lib dessa forma. 3.1. Download do local::lib: $ wget http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz $ tar xzvf local-lib-2.000004.tar.gz $ cd local-lib-2.000004/ 3.2. Instalação do local::lib: $ perl Makefile.PL --bootstrap=$HOME/perl5 $ make $ make test $ make install 3.3. Ativando local::lib na inicialização da shell (Bash): $ cat << PROFILE >> $HOME/.profile eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) PROFILE $ A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl buscar instalação dos módulos em um lugar específico ($HOME). Pode simplesmente colar essas variáveis direto no .profile, ou (como demonstrado acima) rodar eval do output do Perl. 3.4. Carregar a configuração: . $HOME/.profile 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa configuração faz as dependências serem instaladas automaticamente): $ cpan cpan[1]> o conf prerequisites_policy follow cpan[2]> o conf commit cpan[3]> install App::cpanminus cpan[4]> quit Boa sorte! 2014-01-29 Nicole Scherer > Boa tarde, queridos Mongers, > > eu não queria importuná-los com problemas simples, mas após três dias > batendo a cabeça e vasculhando fóruns na internet sem solução para algumas > das perguntas, recorro a vocês. Vou tentar explicar a novela. > > Montamos um cluster HPC para pesquisa usando o Rocks 6.1 ( > http://www.rocksclusters.org/) -- um tipo de linux que instala outro > linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, > mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO > (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, > Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as > vezes coexistem com os binários do SO. Desta forma, tenho duas versões de > Perl: > > - a do sistema (RHEL6): > $ /usr/bin/perl -v > This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi > > - e a do Rocks: > $ /opt/perl/bin/perl -v > This is perl 5, version 14, subversion 2 (v5.14.2) built for > x86_64-linux-thread-multi > > Cada qual com as suas bibliotecas. > > @INC: > /usr/local/lib64/perl5 > /usr/local/share/perl5 > /usr/lib64/perl5/vendor_perl > /usr/share/perl5/vendor_perl > /usr/lib64/perl5 > /usr/share/perl5 > . > @INC: > /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/site_perl/5.14.2 > /opt/perl/lib/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/5.14.2 > . > > > Agora é que começam meus problemas... > > Primeiro: Alguém já teve experiência com duas instalações coexistentes de > Perl? Posso ter problemas de funcionamento no SO se eu mover o > /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl > (uma vez que as shebang dos scripts costuma ter este endereço). Colocar > simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. > > > O CPAN só está instalado na versão do Rocks, o que me motiva mais a > deixá-lo como default. > Como a maioria dos usuários não terão privilégios de root e além disso, > qualquer instalação no sistema operacional tem que ser espelhada para todos > os nós, a melhor opção para instalar pacotes é na home dos usuários, > concordam? Então eu quero deixar tudo o mais fácil possível para que os > usuários instalem os pacotes desejados. Como não teremos acesso direto à > internet usei o minicpan para criar um mirror em uma pasta compartilhada > com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo > ok. > Agora esbarrei em um problema que não estou achando resposta fácil. > > Quando executo o cpan pela primeira vez como usuário comum, da forma mais > automática possível, ele cria, como esperado o arquivo MyConfig.pm e toda a > estrutura de diretórios no home do usuário. Ele executa quase tudo com > perfeição, substituindo o endereço default pelo do usuário em QUASE todos > os itens, menos em prefs_dir. > > [hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm > 'build_dir' => q[/home/hpcst06/.cpan/build], > 'cpan_home' => q[/home/hpcst06/.cpan], > 'histfile' => q[/home/hpcst06/.cpan/histfile], > 'keep_source_where' => q[/home/hpcst06/.cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > (O default cpan_home é /export/cpan/cpan ) > [hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm > 'build_dir' => q[/export/cpan/cpan/build], > 'cpan_home' => q[/export/cpan/cpan], > 'histfile' => q[/export/cpan/cpan/histfile], > 'keep_source_where' => q[/export/cpan/cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > Claro que o usuário pode executar > >o conf prefs_dir /home/hpcst06/.cpan/prefs > para alterar esta variável, mas concordam que deveria ter sido automático. > Alguém já passou por isto? > > Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me > chamasse a atenção. > Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. > > > - Tendo corrigido manualmente o prefs_dir, segui tentando instalar > localmente algum pacote. > Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei > entender o que os tutoriais na internet e fiquei perdida. Devo usar direto > o cpan? (já que na configuração ele me pergunta se eu quero que use > local::lib) > What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') > [local::lib] > Ou devo usar sempre > $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' > ? > (tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, > mas funciona) > > > - Rodando > [hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e > 'CPAN::install(Acme::Time::Baby)' > > - deu tudo certo. > [...] > Result: PASS > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make test -- OK > Running make install > Prepending > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to > PERL5LIB for 'install' > Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm > Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 > Appending installation info to > /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make install -- OK > > > - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma estratégia > e não consegui. Pode ser que não tenha a ver com a estratégia. > > Test Summary Report > ------------------- > t/05-obj.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/06-obj2.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/07-sort.t (Wstat: 512 Tests: 1 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/25-weak.t (Wstat: 512 Tests: 8 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > Files=54, Tests=258, 4 wallclock secs ( 0.19 usr 0.09 sys + 2.82 cusr > 0.40 csys = 3.50 CPU) > Result: FAIL > Failed 4/54 test programs. 0/258 subtests failed. > make: *** [test_dynamic] Error 255 > GARU/Data-Printer-0.35.tar.gz > /usr/bin/make test -- NOT OK > //hint// to see the cpan-testers results for installing this module, try: > reports GARU/Data-Printer-0.35.tar.gz > Running make install > make test had returned bad status, won't install without force > > > > Desculpem a postagem tão longa. Acabei até solucionando algumas outras > dúvidas enquanto tentava descrevê-las aqui. > > Abraços a todos, > Nicole Scherer > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: -------------- Próxima Parte ---------- _______________________________________________ Rio-pm mailing list Rio-pm em pm.org http://mail.pm.org/mailman/listinfo/rio-pm From bionica2007-perl em yahoo.com Thu Jan 30 04:36:37 2014 From: bionica2007-perl em yahoo.com (Nicole Scherer) Date: Thu, 30 Jan 2014 04:36:37 -0800 (PST) Subject: [Rio-pm] =?iso-8859-1?q?Configura=E7=E3o_de_usu=E1rio_n=E3o_root_?= =?iso-8859-1?q?no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= In-Reply-To: References: Message-ID: <1391085397.80468.YahooMailNeo@web120401.mail.ne1.yahoo.com> Obrigada Stanislaw e Aureliano! Aureliano, a bioinformática está tomada por mulheres :-) Já foste no X-Meeting? Stanislaw, como gestora do cluster, meu objetivo é deixar para o usuário o sistema pronto para que ele possa instalar seus módulos localmente sem ter que fazer acrobacias. Eu já instalei o local::lib no sistema como root, então não seria necessário que o usuário instalasse novamente, correto? Ou ele precisaria fazer sua própria instalação? Quando o usuário faz sua primeira incursão no cpan e realiza a configuração, aparece a seguinte mensagem: --------------------------------------------------------------------------------------------------------------- local::lib is installed. You must now add the following environment variables to your shell configuration files (or registry, if you are on Windows) and then restart your command line shell and CPAN before installing modules: Would you like me to append that to /home/hpcst06/.bashrc now? [yes] --------------------------------------------------------------------------------------------------------------- Porém, como podes ver, o "following environment variables" está vazio e nenhuma modificação é feita no .bashrc Esta etapa é que deveria definir as tais variáveis de ambiente. Não entendo por que não está funcionando. Desta forma, a única solução seria mesmo acrescentar estas linhas ao .profile a força. Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso seja demais, não? Qual o objetivo de instalar o App::cpanminus? A partir daí o usuário deve usar cpanm ao invés de cpan? Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só instalei no frontend), pode dar problema na hora de executar os programas em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na configuração do ambiente local, não é usado na execução dos módulos, certo? O home do usuário é montado em cada nó durante a execução, então o perl vai executar com as variáveis de ambiente já definidas pelo usuário, então não vai precisar executar o local::lib, certo? Obrigada pela ajuda! Abraços, Nicole Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes escreveu: Caraca. Complexo. O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. Hello colega bioinformata. Stanislaw Pusep escreveu: Olá Nicole! Já passei por situação semelhante à sua, quando não podia atualizar o Perl default do sistema e a opção foi instalar um Perl mais atualizado avulso no /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: 1. export PATH=/usr/local/bin:$PATH 2. Os shebangs de todos os scripts executáveis do projeto foram modificados de: #!/usr/bin/perl para: #!/usr/bin/env perl 3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib requer uma intervenção do .profile do sistema, para inicializar o environment apropriadamente. Seguem os passos para instalar o local::lib dessa forma. 3.1. Download do local::lib: $ wget http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz $ tar xzvf local-lib-2.000004.tar.gz $ cd local-lib-2.000004/ 3.2. Instalação do local::lib: $ perl Makefile.PL --bootstrap=$HOME/perl5 $ make $ make test $ make install 3.3. Ativando local::lib na inicialização da shell (Bash): $ cat << PROFILE >> $HOME/.profile eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) PROFILE $ A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl buscar instalação dos módulos em um lugar específico ($HOME). Pode simplesmente colar essas variáveis direto no .profile, ou (como demonstrado acima) rodar eval do output do Perl. 3.4. Carregar a configuração: . $HOME/.profile 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa configuração faz as dependências serem instaladas automaticamente): $ cpan cpan[1]> o conf prerequisites_policy follow cpan[2]> o conf commit cpan[3]> install App::cpanminus cpan[4]> quit Boa sorte! 2014-01-29 Nicole Scherer Boa tarde, queridos Mongers, > > >eu não queria importuná-los com problemas simples, mas após três dias batendo a cabeça e vasculhando fóruns na internet sem solução para algumas das perguntas, recorro a vocês. Vou tentar explicar a novela. > > >Montamos um cluster HPC para pesquisa usando o Rocks 6.1 (http://www.rocksclusters.org/) -- um tipo de linux que instala outro linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as vezes coexistem com os binários do SO. Desta forma, tenho duas versões de Perl: > > >- a do sistema (RHEL6): > >$ /usr/bin/perl -v >This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi > > > >- e a do Rocks: >$ /opt/perl/bin/perl -v >This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-thread-multi > > >Cada qual com as suas bibliotecas. > >  @INC: >    /usr/local/lib64/perl5 >    /usr/local/share/perl5 >    /usr/lib64/perl5/vendor_perl >    /usr/share/perl5/vendor_perl >    /usr/lib64/perl5 >    /usr/share/perl5 >    . >  @INC: >    /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi >    /opt/perl/lib/site_perl/5.14.2 >    /opt/perl/lib/5.14.2/x86_64-linux-thread-multi >    /opt/perl/lib/5.14.2 >    . > > > > > >Agora é que começam meus problemas... > > >Primeiro: Alguém já teve experiência com duas instalações coexistentes de Perl? Posso ter problemas de funcionamento no SO se eu mover  o /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl  (uma vez que as shebang dos scripts costuma ter este endereço). Colocar simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. > > > > >O CPAN só está instalado na versão do Rocks, o que me motiva mais a deixá-lo como default. >Como a maioria dos usuários não terão privilégios de root e além disso, qualquer instalação no sistema operacional tem que ser espelhada para todos os nós, a melhor opção para instalar pacotes é na home dos usuários, concordam? Então eu quero deixar tudo o mais fácil possível para que os usuários instalem os pacotes desejados. Como não teremos acesso direto à internet usei o minicpan para criar um mirror em uma pasta compartilhada com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo ok. > >Agora esbarrei em um problema que não estou achando resposta fácil. > > >Quando executo o cpan pela primeira vez como usuário comum, da forma mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e toda a estrutura de diretórios no home do usuário. Ele executa quase tudo com perfeição, substituindo o endereço default pelo do usuário em QUASE todos os itens, menos em prefs_dir. > > > >[hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm >  'build_dir' => q[/home/hpcst06/.cpan/build], >  'cpan_home' => q[/home/hpcst06/.cpan], >  'histfile' => q[/home/hpcst06/.cpan/histfile], >  'keep_source_where' => q[/home/hpcst06/.cpan/sources], >  'prefs_dir' => q[/export/cpan/cpan/prefs], > > >(O default cpan_home é /export/cpan/cpan ) >[hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm >  'build_dir' => q[/export/cpan/cpan/build], >  'cpan_home' => q[/export/cpan/cpan], >  'histfile' => q[/export/cpan/cpan/histfile], >  'keep_source_where' => q[/export/cpan/cpan/sources], >  'prefs_dir' => q[/export/cpan/cpan/prefs], > > > >Claro que o usuário pode executar >>o conf prefs_dir /home/hpcst06/.cpan/prefs >para alterar esta variável, mas concordam que deveria ter sido automático. >Alguém já passou por isto? > > >Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me chamasse a atenção. > Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. > > >- Tendo corrigido manualmente o prefs_dir, segui tentando instalar localmente algum pacote. >Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei entender o que os tutoriais na internet e fiquei perdida. Devo usar direto o cpan? (já que na configuração ele me pergunta se eu quero que use local::lib) >What approach do you want?  (Choose 'local::lib', 'sudo' or 'manual') > [local::lib] >Ou devo usar sempre >$ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' >? >(tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, mas funciona) > > > > > >- Rodando >[hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' > >- deu tudo certo. >[...] >Result: PASS >  ABIGAIL/Acme-Time-Baby-2010090301.tar.gz >  /usr/bin/make test -- OK >Running make install >Prepending /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to PERL5LIB for 'install' >Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm >Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 >Appending installation info to /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod >  ABIGAIL/Acme-Time-Baby-2010090301.tar.gz >  /usr/bin/make install  -- OK > > > > > >- Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. > > >Test Summary Report >------------------- >t/05-obj.t                (Wstat: 512 Tests: 0 Failed: 0) >  Non-zero exit status: 2 >  Parse errors: No plan found in TAP output >t/06-obj2.t               (Wstat: 512 Tests: 0 Failed: 0) >  Non-zero exit status: 2 >  Parse errors: No plan found in TAP output >t/07-sort.t               (Wstat: 512 Tests: 1 Failed: 0) >  Non-zero exit status: 2 >  Parse errors: No plan found in TAP output >t/25-weak.t               (Wstat: 512 Tests: 8 Failed: 0) >  Non-zero exit status: 2 >  Parse errors: No plan found in TAP output >Files=54, Tests=258,  4 wallclock secs ( 0.19 usr  0.09 sys +  2.82 cusr  0.40 csys =  3.50 CPU) >Result: FAIL >Failed 4/54 test programs. 0/258 subtests failed. >make: *** [test_dynamic] Error 255 >  GARU/Data-Printer-0.35.tar.gz >  /usr/bin/make test -- NOT OK >//hint// to see the cpan-testers results for installing this module, try: >  reports GARU/Data-Printer-0.35.tar.gz >Running make install >  make test had returned bad status, won't install without force > > > > >Desculpem a postagem tão longa. Acabei até solucionando algumas outras dúvidas enquanto tentava descrevê-las aqui. > >Abraços a todos, >Nicole Scherer > > > > > >_______________________________________________ >Rio-pm mailing list >Rio-pm em pm.org >http://mail.pm.org/mailman/listinfo/rio-pm > _______________________________________________ Rio-pm mailing list Rio-pm em pm.org http://mail.pm.org/mailman/listinfo/rio-pm _______________________________________________ Rio-pm mailing list Rio-pm em pm.org http://mail.pm.org/mailman/listinfo/rio-pm -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From creaktive em gmail.com Thu Jan 30 05:06:27 2014 From: creaktive em gmail.com (Stanislaw Pusep) Date: Thu, 30 Jan 2014 14:06:27 +0100 Subject: [Rio-pm] =?utf-8?b?Q29uZmlndXJhw6fDo28gZGUgdXN1w6FyaW8gbsOjbyBy?= =?utf-8?q?oot_no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= In-Reply-To: <1391085397.80468.YahooMailNeo@web120401.mail.ne1.yahoo.com> References: <1391085397.80468.YahooMailNeo@web120401.mail.ne1.yahoo.com> Message-ID: Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o Perl do seu /opt/perl já tiver local::lib instalado como root, não precisa dessa etapa. O que acontece se você rodar "perl -Mlocal::lib"? Aqui, por exemplo, aparece: PATH="/Users/stas/perl5/bin${PATH+:}$PATH"; export PATH; PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB"; export PERL5LIB; PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT"; export PERL_LOCAL_LIB_ROOT; PERL_MB_OPT="--install_base \"/Users/stas/perl5\""; export PERL_MB_OPT; PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5"; export PERL_MM_OPT; Se você colar o output produzido no seu sistema para o .bashrc/.profile, o Perl "se sentirá em casa" no $HOME :) O cpanminus é opcional; única coisa absolutamente necessária é que "perl -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib" diz. 2014-01-30 Nicole Scherer > Obrigada Stanislaw e Aureliano! > > Aureliano, a bioinformática está tomada por mulheres :-) Já foste no > X-Meeting? > > Stanislaw, > > como gestora do cluster, meu objetivo é deixar para o usuário o sistema > pronto para que ele possa instalar seus módulos localmente sem ter que > fazer acrobacias. Eu já instalei o local::lib no sistema como root, então > não seria necessário que o usuário instalasse novamente, correto? Ou ele > precisaria fazer sua própria instalação? > > Quando o usuário faz sua primeira incursão no cpan e realiza a > configuração, aparece a seguinte mensagem: > > > --------------------------------------------------------------------------------------------------------------- > local::lib is installed. You must now add the following environment > variables > to your shell configuration files (or registry, if you are on Windows) and > then restart your command line shell and CPAN before installing modules: > > > Would you like me to append that to /home/hpcst06/.bashrc now? [yes] > > > --------------------------------------------------------------------------------------------------------------- > > Porém, como podes ver, o "following environment variables" está vazio e > nenhuma modificação é feita no .bashrc > > Esta etapa é que deveria definir as tais variáveis de ambiente. Não > entendo por que não está funcionando. > Desta forma, a única solução seria mesmo acrescentar estas linhas ao > .profile a força. > > Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan > e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso > seja demais, não? > > Qual o objetivo de instalar o App::cpanminus? > A partir daí o usuário deve usar cpanm ao invés de cpan? > > Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só > instalei no frontend), pode dar problema na hora de executar os programas > em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na > configuração do ambiente local, não é usado na execução dos módulos, certo? > O home do usuário é montado em cada nó durante a execução, então o perl vai > executar com as variáveis de ambiente já definidas pelo usuário, então não > vai precisar executar o local::lib, certo? > > > Obrigada pela ajuda! > > > Abraços, > Nicole > > > Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes < > guedes_1000 em hotmail.com> escreveu: > Caraca. Complexo. > O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. > Hello colega bioinformata. > > Stanislaw Pusep escreveu: > > Olá Nicole! > Já passei por situação semelhante à sua, quando não podia atualizar o Perl > default do sistema e a opção foi instalar um Perl mais atualizado avulso no > /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: > > 1. export PATH=/usr/local/bin:$PATH > > 2. Os shebangs de todos os scripts executáveis do projeto foram > modificados de: > > #!/usr/bin/perl > > para: > > #!/usr/bin/env perl > > 3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib > requer uma intervenção do .profile do sistema, para inicializar o > environment apropriadamente. Seguem os passos para instalar o local::lib > dessa forma. > > 3.1. Download do local::lib: > > $ wget > http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz > $ tar xzvf local-lib-2.000004.tar.gz > $ cd local-lib-2.000004/ > > 3.2. Instalação do local::lib: > > $ perl Makefile.PL --bootstrap=$HOME/perl5 > $ make > $ make test > $ make install > > 3.3. Ativando local::lib na inicialização da shell (Bash): > > $ cat << PROFILE >> $HOME/.profile > eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) > PROFILE > $ > > A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" > retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl > buscar instalação dos módulos em um lugar específico ($HOME). Pode > simplesmente colar essas variáveis direto no .profile, ou (como demonstrado > acima) rodar eval do output do Perl. > > 3.4. Carregar a configuração: > > . $HOME/.profile > > 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa > configuração faz as dependências serem instaladas automaticamente): > > $ cpan > > cpan[1]> o conf prerequisites_policy follow > cpan[2]> o conf commit > cpan[3]> install App::cpanminus > cpan[4]> quit > > Boa sorte! > > > 2014-01-29 Nicole Scherer > > Boa tarde, queridos Mongers, > > eu não queria importuná-los com problemas simples, mas após três dias > batendo a cabeça e vasculhando fóruns na internet sem solução para algumas > das perguntas, recorro a vocês. Vou tentar explicar a novela. > > Montamos um cluster HPC para pesquisa usando o Rocks 6.1 ( > http://www.rocksclusters.org/) -- um tipo de linux que instala outro > linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, > mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO > (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, > Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as > vezes coexistem com os binários do SO. Desta forma, tenho duas versões de > Perl: > > - a do sistema (RHEL6): > $ /usr/bin/perl -v > This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi > > - e a do Rocks: > $ /opt/perl/bin/perl -v > This is perl 5, version 14, subversion 2 (v5.14.2) built for > x86_64-linux-thread-multi > > Cada qual com as suas bibliotecas. > > @INC: > /usr/local/lib64/perl5 > /usr/local/share/perl5 > /usr/lib64/perl5/vendor_perl > /usr/share/perl5/vendor_perl > /usr/lib64/perl5 > /usr/share/perl5 > . > @INC: > /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/site_perl/5.14.2 > /opt/perl/lib/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/5.14.2 > . > > > Agora é que começam meus problemas... > > Primeiro: Alguém já teve experiência com duas instalações coexistentes > de Perl? Posso ter problemas de funcionamento no SO se eu mover o > /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl > (uma vez que as shebang dos scripts costuma ter este endereço). Colocar > simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. > > > O CPAN só está instalado na versão do Rocks, o que me motiva mais a > deixá-lo como default. > Como a maioria dos usuários não terão privilégios de root e além disso, > qualquer instalação no sistema operacional tem que ser espelhada para todos > os nós, a melhor opção para instalar pacotes é na home dos usuários, > concordam? Então eu quero deixar tudo o mais fácil possível para que os > usuários instalem os pacotes desejados. Como não teremos acesso direto à > internet usei o minicpan para criar um mirror em uma pasta compartilhada > com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo > ok. > Agora esbarrei em um problema que não estou achando resposta fácil. > > Quando executo o cpan pela primeira vez como usuário comum, da forma > mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e > toda a estrutura de diretórios no home do usuário. Ele executa quase tudo > com perfeição, substituindo o endereço default pelo do usuário em QUASE > todos os itens, menos em prefs_dir. > > [hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm > 'build_dir' => q[/home/hpcst06/.cpan/build], > 'cpan_home' => q[/home/hpcst06/.cpan], > 'histfile' => q[/home/hpcst06/.cpan/histfile], > 'keep_source_where' => q[/home/hpcst06/.cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > (O default cpan_home é /export/cpan/cpan ) > [hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm > 'build_dir' => q[/export/cpan/cpan/build], > 'cpan_home' => q[/export/cpan/cpan], > 'histfile' => q[/export/cpan/cpan/histfile], > 'keep_source_where' => q[/export/cpan/cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > Claro que o usuário pode executar > >o conf prefs_dir /home/hpcst06/.cpan/prefs > para alterar esta variável, mas concordam que deveria ter sido automático. > Alguém já passou por isto? > > Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me > chamasse a atenção. > Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. > > > - Tendo corrigido manualmente o prefs_dir, segui tentando instalar > localmente algum pacote. > Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei > entender o que os tutoriais na internet e fiquei perdida. Devo usar direto > o cpan? (já que na configuração ele me pergunta se eu quero que use > local::lib) > What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') > [local::lib] > Ou devo usar sempre > $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' > ? > (tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, > mas funciona) > > > - Rodando > [hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e > 'CPAN::install(Acme::Time::Baby)' > > - deu tudo certo. > [...] > Result: PASS > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make test -- OK > Running make install > Prepending > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to > PERL5LIB for 'install' > Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm > Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 > Appending installation info to > /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make install -- OK > > > - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma > estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. > > Test Summary Report > ------------------- > t/05-obj.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/06-obj2.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/07-sort.t (Wstat: 512 Tests: 1 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/25-weak.t (Wstat: 512 Tests: 8 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > Files=54, Tests=258, 4 wallclock secs ( 0.19 usr 0.09 sys + 2.82 cusr > 0.40 csys = 3.50 CPU) > Result: FAIL > Failed 4/54 test programs. 0/258 subtests failed. > make: *** [test_dynamic] Error 255 > GARU/Data-Printer-0.35.tar.gz > /usr/bin/make test -- NOT OK > //hint// to see the cpan-testers results for installing this module, try: > reports GARU/Data-Printer-0.35.tar.gz > Running make install > make test had returned bad status, won't install without force > > > > Desculpem a postagem tão longa. Acabei até solucionando algumas outras > dúvidas enquanto tentava descrevê-las aqui. > > Abraços a todos, > Nicole Scherer > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From bionica2007-perl em yahoo.com Thu Jan 30 05:24:49 2014 From: bionica2007-perl em yahoo.com (Nicole Scherer) Date: Thu, 30 Jan 2014 05:24:49 -0800 (PST) Subject: [Rio-pm] =?iso-8859-1?q?Configura=E7=E3o_de_usu=E1rio_n=E3o_root_?= =?iso-8859-1?q?no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= In-Reply-To: References: <1391085397.80468.YahooMailNeo@web120401.mail.ne1.yahoo.com> Message-ID: <1391088289.6531.YahooMailNeo@web120406.mail.ne1.yahoo.com> Obrigada, Stanislaw! Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez que for instalar novos pacotes? Com as variáveis de ambiente definidas ainda preciso do local::lib? Abraços, Nicole Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep escreveu: Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o Perl do seu /opt/perl já tiver local::lib instalado como root, não precisa dessa etapa. O que acontece se você rodar "perl -Mlocal::lib"? Aqui, por exemplo, aparece: PATH="/Users/stas/perl5/bin${PATH+:}$PATH"; export PATH; PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB"; export PERL5LIB; PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT"; export PERL_LOCAL_LIB_ROOT; PERL_MB_OPT="--install_base \"/Users/stas/perl5\""; export PERL_MB_OPT; PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5"; export PERL_MM_OPT; Se você colar o output produzido no seu sistema para o .bashrc/.profile, o Perl "se sentirá em casa" no $HOME :) O cpanminus é opcional; única coisa absolutamente necessária é que "perl -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib" diz. 2014-01-30 Nicole Scherer Obrigada Stanislaw e Aureliano! > >Aureliano, a bioinformática está tomada por mulheres :-) Já foste no X-Meeting? > >Stanislaw, > >como gestora do cluster, meu objetivo é deixar para o usuário o sistema pronto para que ele possa instalar seus módulos localmente sem ter que fazer acrobacias. Eu já instalei o local::lib no sistema como root, então não seria necessário que o usuário instalasse novamente, correto? Ou ele precisaria fazer sua própria instalação? > >Quando o usuário faz sua primeira incursão no cpan e realiza a configuração, aparece a seguinte mensagem: > >--------------------------------------------------------------------------------------------------------------- >local::lib is installed. You must now add the following environment variables >to your shell configuration files (or registry, if you are on Windows) and >then restart your command line shell and CPAN before installing modules: > > >Would you like me to append that to /home/hpcst06/.bashrc now? [yes] > >--------------------------------------------------------------------------------------------------------------- > >Porém, como podes ver, o "following environment variables" está vazio e nenhuma modificação é feita no .bashrc > >Esta etapa é que deveria definir as tais variáveis de ambiente. Não entendo por que não está funcionando. >Desta forma, a única solução seria mesmo acrescentar estas linhas ao .profile a força. > >Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso seja demais, não? > >Qual o objetivo de instalar o App::cpanminus? >A partir daí o usuário deve usar cpanm ao invés de cpan? > >Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só instalei no frontend), pode dar problema na hora de executar os programas em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na configuração do ambiente local, não é usado na execução dos módulos, certo? O home do usuário é montado em cada nó durante a execução, então o perl vai executar com as variáveis de ambiente já definidas pelo usuário, então não vai precisar executar o local::lib, certo? > > >Obrigada pela ajuda! > > >Abraços, >Nicole > > > > >Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes escreveu: > >Caraca. Complexo. >O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. >Hello colega bioinformata. > >Stanislaw Pusep escreveu: > > >Olá Nicole! >Já passei por situação semelhante à sua, quando não podia atualizar o Perl default do sistema e a opção foi instalar um Perl mais atualizado avulso no /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: > > >1. export PATH=/usr/local/bin:$PATH > > >2. Os shebangs de todos os scripts executáveis do projeto foram modificados de: > > >#!/usr/bin/perl > > >para: > > >#!/usr/bin/env perl > > >3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib requer uma intervenção do .profile do sistema, para inicializar o environment apropriadamente. Seguem os passos para instalar o local::lib dessa forma. > > >3.1. Download do local::lib: > > >$ wget http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz >$ tar xzvf local-lib-2.000004.tar.gz >$ cd local-lib-2.000004/ > > >3.2. Instalação do local::lib: > > >$ perl Makefile.PL --bootstrap=$HOME/perl5 >$ make >$ make test >$ make install > > >3.3. Ativando local::lib na inicialização da shell (Bash): > > >$ cat << PROFILE >> $HOME/.profile >eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) >PROFILE >$ > > >A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl buscar instalação dos módulos em um lugar específico ($HOME). Pode simplesmente colar essas variáveis direto no .profile, ou (como demonstrado acima) rodar eval do output do Perl. > > >3.4. Carregar a configuração: > > >. $HOME/.profile > > >3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa configuração faz as dependências serem instaladas automaticamente): > > >$ cpan > > >cpan[1]> o conf prerequisites_policy follow >cpan[2]> o conf commit >cpan[3]> install App::cpanminus >cpan[4]> quit > > >Boa sorte! > > > >2014-01-29 Nicole Scherer > >Boa tarde, queridos Mongers, >> >> >>eu não queria importuná-los com problemas simples, mas após três dias batendo a cabeça e vasculhando fóruns na internet sem solução para algumas das perguntas, recorro a vocês. Vou tentar explicar a novela. >> >> >>Montamos um cluster HPC para pesquisa usando o Rocks 6.1 (http://www.rocksclusters.org/) -- um tipo de linux que instala outro linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as vezes coexistem com os binários do SO. Desta forma, tenho duas versões de Perl: >> >> >>- a do sistema (RHEL6): >> >>$ /usr/bin/perl -v >>This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi >> >> >> >>- e a do Rocks: >>$ /opt/perl/bin/perl -v >>This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-thread-multi >> >> >>Cada qual com as suas bibliotecas. >> >>  @INC: >>    /usr/local/lib64/perl5 >>    /usr/local/share/perl5 >>    /usr/lib64/perl5/vendor_perl >>    /usr/share/perl5/vendor_perl >>    /usr/lib64/perl5 >>    /usr/share/perl5 >>    . >>  @INC: >>    /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi >>    /opt/perl/lib/site_perl/5.14.2 >>    /opt/perl/lib/5.14.2/x86_64-linux-thread-multi >>    /opt/perl/lib/5.14.2 >>    . >> >> >> >> >> >>Agora é que começam meus problemas... >> >> >>Primeiro: Alguém já teve experiência com duas instalações coexistentes de Perl? Posso ter problemas de funcionamento no SO se eu mover  o /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl  (uma vez que as shebang dos scripts costuma ter este endereço). Colocar simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. >> >> >> >> >>O CPAN só está instalado na versão do Rocks, o que me motiva mais a deixá-lo como default. >>Como a maioria dos usuários não terão privilégios de root e além disso, qualquer instalação no sistema operacional tem que ser espelhada para todos os nós, a melhor opção para instalar pacotes é na home dos usuários, concordam? Então eu quero deixar tudo o mais fácil possível para que os usuários instalem os pacotes desejados. Como não teremos acesso direto à internet usei o minicpan para criar um mirror em uma pasta compartilhada com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo ok. >> >>Agora esbarrei em um problema que não estou achando resposta fácil. >> >> >>Quando executo o cpan pela primeira vez como usuário comum, da forma mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e toda a estrutura de diretórios no home do usuário. Ele executa quase tudo com perfeição, substituindo o endereço default pelo do usuário em QUASE todos os itens, menos em prefs_dir. >> >> >> >>[hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm >>  'build_dir' => q[/home/hpcst06/.cpan/build], >>  'cpan_home' => q[/home/hpcst06/.cpan], >>  'histfile' => q[/home/hpcst06/.cpan/histfile], >>  'keep_source_where' => q[/home/hpcst06/.cpan/sources], >>  'prefs_dir' => q[/export/cpan/cpan/prefs], >> >> >>(O default cpan_home é /export/cpan/cpan ) >>[hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm >>  'build_dir' => q[/export/cpan/cpan/build], >>  'cpan_home' => q[/export/cpan/cpan], >>  'histfile' => q[/export/cpan/cpan/histfile], >>  'keep_source_where' => q[/export/cpan/cpan/sources], >>  'prefs_dir' => q[/export/cpan/cpan/prefs], >> >> >> >>Claro que o usuário pode executar >>>o conf prefs_dir /home/hpcst06/.cpan/prefs >>para alterar esta variável, mas concordam que deveria ter sido automático. >>Alguém já passou por isto? >> >> >>Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me chamasse a atenção. >> Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. >> >> >>- Tendo corrigido manualmente o prefs_dir, segui tentando instalar localmente algum pacote. >>Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei entender o que os tutoriais na internet e fiquei perdida. Devo usar direto o cpan? (já que na configuração ele me pergunta se eu quero que use local::lib) >>What approach do you want?  (Choose 'local::lib', 'sudo' or 'manual') >> [local::lib] >>Ou devo usar sempre >>$ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' >>? >>(tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, mas funciona) >> >> >> >> >> >>- Rodando >>[hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' >> >>- deu tudo certo. >>[...] >>Result: PASS >>  ABIGAIL/Acme-Time-Baby-2010090301.tar.gz >>  /usr/bin/make test -- OK >>Running make install >>Prepending /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to PERL5LIB for 'install' >>Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm >>Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 >>Appending installation info to /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod >>  ABIGAIL/Acme-Time-Baby-2010090301.tar.gz >>  /usr/bin/make install  -- OK >> >> >> >> >> >>- Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. >> >> >>Test Summary Report >>------------------- >>t/05-obj.t                (Wstat: 512 Tests: 0 Failed: 0) >>  Non-zero exit status: 2 >>  Parse errors: No plan found in TAP output >>t/06-obj2.t               (Wstat: 512 Tests: 0 Failed: 0) >>  Non-zero exit status: 2 >>  Parse errors: No plan found in TAP output >>t/07-sort.t               (Wstat: 512 Tests: 1 Failed: 0) >>  Non-zero exit status: 2 >>  Parse errors: No plan found in TAP output >>t/25-weak.t               (Wstat: 512 Tests: 8 Failed: 0) >>  Non-zero exit status: 2 >>  Parse errors: No plan found in TAP output >>Files=54, Tests=258,  4 wallclock secs ( 0.19 usr  0.09 sys +  2.82 cusr  0.40 csys =  3.50 CPU) >>Result: FAIL >>Failed 4/54 test programs. 0/258 subtests failed. >>make: *** [test_dynamic] Error 255 >>  GARU/Data-Printer-0.35.tar.gz >>  /usr/bin/make test -- NOT OK >>//hint// to see the cpan-testers results for installing this module, try: >>  reports GARU/Data-Printer-0.35.tar.gz >>Running make install >>  make test had returned bad status, won't install without force >> >> >> >> >>Desculpem a postagem tão longa. Acabei até solucionando algumas outras dúvidas enquanto tentava descrevê-las aqui. >> >>Abraços a todos, >>Nicole Scherer >> >> >> >> >> >>_______________________________________________ >>Rio-pm mailing list >>Rio-pm em pm.org >>http://mail.pm.org/mailman/listinfo/rio-pm >> > > >_______________________________________________ >Rio-pm mailing list >Rio-pm em pm.org >http://mail.pm.org/mailman/listinfo/rio-pm > >_______________________________________________ >Rio-pm mailing list >Rio-pm em pm.org >http://mail.pm.org/mailman/listinfo/rio-pm > > >_______________________________________________ >Rio-pm mailing list >Rio-pm em pm.org >http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From creaktive em gmail.com Thu Jan 30 05:45:41 2014 From: creaktive em gmail.com (Stanislaw Pusep) Date: Thu, 30 Jan 2014 14:45:41 +0100 Subject: [Rio-pm] =?utf-8?b?Q29uZmlndXJhw6fDo28gZGUgdXN1w6FyaW8gbsOjbyBy?= =?utf-8?q?oot_no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= In-Reply-To: <1391088289.6531.YahooMailNeo@web120406.mail.ne1.yahoo.com> References: <1391085397.80468.YahooMailNeo@web120401.mail.ne1.yahoo.com> <1391088289.6531.YahooMailNeo@web120406.mail.ne1.yahoo.com> Message-ID: Isso mesmo; na primeira vez em que "perl -Mlocal::lib" roda ele cria os diretórios necessários. Se salvar as variáveis de ambiente, não precisa rodar nunca mais. Entretanto, as variáveis serão diferentes para cada usuário. Para melhorar a automação, basta colocar no final do /etc/profile (sim, o do sistema): "eval $(perl -Mlocal::lib)". Desse jeito os usuários automagicamente terão local::lib configurado ao fazer o login :) 2014-01-30 Nicole Scherer > Obrigada, Stanislaw! > > Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e > colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele > nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez > que for instalar novos pacotes? Com as variáveis de ambiente definidas > ainda preciso do local::lib? > > Abraços, > Nicole > > > > > Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep < > creaktive em gmail.com> escreveu: > Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o Perl > do seu /opt/perl já tiver local::lib instalado como root, não precisa dessa > etapa. > O que acontece se você rodar "perl -Mlocal::lib"? > Aqui, por exemplo, aparece: > > PATH="/Users/stas/perl5/bin${PATH+:}$PATH"; > export PATH; > PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB"; > export PERL5LIB; > > PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT"; > export PERL_LOCAL_LIB_ROOT; > PERL_MB_OPT="--install_base \"/Users/stas/perl5\""; > export PERL_MB_OPT; > PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5"; > export PERL_MM_OPT; > > Se você colar o output produzido no seu sistema para o .bashrc/.profile, o > Perl "se sentirá em casa" no $HOME :) > O cpanminus é opcional; única coisa absolutamente necessária é que "perl > -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as > variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib" > diz. > > > 2014-01-30 Nicole Scherer > > Obrigada Stanislaw e Aureliano! > > Aureliano, a bioinformática está tomada por mulheres :-) Já foste no > X-Meeting? > > Stanislaw, > > como gestora do cluster, meu objetivo é deixar para o usuário o sistema > pronto para que ele possa instalar seus módulos localmente sem ter que > fazer acrobacias. Eu já instalei o local::lib no sistema como root, então > não seria necessário que o usuário instalasse novamente, correto? Ou ele > precisaria fazer sua própria instalação? > > Quando o usuário faz sua primeira incursão no cpan e realiza a > configuração, aparece a seguinte mensagem: > > > --------------------------------------------------------------------------------------------------------------- > local::lib is installed. You must now add the following environment > variables > to your shell configuration files (or registry, if you are on Windows) and > then restart your command line shell and CPAN before installing modules: > > > Would you like me to append that to /home/hpcst06/.bashrc now? [yes] > > > --------------------------------------------------------------------------------------------------------------- > > Porém, como podes ver, o "following environment variables" está vazio e > nenhuma modificação é feita no .bashrc > > Esta etapa é que deveria definir as tais variáveis de ambiente. Não > entendo por que não está funcionando. > Desta forma, a única solução seria mesmo acrescentar estas linhas ao > .profile a força. > > Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan > e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso > seja demais, não? > > Qual o objetivo de instalar o App::cpanminus? > A partir daí o usuário deve usar cpanm ao invés de cpan? > > Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só > instalei no frontend), pode dar problema na hora de executar os programas > em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na > configuração do ambiente local, não é usado na execução dos módulos, certo? > O home do usuário é montado em cada nó durante a execução, então o perl vai > executar com as variáveis de ambiente já definidas pelo usuário, então não > vai precisar executar o local::lib, certo? > > > Obrigada pela ajuda! > > > Abraços, > Nicole > > > Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes < > guedes_1000 em hotmail.com> escreveu: > Caraca. Complexo. > O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. > Hello colega bioinformata. > > Stanislaw Pusep escreveu: > > Olá Nicole! > Já passei por situação semelhante à sua, quando não podia atualizar o Perl > default do sistema e a opção foi instalar um Perl mais atualizado avulso no > /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: > > 1. export PATH=/usr/local/bin:$PATH > > 2. Os shebangs de todos os scripts executáveis do projeto foram > modificados de: > > #!/usr/bin/perl > > para: > > #!/usr/bin/env perl > > 3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib > requer uma intervenção do .profile do sistema, para inicializar o > environment apropriadamente. Seguem os passos para instalar o local::lib > dessa forma. > > 3.1. Download do local::lib: > > $ wget > http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz > $ tar xzvf local-lib-2.000004.tar.gz > $ cd local-lib-2.000004/ > > 3.2. Instalação do local::lib: > > $ perl Makefile.PL --bootstrap=$HOME/perl5 > $ make > $ make test > $ make install > > 3.3. Ativando local::lib na inicialização da shell (Bash): > > $ cat << PROFILE >> $HOME/.profile > eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) > PROFILE > $ > > A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" > retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl > buscar instalação dos módulos em um lugar específico ($HOME). Pode > simplesmente colar essas variáveis direto no .profile, ou (como demonstrado > acima) rodar eval do output do Perl. > > 3.4. Carregar a configuração: > > . $HOME/.profile > > 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa > configuração faz as dependências serem instaladas automaticamente): > > $ cpan > > cpan[1]> o conf prerequisites_policy follow > cpan[2]> o conf commit > cpan[3]> install App::cpanminus > cpan[4]> quit > > Boa sorte! > > > 2014-01-29 Nicole Scherer > > Boa tarde, queridos Mongers, > > eu não queria importuná-los com problemas simples, mas após três dias > batendo a cabeça e vasculhando fóruns na internet sem solução para algumas > das perguntas, recorro a vocês. Vou tentar explicar a novela. > > Montamos um cluster HPC para pesquisa usando o Rocks 6.1 ( > http://www.rocksclusters.org/) -- um tipo de linux que instala outro > linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, > mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO > (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, > Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as > vezes coexistem com os binários do SO. Desta forma, tenho duas versões de > Perl: > > - a do sistema (RHEL6): > $ /usr/bin/perl -v > This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi > > - e a do Rocks: > $ /opt/perl/bin/perl -v > This is perl 5, version 14, subversion 2 (v5.14.2) built for > x86_64-linux-thread-multi > > Cada qual com as suas bibliotecas. > > @INC: > /usr/local/lib64/perl5 > /usr/local/share/perl5 > /usr/lib64/perl5/vendor_perl > /usr/share/perl5/vendor_perl > /usr/lib64/perl5 > /usr/share/perl5 > . > @INC: > /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/site_perl/5.14.2 > /opt/perl/lib/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/5.14.2 > . > > > Agora é que começam meus problemas... > > Primeiro: Alguém já teve experiência com duas instalações coexistentes > de Perl? Posso ter problemas de funcionamento no SO se eu mover o > /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl > (uma vez que as shebang dos scripts costuma ter este endereço). Colocar > simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. > > > O CPAN só está instalado na versão do Rocks, o que me motiva mais a > deixá-lo como default. > Como a maioria dos usuários não terão privilégios de root e além disso, > qualquer instalação no sistema operacional tem que ser espelhada para todos > os nós, a melhor opção para instalar pacotes é na home dos usuários, > concordam? Então eu quero deixar tudo o mais fácil possível para que os > usuários instalem os pacotes desejados. Como não teremos acesso direto à > internet usei o minicpan para criar um mirror em uma pasta compartilhada > com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo > ok. > Agora esbarrei em um problema que não estou achando resposta fácil. > > Quando executo o cpan pela primeira vez como usuário comum, da forma > mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e > toda a estrutura de diretórios no home do usuário. Ele executa quase tudo > com perfeição, substituindo o endereço default pelo do usuário em QUASE > todos os itens, menos em prefs_dir. > > [hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm > 'build_dir' => q[/home/hpcst06/.cpan/build], > 'cpan_home' => q[/home/hpcst06/.cpan], > 'histfile' => q[/home/hpcst06/.cpan/histfile], > 'keep_source_where' => q[/home/hpcst06/.cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > (O default cpan_home é /export/cpan/cpan ) > [hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm > 'build_dir' => q[/export/cpan/cpan/build], > 'cpan_home' => q[/export/cpan/cpan], > 'histfile' => q[/export/cpan/cpan/histfile], > 'keep_source_where' => q[/export/cpan/cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > Claro que o usuário pode executar > >o conf prefs_dir /home/hpcst06/.cpan/prefs > para alterar esta variável, mas concordam que deveria ter sido automático. > Alguém já passou por isto? > > Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me > chamasse a atenção. > Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. > > > - Tendo corrigido manualmente o prefs_dir, segui tentando instalar > localmente algum pacote. > Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei > entender o que os tutoriais na internet e fiquei perdida. Devo usar direto > o cpan? (já que na configuração ele me pergunta se eu quero que use > local::lib) > What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') > [local::lib] > Ou devo usar sempre > $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' > ? > (tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, > mas funciona) > > > - Rodando > [hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e > 'CPAN::install(Acme::Time::Baby)' > > - deu tudo certo. > [...] > Result: PASS > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make test -- OK > Running make install > Prepending > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to > PERL5LIB for 'install' > Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm > Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 > Appending installation info to > /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make install -- OK > > > - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma > estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. > > Test Summary Report > ------------------- > t/05-obj.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/06-obj2.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/07-sort.t (Wstat: 512 Tests: 1 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/25-weak.t (Wstat: 512 Tests: 8 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > Files=54, Tests=258, 4 wallclock secs ( 0.19 usr 0.09 sys + 2.82 cusr > 0.40 csys = 3.50 CPU) > Result: FAIL > Failed 4/54 test programs. 0/258 subtests failed. > make: *** [test_dynamic] Error 255 > GARU/Data-Printer-0.35.tar.gz > /usr/bin/make test -- NOT OK > //hint// to see the cpan-testers results for installing this module, try: > reports GARU/Data-Printer-0.35.tar.gz > Running make install > make test had returned bad status, won't install without force > > > > Desculpem a postagem tão longa. Acabei até solucionando algumas outras > dúvidas enquanto tentava descrevê-las aqui. > > Abraços a todos, > Nicole Scherer > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From bionica2007-perl em yahoo.com Thu Jan 30 06:01:46 2014 From: bionica2007-perl em yahoo.com (Nicole Scherer) Date: Thu, 30 Jan 2014 06:01:46 -0800 (PST) Subject: [Rio-pm] =?iso-8859-1?q?Configura=E7=E3o_de_usu=E1rio_n=E3o_root_?= =?iso-8859-1?q?no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= In-Reply-To: References: <1391085397.80468.YahooMailNeo@web120401.mail.ne1.yahoo.com> <1391088289.6531.YahooMailNeo@web120406.mail.ne1.yahoo.com> Message-ID: <1391090506.28093.YahooMailNeo@web120402.mail.ne1.yahoo.com> Oi Stanislaw, era exatamente isso que eu queria evitar, ter que invocar o local::lib pelo profile, pois assim, teria que instalá-lo em todos os nós do cluster, e isso seria uma outra acrobacia, devido a forma que o rocks funciona. Vou pensar um uma estratégia para colocar no .bashrc do usuário durante a configuração, como deveria ter sido feito pelo FirstTime.pm, mas não foi. Ainda não entendi por que não está funcionando. De toda forma, muito obrigada!!!! Abraços, Nicole Em Quinta-feira, 30 de Janeiro de 2014 11:46, Stanislaw Pusep escreveu: Isso mesmo; na primeira vez em que "perl -Mlocal::lib" roda ele cria os diretórios necessários. Se salvar as variáveis de ambiente, não precisa rodar nunca mais. Entretanto, as variáveis serão diferentes para cada usuário. Para melhorar a automação, basta colocar no final do /etc/profile (sim, o do sistema): "eval $(perl -Mlocal::lib)". Desse jeito os usuários automagicamente terão local::lib configurado ao fazer o login :) 2014-01-30 Nicole Scherer Obrigada, Stanislaw! > >Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez que for instalar novos pacotes? Com as variáveis de ambiente definidas ainda preciso do local::lib? > >Abraços, >Nicole > > > > > > > >Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep escreveu: > >Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o Perl do seu /opt/perl já tiver local::lib instalado como root, não precisa dessa etapa. >O que acontece se você rodar "perl -Mlocal::lib"? >Aqui, por exemplo, aparece: > > >PATH="/Users/stas/perl5/bin${PATH+:}$PATH"; >export PATH; >PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB"; >export PERL5LIB; >PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT"; >export PERL_LOCAL_LIB_ROOT; >PERL_MB_OPT="--install_base \"/Users/stas/perl5\""; >export PERL_MB_OPT; >PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5"; >export PERL_MM_OPT; > > >Se você colar o output produzido no seu sistema para o .bashrc/.profile, o Perl "se sentirá em casa" no $HOME :) >O cpanminus é opcional; única coisa absolutamente necessária é que "perl -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib" diz. > > > >2014-01-30 Nicole Scherer > >Obrigada Stanislaw e Aureliano! >> >>Aureliano, a bioinformática está tomada por mulheres :-) Já foste no X-Meeting? >> >>Stanislaw, >> >>como gestora do cluster, meu objetivo é deixar para o usuário o sistema pronto para que ele possa instalar seus módulos localmente sem ter que fazer acrobacias. Eu já instalei o local::lib no sistema como root, então não seria necessário que o usuário instalasse novamente, correto? Ou ele precisaria fazer sua própria instalação? >> >>Quando o usuário faz sua primeira incursão no cpan e realiza a configuração, aparece a seguinte mensagem: >> >>--------------------------------------------------------------------------------------------------------------- >>local::lib is installed. You must now add the following environment variables >>to your shell configuration files (or registry, if you are on Windows) and >>then restart your command line shell and CPAN before installing modules: >> >> >>Would you like me to append that to /home/hpcst06/.bashrc now? [yes] >> >>--------------------------------------------------------------------------------------------------------------- >> >>Porém, como podes ver, o "following environment variables" está vazio e nenhuma modificação é feita no .bashrc >> >>Esta etapa é que deveria definir as tais variáveis de ambiente. Não entendo por que não está funcionando. >>Desta forma, a única solução seria mesmo acrescentar estas linhas ao .profile a força. >> >>Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso seja demais, não? >> >>Qual o objetivo de instalar o App::cpanminus? >>A partir daí o usuário deve usar cpanm ao invés de cpan? >> >>Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só instalei no frontend), pode dar problema na hora de executar os programas em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na configuração do ambiente local, não é usado na execução dos módulos, certo? O home do usuário é montado em cada nó durante a execução, então o perl vai executar com as variáveis de ambiente já definidas pelo usuário, então não vai precisar executar o local::lib, certo? >> >> >>Obrigada pela ajuda! >> >> >>Abraços, >>Nicole >> >> >> >> >>Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes escreveu: >> >>Caraca. Complexo. >>O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. >>Hello colega bioinformata. >> >>Stanislaw Pusep escreveu: >> >> >>Olá Nicole! >>Já passei por situação semelhante à sua, quando não podia atualizar o Perl default do sistema e a opção foi instalar um Perl mais atualizado avulso no /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: >> >> >>1. export PATH=/usr/local/bin:$PATH >> >> >>2. Os shebangs de todos os scripts executáveis do projeto foram modificados de: >> >> >>#!/usr/bin/perl >> >> >>para: >> >> >>#!/usr/bin/env perl >> >> >>3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib requer uma intervenção do .profile do sistema, para inicializar o environment apropriadamente. Seguem os passos para instalar o local::lib dessa forma. >> >> >>3.1. Download do local::lib: >> >> >>$ wget http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz >>$ tar xzvf local-lib-2.000004.tar.gz >>$ cd local-lib-2.000004/ >> >> >>3.2. Instalação do local::lib: >> >> >>$ perl Makefile.PL --bootstrap=$HOME/perl5 >>$ make >>$ make test >>$ make install >> >> >>3.3. Ativando local::lib na inicialização da shell (Bash): >> >> >>$ cat << PROFILE >> $HOME/.profile >>eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) >>PROFILE >>$ >> >> >>A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl buscar instalação dos módulos em um lugar específico ($HOME). Pode simplesmente colar essas variáveis direto no .profile, ou (como demonstrado acima) rodar eval do output do Perl. >> >> >>3.4. Carregar a configuração: >> >> >>. $HOME/.profile >> >> >>3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa configuração faz as dependências serem instaladas automaticamente): >> >> >>$ cpan >> >> >>cpan[1]> o conf prerequisites_policy follow >>cpan[2]> o conf commit >>cpan[3]> install App::cpanminus >>cpan[4]> quit >> >> >>Boa sorte! >> >> >> >>2014-01-29 Nicole Scherer >> >>Boa tarde, queridos Mongers, >>> >>> >>>eu não queria importuná-los com problemas simples, mas após três dias batendo a cabeça e vasculhando fóruns na internet sem solução para algumas das perguntas, recorro a vocês. Vou tentar explicar a novela. >>> >>> >>>Montamos um cluster HPC para pesquisa usando o Rocks 6.1 (http://www.rocksclusters.org/) -- um tipo de linux que instala outro linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as vezes coexistem com os binários do SO. Desta forma, tenho duas versões de Perl: >>> >>> >>>- a do sistema (RHEL6): >>> >>>$ /usr/bin/perl -v >>>This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi >>> >>> >>> >>>- e a do Rocks: >>>$ /opt/perl/bin/perl -v >>>This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-thread-multi >>> >>> >>>Cada qual com as suas bibliotecas. >>> >>>  @INC: >>>    /usr/local/lib64/perl5 >>>    /usr/local/share/perl5 >>>    /usr/lib64/perl5/vendor_perl >>>    /usr/share/perl5/vendor_perl >>>    /usr/lib64/perl5 >>>    /usr/share/perl5 >>>    . >>>  @INC: >>>    /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi >>>    /opt/perl/lib/site_perl/5.14.2 >>>    /opt/perl/lib/5.14.2/x86_64-linux-thread-multi >>>    /opt/perl/lib/5.14.2 >>>    . >>> >>> >>> >>> >>> >>>Agora é que começam meus problemas... >>> >>> >>>Primeiro: Alguém já teve experiência com duas instalações coexistentes de Perl? Posso ter problemas de funcionamento no SO se eu mover  o /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl  (uma vez que as shebang dos scripts costuma ter este endereço). Colocar simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. >>> >>> >>> >>> >>>O CPAN só está instalado na versão do Rocks, o que me motiva mais a deixá-lo como default. >>>Como a maioria dos usuários não terão privilégios de root e além disso, qualquer instalação no sistema operacional tem que ser espelhada para todos os nós, a melhor opção para instalar pacotes é na home dos usuários, concordam? Então eu quero deixar tudo o mais fácil possível para que os usuários instalem os pacotes desejados. Como não teremos acesso direto à internet usei o minicpan para criar um mirror em uma pasta compartilhada com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo ok. >>> >>>Agora esbarrei em um problema que não estou achando resposta fácil. >>> >>> >>>Quando executo o cpan pela primeira vez como usuário comum, da forma mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e toda a estrutura de diretórios no home do usuário. Ele executa quase tudo com perfeição, substituindo o endereço default pelo do usuário em QUASE todos os itens, menos em prefs_dir. >>> >>> >>> >>>[hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm >>>  'build_dir' => q[/home/hpcst06/.cpan/build], >>>  'cpan_home' => q[/home/hpcst06/.cpan], >>>  'histfile' => q[/home/hpcst06/.cpan/histfile], >>>  'keep_source_where' => q[/home/hpcst06/.cpan/sources], >>>  'prefs_dir' => q[/export/cpan/cpan/prefs], >>> >>> >>>(O default cpan_home é /export/cpan/cpan ) >>>[hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm >>>  'build_dir' => q[/export/cpan/cpan/build], >>>  'cpan_home' => q[/export/cpan/cpan], >>>  'histfile' => q[/export/cpan/cpan/histfile], >>>  'keep_source_where' => q[/export/cpan/cpan/sources], >>>  'prefs_dir' => q[/export/cpan/cpan/prefs], >>> >>> >>> >>>Claro que o usuário pode executar >>>>o conf prefs_dir /home/hpcst06/.cpan/prefs >>>para alterar esta variável, mas concordam que deveria ter sido automático. >>>Alguém já passou por isto? >>> >>> >>>Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me chamasse a atenção. >>> Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. >>> >>> >>>- Tendo corrigido manualmente o prefs_dir, segui tentando instalar localmente algum pacote. >>>Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei entender o que os tutoriais na internet e fiquei perdida. Devo usar direto o cpan? (já que na configuração ele me pergunta se eu quero que use local::lib) >>>What approach do you want?  (Choose 'local::lib', 'sudo' or 'manual') >>> [local::lib] >>>Ou devo usar sempre >>>$ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' >>>? >>>(tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, mas funciona) >>> >>> >>> >>> >>> >>>- Rodando >>>[hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' >>> >>>- deu tudo certo. >>>[...] >>>Result: PASS >>>  ABIGAIL/Acme-Time-Baby-2010090301.tar.gz >>>  /usr/bin/make test -- OK >>>Running make install >>>Prepending /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to PERL5LIB for 'install' >>>Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm >>>Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 >>>Appending installation info to /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod >>>  ABIGAIL/Acme-Time-Baby-2010090301.tar.gz >>>  /usr/bin/make install  -- OK >>> >>> >>> >>> >>> >>>- Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. >>> >>> >>>Test Summary Report >>>------------------- >>>t/05-obj.t                (Wstat: 512 Tests: 0 Failed: 0) >>>  Non-zero exit status: 2 >>>  Parse errors: No plan found in TAP output >>>t/06-obj2.t               (Wstat: 512 Tests: 0 Failed: 0) >>>  Non-zero exit status: 2 >>>  Parse errors: No plan found in TAP output >>>t/07-sort.t               (Wstat: 512 Tests: 1 Failed: 0) >>>  Non-zero exit status: 2 >>>  Parse errors: No plan found in TAP output >>>t/25-weak.t               (Wstat: 512 Tests: 8 Failed: 0) >>>  Non-zero exit status: 2 >>>  Parse errors: No plan found in TAP output >>>Files=54, Tests=258,  4 wallclock secs ( 0.19 usr  0.09 sys +  2.82 cusr  0.40 csys =  3.50 CPU) >>>Result: FAIL >>>Failed 4/54 test programs. 0/258 subtests failed. >>>make: *** [test_dynamic] Error 255 >>>  GARU/Data-Printer-0.35.tar.gz >>>  /usr/bin/make test -- NOT OK >>>//hint// to see the cpan-testers results for installing this module, try: >>>  reports GARU/Data-Printer-0.35.tar.gz >>>Running make install >>>  make test had returned bad status, won't install without force >>> >>> >>> >>> >>>Desculpem a postagem tão longa. Acabei até solucionando algumas outras dúvidas enquanto tentava descrevê-las aqui. >>> >>>Abraços a todos, >>>Nicole Scherer >>> >>> >>> >>> >>> >>>_______________________________________________ >>>Rio-pm mailing list >>>Rio-pm em pm.org >>>http://mail.pm.org/mailman/listinfo/rio-pm >>> >> >> >>_______________________________________________ >>Rio-pm mailing list >>Rio-pm em pm.org >>http://mail.pm.org/mailman/listinfo/rio-pm >> >>_______________________________________________ >>Rio-pm mailing list >>Rio-pm em pm.org >>http://mail.pm.org/mailman/listinfo/rio-pm >> >> >>_______________________________________________ >>Rio-pm mailing list >>Rio-pm em pm.org >>http://mail.pm.org/mailman/listinfo/rio-pm >> > > > >_______________________________________________ >Rio-pm mailing list >Rio-pm em pm.org >http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From renato.cron em gmail.com Thu Jan 30 06:07:49 2014 From: renato.cron em gmail.com (Renato Santos) Date: Thu, 30 Jan 2014 12:07:49 -0200 Subject: [Rio-pm] =?iso-8859-1?q?Configura=E7=E3o_de_usu=E1rio_n=E3o_root_?= =?iso-8859-1?q?no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= In-Reply-To: <1391090506.28093.YahooMailNeo@web120402.mail.ne1.yahoo.com> References: <1391085397.80468.YahooMailNeo@web120401.mail.ne1.yahoo.com> <1391088289.6531.YahooMailNeo@web120406.mail.ne1.yahoo.com> <1391090506.28093.YahooMailNeo@web120402.mail.ne1.yahoo.com> Message-ID: Posso estar falando besteira, mas da pra você configurar o perlbrew também pra ser compartilhado. Mas aí quando um usuário instalar um módulo, todos os outros vão enxergar esse módulo também On Jan 30, 2014 12:02 PM, "Nicole Scherer" wrote: > Oi Stanislaw, > > era exatamente isso que eu queria evitar, ter que invocar o local::lib > pelo profile, pois assim, teria que instalá-lo em todos os nós do cluster, > e isso seria uma outra acrobacia, devido a forma que o rocks funciona. > Vou pensar um uma estratégia para colocar no .bashrc do usuário durante a > configuração, como deveria ter sido feito pelo FirstTime.pm, mas não foi. > Ainda não entendi por que não está funcionando. > > De toda forma, muito obrigada!!!! > > Abraços, > Nicole > > > > Em Quinta-feira, 30 de Janeiro de 2014 11:46, Stanislaw Pusep < > creaktive em gmail.com> escreveu: > Isso mesmo; na primeira vez em que "perl -Mlocal::lib" roda ele cria os > diretórios necessários. Se salvar as variáveis de ambiente, não precisa > rodar nunca mais. > Entretanto, as variáveis serão diferentes para cada usuário. Para melhorar > a automação, basta colocar no final do /etc/profile (sim, o do sistema): > "eval $(perl -Mlocal::lib)". Desse jeito os usuários automagicamente terão > local::lib configurado ao fazer o login :) > > > 2014-01-30 Nicole Scherer > > Obrigada, Stanislaw! > > Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e > colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele > nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez > que for instalar novos pacotes? Com as variáveis de ambiente definidas > ainda preciso do local::lib? > > Abraços, > Nicole > > > > > Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep < > creaktive em gmail.com> escreveu: > Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o Perl > do seu /opt/perl já tiver local::lib instalado como root, não precisa dessa > etapa. > O que acontece se você rodar "perl -Mlocal::lib"? > Aqui, por exemplo, aparece: > > PATH="/Users/stas/perl5/bin${PATH+:}$PATH"; > export PATH; > PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB"; > export PERL5LIB; > > PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT"; > export PERL_LOCAL_LIB_ROOT; > PERL_MB_OPT="--install_base \"/Users/stas/perl5\""; > export PERL_MB_OPT; > PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5"; > export PERL_MM_OPT; > > Se você colar o output produzido no seu sistema para o .bashrc/.profile, o > Perl "se sentirá em casa" no $HOME :) > O cpanminus é opcional; única coisa absolutamente necessária é que "perl > -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as > variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib" > diz. > > > 2014-01-30 Nicole Scherer > > Obrigada Stanislaw e Aureliano! > > Aureliano, a bioinformática está tomada por mulheres :-) Já foste no > X-Meeting? > > Stanislaw, > > como gestora do cluster, meu objetivo é deixar para o usuário o sistema > pronto para que ele possa instalar seus módulos localmente sem ter que > fazer acrobacias. Eu já instalei o local::lib no sistema como root, então > não seria necessário que o usuário instalasse novamente, correto? Ou ele > precisaria fazer sua própria instalação? > > Quando o usuário faz sua primeira incursão no cpan e realiza a > configuração, aparece a seguinte mensagem: > > > --------------------------------------------------------------------------------------------------------------- > local::lib is installed. You must now add the following environment > variables > to your shell configuration files (or registry, if you are on Windows) and > then restart your command line shell and CPAN before installing modules: > > > Would you like me to append that to /home/hpcst06/.bashrc now? [yes] > > > --------------------------------------------------------------------------------------------------------------- > > Porém, como podes ver, o "following environment variables" está vazio e > nenhuma modificação é feita no .bashrc > > Esta etapa é que deveria definir as tais variáveis de ambiente. Não > entendo por que não está funcionando. > Desta forma, a única solução seria mesmo acrescentar estas linhas ao > .profile a força. > > Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan > e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso > seja demais, não? > > Qual o objetivo de instalar o App::cpanminus? > A partir daí o usuário deve usar cpanm ao invés de cpan? > > Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só > instalei no frontend), pode dar problema na hora de executar os programas > em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na > configuração do ambiente local, não é usado na execução dos módulos, certo? > O home do usuário é montado em cada nó durante a execução, então o perl vai > executar com as variáveis de ambiente já definidas pelo usuário, então não > vai precisar executar o local::lib, certo? > > > Obrigada pela ajuda! > > > Abraços, > Nicole > > > Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes < > guedes_1000 em hotmail.com> escreveu: > Caraca. Complexo. > O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. > Hello colega bioinformata. > > Stanislaw Pusep escreveu: > > Olá Nicole! > Já passei por situação semelhante à sua, quando não podia atualizar o Perl > default do sistema e a opção foi instalar um Perl mais atualizado avulso no > /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: > > 1. export PATH=/usr/local/bin:$PATH > > 2. Os shebangs de todos os scripts executáveis do projeto foram > modificados de: > > #!/usr/bin/perl > > para: > > #!/usr/bin/env perl > > 3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib > requer uma intervenção do .profile do sistema, para inicializar o > environment apropriadamente. Seguem os passos para instalar o local::lib > dessa forma. > > 3.1. Download do local::lib: > > $ wget > http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz > $ tar xzvf local-lib-2.000004.tar.gz > $ cd local-lib-2.000004/ > > 3.2. Instalação do local::lib: > > $ perl Makefile.PL --bootstrap=$HOME/perl5 > $ make > $ make test > $ make install > > 3.3. Ativando local::lib na inicialização da shell (Bash): > > $ cat << PROFILE >> $HOME/.profile > eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) > PROFILE > $ > > A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" > retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl > buscar instalação dos módulos em um lugar específico ($HOME). Pode > simplesmente colar essas variáveis direto no .profile, ou (como demonstrado > acima) rodar eval do output do Perl. > > 3.4. Carregar a configuração: > > . $HOME/.profile > > 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa > configuração faz as dependências serem instaladas automaticamente): > > $ cpan > > cpan[1]> o conf prerequisites_policy follow > cpan[2]> o conf commit > cpan[3]> install App::cpanminus > cpan[4]> quit > > Boa sorte! > > > 2014-01-29 Nicole Scherer > > Boa tarde, queridos Mongers, > > eu não queria importuná-los com problemas simples, mas após três dias > batendo a cabeça e vasculhando fóruns na internet sem solução para algumas > das perguntas, recorro a vocês. Vou tentar explicar a novela. > > Montamos um cluster HPC para pesquisa usando o Rocks 6.1 ( > http://www.rocksclusters.org/) -- um tipo de linux que instala outro > linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, > mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO > (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, > Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as > vezes coexistem com os binários do SO. Desta forma, tenho duas versões de > Perl: > > - a do sistema (RHEL6): > $ /usr/bin/perl -v > This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi > > - e a do Rocks: > $ /opt/perl/bin/perl -v > This is perl 5, version 14, subversion 2 (v5.14.2) built for > x86_64-linux-thread-multi > > Cada qual com as suas bibliotecas. > > @INC: > /usr/local/lib64/perl5 > /usr/local/share/perl5 > /usr/lib64/perl5/vendor_perl > /usr/share/perl5/vendor_perl > /usr/lib64/perl5 > /usr/share/perl5 > . > @INC: > /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/site_perl/5.14.2 > /opt/perl/lib/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/5.14.2 > . > > > Agora é que começam meus problemas... > > Primeiro: Alguém já teve experiência com duas instalações coexistentes > de Perl? Posso ter problemas de funcionamento no SO se eu mover o > /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl > (uma vez que as shebang dos scripts costuma ter este endereço). Colocar > simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. > > > O CPAN só está instalado na versão do Rocks, o que me motiva mais a > deixá-lo como default. > Como a maioria dos usuários não terão privilégios de root e além disso, > qualquer instalação no sistema operacional tem que ser espelhada para todos > os nós, a melhor opção para instalar pacotes é na home dos usuários, > concordam? Então eu quero deixar tudo o mais fácil possível para que os > usuários instalem os pacotes desejados. Como não teremos acesso direto à > internet usei o minicpan para criar um mirror em uma pasta compartilhada > com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo > ok. > Agora esbarrei em um problema que não estou achando resposta fácil. > > Quando executo o cpan pela primeira vez como usuário comum, da forma > mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e > toda a estrutura de diretórios no home do usuário. Ele executa quase tudo > com perfeição, substituindo o endereço default pelo do usuário em QUASE > todos os itens, menos em prefs_dir. > > [hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm > 'build_dir' => q[/home/hpcst06/.cpan/build], > 'cpan_home' => q[/home/hpcst06/.cpan], > 'histfile' => q[/home/hpcst06/.cpan/histfile], > 'keep_source_where' => q[/home/hpcst06/.cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > (O default cpan_home é /export/cpan/cpan ) > [hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm > 'build_dir' => q[/export/cpan/cpan/build], > 'cpan_home' => q[/export/cpan/cpan], > 'histfile' => q[/export/cpan/cpan/histfile], > 'keep_source_where' => q[/export/cpan/cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > Claro que o usuário pode executar > >o conf prefs_dir /home/hpcst06/.cpan/prefs > para alterar esta variável, mas concordam que deveria ter sido automático. > Alguém já passou por isto? > > Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me > chamasse a atenção. > Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. > > > - Tendo corrigido manualmente o prefs_dir, segui tentando instalar > localmente algum pacote. > Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei > entender o que os tutoriais na internet e fiquei perdida. Devo usar direto > o cpan? (já que na configuração ele me pergunta se eu quero que use > local::lib) > What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') > [local::lib] > Ou devo usar sempre > $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' > ? > (tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, > mas funciona) > > > - Rodando > [hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e > 'CPAN::install(Acme::Time::Baby)' > > - deu tudo certo. > [...] > Result: PASS > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make test -- OK > Running make install > Prepending > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to > PERL5LIB for 'install' > Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm > Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 > Appending installation info to > /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make install -- OK > > > - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma > estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. > > Test Summary Report > ------------------- > t/05-obj.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/06-obj2.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/07-sort.t (Wstat: 512 Tests: 1 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/25-weak.t (Wstat: 512 Tests: 8 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > Files=54, Tests=258, 4 wallclock secs ( 0.19 usr 0.09 sys + 2.82 cusr > 0.40 csys = 3.50 CPU) > Result: FAIL > Failed 4/54 test programs. 0/258 subtests failed. > make: *** [test_dynamic] Error 255 > GARU/Data-Printer-0.35.tar.gz > /usr/bin/make test -- NOT OK > //hint// to see the cpan-testers results for installing this module, try: > reports GARU/Data-Printer-0.35.tar.gz > Running make install > make test had returned bad status, won't install without force > > > > Desculpem a postagem tão longa. Acabei até solucionando algumas outras > dúvidas enquanto tentava descrevê-las aqui. > > Abraços a todos, > Nicole Scherer > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From blabos em gmail.com Thu Jan 30 06:12:11 2014 From: blabos em gmail.com (Blabos de Blebe) Date: Thu, 30 Jan 2014 12:12:11 -0200 Subject: [Rio-pm] =?utf-8?b?Q29uZmlndXJhw6fDo28gZGUgdXN1w6FyaW8gbsOjbyBy?= =?utf-8?q?oot_no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= In-Reply-To: References: <1391085397.80468.YahooMailNeo@web120401.mail.ne1.yahoo.com> <1391088289.6531.YahooMailNeo@web120406.mail.ne1.yahoo.com> Message-ID: Pessoal, O perlbrew não ajudaria não? Porque ele já cuida automagicamente de toda a complicação. Seriam apenas os comandos: $ curl -L http://install.perlbrew.pl | bash $ echo "source ~/perl5/perlbrew/etc/bashrc" >> .bashrc $ perlbrew install perl-5.18.2 $ perlbrew switch perl-5.18.2 $ perlbrew install-cpanm $ cpanm My::Incredible::Module []'s 2014-01-30 Stanislaw Pusep > Isso mesmo; na primeira vez em que "perl -Mlocal::lib" roda ele cria os > diretórios necessários. Se salvar as variáveis de ambiente, não precisa > rodar nunca mais. > Entretanto, as variáveis serão diferentes para cada usuário. Para melhorar > a automação, basta colocar no final do /etc/profile (sim, o do sistema): > "eval $(perl -Mlocal::lib)". Desse jeito os usuários automagicamente terão > local::lib configurado ao fazer o login :) > > > 2014-01-30 Nicole Scherer > > Obrigada, Stanislaw! >> >> Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e >> colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele >> nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez >> que for instalar novos pacotes? Com as variáveis de ambiente definidas >> ainda preciso do local::lib? >> >> Abraços, >> Nicole >> >> >> >> >> Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep < >> creaktive em gmail.com> escreveu: >> Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o Perl >> do seu /opt/perl já tiver local::lib instalado como root, não precisa dessa >> etapa. >> O que acontece se você rodar "perl -Mlocal::lib"? >> Aqui, por exemplo, aparece: >> >> PATH="/Users/stas/perl5/bin${PATH+:}$PATH"; >> export PATH; >> PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB"; >> export PERL5LIB; >> >> PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT"; >> export PERL_LOCAL_LIB_ROOT; >> PERL_MB_OPT="--install_base \"/Users/stas/perl5\""; >> export PERL_MB_OPT; >> PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5"; >> export PERL_MM_OPT; >> >> Se você colar o output produzido no seu sistema para o .bashrc/.profile, >> o Perl "se sentirá em casa" no $HOME :) >> O cpanminus é opcional; única coisa absolutamente necessária é que "perl >> -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as >> variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib" >> diz. >> >> >> 2014-01-30 Nicole Scherer >> >> Obrigada Stanislaw e Aureliano! >> >> Aureliano, a bioinformática está tomada por mulheres :-) Já foste no >> X-Meeting? >> >> Stanislaw, >> >> como gestora do cluster, meu objetivo é deixar para o usuário o sistema >> pronto para que ele possa instalar seus módulos localmente sem ter que >> fazer acrobacias. Eu já instalei o local::lib no sistema como root, então >> não seria necessário que o usuário instalasse novamente, correto? Ou ele >> precisaria fazer sua própria instalação? >> >> Quando o usuário faz sua primeira incursão no cpan e realiza a >> configuração, aparece a seguinte mensagem: >> >> >> --------------------------------------------------------------------------------------------------------------- >> local::lib is installed. You must now add the following environment >> variables >> to your shell configuration files (or registry, if you are on Windows) and >> then restart your command line shell and CPAN before installing modules: >> >> >> Would you like me to append that to /home/hpcst06/.bashrc now? [yes] >> >> >> --------------------------------------------------------------------------------------------------------------- >> >> Porém, como podes ver, o "following environment variables" está vazio e >> nenhuma modificação é feita no .bashrc >> >> Esta etapa é que deveria definir as tais variáveis de ambiente. Não >> entendo por que não está funcionando. >> Desta forma, a única solução seria mesmo acrescentar estas linhas ao >> .profile a força. >> >> Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan >> e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso >> seja demais, não? >> >> Qual o objetivo de instalar o App::cpanminus? >> A partir daí o usuário deve usar cpanm ao invés de cpan? >> >> Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só >> instalei no frontend), pode dar problema na hora de executar os programas >> em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na >> configuração do ambiente local, não é usado na execução dos módulos, certo? >> O home do usuário é montado em cada nó durante a execução, então o perl vai >> executar com as variáveis de ambiente já definidas pelo usuário, então não >> vai precisar executar o local::lib, certo? >> >> >> Obrigada pela ajuda! >> >> >> Abraços, >> Nicole >> >> >> Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes < >> guedes_1000 em hotmail.com> escreveu: >> Caraca. Complexo. >> O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. >> Hello colega bioinformata. >> >> Stanislaw Pusep escreveu: >> >> Olá Nicole! >> Já passei por situação semelhante à sua, quando não podia atualizar o >> Perl default do sistema e a opção foi instalar um Perl mais atualizado >> avulso no /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas >> foram tomadas: >> >> 1. export PATH=/usr/local/bin:$PATH >> >> 2. Os shebangs de todos os scripts executáveis do projeto foram >> modificados de: >> >> #!/usr/bin/perl >> >> para: >> >> #!/usr/bin/env perl >> >> 3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib >> requer uma intervenção do .profile do sistema, para inicializar o >> environment apropriadamente. Seguem os passos para instalar o local::lib >> dessa forma. >> >> 3.1. Download do local::lib: >> >> $ wget >> http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz >> $ tar xzvf local-lib-2.000004.tar.gz >> $ cd local-lib-2.000004/ >> >> 3.2. Instalação do local::lib: >> >> $ perl Makefile.PL --bootstrap=$HOME/perl5 >> $ make >> $ make test >> $ make install >> >> 3.3. Ativando local::lib na inicialização da shell (Bash): >> >> $ cat << PROFILE >> $HOME/.profile >> eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) >> PROFILE >> $ >> >> A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" >> retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl >> buscar instalação dos módulos em um lugar específico ($HOME). Pode >> simplesmente colar essas variáveis direto no .profile, ou (como demonstrado >> acima) rodar eval do output do Perl. >> >> 3.4. Carregar a configuração: >> >> . $HOME/.profile >> >> 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa >> configuração faz as dependências serem instaladas automaticamente): >> >> $ cpan >> >> cpan[1]> o conf prerequisites_policy follow >> cpan[2]> o conf commit >> cpan[3]> install App::cpanminus >> cpan[4]> quit >> >> Boa sorte! >> >> >> 2014-01-29 Nicole Scherer >> >> Boa tarde, queridos Mongers, >> >> eu não queria importuná-los com problemas simples, mas após três dias >> batendo a cabeça e vasculhando fóruns na internet sem solução para algumas >> das perguntas, recorro a vocês. Vou tentar explicar a novela. >> >> Montamos um cluster HPC para pesquisa usando o Rocks 6.1 ( >> http://www.rocksclusters.org/) -- um tipo de linux que instala outro >> linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, >> mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO >> (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, >> Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as >> vezes coexistem com os binários do SO. Desta forma, tenho duas versões de >> Perl: >> >> - a do sistema (RHEL6): >> $ /usr/bin/perl -v >> This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi >> >> - e a do Rocks: >> $ /opt/perl/bin/perl -v >> This is perl 5, version 14, subversion 2 (v5.14.2) built for >> x86_64-linux-thread-multi >> >> Cada qual com as suas bibliotecas. >> >> @INC: >> /usr/local/lib64/perl5 >> /usr/local/share/perl5 >> /usr/lib64/perl5/vendor_perl >> /usr/share/perl5/vendor_perl >> /usr/lib64/perl5 >> /usr/share/perl5 >> . >> @INC: >> /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi >> /opt/perl/lib/site_perl/5.14.2 >> /opt/perl/lib/5.14.2/x86_64-linux-thread-multi >> /opt/perl/lib/5.14.2 >> . >> >> >> Agora é que começam meus problemas... >> >> Primeiro: Alguém já teve experiência com duas instalações coexistentes >> de Perl? Posso ter problemas de funcionamento no SO se eu mover o >> /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl >> (uma vez que as shebang dos scripts costuma ter este endereço). Colocar >> simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. >> >> >> O CPAN só está instalado na versão do Rocks, o que me motiva mais a >> deixá-lo como default. >> Como a maioria dos usuários não terão privilégios de root e além disso, >> qualquer instalação no sistema operacional tem que ser espelhada para todos >> os nós, a melhor opção para instalar pacotes é na home dos usuários, >> concordam? Então eu quero deixar tudo o mais fácil possível para que os >> usuários instalem os pacotes desejados. Como não teremos acesso direto à >> internet usei o minicpan para criar um mirror em uma pasta compartilhada >> com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo >> ok. >> Agora esbarrei em um problema que não estou achando resposta fácil. >> >> Quando executo o cpan pela primeira vez como usuário comum, da forma >> mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e >> toda a estrutura de diretórios no home do usuário. Ele executa quase tudo >> com perfeição, substituindo o endereço default pelo do usuário em QUASE >> todos os itens, menos em prefs_dir. >> >> [hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm >> 'build_dir' => q[/home/hpcst06/.cpan/build], >> 'cpan_home' => q[/home/hpcst06/.cpan], >> 'histfile' => q[/home/hpcst06/.cpan/histfile], >> 'keep_source_where' => q[/home/hpcst06/.cpan/sources], >> 'prefs_dir' => q[/export/cpan/cpan/prefs], >> >> >> (O default cpan_home é /export/cpan/cpan ) >> [hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm >> 'build_dir' => q[/export/cpan/cpan/build], >> 'cpan_home' => q[/export/cpan/cpan], >> 'histfile' => q[/export/cpan/cpan/histfile], >> 'keep_source_where' => q[/export/cpan/cpan/sources], >> 'prefs_dir' => q[/export/cpan/cpan/prefs], >> >> >> Claro que o usuário pode executar >> >o conf prefs_dir /home/hpcst06/.cpan/prefs >> para alterar esta variável, mas concordam que deveria ter sido >> automático. >> Alguém já passou por isto? >> >> Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me >> chamasse a atenção. >> Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. >> >> >> - Tendo corrigido manualmente o prefs_dir, segui tentando instalar >> localmente algum pacote. >> Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei >> entender o que os tutoriais na internet e fiquei perdida. Devo usar direto >> o cpan? (já que na configuração ele me pergunta se eu quero que use >> local::lib) >> What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') >> [local::lib] >> Ou devo usar sempre >> $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' >> ? >> (tudo bem, posso colocar esta linha no tutorial, vai assustar os >> usuários, mas funciona) >> >> >> - Rodando >> [hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e >> 'CPAN::install(Acme::Time::Baby)' >> >> - deu tudo certo. >> [...] >> Result: PASS >> ABIGAIL/Acme-Time-Baby-2010090301.tar.gz >> /usr/bin/make test -- OK >> Running make install >> Prepending >> /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch >> /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to >> PERL5LIB for 'install' >> Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm >> Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 >> Appending installation info to >> /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod >> ABIGAIL/Acme-Time-Baby-2010090301.tar.gz >> /usr/bin/make install -- OK >> >> >> - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma >> estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. >> >> Test Summary Report >> ------------------- >> t/05-obj.t (Wstat: 512 Tests: 0 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/06-obj2.t (Wstat: 512 Tests: 0 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/07-sort.t (Wstat: 512 Tests: 1 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/25-weak.t (Wstat: 512 Tests: 8 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> Files=54, Tests=258, 4 wallclock secs ( 0.19 usr 0.09 sys + 2.82 cusr >> 0.40 csys = 3.50 CPU) >> Result: FAIL >> Failed 4/54 test programs. 0/258 subtests failed. >> make: *** [test_dynamic] Error 255 >> GARU/Data-Printer-0.35.tar.gz >> /usr/bin/make test -- NOT OK >> //hint// to see the cpan-testers results for installing this module, try: >> reports GARU/Data-Printer-0.35.tar.gz >> Running make install >> make test had returned bad status, won't install without force >> >> >> >> Desculpem a postagem tão longa. Acabei até solucionando algumas outras >> dúvidas enquanto tentava descrevê-las aqui. >> >> Abraços a todos, >> Nicole Scherer >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From bionica2007-perl em yahoo.com Thu Jan 30 07:33:50 2014 From: bionica2007-perl em yahoo.com (Nicole Scherer) Date: Thu, 30 Jan 2014 07:33:50 -0800 (PST) Subject: [Rio-pm] =?iso-8859-1?q?Configura=E7=E3o_de_usu=E1rio_n=E3o_root_?= =?iso-8859-1?q?no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= In-Reply-To: References: <1391085397.80468.YahooMailNeo@web120401.mail.ne1.yahoo.com> <1391088289.6531.YahooMailNeo@web120406.mail.ne1.yahoo.com> Message-ID: <1391096030.71213.YahooMailNeo@web120404.mail.ne1.yahoo.com> Oi Blabos, Pelo que entendi, o perlbrew (que deve ser fabuloso) cuida de novas instalações, tanto locais, quando no sistema, caso seja de interesse do admin. No meu caso específico, já tenho uma outra versão de perl, instalada pelo Rocks em /opt/perl e disponível para todos os nós do cluster. Esse "Perl Roll" já vem com alguns módulos especiais para cluster e para bioinformática, e também vem com o CPAN, que o do sistema não vem. O meu objetivo é preparar o cluster de tal forma, que os usuários possam utilizar esta versão bombada do Perl sem ter que brigar comigo :-) Minha primeira ideia era colocar o /opt/perl/bin no início do $PATH de todo mundo, forçando para ser o perl padrão, mas fiquei com receio de que algum programa do sistema RHEL6 dependesse da instalação do fabricante. Estou nesse dilema porque é uma máquina de uso compartilhado. Tenho receio de colocar no $PATH e o usuário ter problemas porque os scripts que usa tem shebang #!/usr/bin/perl e sejam chamados como executáveis. (Em bioinfomática usamos muitos scripts feitos por terceiros). Claro que se o usuário quiser usar o perlbrew, ele pode, mas não poderá usar o curl para fazer isto, pois a máquina está configurada para não acessar a internet. Para o CPAN criei um mirror local. Sei lá, devo estar fazendo tempestade em copo d'água. Tenho é que deixar tudo isso bem claro no guia do usuário e deixar que eles decidam. Obrigada!!! Nicole Em Quinta-feira, 30 de Janeiro de 2014 12:12, Blabos de Blebe escreveu: Pessoal, O perlbrew não ajudaria não? Porque ele já cuida automagicamente de toda a complicação. Seriam apenas os comandos: $ curl -L http://install.perlbrew.pl | bash $ echo "source ~/perl5/perlbrew/etc/bashrc" >> .bashrc $ perlbrew install perl-5.18.2 $ perlbrew switch perl-5.18.2 $ perlbrew install-cpanm $ cpanm My::Incredible::Module []'s 2014-01-30 Stanislaw Pusep Isso mesmo; na primeira vez em que "perl -Mlocal::lib" roda ele cria os diretórios necessários. Se salvar as variáveis de ambiente, não precisa rodar nunca mais. >Entretanto, as variáveis serão diferentes para cada usuário. Para melhorar a automação, basta colocar no final do /etc/profile (sim, o do sistema): "eval $(perl -Mlocal::lib)". Desse jeito os usuários automagicamente terão local::lib configurado ao fazer o login :) > > > >2014-01-30 Nicole Scherer > > >Obrigada, Stanislaw! >> >>Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez que for instalar novos pacotes? Com as variáveis de ambiente definidas ainda preciso do local::lib? >> >>Abraços, >>Nicole >> >> >> >> >> >> >> >>Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep escreveu: >> >>Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o Perl do seu /opt/perl já tiver local::lib instalado como root, não precisa dessa etapa. >>O que acontece se você rodar "perl -Mlocal::lib"? >>Aqui, por exemplo, aparece: >> >> >>PATH="/Users/stas/perl5/bin${PATH+:}$PATH"; >>export PATH; >>PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB"; >>export PERL5LIB; >>PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT"; >>export PERL_LOCAL_LIB_ROOT; >>PERL_MB_OPT="--install_base \"/Users/stas/perl5\""; >>export PERL_MB_OPT; >>PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5"; >>export PERL_MM_OPT; >> >> >>Se você colar o output produzido no seu sistema para o .bashrc/.profile, o Perl "se sentirá em casa" no $HOME :) >>O cpanminus é opcional; única coisa absolutamente necessária é que "perl -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib" diz. >> >> >> >>2014-01-30 Nicole Scherer >> >>Obrigada Stanislaw e Aureliano! >>> >>>Aureliano, a bioinformática está tomada por mulheres :-) Já foste no X-Meeting? >>> >>>Stanislaw, >>> >>>como gestora do cluster, meu objetivo é deixar para o usuário o sistema pronto para que ele possa instalar seus módulos localmente sem ter que fazer acrobacias. Eu já instalei o local::lib no sistema como root, então não seria necessário que o usuário instalasse novamente, correto? Ou ele precisaria fazer sua própria instalação? >>> >>>Quando o usuário faz sua primeira incursão no cpan e realiza a configuração, aparece a seguinte mensagem: >>> >>>--------------------------------------------------------------------------------------------------------------- >>>local::lib is installed. You must now add the following environment variables >>>to your shell configuration files (or registry, if you are on Windows) and >>>then restart your command line shell and CPAN before installing modules: >>> >>> >>>Would you like me to append that to /home/hpcst06/.bashrc now? [yes] >>> >>>--------------------------------------------------------------------------------------------------------------- >>> >>>Porém, como podes ver, o "following environment variables" está vazio e nenhuma modificação é feita no .bashrc >>> >>>Esta etapa é que deveria definir as tais variáveis de ambiente. Não entendo por que não está funcionando. >>>Desta forma, a única solução seria mesmo acrescentar estas linhas ao .profile a força. >>> >>>Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso seja demais, não? >>> >>>Qual o objetivo de instalar o App::cpanminus? >>>A partir daí o usuário deve usar cpanm ao invés de cpan? >>> >>>Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só instalei no frontend), pode dar problema na hora de executar os programas em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na configuração do ambiente local, não é usado na execução dos módulos, certo? O home do usuário é montado em cada nó durante a execução, então o perl vai executar com as variáveis de ambiente já definidas pelo usuário, então não vai precisar executar o local::lib, certo? >>> >>> >>>Obrigada pela ajuda! >>> >>> >>>Abraços, >>>Nicole >>> >>> >>> >>> >>>Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes escreveu: >>> >>>Caraca. Complexo. >>>O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. >>>Hello colega bioinformata. >>> >>>Stanislaw Pusep escreveu: >>> >>> >>>Olá Nicole! >>>Já passei por situação semelhante à sua, quando não podia atualizar o Perl default do sistema e a opção foi instalar um Perl mais atualizado avulso no /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: >>> >>> >>>1. export PATH=/usr/local/bin:$PATH >>> >>> >>>2. Os shebangs de todos os scripts executáveis do projeto foram modificados de: >>> >>> >>>#!/usr/bin/perl >>> >>> >>>para: >>> >>> >>>#!/usr/bin/env perl >>> >>> >>>3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib requer uma intervenção do .profile do sistema, para inicializar o environment apropriadamente. Seguem os passos para instalar o local::lib dessa forma. >>> >>> >>>3.1. Download do local::lib: >>> >>> >>>$ wget http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz >>>$ tar xzvf local-lib-2.000004.tar.gz >>>$ cd local-lib-2.000004/ >>> >>> >>>3.2. Instalação do local::lib: >>> >>> >>>$ perl Makefile.PL --bootstrap=$HOME/perl5 >>>$ make >>>$ make test >>>$ make install >>> >>> >>>3.3. Ativando local::lib na inicialização da shell (Bash): >>> >>> >>>$ cat << PROFILE >> $HOME/.profile >>>eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) >>>PROFILE >>>$ >>> >>> >>>A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl buscar instalação dos módulos em um lugar específico ($HOME). Pode simplesmente colar essas variáveis direto no .profile, ou (como demonstrado acima) rodar eval do output do Perl. >>> >>> >>>3.4. Carregar a configuração: >>> >>> >>>. $HOME/.profile >>> >>> >>>3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa configuração faz as dependências serem instaladas automaticamente): >>> >>> >>>$ cpan >>> >>> >>>cpan[1]> o conf prerequisites_policy follow >>>cpan[2]> o conf commit >>>cpan[3]> install App::cpanminus >>>cpan[4]> quit >>> >>> >>>Boa sorte! >>> >>> >>> >>>2014-01-29 Nicole Scherer >>> >>>Boa tarde, queridos Mongers, >>>> >>>> >>>>eu não queria importuná-los com problemas simples, mas após três dias batendo a cabeça e vasculhando fóruns na internet sem solução para algumas das perguntas, recorro a vocês. Vou tentar explicar a novela. >>>> >>>> >>>>Montamos um cluster HPC para pesquisa usando o Rocks 6.1 (http://www.rocksclusters.org/) -- um tipo de linux que instala outro linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as vezes coexistem com os binários do SO. Desta forma, tenho duas versões de Perl: >>>> >>>> >>>>- a do sistema (RHEL6): >>>> >>>>$ /usr/bin/perl -v >>>>This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi >>>> >>>> >>>> >>>>- e a do Rocks: >>>>$ /opt/perl/bin/perl -v >>>>This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-thread-multi >>>> >>>> >>>>Cada qual com as suas bibliotecas. >>>> >>>>  @INC: >>>>    /usr/local/lib64/perl5 >>>>    /usr/local/share/perl5 >>>>    /usr/lib64/perl5/vendor_perl >>>>    /usr/share/perl5/vendor_perl >>>>    /usr/lib64/perl5 >>>>    /usr/share/perl5 >>>>    . >>>>  @INC: >>>>    /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi >>>>    /opt/perl/lib/site_perl/5.14.2 >>>>    /opt/perl/lib/5.14.2/x86_64-linux-thread-multi >>>>    /opt/perl/lib/5.14.2 >>>>    . >>>> >>>> >>>> >>>> >>>> >>>>Agora é que começam meus problemas... >>>> >>>> >>>>Primeiro: Alguém já teve experiência com duas instalações coexistentes de Perl? Posso ter problemas de funcionamento no SO se eu mover  o /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl  (uma vez que as shebang dos scripts costuma ter este endereço). Colocar simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. >>>> >>>> >>>> >>>> >>>>O CPAN só está instalado na versão do Rocks, o que me motiva mais a deixá-lo como default. >>>>Como a maioria dos usuários não terão privilégios de root e além disso, qualquer instalação no sistema operacional tem que ser espelhada para todos os nós, a melhor opção para instalar pacotes é na home dos usuários, concordam? Então eu quero deixar tudo o mais fácil possível para que os usuários instalem os pacotes desejados. Como não teremos acesso direto à internet usei o minicpan para criar um mirror em uma pasta compartilhada com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo ok. >>>> >>>>Agora esbarrei em um problema que não estou achando resposta fácil. >>>> >>>> >>>>Quando executo o cpan pela primeira vez como usuário comum, da forma mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e toda a estrutura de diretórios no home do usuário. Ele executa quase tudo com perfeição, substituindo o endereço default pelo do usuário em QUASE todos os itens, menos em prefs_dir. >>>> >>>> >>>> >>>>[hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm >>>>  'build_dir' => q[/home/hpcst06/.cpan/build], >>>>  'cpan_home' => q[/home/hpcst06/.cpan], >>>>  'histfile' => q[/home/hpcst06/.cpan/histfile], >>>>  'keep_source_where' => q[/home/hpcst06/.cpan/sources], >>>>  'prefs_dir' => q[/export/cpan/cpan/prefs], >>>> >>>> >>>>(O default cpan_home é /export/cpan/cpan ) >>>>[hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm >>>>  'build_dir' => q[/export/cpan/cpan/build], >>>>  'cpan_home' => q[/export/cpan/cpan], >>>>  'histfile' => q[/export/cpan/cpan/histfile], >>>>  'keep_source_where' => q[/export/cpan/cpan/sources], >>>>  'prefs_dir' => q[/export/cpan/cpan/prefs], >>>> >>>> >>>> >>>>Claro que o usuário pode executar >>>>>o conf prefs_dir /home/hpcst06/.cpan/prefs >>>>para alterar esta variável, mas concordam que deveria ter sido automático. >>>>Alguém já passou por isto? >>>> >>>> >>>>Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me chamasse a atenção. >>>> Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. >>>> >>>> >>>>- Tendo corrigido manualmente o prefs_dir, segui tentando instalar localmente algum pacote. >>>>Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei entender o que os tutoriais na internet e fiquei perdida. Devo usar direto o cpan? (já que na configuração ele me pergunta se eu quero que use local::lib) >>>>What approach do you want?  (Choose 'local::lib', 'sudo' or 'manual') >>>> [local::lib] >>>>Ou devo usar sempre >>>>$ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' >>>>? >>>>(tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, mas funciona) >>>> >>>> >>>> >>>> >>>> >>>>- Rodando >>>>[hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' >>>> >>>>- deu tudo certo. >>>>[...] >>>>Result: PASS >>>>  ABIGAIL/Acme-Time-Baby-2010090301.tar.gz >>>>  /usr/bin/make test -- OK >>>>Running make install >>>>Prepending /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to PERL5LIB for 'install' >>>>Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm >>>>Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 >>>>Appending installation info to /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod >>>>  ABIGAIL/Acme-Time-Baby-2010090301.tar.gz >>>>  /usr/bin/make install  -- OK >>>> >>>> >>>> >>>> >>>> >>>>- Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. >>>> >>>> >>>>Test Summary Report >>>>------------------- >>>>t/05-obj.t                (Wstat: 512 Tests: 0 Failed: 0) >>>>  Non-zero exit status: 2 >>>>  Parse errors: No plan found in TAP output >>>>t/06-obj2.t               (Wstat: 512 Tests: 0 Failed: 0) >>>>  Non-zero exit status: 2 >>>>  Parse errors: No plan found in TAP output >>>>t/07-sort.t               (Wstat: 512 Tests: 1 Failed: 0) >>>>  Non-zero exit status: 2 >>>>  Parse errors: No plan found in TAP output >>>>t/25-weak.t               (Wstat: 512 Tests: 8 Failed: 0) >>>>  Non-zero exit status: 2 >>>>  Parse errors: No plan found in TAP output >>>>Files=54, Tests=258,  4 wallclock secs ( 0.19 usr  0.09 sys +  2.82 cusr  0.40 csys =  3.50 CPU) >>>>Result: FAIL >>>>Failed 4/54 test programs. 0/258 subtests failed. >>>>make: *** [test_dynamic] Error 255 >>>>  GARU/Data-Printer-0.35.tar.gz >>>>  /usr/bin/make test -- NOT OK >>>>//hint// to see the cpan-testers results for installing this module, try: >>>>  reports GARU/Data-Printer-0.35.tar.gz >>>>Running make install >>>>  make test had returned bad status, won't install without force >>>> >>>> >>>> >>>> >>>>Desculpem a postagem tão longa. Acabei até solucionando algumas outras dúvidas enquanto tentava descrevê-las aqui. >>>> >>>>Abraços a todos, >>>>Nicole Scherer >>>> >>>> >>>> >>>> >>>> >>>>_______________________________________________ >>>>Rio-pm mailing list >>>>Rio-pm em pm.org >>>>http://mail.pm.org/mailman/listinfo/rio-pm >>>> >>> >>> >>>_______________________________________________ >>>Rio-pm mailing list >>>Rio-pm em pm.org >>>http://mail.pm.org/mailman/listinfo/rio-pm >>> >>>_______________________________________________ >>>Rio-pm mailing list >>>Rio-pm em pm.org >>>http://mail.pm.org/mailman/listinfo/rio-pm >>> >>> >>>_______________________________________________ >>>Rio-pm mailing list >>>Rio-pm em pm.org >>>http://mail.pm.org/mailman/listinfo/rio-pm >>> >> >> >> >>_______________________________________________ >>Rio-pm mailing list >>Rio-pm em pm.org >>http://mail.pm.org/mailman/listinfo/rio-pm >> > >_______________________________________________ >Rio-pm mailing list >Rio-pm em pm.org >http://mail.pm.org/mailman/listinfo/rio-pm > _______________________________________________ Rio-pm mailing list Rio-pm em pm.org http://mail.pm.org/mailman/listinfo/rio-pm -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From tiago.peczenyj em gmail.com Thu Jan 30 07:43:29 2014 From: tiago.peczenyj em gmail.com (Tiago Peczenyj) Date: Thu, 30 Jan 2014 13:43:29 -0200 Subject: [Rio-pm] =?iso-8859-1?q?Configura=E7=E3o_de_usu=E1rio_n=E3o_root_?= =?iso-8859-1?q?no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= In-Reply-To: <1391096030.71213.YahooMailNeo@web120404.mail.ne1.yahoo.com> References: <1391085397.80468.YahooMailNeo@web120401.mail.ne1.yahoo.com> <1391088289.6531.YahooMailNeo@web120406.mail.ne1.yahoo.com> <1391096030.71213.YahooMailNeo@web120404.mail.ne1.yahoo.com> Message-ID: eu não gosto de alterar o perl do sistema. mas posso estar sendo paranoico. 2014-01-30 Nicole Scherer > Oi Blabos, > > Pelo que entendi, o perlbrew (que deve ser fabuloso) cuida de novas > instalações, tanto locais, quando no sistema, caso seja de interesse do > admin. > No meu caso específico, já tenho uma outra versão de perl, instalada pelo > Rocks em /opt/perl e disponível para todos os nós do cluster. Esse "Perl > Roll" já vem com alguns módulos especiais para cluster e para > bioinformática, e também vem com o CPAN, que o do sistema não vem. O meu > objetivo é preparar o cluster de tal forma, que os usuários possam utilizar > esta versão bombada do Perl sem ter que brigar comigo :-) > Minha primeira ideia era colocar o /opt/perl/bin no início do $PATH de > todo mundo, forçando para ser o perl padrão, mas fiquei com receio de que > algum programa do sistema RHEL6 dependesse da instalação do fabricante. > Estou nesse dilema porque é uma máquina de uso compartilhado. Tenho receio > de colocar no $PATH e o usuário ter problemas porque os scripts que usa tem > shebang #!/usr/bin/perl e sejam chamados como executáveis. (Em > bioinfomática usamos muitos scripts feitos por terceiros). > Claro que se o usuário quiser usar o perlbrew, ele pode, mas não poderá > usar o curl para fazer isto, pois a máquina está configurada para não > acessar a internet. Para o CPAN criei um mirror local. > > Sei lá, devo estar fazendo tempestade em copo d'água. Tenho é que deixar > tudo isso bem claro no guia do usuário e deixar que eles decidam. > > Obrigada!!! > Nicole > > > > Em Quinta-feira, 30 de Janeiro de 2014 12:12, Blabos de Blebe < > blabos em gmail.com> escreveu: > Pessoal, > > O perlbrew não ajudaria não? > > Porque ele já cuida automagicamente de toda a complicação. > > Seriam apenas os comandos: > > $ curl -L http://install.perlbrew.pl | bash > $ echo "source ~/perl5/perlbrew/etc/bashrc" >> .bashrc > $ perlbrew install perl-5.18.2 > $ perlbrew switch perl-5.18.2 > $ perlbrew install-cpanm > $ cpanm My::Incredible::Module > > > []'s > > > > > > 2014-01-30 Stanislaw Pusep > > Isso mesmo; na primeira vez em que "perl -Mlocal::lib" roda ele cria os > diretórios necessários. Se salvar as variáveis de ambiente, não precisa > rodar nunca mais. > Entretanto, as variáveis serão diferentes para cada usuário. Para melhorar > a automação, basta colocar no final do /etc/profile (sim, o do sistema): > "eval $(perl -Mlocal::lib)". Desse jeito os usuários automagicamente terão > local::lib configurado ao fazer o login :) > > > 2014-01-30 Nicole Scherer > > Obrigada, Stanislaw! > > Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e > colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele > nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez > que for instalar novos pacotes? Com as variáveis de ambiente definidas > ainda preciso do local::lib? > > Abraços, > Nicole > > > > > Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep < > creaktive em gmail.com> escreveu: > Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o Perl > do seu /opt/perl já tiver local::lib instalado como root, não precisa dessa > etapa. > O que acontece se você rodar "perl -Mlocal::lib"? > Aqui, por exemplo, aparece: > > PATH="/Users/stas/perl5/bin${PATH+:}$PATH"; > export PATH; > PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB"; > export PERL5LIB; > > PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT"; > export PERL_LOCAL_LIB_ROOT; > PERL_MB_OPT="--install_base \"/Users/stas/perl5\""; > export PERL_MB_OPT; > PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5"; > export PERL_MM_OPT; > > Se você colar o output produzido no seu sistema para o .bashrc/.profile, o > Perl "se sentirá em casa" no $HOME :) > O cpanminus é opcional; única coisa absolutamente necessária é que "perl > -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as > variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib" > diz. > > > 2014-01-30 Nicole Scherer > > Obrigada Stanislaw e Aureliano! > > Aureliano, a bioinformática está tomada por mulheres :-) Já foste no > X-Meeting? > > Stanislaw, > > como gestora do cluster, meu objetivo é deixar para o usuário o sistema > pronto para que ele possa instalar seus módulos localmente sem ter que > fazer acrobacias. Eu já instalei o local::lib no sistema como root, então > não seria necessário que o usuário instalasse novamente, correto? Ou ele > precisaria fazer sua própria instalação? > > Quando o usuário faz sua primeira incursão no cpan e realiza a > configuração, aparece a seguinte mensagem: > > > --------------------------------------------------------------------------------------------------------------- > local::lib is installed. You must now add the following environment > variables > to your shell configuration files (or registry, if you are on Windows) and > then restart your command line shell and CPAN before installing modules: > > > Would you like me to append that to /home/hpcst06/.bashrc now? [yes] > > > --------------------------------------------------------------------------------------------------------------- > > Porém, como podes ver, o "following environment variables" está vazio e > nenhuma modificação é feita no .bashrc > > Esta etapa é que deveria definir as tais variáveis de ambiente. Não > entendo por que não está funcionando. > Desta forma, a única solução seria mesmo acrescentar estas linhas ao > .profile a força. > > Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan > e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso > seja demais, não? > > Qual o objetivo de instalar o App::cpanminus? > A partir daí o usuário deve usar cpanm ao invés de cpan? > > Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só > instalei no frontend), pode dar problema na hora de executar os programas > em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na > configuração do ambiente local, não é usado na execução dos módulos, certo? > O home do usuário é montado em cada nó durante a execução, então o perl vai > executar com as variáveis de ambiente já definidas pelo usuário, então não > vai precisar executar o local::lib, certo? > > > Obrigada pela ajuda! > > > Abraços, > Nicole > > > Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes < > guedes_1000 em hotmail.com> escreveu: > Caraca. Complexo. > O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. > Hello colega bioinformata. > > Stanislaw Pusep escreveu: > > Olá Nicole! > Já passei por situação semelhante à sua, quando não podia atualizar o Perl > default do sistema e a opção foi instalar um Perl mais atualizado avulso no > /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: > > 1. export PATH=/usr/local/bin:$PATH > > 2. Os shebangs de todos os scripts executáveis do projeto foram > modificados de: > > #!/usr/bin/perl > > para: > > #!/usr/bin/env perl > > 3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib > requer uma intervenção do .profile do sistema, para inicializar o > environment apropriadamente. Seguem os passos para instalar o local::lib > dessa forma. > > 3.1. Download do local::lib: > > $ wget > http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz > $ tar xzvf local-lib-2.000004.tar.gz > $ cd local-lib-2.000004/ > > 3.2. Instalação do local::lib: > > $ perl Makefile.PL --bootstrap=$HOME/perl5 > $ make > $ make test > $ make install > > 3.3. Ativando local::lib na inicialização da shell (Bash): > > $ cat << PROFILE >> $HOME/.profile > eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) > PROFILE > $ > > A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" > retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl > buscar instalação dos módulos em um lugar específico ($HOME). Pode > simplesmente colar essas variáveis direto no .profile, ou (como demonstrado > acima) rodar eval do output do Perl. > > 3.4. Carregar a configuração: > > . $HOME/.profile > > 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa > configuração faz as dependências serem instaladas automaticamente): > > $ cpan > > cpan[1]> o conf prerequisites_policy follow > cpan[2]> o conf commit > cpan[3]> install App::cpanminus > cpan[4]> quit > > Boa sorte! > > > 2014-01-29 Nicole Scherer > > Boa tarde, queridos Mongers, > > eu não queria importuná-los com problemas simples, mas após três dias > batendo a cabeça e vasculhando fóruns na internet sem solução para algumas > das perguntas, recorro a vocês. Vou tentar explicar a novela. > > Montamos um cluster HPC para pesquisa usando o Rocks 6.1 ( > http://www.rocksclusters.org/) -- um tipo de linux que instala outro > linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, > mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO > (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, > Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as > vezes coexistem com os binários do SO. Desta forma, tenho duas versões de > Perl: > > - a do sistema (RHEL6): > $ /usr/bin/perl -v > This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi > > - e a do Rocks: > $ /opt/perl/bin/perl -v > This is perl 5, version 14, subversion 2 (v5.14.2) built for > x86_64-linux-thread-multi > > Cada qual com as suas bibliotecas. > > @INC: > /usr/local/lib64/perl5 > /usr/local/share/perl5 > /usr/lib64/perl5/vendor_perl > /usr/share/perl5/vendor_perl > /usr/lib64/perl5 > /usr/share/perl5 > . > @INC: > /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/site_perl/5.14.2 > /opt/perl/lib/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/5.14.2 > . > > > Agora é que começam meus problemas... > > Primeiro: Alguém já teve experiência com duas instalações coexistentes > de Perl? Posso ter problemas de funcionamento no SO se eu mover o > /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl > (uma vez que as shebang dos scripts costuma ter este endereço). Colocar > simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. > > > O CPAN só está instalado na versão do Rocks, o que me motiva mais a > deixá-lo como default. > Como a maioria dos usuários não terão privilégios de root e além disso, > qualquer instalação no sistema operacional tem que ser espelhada para todos > os nós, a melhor opção para instalar pacotes é na home dos usuários, > concordam? Então eu quero deixar tudo o mais fácil possível para que os > usuários instalem os pacotes desejados. Como não teremos acesso direto à > internet usei o minicpan para criar um mirror em uma pasta compartilhada > com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo > ok. > Agora esbarrei em um problema que não estou achando resposta fácil. > > Quando executo o cpan pela primeira vez como usuário comum, da forma > mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e > toda a estrutura de diretórios no home do usuário. Ele executa quase tudo > com perfeição, substituindo o endereço default pelo do usuário em QUASE > todos os itens, menos em prefs_dir. > > [hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm > 'build_dir' => q[/home/hpcst06/.cpan/build], > 'cpan_home' => q[/home/hpcst06/.cpan], > 'histfile' => q[/home/hpcst06/.cpan/histfile], > 'keep_source_where' => q[/home/hpcst06/.cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > (O default cpan_home é /export/cpan/cpan ) > [hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm > 'build_dir' => q[/export/cpan/cpan/build], > 'cpan_home' => q[/export/cpan/cpan], > 'histfile' => q[/export/cpan/cpan/histfile], > 'keep_source_where' => q[/export/cpan/cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > Claro que o usuário pode executar > >o conf prefs_dir /home/hpcst06/.cpan/prefs > para alterar esta variável, mas concordam que deveria ter sido automático. > Alguém já passou por isto? > > Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me > chamasse a atenção. > Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. > > > - Tendo corrigido manualmente o prefs_dir, segui tentando instalar > localmente algum pacote. > Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei > entender o que os tutoriais na internet e fiquei perdida. Devo usar direto > o cpan? (já que na configuração ele me pergunta se eu quero que use > local::lib) > What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') > [local::lib] > Ou devo usar sempre > $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' > ? > (tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, > mas funciona) > > > - Rodando > [hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e > 'CPAN::install(Acme::Time::Baby)' > > - deu tudo certo. > [...] > Result: PASS > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make test -- OK > Running make install > Prepending > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to > PERL5LIB for 'install' > Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm > Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 > Appending installation info to > /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make install -- OK > > > - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma > estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. > > Test Summary Report > ------------------- > t/05-obj.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/06-obj2.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/07-sort.t (Wstat: 512 Tests: 1 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/25-weak.t (Wstat: 512 Tests: 8 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > Files=54, Tests=258, 4 wallclock secs ( 0.19 usr 0.09 sys + 2.82 cusr > 0.40 csys = 3.50 CPU) > Result: FAIL > Failed 4/54 test programs. 0/258 subtests failed. > make: *** [test_dynamic] Error 255 > GARU/Data-Printer-0.35.tar.gz > /usr/bin/make test -- NOT OK > //hint// to see the cpan-testers results for installing this module, try: > reports GARU/Data-Printer-0.35.tar.gz > Running make install > make test had returned bad status, won't install without force > > > > Desculpem a postagem tão longa. Acabei até solucionando algumas outras > dúvidas enquanto tentava descrevê-las aqui. > > Abraços a todos, > Nicole Scherer > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- Tiago B. Peczenyj Linux User #405772 http://about.me/peczenyj -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From guedes_1000 em hotmail.com Thu Jan 30 09:12:37 2014 From: guedes_1000 em hotmail.com (Aureliano Guedes) Date: Thu, 30 Jan 2014 15:12:37 -0200 Subject: [Rio-pm] =?iso-8859-1?q?Configura=E7=E3o_de_usu=E1rio_n=E3o_root_?= =?iso-8859-1?q?no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= Message-ID: Nicole, nunca fui no x-meeting, mas gostaria. Agora se voce fala que a bioinfo esta lotada de mulher, amem senhor, mande umas pra goiania. Hahaha. Eu tbm sou paranoico quanto a modificar o perl do sistema. Eu prefiro o perlbrew. Apesar de que 2 de 5 vezes que configurei o perlbrew deu problema. Mas essa taxa da erro de configuracai do perlbrew de 40% e compativel com minha taxa de erros por falta da atencao na hora de programar. Tiago Peczenyj escreveu: eu não gosto de alterar o perl do sistema. mas posso estar sendo paranoico. 2014-01-30 Nicole Scherer > Oi Blabos, > > Pelo que entendi, o perlbrew (que deve ser fabuloso) cuida de novas > instalações, tanto locais, quando no sistema, caso seja de interesse do > admin. > No meu caso específico, já tenho uma outra versão de perl, instalada pelo > Rocks em /opt/perl e disponível para todos os nós do cluster. Esse "Perl > Roll" já vem com alguns módulos especiais para cluster e para > bioinformática, e também vem com o CPAN, que o do sistema não vem. O meu > objetivo é preparar o cluster de tal forma, que os usuários possam utilizar > esta versão bombada do Perl sem ter que brigar comigo :-) > Minha primeira ideia era colocar o /opt/perl/bin no início do $PATH de > todo mundo, forçando para ser o perl padrão, mas fiquei com receio de que > algum programa do sistema RHEL6 dependesse da instalação do fabricante. > Estou nesse dilema porque é uma máquina de uso compartilhado. Tenho receio > de colocar no $PATH e o usuário ter problemas porque os scripts que usa tem > shebang #!/usr/bin/perl e sejam chamados como executáveis. (Em > bioinfomática usamos muitos scripts feitos por terceiros). > Claro que se o usuário quiser usar o perlbrew, ele pode, mas não poderá > usar o curl para fazer isto, pois a máquina está configurada para não > acessar a internet. Para o CPAN criei um mirror local. > > Sei lá, devo estar fazendo tempestade em copo d'água. Tenho é que deixar > tudo isso bem claro no guia do usuário e deixar que eles decidam. > > Obrigada!!! > Nicole > > > > Em Quinta-feira, 30 de Janeiro de 2014 12:12, Blabos de Blebe < > blabos em gmail.com> escreveu: > Pessoal, > > O perlbrew não ajudaria não? > > Porque ele já cuida automagicamente de toda a complicação. > > Seriam apenas os comandos: > > $ curl -L http://install.perlbrew.pl | bash > $ echo "source ~/perl5/perlbrew/etc/bashrc" >> .bashrc > $ perlbrew install perl-5.18.2 > $ perlbrew switch perl-5.18.2 > $ perlbrew install-cpanm > $ cpanm My::Incredible::Module > > > []'s > > > > > > 2014-01-30 Stanislaw Pusep > > Isso mesmo; na primeira vez em que "perl -Mlocal::lib" roda ele cria os > diretórios necessários. Se salvar as variáveis de ambiente, não precisa > rodar nunca mais. > Entretanto, as variáveis serão diferentes para cada usuário. Para melhorar > a automação, basta colocar no final do /etc/profile (sim, o do sistema): > "eval $(perl -Mlocal::lib)". Desse jeito os usuários automagicamente terão > local::lib configurado ao fazer o login :) > > > 2014-01-30 Nicole Scherer > > Obrigada, Stanislaw! > > Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e > colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele > nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez > que for instalar novos pacotes? Com as variáveis de ambiente definidas > ainda preciso do local::lib? > > Abraços, > Nicole > > > > > Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep < > creaktive em gmail.com> escreveu: > Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o Perl > do seu /opt/perl já tiver local::lib instalado como root, não precisa dessa > etapa. > O que acontece se você rodar "perl -Mlocal::lib"? > Aqui, por exemplo, aparece: > > PATH="/Users/stas/perl5/bin${PATH+:}$PATH"; > export PATH; > PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB"; > export PERL5LIB; > > PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT"; > export PERL_LOCAL_LIB_ROOT; > PERL_MB_OPT="--install_base \"/Users/stas/perl5\""; > export PERL_MB_OPT; > PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5"; > export PERL_MM_OPT; > > Se você colar o output produzido no seu sistema para o .bashrc/.profile, o > Perl "se sentirá em casa" no $HOME :) > O cpanminus é opcional; única coisa absolutamente necessária é que "perl > -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as > variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib" > diz. > > > 2014-01-30 Nicole Scherer > > Obrigada Stanislaw e Aureliano! > > Aureliano, a bioinformática está tomada por mulheres :-) Já foste no > X-Meeting? > > Stanislaw, > > como gestora do cluster, meu objetivo é deixar para o usuário o sistema > pronto para que ele possa instalar seus módulos localmente sem ter que > fazer acrobacias. Eu já instalei o local::lib no sistema como root, então > não seria necessário que o usuário instalasse novamente, correto? Ou ele > precisaria fazer sua própria instalação? > > Quando o usuário faz sua primeira incursão no cpan e realiza a > configuração, aparece a seguinte mensagem: > > > --------------------------------------------------------------------------------------------------------------- > local::lib is installed. You must now add the following environment > variables > to your shell configuration files (or registry, if you are on Windows) and > then restart your command line shell and CPAN before installing modules: > > > Would you like me to append that to /home/hpcst06/.bashrc now? [yes] > > > --------------------------------------------------------------------------------------------------------------- > > Porém, como podes ver, o "following environment variables" está vazio e > nenhuma modificação é feita no .bashrc > > Esta etapa é que deveria definir as tais variáveis de ambiente. Não > entendo por que não está funcionando. > Desta forma, a única solução seria mesmo acrescentar estas linhas ao > .profile a força. > > Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan > e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso > seja demais, não? > > Qual o objetivo de instalar o App::cpanminus? > A partir daí o usuário deve usar cpanm ao invés de cpan? > > Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só > instalei no frontend), pode dar problema na hora de executar os programas > em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na > configuração do ambiente local, não é usado na execução dos módulos, certo? > O home do usuário é montado em cada nó durante a execução, então o perl vai > executar com as variáveis de ambiente já definidas pelo usuário, então não > vai precisar executar o local::lib, certo? > > > Obrigada pela ajuda! > > > Abraços, > Nicole > > > Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes < > guedes_1000 em hotmail.com> escreveu: > Caraca. Complexo. > O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. > Hello colega bioinformata. > > Stanislaw Pusep escreveu: > > Olá Nicole! > Já passei por situação semelhante à sua, quando não podia atualizar o Perl > default do sistema e a opção foi instalar um Perl mais atualizado avulso no > /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: > > 1. export PATH=/usr/local/bin:$PATH > > 2. Os shebangs de todos os scripts executáveis do projeto foram > modificados de: > > #!/usr/bin/perl > > para: > > #!/usr/bin/env perl > > 3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib > requer uma intervenção do .profile do sistema, para inicializar o > environment apropriadamente. Seguem os passos para instalar o local::lib > dessa forma. > > 3.1. Download do local::lib: > > $ wget > http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz > $ tar xzvf local-lib-2.000004.tar.gz > $ cd local-lib-2.000004/ > > 3.2. Instalação do local::lib: > > $ perl Makefile.PL --bootstrap=$HOME/perl5 > $ make > $ make test > $ make install > > 3.3. Ativando local::lib na inicialização da shell (Bash): > > $ cat << PROFILE >> $HOME/.profile > eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) > PROFILE > $ > > A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" > retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl > buscar instalação dos módulos em um lugar específico ($HOME). Pode > simplesmente colar essas variáveis direto no .profile, ou (como demonstrado > acima) rodar eval do output do Perl. > > 3.4. Carregar a configuração: > > . $HOME/.profile > > 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa > configuração faz as dependências serem instaladas automaticamente): > > $ cpan > > cpan[1]> o conf prerequisites_policy follow > cpan[2]> o conf commit > cpan[3]> install App::cpanminus > cpan[4]> quit > > Boa sorte! > > > 2014-01-29 Nicole Scherer > > Boa tarde, queridos Mongers, > > eu não queria importuná-los com problemas simples, mas após três dias > batendo a cabeça e vasculhando fóruns na internet sem solução para algumas > das perguntas, recorro a vocês. Vou tentar explicar a novela. > > Montamos um cluster HPC para pesquisa usando o Rocks 6.1 ( > http://www.rocksclusters.org/) -- um tipo de linux que instala outro > linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, > mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO > (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, > Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as > vezes coexistem com os binários do SO. Desta forma, tenho duas versões de > Perl: > > - a do sistema (RHEL6): > $ /usr/bin/perl -v > This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi > > - e a do Rocks: > $ /opt/perl/bin/perl -v > This is perl 5, version 14, subversion 2 (v5.14.2) built for > x86_64-linux-thread-multi > > Cada qual com as suas bibliotecas. > > @INC: > /usr/local/lib64/perl5 > /usr/local/share/perl5 > /usr/lib64/perl5/vendor_perl > /usr/share/perl5/vendor_perl > /usr/lib64/perl5 > /usr/share/perl5 > . > @INC: > /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/site_perl/5.14.2 > /opt/perl/lib/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/5.14.2 > . > > > Agora é que começam meus problemas... > > Primeiro: Alguém já teve experiência com duas instalações coexistentes > de Perl? Posso ter problemas de funcionamento no SO se eu mover o > /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl > (uma vez que as shebang dos scripts costuma ter este endereço). Colocar > simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. > > > O CPAN só está instalado na versão do Rocks, o que me motiva mais a > deixá-lo como default. > Como a maioria dos usuários não terão privilégios de root e além disso, > qualquer instalação no sistema operacional tem que ser espelhada para todos > os nós, a melhor opção para instalar pacotes é na home dos usuários, > concordam? Então eu quero deixar tudo o mais fácil possível para que os > usuários instalem os pacotes desejados. Como não teremos acesso direto à > internet usei o minicpan para criar um mirror em uma pasta compartilhada > com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo > ok. > Agora esbarrei em um problema que não estou achando resposta fácil. > > Quando executo o cpan pela primeira vez como usuário comum, da forma > mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e > toda a estrutura de diretórios no home do usuário. Ele executa quase tudo > com perfeição, substituindo o endereço default pelo do usuário em QUASE > todos os itens, menos em prefs_dir. > > [hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm > 'build_dir' => q[/home/hpcst06/.cpan/build], > 'cpan_home' => q[/home/hpcst06/.cpan], > 'histfile' => q[/home/hpcst06/.cpan/histfile], > 'keep_source_where' => q[/home/hpcst06/.cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > (O default cpan_home é /export/cpan/cpan ) > [hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm > 'build_dir' => q[/export/cpan/cpan/build], > 'cpan_home' => q[/export/cpan/cpan], > 'histfile' => q[/export/cpan/cpan/histfile], > 'keep_source_where' => q[/export/cpan/cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > Claro que o usuário pode executar > >o conf prefs_dir /home/hpcst06/.cpan/prefs > para alterar esta variável, mas concordam que deveria ter sido automático. > Alguém já passou por isto? > > Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me > chamasse a atenção. > Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. > > > - Tendo corrigido manualmente o prefs_dir, segui tentando instalar > localmente algum pacote. > Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei > entender o que os tutoriais na internet e fiquei perdida. Devo usar direto > o cpan? (já que na configuração ele me pergunta se eu quero que use > local::lib) > What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') > [local::lib] > Ou devo usar sempre > $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' > ? > (tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, > mas funciona) > > > - Rodando > [hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e > 'CPAN::install(Acme::Time::Baby)' > > - deu tudo certo. > [...] > Result: PASS > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make test -- OK > Running make install > Prepending > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to > PERL5LIB for 'install' > Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm > Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 > Appending installation info to > /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make install -- OK > > > - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma > estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. > > Test Summary Report > ------------------- > t/05-obj.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/06-obj2.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/07-sort.t (Wstat: 512 Tests: 1 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/25-weak.t (Wstat: 512 Tests: 8 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > Files=54, Tests=258, 4 wallclock secs ( 0.19 usr 0.09 sys + 2.82 cusr > 0.40 csys = 3.50 CPU) > Result: FAIL > Failed 4/54 test programs. 0/258 subtests failed. > make: *** [test_dynamic] Error 255 > GARU/Data-Printer-0.35.tar.gz > /usr/bin/make test -- NOT OK > //hint// to see the cpan-testers results for installing this module, try: > reports GARU/Data-Printer-0.35.tar.gz > Running make install > make test had returned bad status, won't install without force > > > > Desculpem a postagem tão longa. Acabei até solucionando algumas outras > dúvidas enquanto tentava descrevê-las aqui. > > Abraços a todos, > Nicole Scherer > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- Tiago B. Peczenyj Linux User #405772 http://about.me/peczenyj -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: -------------- Próxima Parte ---------- _______________________________________________ Rio-pm mailing list Rio-pm em pm.org http://mail.pm.org/mailman/listinfo/rio-pm From blabos em gmail.com Thu Jan 30 11:29:18 2014 From: blabos em gmail.com (Blabos de Blebe) Date: Thu, 30 Jan 2014 17:29:18 -0200 Subject: [Rio-pm] =?utf-8?b?Q29uZmlndXJhw6fDo28gZGUgdXN1w6FyaW8gbsOjbyBy?= =?utf-8?q?oot_no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= In-Reply-To: References: Message-ID: > e também vem com o CPAN, que o do sistema não vem. Um Perl que vem sem CPAN? WTF? Pode isso Arnado? ... Ok, pode ter algum complicador ou outro... O perlbrew é utilizado para instalar uma versão local do Perl, sem requisitar premissões de usuários, ou seja, o binário do Perl + diretórios de bibliotecas, ficam no home do usuário. Com ele você pode alternar entre várias versões Perl e ele ainda cuida da instalação e localização de libs com o comando cpanm. Tudo isso sem incomodar o administrador. Vocês utilizam scripts de terceiros? ok, veja esse exemplo: Script: #!/usr/bin/perl print 'Foo: ' . $] . $/; Executando: $ ./foo.pl 5.016002 $ perl foo.pl 5.018002 Notou que a segunda forma executa com o perl do meu ambiente, ignorando o shebang? Só complica se um script executar outro, mas de qualquer forma, você sempre pode trocar o shebang para: #!/usr/bin/env perl *** A recomendação que a gente costuma dar é "nunca mexa no Perl do ambiente", porque entre outras coisas, scripts de inicialização do SO dependem dele e se vc bagunçar aí, seu sistema não boota. Além disso, sistemas Apple e Fedora são famosos por terem uma péssima compilação do Perl, com problemas de performance e bugs que já foram corrigidos mas não aplicados na "versão deles". Há uns 5 anos, usar o Perl padrão do sistema e instalar local::lib era o mais indicado. Hoje, a menos que o seu usuário não tenha acesso a um compilador, o que no caso eu duvido, a melhor opção tende a ser perlbrew. Pode ser que no seu caso específico, tenha um detalhe ou outro, mas não me parece tão problemático. Quanto a módulos especiais, a menos que sejam alguma coisa proprietária e não estejam acessíveis via cpan, você também pode instalá-los. Eu sei que Bioinformática é bem diferente de computação em geral, mas se vocês puderem, ao invés de criar scripts que rodam scripts, tentem criar módulos, ou seja, bibliotecas, que são chamados em um pequeno script. É um investimento bobo, que ajuda a resolver uma porrada de problemas e a diminuir o tempo que você gasta montando o seu ambiente. *** Quanto a replicação para os nós, tem várias opções também desde empacotadores até a distribuição com git. []'s 2014-01-30 Aureliano Guedes > Nicole, nunca fui no x-meeting, mas gostaria. Agora se voce fala que a > bioinfo esta lotada de mulher, amem senhor, mande umas pra goiania. Hahaha. > Eu tbm sou paranoico quanto a modificar o perl do sistema. Eu prefiro o > perlbrew. Apesar de que 2 de 5 vezes que configurei o perlbrew deu problema. > Mas essa taxa da erro de configuracai do perlbrew de 40% e compativel com > minha taxa de erros por falta da atencao na hora de programar. > > Tiago Peczenyj escreveu: > > eu não gosto de alterar o perl do sistema. > > mas posso estar sendo paranoico. > > > 2014-01-30 Nicole Scherer > > Oi Blabos, > > Pelo que entendi, o perlbrew (que deve ser fabuloso) cuida de novas > instalações, tanto locais, quando no sistema, caso seja de interesse do > admin. > No meu caso específico, já tenho uma outra versão de perl, instalada > pelo Rocks em /opt/perl e disponível para todos os nós do cluster. Esse > "Perl Roll" já vem com alguns módulos especiais para cluster e para > bioinformática, e também vem com o CPAN, que o do sistema não vem. O meu > objetivo é preparar o cluster de tal forma, que os usuários possam utilizar > esta versão bombada do Perl sem ter que brigar comigo :-) > Minha primeira ideia era colocar o /opt/perl/bin no início do $PATH de > todo mundo, forçando para ser o perl padrão, mas fiquei com receio de que > algum programa do sistema RHEL6 dependesse da instalação do fabricante. > Estou nesse dilema porque é uma máquina de uso compartilhado. Tenho receio > de colocar no $PATH e o usuário ter problemas porque os scripts que usa tem > shebang #!/usr/bin/perl e sejam chamados como executáveis. (Em > bioinfomática usamos muitos scripts feitos por terceiros). > Claro que se o usuário quiser usar o perlbrew, ele pode, mas não poderá > usar o curl para fazer isto, pois a máquina está configurada para não > acessar a internet. Para o CPAN criei um mirror local. > > Sei lá, devo estar fazendo tempestade em copo d'água. Tenho é que deixar > tudo isso bem claro no guia do usuário e deixar que eles decidam. > > Obrigada!!! > Nicole > > > > Em Quinta-feira, 30 de Janeiro de 2014 12:12, Blabos de Blebe < > blabos em gmail.com> escreveu: > Pessoal, > > O perlbrew não ajudaria não? > > Porque ele já cuida automagicamente de toda a complicação. > > Seriam apenas os comandos: > > $ curl -L http://install.perlbrew.pl | bash > $ echo "source ~/perl5/perlbrew/etc/bashrc" >> .bashrc > $ perlbrew install perl-5.18.2 > $ perlbrew switch perl-5.18.2 > $ perlbrew install-cpanm > $ cpanm My::Incredible::Module > > > []'s > > > > > > 2014-01-30 Stanislaw Pusep > > Isso mesmo; na primeira vez em que "perl -Mlocal::lib" roda ele cria os > diretórios necessários. Se salvar as variáveis de ambiente, não precisa > rodar nunca mais. > Entretanto, as variáveis serão diferentes para cada usuário. Para melhorar > a automação, basta colocar no final do /etc/profile (sim, o do sistema): > "eval $(perl -Mlocal::lib)". Desse jeito os usuários automagicamente terão > local::lib configurado ao fazer o login :) > > > 2014-01-30 Nicole Scherer > > Obrigada, Stanislaw! > > Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e > colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele > nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez > que for instalar novos pacotes? Com as variáveis de ambiente definidas > ainda preciso do local::lib? > > Abraços, > Nicole > > > > > Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep < > creaktive em gmail.com> escreveu: > Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o > Perl do seu /opt/perl já tiver local::lib instalado como root, não precisa > dessa etapa. > O que acontece se você rodar "perl -Mlocal::lib"? > Aqui, por exemplo, aparece: > > PATH="/Users/stas/perl5/bin${PATH+:}$PATH"; > export PATH; > PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB"; > export PERL5LIB; > > PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT"; > export PERL_LOCAL_LIB_ROOT; > PERL_MB_OPT="--install_base \"/Users/stas/perl5\""; > export PERL_MB_OPT; > PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5"; > export PERL_MM_OPT; > > Se você colar o output produzido no seu sistema para o .bashrc/.profile, > o Perl "se sentirá em casa" no $HOME :) > O cpanminus é opcional; única coisa absolutamente necessária é que "perl > -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as > variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib" > diz. > > > 2014-01-30 Nicole Scherer > > Obrigada Stanislaw e Aureliano! > > Aureliano, a bioinformática está tomada por mulheres :-) Já foste no > X-Meeting? > > Stanislaw, > > como gestora do cluster, meu objetivo é deixar para o usuário o sistema > pronto para que ele possa instalar seus módulos localmente sem ter que > fazer acrobacias. Eu já instalei o local::lib no sistema como root, então > não seria necessário que o usuário instalasse novamente, correto? Ou ele > precisaria fazer sua própria instalação? > > Quando o usuário faz sua primeira incursão no cpan e realiza a > configuração, aparece a seguinte mensagem: > > > --------------------------------------------------------------------------------------------------------------- > local::lib is installed. You must now add the following environment > variables > to your shell configuration files (or registry, if you are on Windows) and > then restart your command line shell and CPAN before installing modules: > > > Would you like me to append that to /home/hpcst06/.bashrc now? [yes] > > > --------------------------------------------------------------------------------------------------------------- > > Porém, como podes ver, o "following environment variables" está vazio e > nenhuma modificação é feita no .bashrc > > Esta etapa é que deveria definir as tais variáveis de ambiente. Não > entendo por que não está funcionando. > Desta forma, a única solução seria mesmo acrescentar estas linhas ao > .profile a força. > > Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan > e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso > seja demais, não? > > Qual o objetivo de instalar o App::cpanminus? > A partir daí o usuário deve usar cpanm ao invés de cpan? > > Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só > instalei no frontend), pode dar problema na hora de executar os programas > em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na > configuração do ambiente local, não é usado na execução dos módulos, certo? > O home do usuário é montado em cada nó durante a execução, então o perl vai > executar com as variáveis de ambiente já definidas pelo usuário, então não > vai precisar executar o local::lib, certo? > > > Obrigada pela ajuda! > > > Abraços, > Nicole > > > Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes < > guedes_1000 em hotmail.com> escreveu: > Caraca. Complexo. > O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. > Hello colega bioinformata. > > Stanislaw Pusep escreveu: > > Olá Nicole! > Já passei por situação semelhante à sua, quando não podia atualizar o Perl > default do sistema e a opção foi instalar um Perl mais atualizado avulso no > /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: > > 1. export PATH=/usr/local/bin:$PATH > > 2. Os shebangs de todos os scripts executáveis do projeto foram > modificados de: > > #!/usr/bin/perl > > para: > > #!/usr/bin/env perl > > 3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib > requer uma intervenção do .profile do sistema, para inicializar o > environment apropriadamente. Seguem os passos para instalar o local::lib > dessa forma. > > 3.1. Download do local::lib: > > $ wget > http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz > $ tar xzvf local-lib-2.000004.tar.gz > $ cd local-lib-2.000004/ > > 3.2. Instalação do local::lib: > > $ perl Makefile.PL --bootstrap=$HOME/perl5 > $ make > $ make test > $ make install > > 3.3. Ativando local::lib na inicialização da shell (Bash): > > $ cat << PROFILE >> $HOME/.profile > eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) > PROFILE > $ > > A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" > retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl > buscar instalação dos módulos em um lugar específico ($HOME). Pode > simplesmente colar essas variáveis direto no .profile, ou (como demonstrado > acima) rodar eval do output do Perl. > > 3.4. Carregar a configuração: > > . $HOME/.profile > > 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa > configuração faz as dependências serem instaladas automaticamente): > > $ cpan > > cpan[1]> o conf prerequisites_policy follow > cpan[2]> o conf commit > cpan[3]> install App::cpanminus > cpan[4]> quit > > Boa sorte! > > > 2014-01-29 Nicole Scherer > > Boa tarde, queridos Mongers, > > eu não queria importuná-los com problemas simples, mas após três dias > batendo a cabeça e vasculhando fóruns na internet sem solução para algumas > das perguntas, recorro a vocês. Vou tentar explicar a novela. > > Montamos um cluster HPC para pesquisa usando o Rocks 6.1 ( > http://www.rocksclusters.org/) -- um tipo de linux que instala outro > linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, > mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO > (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, > Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as > vezes coexistem com os binários do SO. Desta forma, tenho duas versões de > Perl: > > - a do sistema (RHEL6): > $ /usr/bin/perl -v > This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi > > - e a do Rocks: > $ /opt/perl/bin/perl -v > This is perl 5, version 14, subversion 2 (v5.14.2) built for > x86_64-linux-thread-multi > > Cada qual com as suas bibliotecas. > > @INC: > /usr/local/lib64/perl5 > /usr/local/share/perl5 > /usr/lib64/perl5/vendor_perl > /usr/share/perl5/vendor_perl > /usr/lib64/perl5 > /usr/share/perl5 > . > @INC: > /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/site_perl/5.14.2 > /opt/perl/lib/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/5.14.2 > . > > > Agora é que começam meus problemas... > > Primeiro: Alguém já teve experiência com duas instalações coexistentes > de Perl? Posso ter problemas de funcionamento no SO se eu mover o > /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl > (uma vez que as shebang dos scripts costuma ter este endereço). Colocar > simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. > > > O CPAN só está instalado na versão do Rocks, o que me motiva mais a > deixá-lo como default. > Como a maioria dos usuários não terão privilégios de root e além disso, > qualquer instalação no sistema operacional tem que ser espelhada para todos > os nós, a melhor opção para instalar pacotes é na home dos usuários, > concordam? Então eu quero deixar tudo o mais fácil possível para que os > usuários instalem os pacotes desejados. Como não teremos acesso direto à > internet usei o minicpan para criar um mirror em uma pasta compartilhada > com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo > ok. > Agora esbarrei em um problema que não estou achando resposta fácil. > > Quando executo o cpan pela primeira vez como usuário comum, da forma > mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e > toda a estrutura de diretórios no home do usuário. Ele executa quase tudo > com perfeição, substituindo o endereço default pelo do usuário em QUASE > todos os itens, menos em prefs_dir. > > [hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm > 'build_dir' => q[/home/hpcst06/.cpan/build], > 'cpan_home' => q[/home/hpcst06/.cpan], > 'histfile' => q[/home/hpcst06/.cpan/histfile], > 'keep_source_where' => q[/home/hpcst06/.cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > (O default cpan_home é /export/cpan/cpan ) > [hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm > 'build_dir' => q[/export/cpan/cpan/build], > 'cpan_home' => q[/export/cpan/cpan], > 'histfile' => q[/export/cpan/cpan/histfile], > 'keep_source_where' => q[/export/cpan/cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > Claro que o usuário pode executar > >o conf prefs_dir /home/hpcst06/.cpan/prefs > para alterar esta variável, mas concordam que deveria ter sido automático. > Alguém já passou por isto? > > Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me > chamasse a atenção. > Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. > > > - Tendo corrigido manualmente o prefs_dir, segui tentando instalar > localmente algum pacote. > Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei > entender o que os tutoriais na internet e fiquei perdida. Devo usar direto > o cpan? (já que na configuração ele me pergunta se eu quero que use > local::lib) > What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') > [local::lib] > Ou devo usar sempre > $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' > ? > (tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, > mas funciona) > > > - Rodando > [hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e > 'CPAN::install(Acme::Time::Baby)' > > - deu tudo certo. > [...] > Result: PASS > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make test -- OK > Running make install > Prepending > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to > PERL5LIB for 'install' > Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm > Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 > Appending installation info to > /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make install -- OK > > > - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma > estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. > > Test Summary Report > ------------------- > t/05-obj.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/06-obj2.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/07-sort.t (Wstat: 512 Tests: 1 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/25-weak.t (Wstat: 512 Tests: 8 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > Files=54, Tests=258, 4 wallclock secs ( 0.19 usr 0.09 sys + 2.82 cusr > 0.40 csys = 3.50 CPU) > Result: FAIL > Failed 4/54 test programs. 0/258 subtests failed. > make: *** [test_dynamic] Error 255 > GARU/Data-Printer-0.35.tar.gz > /usr/bin/make test -- NOT OK > //hint// to see the cpan-testers results for installing this module, try: > reports GARU/Data-Printer-0.35.tar.gz > Running make install > make test had returned bad status, won't install without force > > > > Desculpem a postagem tão longa. Acabei até solucionando algumas outras > dúvidas enquanto tentava descrevê-las aqui. > > Abraços a todos, > Nicole Scherer > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > -- > Tiago B. Peczenyj > Linux User #405772 > > http://about.me/peczenyj > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From guedes_1000 em hotmail.com Thu Jan 30 11:44:58 2014 From: guedes_1000 em hotmail.com (Aureliano Guedes) Date: Thu, 30 Jan 2014 17:44:58 -0200 Subject: [Rio-pm] =?iso-8859-1?q?Configura=E7=E3o_de_usu=E1rio_n=E3o_root_?= =?iso-8859-1?q?no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= Message-ID: Mas na bioinfo, pelomenos os mais ou menos experientes fazem modulos mesmo. Acontece que eventualmente algumas analises feitas em servidores potentes demoram 2 dias. Entao, ja teve caso de nao ter muita saida e fazer um script para executar outros de acordo com o resultado e progresso da analise. Uma comparacao entre resultados de 5000 individuos com toda biblioteca de miRNA entre miRNAnda e RNAhybrid depois filtrar os resultados e desenhar o sitio de ligacao evidenciando os resultados semelhantes e discriminando os demais, sem saida, foi script executando script. O que foi possivel trabalhar com modulos foi feito. Blabos de Blebe escreveu: > e também vem com o CPAN, que o do sistema não vem. Um Perl que vem sem CPAN? WTF? Pode isso Arnado? ... Ok, pode ter algum complicador ou outro... O perlbrew é utilizado para instalar uma versão local do Perl, sem requisitar premissões de usuários, ou seja, o binário do Perl + diretórios de bibliotecas, ficam no home do usuário. Com ele você pode alternar entre várias versões Perl e ele ainda cuida da instalação e localização de libs com o comando cpanm. Tudo isso sem incomodar o administrador. Vocês utilizam scripts de terceiros? ok, veja esse exemplo: Script: #!/usr/bin/perl print 'Foo: ' . $] . $/; Executando: $ ./foo.pl 5.016002 $ perl foo.pl 5.018002 Notou que a segunda forma executa com o perl do meu ambiente, ignorando o shebang? Só complica se um script executar outro, mas de qualquer forma, você sempre pode trocar o shebang para: #!/usr/bin/env perl *** A recomendação que a gente costuma dar é "nunca mexa no Perl do ambiente", porque entre outras coisas, scripts de inicialização do SO dependem dele e se vc bagunçar aí, seu sistema não boota. Além disso, sistemas Apple e Fedora são famosos por terem uma péssima compilação do Perl, com problemas de performance e bugs que já foram corrigidos mas não aplicados na "versão deles". Há uns 5 anos, usar o Perl padrão do sistema e instalar local::lib era o mais indicado. Hoje, a menos que o seu usuário não tenha acesso a um compilador, o que no caso eu duvido, a melhor opção tende a ser perlbrew. Pode ser que no seu caso específico, tenha um detalhe ou outro, mas não me parece tão problemático. Quanto a módulos especiais, a menos que sejam alguma coisa proprietária e não estejam acessíveis via cpan, você também pode instalá-los. Eu sei que Bioinformática é bem diferente de computação em geral, mas se vocês puderem, ao invés de criar scripts que rodam scripts, tentem criar módulos, ou seja, bibliotecas, que são chamados em um pequeno script. É um investimento bobo, que ajuda a resolver uma porrada de problemas e a diminuir o tempo que você gasta montando o seu ambiente. *** Quanto a replicação para os nós, tem várias opções também desde empacotadores até a distribuição com git. []'s 2014-01-30 Aureliano Guedes > Nicole, nunca fui no x-meeting, mas gostaria. Agora se voce fala que a > bioinfo esta lotada de mulher, amem senhor, mande umas pra goiania. Hahaha. > Eu tbm sou paranoico quanto a modificar o perl do sistema. Eu prefiro o > perlbrew. Apesar de que 2 de 5 vezes que configurei o perlbrew deu problema. > Mas essa taxa da erro de configuracai do perlbrew de 40% e compativel com > minha taxa de erros por falta da atencao na hora de programar. > > Tiago Peczenyj escreveu: > > eu não gosto de alterar o perl do sistema. > > mas posso estar sendo paranoico. > > > 2014-01-30 Nicole Scherer > > Oi Blabos, > > Pelo que entendi, o perlbrew (que deve ser fabuloso) cuida de novas > instalações, tanto locais, quando no sistema, caso seja de interesse do > admin. > No meu caso específico, já tenho uma outra versão de perl, instalada > pelo Rocks em /opt/perl e disponível para todos os nós do cluster. Esse > "Perl Roll" já vem com alguns módulos especiais para cluster e para > bioinformática, e também vem com o CPAN, que o do sistema não vem. O meu > objetivo é preparar o cluster de tal forma, que os usuários possam utilizar > esta versão bombada do Perl sem ter que brigar comigo :-) > Minha primeira ideia era colocar o /opt/perl/bin no início do $PATH de > todo mundo, forçando para ser o perl padrão, mas fiquei com receio de que > algum programa do sistema RHEL6 dependesse da instalação do fabricante. > Estou nesse dilema porque é uma máquina de uso compartilhado. Tenho receio > de colocar no $PATH e o usuário ter problemas porque os scripts que usa tem > shebang #!/usr/bin/perl e sejam chamados como executáveis. (Em > bioinfomática usamos muitos scripts feitos por terceiros). > Claro que se o usuário quiser usar o perlbrew, ele pode, mas não poderá > usar o curl para fazer isto, pois a máquina está configurada para não > acessar a internet. Para o CPAN criei um mirror local. > > Sei lá, devo estar fazendo tempestade em copo d'água. Tenho é que deixar > tudo isso bem claro no guia do usuário e deixar que eles decidam. > > Obrigada!!! > Nicole > > > > Em Quinta-feira, 30 de Janeiro de 2014 12:12, Blabos de Blebe < > blabos em gmail.com> escreveu: > Pessoal, > > O perlbrew não ajudaria não? > > Porque ele já cuida automagicamente de toda a complicação. > > Seriam apenas os comandos: > > $ curl -L http://install.perlbrew.pl | bash > $ echo "source ~/perl5/perlbrew/etc/bashrc" >> .bashrc > $ perlbrew install perl-5.18.2 > $ perlbrew switch perl-5.18.2 > $ perlbrew install-cpanm > $ cpanm My::Incredible::Module > > > []'s > > > > > > 2014-01-30 Stanislaw Pusep > > Isso mesmo; na primeira vez em que "perl -Mlocal::lib" roda ele cria os > diretórios necessários. Se salvar as variáveis de ambiente, não precisa > rodar nunca mais. > Entretanto, as variáveis serão diferentes para cada usuário. Para melhorar > a automação, basta colocar no final do /etc/profile (sim, o do sistema): > "eval $(perl -Mlocal::lib)". Desse jeito os usuários automagicamente terão > local::lib configurado ao fazer o login :) > > > 2014-01-30 Nicole Scherer > > Obrigada, Stanislaw! > > Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e > colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele > nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez > que for instalar novos pacotes? Com as variáveis de ambiente definidas > ainda preciso do local::lib? > > Abraços, > Nicole > > > > > Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep < > creaktive em gmail.com> escreveu: > Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o > Perl do seu /opt/perl já tiver local::lib instalado como root, não precisa > dessa etapa. > O que acontece se você rodar "perl -Mlocal::lib"? > Aqui, por exemplo, aparece: > > PATH="/Users/stas/perl5/bin${PATH+:}$PATH"; > export PATH; > PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB"; > export PERL5LIB; > > PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT"; > export PERL_LOCAL_LIB_ROOT; > PERL_MB_OPT="--install_base \"/Users/stas/perl5\""; > export PERL_MB_OPT; > PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5"; > export PERL_MM_OPT; > > Se você colar o output produzido no seu sistema para o .bashrc/.profile, > o Perl "se sentirá em casa" no $HOME :) > O cpanminus é opcional; única coisa absolutamente necessária é que "perl > -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as > variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib" > diz. > > > 2014-01-30 Nicole Scherer > > Obrigada Stanislaw e Aureliano! > > Aureliano, a bioinformática está tomada por mulheres :-) Já foste no > X-Meeting? > > Stanislaw, > > como gestora do cluster, meu objetivo é deixar para o usuário o sistema > pronto para que ele possa instalar seus módulos localmente sem ter que > fazer acrobacias. Eu já instalei o local::lib no sistema como root, então > não seria necessário que o usuário instalasse novamente, correto? Ou ele > precisaria fazer sua própria instalação? > > Quando o usuário faz sua primeira incursão no cpan e realiza a > configuração, aparece a seguinte mensagem: > > > --------------------------------------------------------------------------------------------------------------- > local::lib is installed. You must now add the following environment > variables > to your shell configuration files (or registry, if you are on Windows) and > then restart your command line shell and CPAN before installing modules: > > > Would you like me to append that to /home/hpcst06/.bashrc now? [yes] > > > --------------------------------------------------------------------------------------------------------------- > > Porém, como podes ver, o "following environment variables" está vazio e > nenhuma modificação é feita no .bashrc > > Esta etapa é que deveria definir as tais variáveis de ambiente. Não > entendo por que não está funcionando. > Desta forma, a única solução seria mesmo acrescentar estas linhas ao > .profile a força. > > Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan > e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso > seja demais, não? > > Qual o objetivo de instalar o App::cpanminus? > A partir daí o usuário deve usar cpanm ao invés de cpan? > > Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só > instalei no frontend), pode dar problema na hora de executar os programas > em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na > configuração do ambiente local, não é usado na execução dos módulos, certo? > O home do usuário é montado em cada nó durante a execução, então o perl vai > executar com as variáveis de ambiente já definidas pelo usuário, então não > vai precisar executar o local::lib, certo? > > > Obrigada pela ajuda! > > > Abraços, > Nicole > > > Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes < > guedes_1000 em hotmail.com> escreveu: > Caraca. Complexo. > O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. > Hello colega bioinformata. > > Stanislaw Pusep escreveu: > > Olá Nicole! > Já passei por situação semelhante à sua, quando não podia atualizar o Perl > default do sistema e a opção foi instalar um Perl mais atualizado avulso no > /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: > > 1. export PATH=/usr/local/bin:$PATH > > 2. Os shebangs de todos os scripts executáveis do projeto foram > modificados de: > > #!/usr/bin/perl > > para: > > #!/usr/bin/env perl > > 3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib > requer uma intervenção do .profile do sistema, para inicializar o > environment apropriadamente. Seguem os passos para instalar o local::lib > dessa forma. > > 3.1. Download do local::lib: > > $ wget > http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz > $ tar xzvf local-lib-2.000004.tar.gz > $ cd local-lib-2.000004/ > > 3.2. Instalação do local::lib: > > $ perl Makefile.PL --bootstrap=$HOME/perl5 > $ make > $ make test > $ make install > > 3.3. Ativando local::lib na inicialização da shell (Bash): > > $ cat << PROFILE >> $HOME/.profile > eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) > PROFILE > $ > > A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" > retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl > buscar instalação dos módulos em um lugar específico ($HOME). Pode > simplesmente colar essas variáveis direto no .profile, ou (como demonstrado > acima) rodar eval do output do Perl. > > 3.4. Carregar a configuração: > > . $HOME/.profile > > 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa > configuração faz as dependências serem instaladas automaticamente): > > $ cpan > > cpan[1]> o conf prerequisites_policy follow > cpan[2]> o conf commit > cpan[3]> install App::cpanminus > cpan[4]> quit > > Boa sorte! > > > 2014-01-29 Nicole Scherer > > Boa tarde, queridos Mongers, > > eu não queria importuná-los com problemas simples, mas após três dias > batendo a cabeça e vasculhando fóruns na internet sem solução para algumas > das perguntas, recorro a vocês. Vou tentar explicar a novela. > > Montamos um cluster HPC para pesquisa usando o Rocks 6.1 ( > http://www.rocksclusters.org/) -- um tipo de linux que instala outro > linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, > mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO > (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, > Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as > vezes coexistem com os binários do SO. Desta forma, tenho duas versões de > Perl: > > - a do sistema (RHEL6): > $ /usr/bin/perl -v > This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi > > - e a do Rocks: > $ /opt/perl/bin/perl -v > This is perl 5, version 14, subversion 2 (v5.14.2) built for > x86_64-linux-thread-multi > > Cada qual com as suas bibliotecas. > > @INC: > /usr/local/lib64/perl5 > /usr/local/share/perl5 > /usr/lib64/perl5/vendor_perl > /usr/share/perl5/vendor_perl > /usr/lib64/perl5 > /usr/share/perl5 > . > @INC: > /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/site_perl/5.14.2 > /opt/perl/lib/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/5.14.2 > . > > > Agora é que começam meus problemas... > > Primeiro: Alguém já teve experiência com duas instalações coexistentes > de Perl? Posso ter problemas de funcionamento no SO se eu mover o > /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl > (uma vez que as shebang dos scripts costuma ter este endereço). Colocar > simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. > > > O CPAN só está instalado na versão do Rocks, o que me motiva mais a > deixá-lo como default. > Como a maioria dos usuários não terão privilégios de root e além disso, > qualquer instalação no sistema operacional tem que ser espelhada para todos > os nós, a melhor opção para instalar pacotes é na home dos usuários, > concordam? Então eu quero deixar tudo o mais fácil possível para que os > usuários instalem os pacotes desejados. Como não teremos acesso direto à > internet usei o minicpan para criar um mirror em uma pasta compartilhada > com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo > ok. > Agora esbarrei em um problema que não estou achando resposta fácil. > > Quando executo o cpan pela primeira vez como usuário comum, da forma > mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e > toda a estrutura de diretórios no home do usuário. Ele executa quase tudo > com perfeição, substituindo o endereço default pelo do usuário em QUASE > todos os itens, menos em prefs_dir. > > [hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm > 'build_dir' => q[/home/hpcst06/.cpan/build], > 'cpan_home' => q[/home/hpcst06/.cpan], > 'histfile' => q[/home/hpcst06/.cpan/histfile], > 'keep_source_where' => q[/home/hpcst06/.cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > (O default cpan_home é /export/cpan/cpan ) > [hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm > 'build_dir' => q[/export/cpan/cpan/build], > 'cpan_home' => q[/export/cpan/cpan], > 'histfile' => q[/export/cpan/cpan/histfile], > 'keep_source_where' => q[/export/cpan/cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > Claro que o usuário pode executar > >o conf prefs_dir /home/hpcst06/.cpan/prefs > para alterar esta variável, mas concordam que deveria ter sido automático. > Alguém já passou por isto? > > Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me > chamasse a atenção. > Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. > > > - Tendo corrigido manualmente o prefs_dir, segui tentando instalar > localmente algum pacote. > Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei > entender o que os tutoriais na internet e fiquei perdida. Devo usar direto > o cpan? (já que na configuração ele me pergunta se eu quero que use > local::lib) > What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') > [local::lib] > Ou devo usar sempre > $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' > ? > (tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, > mas funciona) > > > - Rodando > [hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e > 'CPAN::install(Acme::Time::Baby)' > > - deu tudo certo. > [...] > Result: PASS > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make test -- OK > Running make install > Prepending > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to > PERL5LIB for 'install' > Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm > Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 > Appending installation info to > /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make install -- OK > > > - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma > estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. > > Test Summary Report > ------------------- > t/05-obj.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/06-obj2.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/07-sort.t (Wstat: 512 Tests: 1 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/25-weak.t (Wstat: 512 Tests: 8 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > Files=54, Tests=258, 4 wallclock secs ( 0.19 usr 0.09 sys + 2.82 cusr > 0.40 csys = 3.50 CPU) > Result: FAIL > Failed 4/54 test programs. 0/258 subtests failed. > make: *** [test_dynamic] Error 255 > GARU/Data-Printer-0.35.tar.gz > /usr/bin/make test -- NOT OK > //hint// to see the cpan-testers results for installing this module, try: > reports GARU/Data-Printer-0.35.tar.gz > Running make install > make test had returned bad status, won't install without force > > > > Desculpem a postagem tão longa. Acabei até solucionando algumas outras > dúvidas enquanto tentava descrevê-las aqui. > > Abraços a todos, > Nicole Scherer > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > -- > Tiago B. Peczenyj > Linux User #405772 > > http://about.me/peczenyj > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: -------------- Próxima Parte ---------- _______________________________________________ Rio-pm mailing list Rio-pm em pm.org http://mail.pm.org/mailman/listinfo/rio-pm From renato.cron em gmail.com Thu Jan 30 11:53:22 2014 From: renato.cron em gmail.com (Renato Santos) Date: Thu, 30 Jan 2014 17:53:22 -0200 Subject: [Rio-pm] =?iso-8859-1?q?Configura=E7=E3o_de_usu=E1rio_n=E3o_root_?= =?iso-8859-1?q?no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= In-Reply-To: References: Message-ID: Se o script perl chamar outro script com `perl foobar` (que vai chamar o /bin/sh) vai iniciar executar o proximo script com o perl que esta no env, ou seja, o PATH. Se for `./foobar.pl` isso vai executar o shebang, ou seja, o __melhor é sempre__ passar o do env. Ou melhor, o certo é saber o que você esta fazendo e como as coisas funcionam! 2014-01-30 Aureliano Guedes : > Mas na bioinfo, pelomenos os mais ou menos experientes fazem modulos > mesmo. Acontece que eventualmente algumas analises feitas em servidores > potentes demoram 2 dias. Entao, ja teve caso de nao ter muita saida e fazer > um script para executar outros de acordo com o resultado e progresso da > analise. Uma comparacao entre resultados de 5000 individuos com toda > biblioteca de miRNA entre miRNAnda e RNAhybrid depois filtrar os resultados > e desenhar o sitio de ligacao evidenciando os resultados semelhantes e > discriminando os demais, sem saida, foi script executando script. O que foi > possivel trabalhar com modulos foi feito. > > > Blabos de Blebe escreveu: > > > e também vem com o CPAN, que o do sistema não vem. > > Um Perl que vem sem CPAN? WTF? Pode isso Arnado? > > ... > > Ok, pode ter algum complicador ou outro... > > O perlbrew é utilizado para instalar uma versão local do Perl, sem > requisitar premissões de usuários, ou seja, o binário do Perl + diretórios > de bibliotecas, ficam no home do usuário. > > Com ele você pode alternar entre várias versões Perl e ele ainda cuida > da instalação e localização de libs com o comando cpanm. Tudo isso sem > incomodar o administrador. > > Vocês utilizam scripts de terceiros? ok, veja esse exemplo: > > Script: > > #!/usr/bin/perl > > print 'Foo: ' . $] . $/; > > > Executando: > > $ ./foo.pl > 5.016002 > > $ perl foo.pl > 5.018002 > > Notou que a segunda forma executa com o perl do meu ambiente, ignorando > o shebang? > > Só complica se um script executar outro, mas de qualquer forma, você > sempre pode trocar o shebang para: > > #!/usr/bin/env perl > > > > *** > > A recomendação que a gente costuma dar é "nunca mexa no Perl do > ambiente", porque entre outras coisas, scripts de inicialização do SO > dependem dele e se vc bagunçar aí, seu sistema não boota. > > Além disso, sistemas Apple e Fedora são famosos por terem uma péssima > compilação do Perl, com problemas de performance e bugs que já foram > corrigidos mas não aplicados na "versão deles". > > Há uns 5 anos, usar o Perl padrão do sistema e instalar local::lib era o > mais indicado. Hoje, a menos que o seu usuário não tenha acesso a um > compilador, o que no caso eu duvido, a melhor opção tende a ser perlbrew. > > Pode ser que no seu caso específico, tenha um detalhe ou outro, mas não > me parece tão problemático. > > Quanto a módulos especiais, a menos que sejam alguma coisa proprietária > e não estejam acessíveis via cpan, você também pode instalá-los. > > Eu sei que Bioinformática é bem diferente de computação em geral, mas se > vocês puderem, ao invés de criar scripts que rodam scripts, tentem criar > módulos, ou seja, bibliotecas, que são chamados em um pequeno script. > > É um investimento bobo, que ajuda a resolver uma porrada de problemas e > a diminuir o tempo que você gasta montando o seu ambiente. > > *** > > Quanto a replicação para os nós, tem várias opções também desde > empacotadores até a distribuição com git. > > []'s > > > > > > 2014-01-30 Aureliano Guedes > > Nicole, nunca fui no x-meeting, mas gostaria. Agora se voce fala que a > bioinfo esta lotada de mulher, amem senhor, mande umas pra goiania. Hahaha. > Eu tbm sou paranoico quanto a modificar o perl do sistema. Eu prefiro o > perlbrew. Apesar de que 2 de 5 vezes que configurei o perlbrew deu problema. > Mas essa taxa da erro de configuracai do perlbrew de 40% e compativel com > minha taxa de erros por falta da atencao na hora de programar. > > Tiago Peczenyj escreveu: > > eu não gosto de alterar o perl do sistema. > > mas posso estar sendo paranoico. > > > 2014-01-30 Nicole Scherer > > Oi Blabos, > > Pelo que entendi, o perlbrew (que deve ser fabuloso) cuida de novas > instalações, tanto locais, quando no sistema, caso seja de interesse do > admin. > No meu caso específico, já tenho uma outra versão de perl, instalada > pelo Rocks em /opt/perl e disponível para todos os nós do cluster. Esse > "Perl Roll" já vem com alguns módulos especiais para cluster e para > bioinformática, e também vem com o CPAN, que o do sistema não vem. O meu > objetivo é preparar o cluster de tal forma, que os usuários possam utilizar > esta versão bombada do Perl sem ter que brigar comigo :-) > Minha primeira ideia era colocar o /opt/perl/bin no início do $PATH de > todo mundo, forçando para ser o perl padrão, mas fiquei com receio de que > algum programa do sistema RHEL6 dependesse da instalação do fabricante. > Estou nesse dilema porque é uma máquina de uso compartilhado. Tenho receio > de colocar no $PATH e o usuário ter problemas porque os scripts que usa tem > shebang #!/usr/bin/perl e sejam chamados como executáveis. (Em > bioinfomática usamos muitos scripts feitos por terceiros). > Claro que se o usuário quiser usar o perlbrew, ele pode, mas não poderá > usar o curl para fazer isto, pois a máquina está configurada para não > acessar a internet. Para o CPAN criei um mirror local. > > Sei lá, devo estar fazendo tempestade em copo d'água. Tenho é que deixar > tudo isso bem claro no guia do usuário e deixar que eles decidam. > > Obrigada!!! > Nicole > > > > Em Quinta-feira, 30 de Janeiro de 2014 12:12, Blabos de Blebe < > blabos em gmail.com> escreveu: > Pessoal, > > O perlbrew não ajudaria não? > > Porque ele já cuida automagicamente de toda a complicação. > > Seriam apenas os comandos: > > $ curl -L http://install.perlbrew.pl | bash > $ echo "source ~/perl5/perlbrew/etc/bashrc" >> .bashrc > $ perlbrew install perl-5.18.2 > $ perlbrew switch perl-5.18.2 > $ perlbrew install-cpanm > $ cpanm My::Incredible::Module > > > []'s > > > > > > 2014-01-30 Stanislaw Pusep > > Isso mesmo; na primeira vez em que "perl -Mlocal::lib" roda ele cria os > diretórios necessários. Se salvar as variáveis de ambiente, não precisa > rodar nunca mais. > Entretanto, as variáveis serão diferentes para cada usuário. Para melhorar > a automação, basta colocar no final do /etc/profile (sim, o do sistema): > "eval $(perl -Mlocal::lib)". Desse jeito os usuários automagicamente terão > local::lib configurado ao fazer o login :) > > > 2014-01-30 Nicole Scherer > > Obrigada, Stanislaw! > > Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e > colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele > nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez > que for instalar novos pacotes? Com as variáveis de ambiente definidas > ainda preciso do local::lib? > > Abraços, > Nicole > > > > > Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep < > creaktive em gmail.com> escreveu: > Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o > Perl do seu /opt/perl já tiver local::lib instalado como root, não precisa > dessa etapa. > O que acontece se você rodar "perl -Mlocal::lib"? > Aqui, por exemplo, aparece: > > PATH="/Users/stas/perl5/bin${PATH+:}$PATH"; > export PATH; > PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB"; > export PERL5LIB; > > PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT"; > export PERL_LOCAL_LIB_ROOT; > PERL_MB_OPT="--install_base \"/Users/stas/perl5\""; > export PERL_MB_OPT; > PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5"; > export PERL_MM_OPT; > > Se você colar o output produzido no seu sistema para o .bashrc/.profile, > o Perl "se sentirá em casa" no $HOME :) > O cpanminus é opcional; única coisa absolutamente necessária é que "perl > -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as > variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib" > diz. > > > 2014-01-30 Nicole Scherer > > Obrigada Stanislaw e Aureliano! > > Aureliano, a bioinformática está tomada por mulheres :-) Já foste no > X-Meeting? > > Stanislaw, > > como gestora do cluster, meu objetivo é deixar para o usuário o sistema > pronto para que ele possa instalar seus módulos localmente sem ter que > fazer acrobacias. Eu já instalei o local::lib no sistema como root, então > não seria necessário que o usuário instalasse novamente, correto? Ou ele > precisaria fazer sua própria instalação? > > Quando o usuário faz sua primeira incursão no cpan e realiza a > configuração, aparece a seguinte mensagem: > > > --------------------------------------------------------------------------------------------------------------- > local::lib is installed. You must now add the following environment > variables > to your shell configuration files (or registry, if you are on Windows) and > then restart your command line shell and CPAN before installing modules: > > > Would you like me to append that to /home/hpcst06/.bashrc now? [yes] > > > --------------------------------------------------------------------------------------------------------------- > > Porém, como podes ver, o "following environment variables" está vazio e > nenhuma modificação é feita no .bashrc > > Esta etapa é que deveria definir as tais variáveis de ambiente. Não > entendo por que não está funcionando. > Desta forma, a única solução seria mesmo acrescentar estas linhas ao > .profile a força. > > Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan > e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso > seja demais, não? > > Qual o objetivo de instalar o App::cpanminus? > A partir daí o usuário deve usar cpanm ao invés de cpan? > > Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só > instalei no frontend), pode dar problema na hora de executar os programas > em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na > configuração do ambiente local, não é usado na execução dos módulos, certo? > O home do usuário é montado em cada nó durante a execução, então o perl vai > executar com as variáveis de ambiente já definidas pelo usuário, então não > vai precisar executar o local::lib, certo? > > > Obrigada pela ajuda! > > > Abraços, > Nicole > > > Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes < > guedes_1000 em hotmail.com> escreveu: > Caraca. Complexo. > O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. > Hello colega bioinformata. > > Stanislaw Pusep escreveu: > > Olá Nicole! > Já passei por situação semelhante à sua, quando não podia atualizar o Perl > default do sistema e a opção foi instalar um Perl mais atualizado avulso no > /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas: > > 1. export PATH=/usr/local/bin:$PATH > > 2. Os shebangs de todos os scripts executáveis do projeto foram > modificados de: > > #!/usr/bin/perl > > para: > > #!/usr/bin/env perl > > 3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib > requer uma intervenção do .profile do sistema, para inicializar o > environment apropriadamente. Seguem os passos para instalar o local::lib > dessa forma. > > 3.1. Download do local::lib: > > $ wget > http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz > $ tar xzvf local-lib-2.000004.tar.gz > $ cd local-lib-2.000004/ > > 3.2. Instalação do local::lib: > > $ perl Makefile.PL --bootstrap=$HOME/perl5 > $ make > $ make test > $ make install > > 3.3. Ativando local::lib na inicialização da shell (Bash): > > $ cat << PROFILE >> $HOME/.profile > eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) > PROFILE > $ > > A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" > retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl > buscar instalação dos módulos em um lugar específico ($HOME). Pode > simplesmente colar essas variáveis direto no .profile, ou (como demonstrado > acima) rodar eval do output do Perl. > > 3.4. Carregar a configuração: > > . $HOME/.profile > > 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa > configuração faz as dependências serem instaladas automaticamente): > > $ cpan > > cpan[1]> o conf prerequisites_policy follow > cpan[2]> o conf commit > cpan[3]> install App::cpanminus > cpan[4]> quit > > Boa sorte! > > > 2014-01-29 Nicole Scherer > > Boa tarde, queridos Mongers, > > eu não queria importuná-los com problemas simples, mas após três dias > batendo a cabeça e vasculhando fóruns na internet sem solução para algumas > das perguntas, recorro a vocês. Vou tentar explicar a novela. > > Montamos um cluster HPC para pesquisa usando o Rocks 6.1 ( > http://www.rocksclusters.org/) -- um tipo de linux que instala outro > linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, > mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO > (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, > Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as > vezes coexistem com os binários do SO. Desta forma, tenho duas versões de > Perl: > > - a do sistema (RHEL6): > $ /usr/bin/perl -v > This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi > > - e a do Rocks: > $ /opt/perl/bin/perl -v > This is perl 5, version 14, subversion 2 (v5.14.2) built for > x86_64-linux-thread-multi > > Cada qual com as suas bibliotecas. > > @INC: > /usr/local/lib64/perl5 > /usr/local/share/perl5 > /usr/lib64/perl5/vendor_perl > /usr/share/perl5/vendor_perl > /usr/lib64/perl5 > /usr/share/perl5 > . > @INC: > /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/site_perl/5.14.2 > /opt/perl/lib/5.14.2/x86_64-linux-thread-multi > /opt/perl/lib/5.14.2 > . > > > Agora é que começam meus problemas... > > Primeiro: Alguém já teve experiência com duas instalações coexistentes > de Perl? Posso ter problemas de funcionamento no SO se eu mover o > /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl > (uma vez que as shebang dos scripts costuma ter este endereço). Colocar > simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. > > > O CPAN só está instalado na versão do Rocks, o que me motiva mais a > deixá-lo como default. > Como a maioria dos usuários não terão privilégios de root e além disso, > qualquer instalação no sistema operacional tem que ser espelhada para todos > os nós, a melhor opção para instalar pacotes é na home dos usuários, > concordam? Então eu quero deixar tudo o mais fácil possível para que os > usuários instalem os pacotes desejados. Como não teremos acesso direto à > internet usei o minicpan para criar um mirror em uma pasta compartilhada > com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo > ok. > Agora esbarrei em um problema que não estou achando resposta fácil. > > Quando executo o cpan pela primeira vez como usuário comum, da forma > mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e > toda a estrutura de diretórios no home do usuário. Ele executa quase tudo > com perfeição, substituindo o endereço default pelo do usuário em QUASE > todos os itens, menos em prefs_dir. > > [hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm > 'build_dir' => q[/home/hpcst06/.cpan/build], > 'cpan_home' => q[/home/hpcst06/.cpan], > 'histfile' => q[/home/hpcst06/.cpan/histfile], > 'keep_source_where' => q[/home/hpcst06/.cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > (O default cpan_home é /export/cpan/cpan ) > [hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm > 'build_dir' => q[/export/cpan/cpan/build], > 'cpan_home' => q[/export/cpan/cpan], > 'histfile' => q[/export/cpan/cpan/histfile], > 'keep_source_where' => q[/export/cpan/cpan/sources], > 'prefs_dir' => q[/export/cpan/cpan/prefs], > > > Claro que o usuário pode executar > >o conf prefs_dir /home/hpcst06/.cpan/prefs > para alterar esta variável, mas concordam que deveria ter sido automático. > Alguém já passou por isto? > > Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me > chamasse a atenção. > Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. > > > - Tendo corrigido manualmente o prefs_dir, segui tentando instalar > localmente algum pacote. > Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei > entender o que os tutoriais na internet e fiquei perdida. Devo usar direto > o cpan? (já que na configuração ele me pergunta se eu quero que use > local::lib) > What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') > [local::lib] > Ou devo usar sempre > $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' > ? > (tudo bem, posso colocar esta linha no tutorial, vai assustar os usuários, > mas funciona) > > > - Rodando > [hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e > 'CPAN::install(Acme::Time::Baby)' > > - deu tudo certo. > [...] > Result: PASS > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make test -- OK > Running make install > Prepending > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch > /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to > PERL5LIB for 'install' > Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm > Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 > Appending installation info to > /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod > ABIGAIL/Acme-Time-Baby-2010090301.tar.gz > /usr/bin/make install -- OK > > > - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma > estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. > > Test Summary Report > ------------------- > t/05-obj.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/06-obj2.t (Wstat: 512 Tests: 0 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/07-sort.t (Wstat: 512 Tests: 1 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > t/25-weak.t (Wstat: 512 Tests: 8 Failed: 0) > Non-zero exit status: 2 > Parse errors: No plan found in TAP output > Files=54, Tests=258, 4 wallclock secs ( 0.19 usr 0.09 sys + 2.82 cusr > 0.40 csys = 3.50 CPU) > Result: FAIL > Failed 4/54 test programs. 0/258 subtests failed. > make: *** [test_dynamic] Error 255 > GARU/Data-Printer-0.35.tar.gz > /usr/bin/make test -- NOT OK > //hint// to see the cpan-testers results for installing this module, try: > reports GARU/Data-Printer-0.35.tar.gz > Running make install > make test had returned bad status, won't install without force > > > > Desculpem a postagem tão longa. Acabei até solucionando algumas outras > dúvidas enquanto tentava descrevê-las aqui. > > Abraços a todos, > Nicole Scherer > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > > -- > Tiago B. Peczenyj > Linux User #405772 > > http://about.me/peczenyj > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- Saravá, Renato CRON http://www.renatocron.com/blog/ @renato_cron -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From blabos em gmail.com Thu Jan 30 12:51:17 2014 From: blabos em gmail.com (Blabos de Blebe) Date: Thu, 30 Jan 2014 18:51:17 -0200 Subject: [Rio-pm] =?utf-8?b?Q29uZmlndXJhw6fDo28gZGUgdXN1w6FyaW8gbsOjbyBy?= =?utf-8?q?oot_no_cpan_=26_Perl_Roll_em_Rocks_Cluster?= In-Reply-To: References: Message-ID: Mais ou menos... > Ou melhor, o certo é saber o que você esta fazendo e como as coisas funcionam! Se todos os scripts usam o shebang #!/usr/bin/perl, qualquer um que não invocar um terceiro usando 'perl script.pl' vai cair no shebang do script. O melhor mesmo é trocar todos os shebangs por #!/usr/bin/env perl 2014-01-30 Renato Santos > Se o script perl chamar outro script com `perl foobar` (que vai chamar o > /bin/sh) vai iniciar executar o proximo script com o perl que esta no env, > ou seja, o PATH. > > Se for `./foobar.pl` isso vai executar o shebang, ou seja, o __melhor é > sempre__ passar o do env. > > Ou melhor, o certo é saber o que você esta fazendo e como as coisas > funcionam! > > > 2014-01-30 Aureliano Guedes : > > Mas na bioinfo, pelomenos os mais ou menos experientes fazem modulos >> mesmo. Acontece que eventualmente algumas analises feitas em servidores >> potentes demoram 2 dias. Entao, ja teve caso de nao ter muita saida e fazer >> um script para executar outros de acordo com o resultado e progresso da >> analise. Uma comparacao entre resultados de 5000 individuos com toda >> biblioteca de miRNA entre miRNAnda e RNAhybrid depois filtrar os resultados >> e desenhar o sitio de ligacao evidenciando os resultados semelhantes e >> discriminando os demais, sem saida, foi script executando script. O que foi >> possivel trabalhar com modulos foi feito. >> >> >> Blabos de Blebe escreveu: >> >> > e também vem com o CPAN, que o do sistema não vem. >> >> Um Perl que vem sem CPAN? WTF? Pode isso Arnado? >> >> ... >> >> Ok, pode ter algum complicador ou outro... >> >> O perlbrew é utilizado para instalar uma versão local do Perl, sem >> requisitar premissões de usuários, ou seja, o binário do Perl + diretórios >> de bibliotecas, ficam no home do usuário. >> >> Com ele você pode alternar entre várias versões Perl e ele ainda cuida >> da instalação e localização de libs com o comando cpanm. Tudo isso sem >> incomodar o administrador. >> >> Vocês utilizam scripts de terceiros? ok, veja esse exemplo: >> >> Script: >> >> #!/usr/bin/perl >> >> print 'Foo: ' . $] . $/; >> >> >> Executando: >> >> $ ./foo.pl >> 5.016002 >> >> $ perl foo.pl >> 5.018002 >> >> Notou que a segunda forma executa com o perl do meu ambiente, ignorando >> o shebang? >> >> Só complica se um script executar outro, mas de qualquer forma, você >> sempre pode trocar o shebang para: >> >> #!/usr/bin/env perl >> >> >> >> *** >> >> A recomendação que a gente costuma dar é "nunca mexa no Perl do >> ambiente", porque entre outras coisas, scripts de inicialização do SO >> dependem dele e se vc bagunçar aí, seu sistema não boota. >> >> Além disso, sistemas Apple e Fedora são famosos por terem uma péssima >> compilação do Perl, com problemas de performance e bugs que já foram >> corrigidos mas não aplicados na "versão deles". >> >> Há uns 5 anos, usar o Perl padrão do sistema e instalar local::lib era >> o mais indicado. Hoje, a menos que o seu usuário não tenha acesso a um >> compilador, o que no caso eu duvido, a melhor opção tende a ser perlbrew. >> >> Pode ser que no seu caso específico, tenha um detalhe ou outro, mas não >> me parece tão problemático. >> >> Quanto a módulos especiais, a menos que sejam alguma coisa proprietária >> e não estejam acessíveis via cpan, você também pode instalá-los. >> >> Eu sei que Bioinformática é bem diferente de computação em geral, mas >> se vocês puderem, ao invés de criar scripts que rodam scripts, tentem criar >> módulos, ou seja, bibliotecas, que são chamados em um pequeno script. >> >> É um investimento bobo, que ajuda a resolver uma porrada de problemas e >> a diminuir o tempo que você gasta montando o seu ambiente. >> >> *** >> >> Quanto a replicação para os nós, tem várias opções também desde >> empacotadores até a distribuição com git. >> >> []'s >> >> >> >> >> >> 2014-01-30 Aureliano Guedes >> >> Nicole, nunca fui no x-meeting, mas gostaria. Agora se voce fala que a >> bioinfo esta lotada de mulher, amem senhor, mande umas pra goiania. Hahaha. >> Eu tbm sou paranoico quanto a modificar o perl do sistema. Eu prefiro o >> perlbrew. Apesar de que 2 de 5 vezes que configurei o perlbrew deu problema. >> Mas essa taxa da erro de configuracai do perlbrew de 40% e compativel com >> minha taxa de erros por falta da atencao na hora de programar. >> >> Tiago Peczenyj escreveu: >> >> eu não gosto de alterar o perl do sistema. >> >> mas posso estar sendo paranoico. >> >> >> 2014-01-30 Nicole Scherer >> >> Oi Blabos, >> >> Pelo que entendi, o perlbrew (que deve ser fabuloso) cuida de novas >> instalações, tanto locais, quando no sistema, caso seja de interesse do >> admin. >> No meu caso específico, já tenho uma outra versão de perl, instalada >> pelo Rocks em /opt/perl e disponível para todos os nós do cluster. Esse >> "Perl Roll" já vem com alguns módulos especiais para cluster e para >> bioinformática, e também vem com o CPAN, que o do sistema não vem. O meu >> objetivo é preparar o cluster de tal forma, que os usuários possam utilizar >> esta versão bombada do Perl sem ter que brigar comigo :-) >> Minha primeira ideia era colocar o /opt/perl/bin no início do $PATH de >> todo mundo, forçando para ser o perl padrão, mas fiquei com receio de que >> algum programa do sistema RHEL6 dependesse da instalação do fabricante. >> Estou nesse dilema porque é uma máquina de uso compartilhado. Tenho receio >> de colocar no $PATH e o usuário ter problemas porque os scripts que usa tem >> shebang #!/usr/bin/perl e sejam chamados como executáveis. (Em >> bioinfomática usamos muitos scripts feitos por terceiros). >> Claro que se o usuário quiser usar o perlbrew, ele pode, mas não poderá >> usar o curl para fazer isto, pois a máquina está configurada para não >> acessar a internet. Para o CPAN criei um mirror local. >> >> Sei lá, devo estar fazendo tempestade em copo d'água. Tenho é que >> deixar tudo isso bem claro no guia do usuário e deixar que eles decidam. >> >> Obrigada!!! >> Nicole >> >> >> >> Em Quinta-feira, 30 de Janeiro de 2014 12:12, Blabos de Blebe < >> blabos em gmail.com> escreveu: >> Pessoal, >> >> O perlbrew não ajudaria não? >> >> Porque ele já cuida automagicamente de toda a complicação. >> >> Seriam apenas os comandos: >> >> $ curl -L http://install.perlbrew.pl | bash >> $ echo "source ~/perl5/perlbrew/etc/bashrc" >> .bashrc >> $ perlbrew install perl-5.18.2 >> $ perlbrew switch perl-5.18.2 >> $ perlbrew install-cpanm >> $ cpanm My::Incredible::Module >> >> >> []'s >> >> >> >> >> >> 2014-01-30 Stanislaw Pusep >> >> Isso mesmo; na primeira vez em que "perl -Mlocal::lib" roda ele cria os >> diretórios necessários. Se salvar as variáveis de ambiente, não precisa >> rodar nunca mais. >> Entretanto, as variáveis serão diferentes para cada usuário. Para >> melhorar a automação, basta colocar no final do /etc/profile (sim, o do >> sistema): "eval $(perl -Mlocal::lib)". Desse jeito os usuários >> automagicamente terão local::lib configurado ao fazer o login :) >> >> >> 2014-01-30 Nicole Scherer >> >> Obrigada, Stanislaw! >> >> Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e >> colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele >> nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez >> que for instalar novos pacotes? Com as variáveis de ambiente definidas >> ainda preciso do local::lib? >> >> Abraços, >> Nicole >> >> >> >> >> Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep < >> creaktive em gmail.com> escreveu: >> Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o >> Perl do seu /opt/perl já tiver local::lib instalado como root, não precisa >> dessa etapa. >> O que acontece se você rodar "perl -Mlocal::lib"? >> Aqui, por exemplo, aparece: >> >> PATH="/Users/stas/perl5/bin${PATH+:}$PATH"; >> export PATH; >> PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB"; >> export PERL5LIB; >> >> PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT"; >> export PERL_LOCAL_LIB_ROOT; >> PERL_MB_OPT="--install_base \"/Users/stas/perl5\""; >> export PERL_MB_OPT; >> PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5"; >> export PERL_MM_OPT; >> >> Se você colar o output produzido no seu sistema para o >> .bashrc/.profile, o Perl "se sentirá em casa" no $HOME :) >> O cpanminus é opcional; única coisa absolutamente necessária é que "perl >> -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as >> variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib" >> diz. >> >> >> 2014-01-30 Nicole Scherer >> >> Obrigada Stanislaw e Aureliano! >> >> Aureliano, a bioinformática está tomada por mulheres :-) Já foste no >> X-Meeting? >> >> Stanislaw, >> >> como gestora do cluster, meu objetivo é deixar para o usuário o sistema >> pronto para que ele possa instalar seus módulos localmente sem ter que >> fazer acrobacias. Eu já instalei o local::lib no sistema como root, então >> não seria necessário que o usuário instalasse novamente, correto? Ou ele >> precisaria fazer sua própria instalação? >> >> Quando o usuário faz sua primeira incursão no cpan e realiza a >> configuração, aparece a seguinte mensagem: >> >> >> --------------------------------------------------------------------------------------------------------------- >> local::lib is installed. You must now add the following environment >> variables >> to your shell configuration files (or registry, if you are on Windows) and >> then restart your command line shell and CPAN before installing modules: >> >> >> Would you like me to append that to /home/hpcst06/.bashrc now? [yes] >> >> >> --------------------------------------------------------------------------------------------------------------- >> >> Porém, como podes ver, o "following environment variables" está vazio e >> nenhuma modificação é feita no .bashrc >> >> Esta etapa é que deveria definir as tais variáveis de ambiente. Não >> entendo por que não está funcionando. >> Desta forma, a única solução seria mesmo acrescentar estas linhas ao >> .profile a força. >> >> Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan >> e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso >> seja demais, não? >> >> Qual o objetivo de instalar o App::cpanminus? >> A partir daí o usuário deve usar cpanm ao invés de cpan? >> >> Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só >> instalei no frontend), pode dar problema na hora de executar os programas >> em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na >> configuração do ambiente local, não é usado na execução dos módulos, certo? >> O home do usuário é montado em cada nó durante a execução, então o perl vai >> executar com as variáveis de ambiente já definidas pelo usuário, então não >> vai precisar executar o local::lib, certo? >> >> >> Obrigada pela ajuda! >> >> >> Abraços, >> Nicole >> >> >> Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes < >> guedes_1000 em hotmail.com> escreveu: >> Caraca. Complexo. >> O melhor, foi ver a pela primeira vez uma mulher na bioinformatica. >> Hello colega bioinformata. >> >> Stanislaw Pusep escreveu: >> >> Olá Nicole! >> Já passei por situação semelhante à sua, quando não podia atualizar o >> Perl default do sistema e a opção foi instalar um Perl mais atualizado >> avulso no /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas >> foram tomadas: >> >> 1. export PATH=/usr/local/bin:$PATH >> >> 2. Os shebangs de todos os scripts executáveis do projeto foram >> modificados de: >> >> #!/usr/bin/perl >> >> para: >> >> #!/usr/bin/env perl >> >> 3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib >> requer uma intervenção do .profile do sistema, para inicializar o >> environment apropriadamente. Seguem os passos para instalar o local::lib >> dessa forma. >> >> 3.1. Download do local::lib: >> >> $ wget >> http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000004.tar.gz >> $ tar xzvf local-lib-2.000004.tar.gz >> $ cd local-lib-2.000004/ >> >> 3.2. Instalação do local::lib: >> >> $ perl Makefile.PL --bootstrap=$HOME/perl5 >> $ make >> $ make test >> $ make install >> >> 3.3. Ativando local::lib na inicialização da shell (Bash): >> >> $ cat << PROFILE >> $HOME/.profile >> eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib) >> PROFILE >> $ >> >> A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib" >> retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl >> buscar instalação dos módulos em um lugar específico ($HOME). Pode >> simplesmente colar essas variáveis direto no .profile, ou (como demonstrado >> acima) rodar eval do output do Perl. >> >> 3.4. Carregar a configuração: >> >> . $HOME/.profile >> >> 3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (essa >> configuração faz as dependências serem instaladas automaticamente): >> >> $ cpan >> >> cpan[1]> o conf prerequisites_policy follow >> cpan[2]> o conf commit >> cpan[3]> install App::cpanminus >> cpan[4]> quit >> >> Boa sorte! >> >> >> 2014-01-29 Nicole Scherer >> >> Boa tarde, queridos Mongers, >> >> eu não queria importuná-los com problemas simples, mas após três dias >> batendo a cabeça e vasculhando fóruns na internet sem solução para algumas >> das perguntas, recorro a vocês. Vou tentar explicar a novela. >> >> Montamos um cluster HPC para pesquisa usando o Rocks 6.1 ( >> http://www.rocksclusters.org/) -- um tipo de linux que instala outro >> linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim, >> mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO >> (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server, >> Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as >> vezes coexistem com os binários do SO. Desta forma, tenho duas versões de >> Perl: >> >> - a do sistema (RHEL6): >> $ /usr/bin/perl -v >> This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi >> >> - e a do Rocks: >> $ /opt/perl/bin/perl -v >> This is perl 5, version 14, subversion 2 (v5.14.2) built for >> x86_64-linux-thread-multi >> >> Cada qual com as suas bibliotecas. >> >> @INC: >> /usr/local/lib64/perl5 >> /usr/local/share/perl5 >> /usr/lib64/perl5/vendor_perl >> /usr/share/perl5/vendor_perl >> /usr/lib64/perl5 >> /usr/share/perl5 >> . >> @INC: >> /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi >> /opt/perl/lib/site_perl/5.14.2 >> /opt/perl/lib/5.14.2/x86_64-linux-thread-multi >> /opt/perl/lib/5.14.2 >> . >> >> >> Agora é que começam meus problemas... >> >> Primeiro: Alguém já teve experiência com duas instalações coexistentes >> de Perl? Posso ter problemas de funcionamento no SO se eu mover o >> /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl >> (uma vez que as shebang dos scripts costuma ter este endereço). Colocar >> simplesmente /opt/perl/bin no início do $PATH pode não ser a solução. >> >> >> O CPAN só está instalado na versão do Rocks, o que me motiva mais a >> deixá-lo como default. >> Como a maioria dos usuários não terão privilégios de root e além disso, >> qualquer instalação no sistema operacional tem que ser espelhada para todos >> os nós, a melhor opção para instalar pacotes é na home dos usuários, >> concordam? Então eu quero deixar tudo o mais fácil possível para que os >> usuários instalem os pacotes desejados. Como não teremos acesso direto à >> internet usei o minicpan para criar um mirror em uma pasta compartilhada >> com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo >> ok. >> Agora esbarrei em um problema que não estou achando resposta fácil. >> >> Quando executo o cpan pela primeira vez como usuário comum, da forma >> mais automática possível, ele cria, como esperado o arquivo MyConfig.pm e >> toda a estrutura de diretórios no home do usuário. Ele executa quase tudo >> com perfeição, substituindo o endereço default pelo do usuário em QUASE >> todos os itens, menos em prefs_dir. >> >> [hpcst06 em crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm >> 'build_dir' => q[/home/hpcst06/.cpan/build], >> 'cpan_home' => q[/home/hpcst06/.cpan], >> 'histfile' => q[/home/hpcst06/.cpan/histfile], >> 'keep_source_where' => q[/home/hpcst06/.cpan/sources], >> 'prefs_dir' => q[/export/cpan/cpan/prefs], >> >> >> (O default cpan_home é /export/cpan/cpan ) >> [hpcst06 em crab ~]$ grep cpan /opt/perl/lib/5.14.2/CPAN/Config.pm >> 'build_dir' => q[/export/cpan/cpan/build], >> 'cpan_home' => q[/export/cpan/cpan], >> 'histfile' => q[/export/cpan/cpan/histfile], >> 'keep_source_where' => q[/export/cpan/cpan/sources], >> 'prefs_dir' => q[/export/cpan/cpan/prefs], >> >> >> Claro que o usuário pode executar >> >o conf prefs_dir /home/hpcst06/.cpan/prefs >> para alterar esta variável, mas concordam que deveria ter sido >> automático. >> Alguém já passou por isto? >> >> Procurei o erro em FirstTime.pm, mas não consegui localizar algo que me >> chamasse a atenção. >> Exatamente igual ao que tenho no Ubuntu, e que funciona normalmente. >> >> >> - Tendo corrigido manualmente o prefs_dir, segui tentando instalar >> localmente algum pacote. >> Aí eu admito uma grande falta de conhecimento da minha parte, mas tentei >> entender o que os tutoriais na internet e fiquei perdida. Devo usar direto >> o cpan? (já que na configuração ele me pergunta se eu quero que use >> local::lib) >> What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') >> [local::lib] >> Ou devo usar sempre >> $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Acme::Time::Baby)' >> ? >> (tudo bem, posso colocar esta linha no tutorial, vai assustar os >> usuários, mas funciona) >> >> >> - Rodando >> [hpcst06 em crab ~]$ perl -MCPAN -Mlocal::lib -e >> 'CPAN::install(Acme::Time::Baby)' >> >> - deu tudo certo. >> [...] >> Result: PASS >> ABIGAIL/Acme-Time-Baby-2010090301.tar.gz >> /usr/bin/make test -- OK >> Running make install >> Prepending >> /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/arch >> /home/hpcst06/.cpan/build/Acme-Time-Baby-2010090301-wJGXda/blib/lib to >> PERL5LIB for 'install' >> Installing /home/hpcst06/perl5/lib/perl5/Acme/Time/Baby.pm >> Installing /home/hpcst06/perl5/man/man3/Acme::Time::Baby.3 >> Appending installation info to >> /home/hpcst06/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod >> ABIGAIL/Acme-Time-Baby-2010090301.tar.gz >> /usr/bin/make install -- OK >> >> >> - Agora, tentei instalar o Data::Printer (Oi Breno!) pela mesma >> estratégia e não consegui. Pode ser que não tenha a ver com a estratégia. >> >> Test Summary Report >> ------------------- >> t/05-obj.t (Wstat: 512 Tests: 0 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/06-obj2.t (Wstat: 512 Tests: 0 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/07-sort.t (Wstat: 512 Tests: 1 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/25-weak.t (Wstat: 512 Tests: 8 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> Files=54, Tests=258, 4 wallclock secs ( 0.19 usr 0.09 sys + 2.82 cusr >> 0.40 csys = 3.50 CPU) >> Result: FAIL >> Failed 4/54 test programs. 0/258 subtests failed. >> make: *** [test_dynamic] Error 255 >> GARU/Data-Printer-0.35.tar.gz >> /usr/bin/make test -- NOT OK >> //hint// to see the cpan-testers results for installing this module, try: >> reports GARU/Data-Printer-0.35.tar.gz >> Running make install >> make test had returned bad status, won't install without force >> >> >> >> Desculpem a postagem tão longa. Acabei até solucionando algumas outras >> dúvidas enquanto tentava descrevê-las aqui. >> >> Abraços a todos, >> Nicole Scherer >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> >> -- >> Tiago B. Peczenyj >> Linux User #405772 >> >> http://about.me/peczenyj >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > > -- > Saravá, > Renato CRON > http://www.renatocron.com/blog/ > @renato_cron > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From oscarbm em gmail.com Fri Feb 14 06:25:16 2014 From: oscarbm em gmail.com (Oscar Marques) Date: Fri, 14 Feb 2014 12:25:16 -0200 Subject: [Rio-pm] Fwd: From Marcio's friend In-Reply-To: References: Message-ID: Olá galera. Tudo bom? Um amigo irlandes quer trabalhar no Brasil e ta procurando emprego. Alguém pode ajudar? Grato. ---------- Forwarded message ---------- From: Benjamin Jakobus Date: 2014-02-14 12:04 GMT-02:00 Subject: From Marcio's friend To: oscarbm em gmail.com Hi Oscar, Marcio forwarded me your email address. I am a software engineer for IBM Ireland (Collaboration Solutions, IBM Software Group Dublin), but plan on moving to Rio. Marcio mentioned that you might know of people that are looking to hire (I attached my CV to give you an idea of my background - unfortunately my Portuguese is basic at best)? Thanks for your time, Best Regards, Ben -- *Software Engineer, IBM* *E-mail (Private):* benjamin.jakobus em gmail.com *E-mail (Work):* benjamij em ie.ibm.com *Mobile:* ++353 (0) 87 341 0 233 *LinkedIn: *http://www.linkedin.com/in/benjaminjakobus -- Oscar Marques oscarbm em gmail.com http://www.dunkelheit.com.br @f117usbr +55 21 9293-9343 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: -------------- Próxima Parte ---------- Um anexo não-texto foi limpo... Nome: CV.pdf Tipo: application/pdf Tamanho: 76100 bytes Descrição: não disponível URL: From blabos em gmail.com Fri Feb 21 07:15:10 2014 From: blabos em gmail.com (Blabos de Blebe) Date: Fri, 21 Feb 2014 12:15:10 -0300 Subject: [Rio-pm] [X-POST] Arquivos .dbc do DataSUS Message-ID: Pessoal, Descupem pelo cross-post, mas eu to precisando debulhar uns arquivos .dbc do DataSUS. Até onde eu entendi, esse é um formato compactado de arquivos .dbf e embora dê pra abrir com os módulos de acesso a DBF padrão, obviamente os dados saem cagados. Eles podem ser convertidos para .dbf com o tabwin( ftp://ftp.datasus.gov.br/tabwin/tabwin/tab36b.zip). Uma vez obtidos os arquivos .dbf, cpan é meu amigo e a mágica acontece. Minha dúvida é: Vocês conhecem alguma forma de manipular os arquivos .dbc sem que eu precise usar um windows e um programa com interface gráfica só pra descompactá-los? []'s -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From samircurys em gmail.com Sun Feb 23 22:58:40 2014 From: samircurys em gmail.com (Samir Cury) Date: Sun, 23 Feb 2014 22:58:40 -0800 Subject: [Rio-pm] Variavel - caminho padrao para diretorios de testes Message-ID: E ai pessoal, faz um tempo que nao passo por aqui, mas felizmente estou voltando a usar Perl no cotidiano e me livrando da ferrugem. Estava revisando um modulo que falta pouco para subir pro CPAN, e me deparei com uma coisa que nao me pareceu o melhor jeito de se fazer : https://github.com/samircury/HTCondor--Queue--Parser/blob/master/t/01_basic.pl#L11 Penso isso pois uma vez enquanto escrevia testes em Python me falaram de uma variavel que referenciava o diretorio de testes. Imaginei que pudesse existir um equivalente em Perl mas minhas buscas nao retornaram nada especifico. Achei interessante perguntar aqui na lista se conhecem algum jeito melhor. De repente esta na ponta da lingua de quem escreve modulos direto. Do jeito que esta ja passa no "prove" [1] mas como nao tenho muita pratica com modulos e sempre bom perguntar. Abracos, Samir [1] : ~/code/Condor--Queue--Parser $ prove -l t/01_basic.pl t/01_basic.pl .. ok All tests successful. Files=1, Tests=9, 2 wallclock secs ( 0.03 usr 0.00 sys + 1.27 cusr 0.03 csys = 1.33 CPU) Result: PASS -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From creaktive em gmail.com Sun Feb 23 23:54:56 2014 From: creaktive em gmail.com (Stanislaw Pusep) Date: Mon, 24 Feb 2014 08:54:56 +0100 Subject: [Rio-pm] Variavel - caminho padrao para diretorios de testes In-Reply-To: References: Message-ID: Olá Samir! Não há necessidade de passar o "absolute path", os testes são sempre executados da raiz da sua distribuição: my @condor_q = read_file( 't/input.txt' ) ; # isso é suficiente Uma nota: os testes em Perl tem extensão padrão .t, portanto, o nome do arquivo de testes ficaria mais consistente se fosse "01_basic.t". Abs 2014-02-24 7:58 GMT+01:00 Samir Cury : > E ai pessoal, faz um tempo que nao passo por aqui, mas felizmente estou > voltando a usar Perl no cotidiano e me livrando da ferrugem. > > Estava revisando um modulo que falta pouco para subir pro CPAN, e me > deparei com uma coisa que nao me pareceu o melhor jeito de se fazer : > > > https://github.com/samircury/HTCondor--Queue--Parser/blob/master/t/01_basic.pl#L11 > > Penso isso pois uma vez enquanto escrevia testes em Python me falaram de > uma variavel que referenciava o diretorio de testes. Imaginei que pudesse > existir um equivalente em Perl mas minhas buscas nao retornaram nada > especifico. > > Achei interessante perguntar aqui na lista se conhecem algum jeito melhor. > De repente esta na ponta da lingua de quem escreve modulos direto. Do jeito > que esta ja passa no "prove" [1] mas como nao tenho muita pratica com > modulos e sempre bom perguntar. > > Abracos, > Samir > > [1] : > > ~/code/Condor--Queue--Parser $ prove -l t/01_basic.pl > t/01_basic.pl .. ok > All tests successful. > Files=1, Tests=9, 2 wallclock secs ( 0.03 usr 0.00 sys + 1.27 cusr > 0.03 csys = 1.33 CPU) > Result: PASS > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From samircurys em gmail.com Mon Feb 24 00:16:05 2014 From: samircurys em gmail.com (Samir Cury) Date: Mon, 24 Feb 2014 00:16:05 -0800 Subject: [Rio-pm] Variavel - caminho padrao para diretorios de testes In-Reply-To: References: Message-ID: Valeu Stanislaw! Era o que estava antes, mas achei facil demais pra ser verdade. Beleza entao. extensao .t -- de fato, agora estou lembrado, mudando, obrigado! Abs 2014-02-23 23:54 GMT-08:00 Stanislaw Pusep : > Olá Samir! > Não há necessidade de passar o "absolute path", os testes são sempre > executados da raiz da sua distribuição: > > my @condor_q = read_file( 't/input.txt' ) ; # isso é suficiente > > Uma nota: os testes em Perl tem extensão padrão .t, portanto, o nome do > arquivo de testes ficaria mais consistente se fosse "01_basic.t". > Abs > > > 2014-02-24 7:58 GMT+01:00 Samir Cury : > >> E ai pessoal, faz um tempo que nao passo por aqui, mas felizmente estou >> voltando a usar Perl no cotidiano e me livrando da ferrugem. >> >> Estava revisando um modulo que falta pouco para subir pro CPAN, e me >> deparei com uma coisa que nao me pareceu o melhor jeito de se fazer : >> >> >> https://github.com/samircury/HTCondor--Queue--Parser/blob/master/t/01_basic.pl#L11 >> >> Penso isso pois uma vez enquanto escrevia testes em Python me falaram de >> uma variavel que referenciava o diretorio de testes. Imaginei que pudesse >> existir um equivalente em Perl mas minhas buscas nao retornaram nada >> especifico. >> >> Achei interessante perguntar aqui na lista se conhecem algum jeito >> melhor. De repente esta na ponta da lingua de quem escreve modulos direto. >> Do jeito que esta ja passa no "prove" [1] mas como nao tenho muita pratica >> com modulos e sempre bom perguntar. >> >> Abracos, >> Samir >> >> [1] : >> >> ~/code/Condor--Queue--Parser $ prove -l t/01_basic.pl >> t/01_basic.pl .. ok >> All tests successful. >> Files=1, Tests=9, 2 wallclock secs ( 0.03 usr 0.00 sys + 1.27 cusr >> 0.03 csys = 1.33 CPU) >> Result: PASS >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From tiago.peczenyj em gmail.com Mon Feb 24 01:19:17 2014 From: tiago.peczenyj em gmail.com (Tiago Peczenyj) Date: Mon, 24 Feb 2014 06:19:17 -0300 Subject: [Rio-pm] Variavel - caminho padrao para diretorios de testes In-Reply-To: References: Message-ID: FindBin? Em 24/02/2014 03:58, "Samir Cury" escreveu: > E ai pessoal, faz um tempo que nao passo por aqui, mas felizmente estou > voltando a usar Perl no cotidiano e me livrando da ferrugem. > > Estava revisando um modulo que falta pouco para subir pro CPAN, e me > deparei com uma coisa que nao me pareceu o melhor jeito de se fazer : > > > https://github.com/samircury/HTCondor--Queue--Parser/blob/master/t/01_basic.pl#L11 > > Penso isso pois uma vez enquanto escrevia testes em Python me falaram de > uma variavel que referenciava o diretorio de testes. Imaginei que pudesse > existir um equivalente em Perl mas minhas buscas nao retornaram nada > especifico. > > Achei interessante perguntar aqui na lista se conhecem algum jeito melhor. > De repente esta na ponta da lingua de quem escreve modulos direto. Do jeito > que esta ja passa no "prove" [1] mas como nao tenho muita pratica com > modulos e sempre bom perguntar. > > Abracos, > Samir > > [1] : > > ~/code/Condor--Queue--Parser $ prove -l t/01_basic.pl > t/01_basic.pl .. ok > All tests successful. > Files=1, Tests=9, 2 wallclock secs ( 0.03 usr 0.00 sys + 1.27 cusr > 0.03 csys = 1.33 CPU) > Result: PASS > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From blabos em gmail.com Mon Feb 24 01:24:47 2014 From: blabos em gmail.com (Blabos de Blebe) Date: Mon, 24 Feb 2014 06:24:47 -0300 Subject: [Rio-pm] Variavel - caminho padrao para diretorios de testes In-Reply-To: References: Message-ID: Acredito que o que você precisa é o que o Stan já falou, algo como: my @condor_q = read_file( './t/input.txt' ); ou até mesmo: my @condor_q = read_file( 't/input.txt' ); O uso do FindBin pode ser meio cheio de truques, se você utilizar vários níveis de sub diretórios. []'s 2014-02-24 6:19 GMT-03:00 Tiago Peczenyj : > FindBin? > Em 24/02/2014 03:58, "Samir Cury" escreveu: > >> E ai pessoal, faz um tempo que nao passo por aqui, mas felizmente estou >> voltando a usar Perl no cotidiano e me livrando da ferrugem. >> >> Estava revisando um modulo que falta pouco para subir pro CPAN, e me >> deparei com uma coisa que nao me pareceu o melhor jeito de se fazer : >> >> >> https://github.com/samircury/HTCondor--Queue--Parser/blob/master/t/01_basic.pl#L11 >> >> Penso isso pois uma vez enquanto escrevia testes em Python me falaram de >> uma variavel que referenciava o diretorio de testes. Imaginei que pudesse >> existir um equivalente em Perl mas minhas buscas nao retornaram nada >> especifico. >> >> Achei interessante perguntar aqui na lista se conhecem algum jeito >> melhor. De repente esta na ponta da lingua de quem escreve modulos direto. >> Do jeito que esta ja passa no "prove" [1] mas como nao tenho muita pratica >> com modulos e sempre bom perguntar. >> >> Abracos, >> Samir >> >> [1] : >> >> ~/code/Condor--Queue--Parser $ prove -l t/01_basic.pl >> t/01_basic.pl .. ok >> All tests successful. >> Files=1, Tests=9, 2 wallclock secs ( 0.03 usr 0.00 sys + 1.27 cusr >> 0.03 csys = 1.33 CPU) >> Result: PASS >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From guedes_1000 em hotmail.com Sun Mar 2 19:26:31 2014 From: guedes_1000 em hotmail.com (Aureliano Guedes) Date: Mon, 3 Mar 2014 00:26:31 -0300 Subject: [Rio-pm] [Curiosidade] Perl no smartphone Message-ID: Ola monges, So uma curiosidade. Alguem conhece ou ja viu algum metodo, projeto ou mesmo algum grupo que tenha apenas a vontade de rodar perl em smartphone, seja android windows phone ou iOS? T+ From renato.cron em gmail.com Sun Mar 2 22:03:38 2014 From: renato.cron em gmail.com (Renato Santos) Date: Mon, 3 Mar 2014 03:03:38 -0300 Subject: [Rio-pm] [Curiosidade] Perl no smartphone In-Reply-To: References: Message-ID: Rodar Perl é relativamente simples, difícil é criar uma app. Dado que o Perl tem poucas dependências, você precisa ter um compilar C no smartphone e paciência. Acho que Tinha um grupo, uns 3 anos atrás, no Android 1.5 (sim, já existiu) que rodavam Perl. Mas não sabe mais disso! On Mar 3, 2014 12:26 AM, "Aureliano Guedes" wrote: > Ola monges, > > So uma curiosidade. > Alguem conhece ou ja viu algum metodo, projeto ou mesmo algum grupo que > tenha apenas a vontade de rodar perl em smartphone, seja android windows > phone ou iOS? > > T+ > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From creaktive em gmail.com Sun Mar 2 22:55:02 2014 From: creaktive em gmail.com (Stanislaw Pusep) Date: Mon, 3 Mar 2014 07:55:02 +0100 Subject: [Rio-pm] [Curiosidade] Perl no smartphone In-Reply-To: References: Message-ID: Para iOS, temos o PerlMotion: https://github.com/goccy/perl-motion Não é exatamente Perl, mas permite escrever apps num subset te Perl. Por outro lado, instalar Perl "normal" num iOS c/jailbreak é dois palito: http://iphonesdkdev.blogspot.nl/2014/01/how-to-install-perl-theos-and-llvm.html 2014-03-03 7:03 GMT+01:00 Renato Santos : > Rodar Perl é relativamente simples, difícil é criar uma app. > > Dado que o Perl tem poucas dependências, você precisa ter um compilar C no > smartphone e paciência. > > Acho que Tinha um grupo, uns 3 anos atrás, no Android 1.5 (sim, já > existiu) que rodavam Perl. Mas não sabe mais disso! > On Mar 3, 2014 12:26 AM, "Aureliano Guedes" > wrote: > >> Ola monges, >> >> So uma curiosidade. >> Alguem conhece ou ja viu algum metodo, projeto ou mesmo algum grupo que >> tenha apenas a vontade de rodar perl em smartphone, seja android windows >> phone ou iOS? >> >> T+ >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From oscarbm em gmail.com Sun Mar 2 23:47:33 2014 From: oscarbm em gmail.com (Oscar Marques) Date: Mon, 3 Mar 2014 04:47:33 -0300 Subject: [Rio-pm] [Curiosidade] Perl no smartphone In-Reply-To: References: Message-ID: http://code.google.com/p/android-scripting/ Eu rodo perl no Android. Veja ae. Em 3 de março de 2014 03:55, Stanislaw Pusep escreveu: > Para iOS, temos o PerlMotion: https://github.com/goccy/perl-motion > Não é exatamente Perl, mas permite escrever apps num subset te Perl. > Por outro lado, instalar Perl "normal" num iOS c/jailbreak é dois palito: > http://iphonesdkdev.blogspot.nl/2014/01/how-to-install-perl-theos-and-llvm.html > > > 2014-03-03 7:03 GMT+01:00 Renato Santos : > > Rodar Perl é relativamente simples, difícil é criar uma app. >> >> Dado que o Perl tem poucas dependências, você precisa ter um compilar C >> no smartphone e paciência. >> >> Acho que Tinha um grupo, uns 3 anos atrás, no Android 1.5 (sim, já >> existiu) que rodavam Perl. Mas não sabe mais disso! >> On Mar 3, 2014 12:26 AM, "Aureliano Guedes" >> wrote: >> >>> Ola monges, >>> >>> So uma curiosidade. >>> Alguem conhece ou ja viu algum metodo, projeto ou mesmo algum grupo que >>> tenha apenas a vontade de rodar perl em smartphone, seja android windows >>> phone ou iOS? >>> >>> T+ >>> _______________________________________________ >>> Rio-pm mailing list >>> Rio-pm em pm.org >>> http://mail.pm.org/mailman/listinfo/rio-pm >>> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- Oscar Marques oscarbm em gmail.com http://www.dunkelheit.com.br @f117usbr +55 21 9293-9343 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From manoel.domingues.junior em gmail.com Wed Mar 5 08:05:00 2014 From: manoel.domingues.junior em gmail.com (Manoel Domingues Junior) Date: Wed, 5 Mar 2014 13:05:00 -0300 Subject: [Rio-pm] =?iso-8859-1?q?Recomenda=E7=E3o_de_modulos_para_Log?= Message-ID: Olá pessoal, Estou fazendo uns scripts(na verdade é uma API com Mojolicious::Lite) aqui e implementei uma função de log usando um conjunto de Net::Syslog com Sys::Syslog para fazer o log do script. https://gist.github.com/mdjunior/9369937 sub log_wrapper { my $log = shift; my $priority = shift; if ( ! defined $priority ) { $priority = 'debug'; } if ( $ENV{APP_LOG} eq 'LOCAL' ) { openlog( $ENV{APP_NAME}, 'ndelay,pid', 'LOG_DAEMON' ); syslog( $priority, $log ); closelog(); } elsif ($ENV{APP_LOG} eq 'NET') { my $log_net = Net::Syslog->new( Name => $ENV{APP_NAME}, Facility => 'local7', Priority => $priority, SyslogPort => $ENV{APP_SYSLOG_PORT}, SyslogHost => $ENV{APP_SYSLOG_HOST}, ); $log_net->send($log); } return; } Pesquisando na internet vi que muita gente comenta sobre o Log::Log4perl e o Log::Any mas não sei bem qual desses (ou outros) é o ideal ou o padrão de uso. No caso, toda a configuração do meu script fica em variáveis de ambiente. O script possui uma trilha de auditoria que é feita usando os logs, logo ele gera eventos em grande quantidade em diferentes níveis (debug, info e error). Alguma recomendação? Abraços, -- -- Manoel Domingues Junior "Coletar dados é o primeiro passo para a sabedoria, mas compartilhar dados é o primeiro passo para a comunidade." IBM - Prodigy Linux -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From creaktive em gmail.com Wed Mar 5 08:35:35 2014 From: creaktive em gmail.com (Stanislaw Pusep) Date: Wed, 5 Mar 2014 17:35:35 +0100 Subject: [Rio-pm] =?utf-8?q?Recomenda=C3=A7=C3=A3o_de_modulos_para_Log?= In-Reply-To: References: Message-ID: http://mojolicio.us/perldoc/Mojo/Log ?????, 5 ????? 2014 ?. ???????????? Manoel Domingues Junior ???????: > Olá pessoal, > > Estou fazendo uns scripts(na verdade é uma API com Mojolicious::Lite) aqui > e implementei uma função de log usando um conjunto de Net::Syslog com > Sys::Syslog para fazer o log do script. > > https://gist.github.com/mdjunior/9369937 > > sub log_wrapper { > > > my $log = shift; > > my $priority = shift; > > > if ( ! defined $priority ) { > > $priority = 'debug'; > > } > > if ( $ENV{APP_LOG} eq 'LOCAL' ) { > > openlog( $ENV{APP_NAME}, 'ndelay,pid', 'LOG_DAEMON' ); > > syslog( $priority, $log ); > > closelog(); > } elsif ($ENV{APP_LOG} eq 'NET') { > > my $log_net = Net::Syslog->new( > > Name => $ENV{APP_NAME}, > > Facility => 'local7', > > Priority => $priority, > > SyslogPort => $ENV{APP_SYSLOG_PORT}, > > SyslogHost => $ENV{APP_SYSLOG_HOST}, > > ); > $log_net->send($log); > > } > return; > > } > > Pesquisando na internet vi que muita gente comenta sobre o Log::Log4perl e > o Log::Any mas não sei bem qual desses (ou outros) é o ideal ou o padrão de > uso. > > No caso, toda a configuração do meu script fica em variáveis de ambiente. > O script possui uma trilha de auditoria que é feita usando os logs, logo > ele gera eventos em grande quantidade em diferentes níveis (debug, info e > error). > > Alguma recomendação? > > Abraços, > -- > -- > Manoel Domingues Junior > "Coletar dados é o primeiro passo para a sabedoria, mas compartilhar dados > é o primeiro passo para a comunidade." > IBM - Prodigy Linux > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From shonorio em gmail.com Wed Mar 5 08:48:46 2014 From: shonorio em gmail.com (Solli Honorio) Date: Wed, 5 Mar 2014 13:48:46 -0300 Subject: [Rio-pm] =?iso-8859-1?q?Recomenda=E7=E3o_de_modulos_para_Log?= In-Reply-To: References: Message-ID: Manoel, Eu utilizo o Log4Perl e gosto dele por ser independente e permitir expandir a saida para quase tudo que existe hj, e se não existir é só fazer um plugin. Não recomendo fazer um sistema de log proprietário . Se eu não estiver enganado, o Log::Any é uma interface/bind para vários tipos de Log. Solli Honorio Em 5 de março de 2014 13:05, Manoel Domingues Junior < manoel.domingues.junior em gmail.com> escreveu: > Olá pessoal, > > Estou fazendo uns scripts(na verdade é uma API com Mojolicious::Lite) aqui > e implementei uma função de log usando um conjunto de Net::Syslog com > Sys::Syslog para fazer o log do script. > > https://gist.github.com/mdjunior/9369937 > > > sub log_wrapper { > > > my $log = shift; > > my $priority = shift; > > > if ( ! defined $priority ) { > > > $priority = 'debug'; > > } > > if ( $ENV{APP_LOG} eq 'LOCAL' ) { > > > openlog( $ENV{APP_NAME}, 'ndelay,pid', 'LOG_DAEMON' ); > > > syslog( $priority, $log ); > > closelog(); > } elsif ($ENV{APP_LOG} eq 'NET') { > > > my $log_net = Net::Syslog->new( > > > Name => $ENV{APP_NAME}, > > > Facility => 'local7', > > Priority => $priority, > > SyslogPort => $ENV{APP_SYSLOG_PORT}, > > > SyslogHost => $ENV{APP_SYSLOG_HOST}, > > > ); > $log_net->send($log); > > > } > return; > > } > > Pesquisando na internet vi que muita gente comenta sobre o Log::Log4perl e > o Log::Any mas não sei bem qual desses (ou outros) é o ideal ou o padrão de > uso. > > No caso, toda a configuração do meu script fica em variáveis de ambiente. > O script possui uma trilha de auditoria que é feita usando os logs, logo > ele gera eventos em grande quantidade em diferentes níveis (debug, info e > error). > > Alguma recomendação? > > Abraços, > -- > -- > Manoel Domingues Junior > "Coletar dados é o primeiro passo para a sabedoria, mas compartilhar dados > é o primeiro passo para a comunidade." > IBM - Prodigy Linux > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- "o animal satisfeito dorme". - Guimarães Rosa -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From oainikusama em gmail.com Wed Mar 5 17:13:14 2014 From: oainikusama em gmail.com (breno) Date: Wed, 5 Mar 2014 20:13:14 -0500 Subject: [Rio-pm] =?iso-8859-1?q?Recomenda=E7=E3o_de_modulos_para_Log?= In-Reply-To: References: Message-ID: Manoel, também recomendo o Log4perl, e para apps Mojolicious vc pode usar o https://metacpan.org/pod/MojoX::Log::Log4perl =] []s -b 2014-03-05 11:48 GMT-05:00 Solli Honorio : > Manoel, > > Eu utilizo o Log4Perl e gosto dele por ser independente e permitir expandir > a saida para quase tudo que existe hj, e se não existir é só fazer um > plugin. > > Não recomendo fazer um sistema de log proprietário . > > Se eu não estiver enganado, o Log::Any é uma interface/bind para vários > tipos de Log. > > Solli Honorio > > > > Em 5 de março de 2014 13:05, Manoel Domingues Junior > escreveu: >> >> Olá pessoal, >> >> Estou fazendo uns scripts(na verdade é uma API com Mojolicious::Lite) aqui >> e implementei uma função de log usando um conjunto de Net::Syslog com >> Sys::Syslog para fazer o log do script. >> >> https://gist.github.com/mdjunior/9369937 >> >> >> >> sub log_wrapper { >> >> my $log = shift; >> >> my $priority = shift; >> >> >> if ( ! defined $priority ) { >> >> >> >> $priority = 'debug'; >> >> } >> >> if ( $ENV{APP_LOG} eq 'LOCAL' ) { >> >> >> >> openlog( $ENV{APP_NAME}, 'ndelay,pid', 'LOG_DAEMON' ); >> >> >> >> syslog( $priority, $log ); >> >> closelog(); >> } elsif ($ENV{APP_LOG} eq 'NET') { >> >> >> >> my $log_net = Net::Syslog->new( >> >> >> >> Name => $ENV{APP_NAME}, >> >> >> >> Facility => 'local7', >> >> Priority => $priority, >> >> SyslogPort => $ENV{APP_SYSLOG_PORT}, >> >> >> >> SyslogHost => $ENV{APP_SYSLOG_HOST}, >> >> >> >> ); >> $log_net->send($log); >> >> >> >> } >> return; >> >> } >> >> Pesquisando na internet vi que muita gente comenta sobre o Log::Log4perl e >> o Log::Any mas não sei bem qual desses (ou outros) é o ideal ou o padrão de >> uso. >> >> No caso, toda a configuração do meu script fica em variáveis de ambiente. >> O script possui uma trilha de auditoria que é feita usando os logs, logo ele >> gera eventos em grande quantidade em diferentes níveis (debug, info e >> error). >> >> Alguma recomendação? >> >> Abraços, >> -- >> -- >> Manoel Domingues Junior >> "Coletar dados é o primeiro passo para a sabedoria, mas compartilhar dados >> é o primeiro passo para a comunidade." >> IBM - Prodigy Linux >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm > > > > > -- > "o animal satisfeito dorme". - Guimarães Rosa > > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm From andregarciacarneiro em gmail.com Fri Mar 7 07:18:27 2014 From: andregarciacarneiro em gmail.com (Andre Carneiro) Date: Fri, 7 Mar 2014 12:18:27 -0300 Subject: [Rio-pm] =?iso-8859-1?q?Recomenda=E7=E3o_de_modulos_para_Log?= In-Reply-To: References: Message-ID: Log4perl ainda é a melhor opção. 2014-03-05 22:13 GMT-03:00 breno : > Manoel, > > também recomendo o Log4perl, e para apps Mojolicious vc pode usar o > https://metacpan.org/pod/MojoX::Log::Log4perl =] > > []s > > -b > > 2014-03-05 11:48 GMT-05:00 Solli Honorio : > > Manoel, > > > > Eu utilizo o Log4Perl e gosto dele por ser independente e permitir > expandir > > a saida para quase tudo que existe hj, e se não existir é só fazer um > > plugin. > > > > Não recomendo fazer um sistema de log proprietário . > > > > Se eu não estiver enganado, o Log::Any é uma interface/bind para vários > > tipos de Log. > > > > Solli Honorio > > > > > > > > Em 5 de março de 2014 13:05, Manoel Domingues Junior > > escreveu: > >> > >> Olá pessoal, > >> > >> Estou fazendo uns scripts(na verdade é uma API com Mojolicious::Lite) > aqui > >> e implementei uma função de log usando um conjunto de Net::Syslog com > >> Sys::Syslog para fazer o log do script. > >> > >> https://gist.github.com/mdjunior/9369937 > >> > >> > >> > >> sub log_wrapper { > >> > >> my $log = shift; > >> > >> my $priority = shift; > >> > >> > >> if ( ! defined $priority ) { > >> > >> > >> > >> $priority = 'debug'; > >> > >> } > >> > >> if ( $ENV{APP_LOG} eq 'LOCAL' ) { > >> > >> > >> > >> openlog( $ENV{APP_NAME}, 'ndelay,pid', 'LOG_DAEMON' ); > >> > >> > >> > >> syslog( $priority, $log ); > >> > >> closelog(); > >> } elsif ($ENV{APP_LOG} eq 'NET') { > >> > >> > >> > >> my $log_net = Net::Syslog->new( > >> > >> > >> > >> Name => $ENV{APP_NAME}, > >> > >> > >> > >> Facility => 'local7', > >> > >> Priority => $priority, > >> > >> SyslogPort => $ENV{APP_SYSLOG_PORT}, > >> > >> > >> > >> SyslogHost => $ENV{APP_SYSLOG_HOST}, > >> > >> > >> > >> ); > >> $log_net->send($log); > >> > >> > >> > >> } > >> return; > >> > >> } > >> > >> Pesquisando na internet vi que muita gente comenta sobre o > Log::Log4perl e > >> o Log::Any mas não sei bem qual desses (ou outros) é o ideal ou o > padrão de > >> uso. > >> > >> No caso, toda a configuração do meu script fica em variáveis de > ambiente. > >> O script possui uma trilha de auditoria que é feita usando os logs, > logo ele > >> gera eventos em grande quantidade em diferentes níveis (debug, info e > >> error). > >> > >> Alguma recomendação? > >> > >> Abraços, > >> -- > >> -- > >> Manoel Domingues Junior > >> "Coletar dados é o primeiro passo para a sabedoria, mas compartilhar > dados > >> é o primeiro passo para a comunidade." > >> IBM - Prodigy Linux > >> > >> _______________________________________________ > >> Rio-pm mailing list > >> Rio-pm em pm.org > >> http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > > > > > -- > > "o animal satisfeito dorme". - Guimarães Rosa > > > > _______________________________________________ > > Rio-pm mailing list > > Rio-pm em pm.org > > http://mail.pm.org/mailman/listinfo/rio-pm > _______________________________________________ > Rio-pm mailing list > Rio-pm em pm.org > http://mail.pm.org/mailman/listinfo/rio-pm > -- André Garcia Carneiro Software Engineer (11)982907780 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From wallace em reis.me Fri Mar 7 08:59:33 2014 From: wallace em reis.me (Wallace Reis) Date: Fri, 07 Mar 2014 13:59:33 -0300 Subject: [Rio-pm] =?iso-8859-1?q?Recomenda=E7=E3o_de_modulos_para_Log?= In-Reply-To: References: Message-ID: <5319FAF5.5040707@reis.me> On 05/03/14, 1:48 PM, Solli Honorio wrote: > Se eu não estiver enganado, o Log::Any é uma interface/bind para vários > tipos de Log. Tem o Log::Contextual também. Ab, -- Wallace Reis/wreis wallace em reis.me http://wallace.reis.me From jimmy.tty em gmail.com Tue Mar 18 06:45:38 2014 From: jimmy.tty em gmail.com (jimmy) Date: Tue, 18 Mar 2014 10:45:38 -0300 Subject: [Rio-pm] Arquivos .dbc do DataSUS In-Reply-To: References: Message-ID: <20140318134538.GB2377@textmode> Saudações Blabos, On Fri, Feb 21, 2014 at 12:15:10PM -0300, Blabos de Blebe wrote: > Pessoal, > > Descupem pelo cross-post, mas eu to precisando debulhar uns arquivos > D.dbc do ataSUS. > > Até onde eu entendi, esse é um formato compactado de arquivos .dbf e > embora dê pra abrir com os módulos de acesso a DBF padrão, obviamente > os dados saem cagados. > > Eles podem ser convertidos para .dbf com o > tabwin(ftp://ftp.datasus.gov.br/tabwin/tabwin/tab36b.zip). > > Uma vez obtidos os arquivos .dbf, cpan é meu amigo e a mágica > acontece. > > Minha dúvida é: Vocês conhecem alguma forma de manipular os arquivos > .dbc sem que eu precise usar um windows e um programa com interface > gráfica só pra descompactá-los? > > []'s Acho que você já resolveu o problema, de qualquer forma, procurei por arquivos dbc no datasus para analisar e tentar encontrar alguma coisa que lhe ajudasse e, nas buscas, encontrei mais gente que vem brigando com esses dados. No link: https://github.com/vidageek/blog/blob/master/dados/datasus.markdown eu li uma história de "aflição e martírio" sobre como tentar usar os arquivos do datatus. -- "Não manejo bem as palavras Mas manipulo bem as strings." ------------------------------ http://tecnoveneno.blogspot.com From cartas em frederico.me Mon Mar 24 05:33:40 2014 From: cartas em frederico.me (Frederico Recsky) Date: Mon, 24 Mar 2014 09:33:40 -0300 Subject: [Rio-pm] =?iso-8859-1?q?Taubat=E9_Perl_Workshop?= Message-ID: Olá. Dia 24 de maio vamos fazer um Perl workshop em Taubaté. Na Universidade local. A ideia é fazer um workshop no Vale do Paraiba, fora dos centros comuns. http://perl.taubate.me/ Estamos também recebendo propostas de palestras, não tem um tema especifico e todos assuntos são bem vindos. Taubaté é uma cidade amigavel, fica a 4h de carro do Rio de Janeiro e 1 hora de Ubatuba :P. []'s Frederico -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: