Página 1 de 1

PAR da problemas en Perl v5.10, al menos a mi

NotaPublicado: 2009-11-29 18:29 @812
por scout
El modulo Par::Packer me está dando el siguiente problema... con cualquier script...

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
parlzKdS.exe -No se encuentra el punto de entrada
No se encuentra el punto de entrada del procedimiento Perl_croak_xs_usage en la biblioteca de vínculos dinámicos perl510.dll
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Probé con un simple... print "hola";

¿Alguno sabe por qué o cómo solucionarlo...?

Lo único que quiero es empaquetar en un exe...

¡snif, snif...! Y yo que me quejaba de VS2005... snif...

Perl 11 scout 0 ...

Este es otro error que da con un script más complejo que funciona lo más bien y con el use strict; puesto... jmjmjm

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
C:\Perl\site\bin/pp: Please try a perlier file!

C:\Perl>pp -o c:\perl\demo15.exe c:\perl\informesv15demo.pl
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Can't load 'C:/Perl/lib/auto/IO/IO.dll' for module IO: load_file:No se encontr¾
el proceso especificado at C:/Perl/lib/XSLoader.pm line 70.
 at C:/Perl/lib/IO.pm line 11
Compilation failed in require at C:/Perl/lib/IO/Handle.pm line 266.
BEGIN failed--compilation aborted at C:/Perl/lib/IO/Handle.pm line 266.
Compilation failed in require at C:/Perl/lib/IO/Seekable.pm line 101.
BEGIN failed--compilation aborted at C:/Perl/lib/IO/Seekable.pm line 101.
Compilation failed in require at C:/Perl/lib/IO/File.pm line 133.
BEGIN failed--compilation aborted at C:/Perl/lib/IO/File.pm line 133.
Compilation failed in require at -e line 448.
C:\Perl\site\bin/pp: Failed to extract a parl from 'PAR::StrippedPARL::Static' t
o file 'parlrsrlzOi.exe' at C:/Perl/site/lib/PAR/Packer.pm line 1155, <DATA> lin
e 1.

C:\Perl>pp -o c:\perl\demo15.exe c:\perl\informesv15demo.pl
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Re: PAR::packer da problemas en perl 5.10, al menos a mi

NotaPublicado: 2009-11-29 21:26 @935
por explorer
Buscando en Google por el error Perl_croak_xs_usage llegamos a una página de PerlMonks.org donde comentan que es un desajuste entre la versión de PAR y la versión de Perl.

Parece que debes usar una versión de PAR específica para la versión de Perl que usas. En el último mensaje habla de que el autor hizo una desinstalación completa de Perl (parece que tenía instaladas tanto la v5.10.0 como la v5.10.1), e instaló la v5.10.0 y a partir de ese momento le desapareció el problema.

Re: PAR::packer da problemas en Perl v5.10, al menos a mi

NotaPublicado: 2009-11-30 08:21 @389
por scout
Parece que volvió todo a la normalidad... bajando de versión... a la 5.10.

Muchas gracias...

Re: PAR da problemas en Perl v5.10, al menos a mi

NotaPublicado: 2009-12-01 18:43 @821
por scout
Bueno... al probarlo con script simples va bien... pero con el gran script sigue dando errores diferentes... por ejemplo, este.

¿Alguno sabe a qué se debe...? porque según veo en el PPM, el paquete Spreadsheet/Write ya está instalado.

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
C:\Perl>demo16.exe
Can't locate Text/CSV_PP.pm in @INC (@INC contains: CODE(0x132cf8c) C:\DOCUME~1\admin\CONFIG~1\Temp\par-admin\cache-163b44ff71949932d7eb25acd0d737330f2dc57e\inc\lib C:\DOCUME~1\admin\CONFIG~1\Temp\par-admin\cache-163b44ff71949932d7eb25acd0d737330f2dc57e\inc CODE(0x110367c) CODE(0x11039cc)) at (eval 23) line 3.
          at Spreadsheet/Write.pm line 64
Compilation failed in require at Spreadsheet/Write.pm line 64.
BEGIN failed--compilation aborted at Spreadsheet/Write.pm line 64.
Compilation failed in require at script/informesv16demo.pl line 7.
BEGIN failed--compilation aborted at script/informesv16demo.pl line 7.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Vale aclarar que sin empaquetar funciona todo muy bien... y uso los siguientes paquetes...

Seguí los consejos de comentar algún use porque eran redundantes pero da error; por ello lo deje así y funciona sin empaquetar...

Otro tema. ¿Es normal que el PAR tarde tanto, algo así como 20 minutos...?
Mi versión de Perl es 5.10.0.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use strict;
#use warnings;
#use diagnostics;
use Term::Menu;
use DBI;
use Carp;
use Spreadsheet::Write;
use Spreadsheet::WriteExcel;
use POSIX qw/ strftime /;
use DateTime;
use DateTime::Format::Strptime;
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4


Este punto es uno de los pocos que me retiene de hacerle competencia al Win 7...
es broma...

Re: PAR da problemas en Perl v5.10, al menos a mi

NotaPublicado: 2009-12-01 19:41 @862
por explorer
El error dice que no encuentra el módulo Text::CSV_PP.

En cuanto a la lentitud de PAR en Windows, habría que hablar de la lentitud de Perl en Windows, un problema que está generando un hilo muy interesante en perlmonks.org. El primer mensaje de respuesta en el hilo es mío, dando un ejemplo que encontré en el 2007, cuando trabajé por última vez con Perl en Windows. Descubrí ese efecto tan curioso que, un simple bucle, se comportara de forma tan diferente en Windows de otros sistemas operativos (cien veces en algunos casos).

Parece ser que hay un problema con la compilación de Perl en Windows, usando el Microsoft Visual C.

Re: PAR da problemas en Perl v5.10, al menos a mi

NotaPublicado: 2009-12-01 20:07 @880
por scout
Lo del error: el Text::CSV_PP lo tengo instalado. Desde el PPM aparece el siguiente error.

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Installing package failed

ERROR: File conflict for 'C:/Perl/html/site/lib/Text/CSV_PP.html'.
    The package Text-CSV has already installed a file that package Text-CSV_PP
    wants to install.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


¿Hay alguna manera de sacarlo manualmente y volverlo a instalar?

Lo de la lentitud, se puede soportar... una prueba cada 20 minutos... me da margen... ¡ja, ja, ja!

Re: PAR da problemas en Perl v5.10, al menos a mi

NotaPublicado: 2009-12-02 04:55 @246
por explorer
El primer mensaje de error dice que el programa está buscando en alguno de los directorios indicados por @INC:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
@INC contains: CODE(0x132cf8c) C:\DOCUME~1\admin\CONFIG~1\Temp\par-admin\cache-163b44ff71949932d7eb25acd0d737330f2dc57e\inc\lib C:\DOCUME~1\admin\CONFIG~1\Temp\par-admin\cache-163b44ff71949932d7eb25acd0d737330f2dc57e\inc CODE(0x110367c) CODE(0x11039cc)
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Y ninguno de esos es 'C:/Perl/html/site/lib/'.

Es muy posible que PAR no se haya dado cuenta de que tiene que incluir ese módulo en el paquete final. Deberás indicarlo en el momento de construirlo, como se indica en el PAR::Tutorial.

Con Module::ScanDeps puedes ver (con el scandeps.pl) los módulos de los que depende tu programa. O usar el pp con la opción -M... hay varias opciones.

Re: PAR da problemas en Perl v5.10, al menos a mi

NotaPublicado: 2009-12-02 11:33 @523
por scout
Bien, utilice la opción -M de la siguiente manera... con ello parece ser que agrega el módulo correctamente...

Según CPAN:
% pp -M abbrev.pl hello # Extra libraries in the include path

Mi ejemplo:
C:\Perl>pp -o c:\perl\demo16.exe -M Text::CSV_PP c:\perl\informesv16demo.pl

Pruebo el exe en un ordenador y funciona bien...

La consulta es que al inicio aparece lo siguiente; si bien no molesta me gustaría saber por qué dice lo de Subroutine.

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Subroutine import redefined at POSIX.pm line 21.
Subroutine croak redefined at POSIX.pm line 29.
Subroutine AUTOLOAD redefined at POSIX.pm line 39.
Subroutine DESTROY redefined at POSIX.pm line 80.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Re: PAR da problemas en Perl v5.10, al menos a mi

NotaPublicado: 2009-12-02 12:00 @542
por explorer
El aviso quiere decir que Perl se ha encontrado con que POSIX está redefiniendo esas funciones, cuando él ya se las ha encontrado en otros módulos agregados antes a la compilación.

Bueno, también he encontrado que puede ser a estar usando Perl en Windows y usar mal el nombre de un módulo.