• Publicidad

HTTP::Date 6 not found

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

HTTP::Date 6 not found

Notapor erstarter » 2012-02-28 14:42 @654

Hola, soy yo de nuevo :D

Esta vez me pasa que he intentado instalar LWP pero necesito varios prerequisitos, uno de los cuales es HTTP::Date, lo instalé con cpanp i HTTP::Date, y se instala satisfactoriamente.

Mi problema es que al volver a intentar instalar LWP me sale el mismo error "Warning: HTTP::Date 6 not found. We have 1.47."

Así que lo instalé manualmente descargándolo desde cpan.org y me vuelve el mismo problema.
Intenté cpan x a ver si solucionaba algo, y nada... el HTTP::Date no se encuentra :S

El Fail recurrente del make test es este:
t/message-charset.t

Saludos
erstarter
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2012-02-28 11:40 @528

Publicidad

Re: HTTP::Date 6 not found

Notapor explorer » 2012-02-28 15:50 @701

No sé en qué sistema operativo estás, pero lo normal es que LWP ya esté instalado de base. Otra cosa es que quieras actualizarlo, pero para eso es siempre mejor usar el sistema de gestión de paquetes software de tu sistema operativo. Tanto LWP como HTTP::Date deberían estar incluidos en algún paquete llamado libwww-perl o algo parecido.

Por favor, no mezcles formas de instalar módulos, salvo que sepas lo que estás haciendo.

Sigue el orden recomendado de instalación de módulos.

Mejor que el comando cpan, sería recomendable usar cpanp (cpanplus). Pero con el primero, es suficiente.

Nos dices que falla un test, pero no sale el mensaje de error. Si el cpan encuentra un módulo que no está, debería intentar bajarse ese módulo, y así, de forma recursiva. Si lo tienes configurado para que no lo haga, entonces deberás bajarlo e instalarlo manualmente (con otro comando cpan, o siguiendo el orden indicado en el enlace anterior).

Con la opción -f del comando cpan, puedes "forzar" a que haga lo que quieres, como volver a instalar el módulo o distribución. O forzar una instalación, a pesar de que falle un test.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: HTTP::Date 6 not found

Notapor erstarter » 2012-02-28 16:12 @717

Lo que necesito es instalar el LWP 6.04. Para esto me lo descargué desde cpan.org, y comúnmente sigo estos pasos:

tar zxvf package.tar.gz
cd package.tar.gz
perl Makefile.pl
# Acá reviso que no me falte algún prerequisito, pero...

[root@ccsmonitor libwww-perl-6.04]# perl Makefile.PL
Warning: prerequisite File::Listing 6 not found. We have 1.15.
Warning: prerequisite HTTP::Cookies 6 not found. We have 1.39.
Warning: prerequisite HTTP::Daemon 6 not found. We have 1.36.
Warning: prerequisite HTTP::Date 6 not found. We have 1.47.
Warning: prerequisite HTTP::Negotiate 6 not found. We have 1.16.
Warning: prerequisite HTTP::Request 6 not found. We have 1.40.
Warning: prerequisite HTTP::Request::Common 6 not found. We have 1.26.
Warning: prerequisite HTTP::Response 6 not found. We have 1.53.
Warning: prerequisite HTTP::Status 6 not found. We have 1.28.
Warning: prerequisite LWP::MediaTypes 6 not found. We have 1.32.
Warning: prerequisite Net::HTTP 6 not found. We have 1.00.
Warning: prerequisite WWW::RobotRules 6 not found. We have 1.33.
Writing Makefile for LWP

Una vez instalados todos los prerrequisitos vuelvo a ejecutar el perl Makefile.pl y si no me salen warnings, ejecuto make, make test y make install.

El problema es que todos estos prerrequisitos los he instalado tanto con cpanp y desde la página de cpan.org...

Y al volver a perl Makefile.pl del LWP me vuelven a salir todos estos warnings. :S

PD: Uso CentOS.

Atento.
erstarter
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2012-02-28 11:40 @528

Re: HTTP::Date 6 not found

Notapor explorer » 2012-02-28 16:59 @749

El proceso de

  • bajar el fichero tar.gz
  • descomprimirlo
  • ejecutar el fichero Makefile.PL
  • hacer el make
  • hacer el make test
  • hacer el make install
es justo lo que hace el comando cpan o cpanp, de forma automática.

La gran diferencia que puede haber entre los dos, es que cpan intentará instalar el módulo en alguno de los directorios predefinidos de Perl, en el sistema, mientras que ejecutando los pasos sueltos, quizás los instale en otro sitio.

Por eso te dije que no mezclaras las formas de instalar módulos. Dentro de /usr/lib/perl o /lib/perl encontrarás todos esos directorios. Si ejecutas perl -V te los muestra al final.

Así, puede darse el case de que instalas un módulo, se queda en un sitio, y cuando intentas instalar el siguiente, al usar otro método, el perl (el intérprete), lo encuentra en un directorio distinto a donde instalaste el anterior. Y si son de versiones distintas, pues... fallo.

A mí me pasó algo parecido. Hasta que no hicimos limpieza de todos los directorios, no hubo forma de deshacernos de versiones obsoletas, que estaban repartidos entre varios directorios.

Y te ruego que sigas los pasos indicados en el enlace del mensaje anterior: busco los módulos a instalar primero con el yum.

Un dato que nos falta es saber la versión de Perl, pero parece que es el v5.10.0, que no está muy fino que digamos. Lo mínimo sería tener un v5.10.1, que corrige muchos errores.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: HTTP::Date 6 not found

Notapor erstarter » 2012-02-29 07:21 @348

Tengo Perl 5.10.0 :P
Esta es la única librería con yum de LWP
yum install -y perl-libwww-perl.noarch
Package perl-libwww-perl-5.805-1.1.1.noarch already installed and latest version
Nothing to do


cpanp -i LWP
se comienzan a instalar los prerequisitos y en el make test del cpanp para todos los módulos me sale este reporte:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Test Summary Report
-------------------
t/message-charset.t   (Wstat: 11 Tests: 6 Failed: 0)
  Non-zero wait status: 11
  Parse errors: Bad plan.  You planned 38 tests but ran 6.
Files=15, Tests=498,  2 wallclock secs ( 0.35 usr  0.04 sys +  1.57 cusr  0.21 csys =  2.17 CPU)
Result: FAIL
Failed 1/15 test programs. 0/498 subtests failed.
make: *** [test_dynamic] Error 255
 
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
erstarter
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2012-02-28 11:40 @528

Re: HTTP::Date 6 not found

Notapor explorer » 2012-02-29 08:22 @390

Esto es lo malo de usar un Linux de Red Hat o derivado de él. Su software preinstalado funciona, pero en muchas ocasiones es viejísimo.

Tu Perl es de hace 4 años y dos meses. Y con algunos errores graves de diseño. Y lo peor es que estos Linux se actualizan muy mal: Perl es una parte importante de los Linux modernos, así que no es nada sencillo, y algunas veces imposible, actualizar la versión del intérprete perl en un sistema así, ya que hay muchos scripts que dependen de Perl, de tal manera que, decir actualizar Perl es lo mismo que decir actualizar todo el sistema. Por eso dudo que yum te dejase hacer un remove de perl. Hubiese quedado parado. O quizás es una versión de CentOS que no depende de Perl tanto como antes.

Y cuando instalas paquetes con el yum, este los baja de sus propios repositorios, que contienen software no muy actualizado. Por ejemplo, pones que perl-libwww-perl es la versión 5.805, que ya ni siquiera existe en CPAN, por lo que seguramente será también de hace cuatro años o más.

En cambio, cuando usamos el comando cpan, estamos bajando la última versión. Y si tu Perl es muy viejo, pues no podrá instalarlo.

El mensaje de fallo de t/message-charset.t, creo que viene de intentar instalar HTTP::Message. El código de esa prueba es este. Y sí que tiene 38 pruebas. Lo que no sabemos es porqué solo te marca que ha hecho 6.

Intenta instalar solo HTTP::Message, y nos mandas toda la salida.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: HTTP::Date 6 not found

Notapor erstarter » 2012-02-29 10:34 @482

Por lo visto siempre son siempre los mismos prerequisitos que he instalado una y otra vez desde yum, manualmente y desde cpanp. :S

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
[root@ccsmonitor ~]# cpanp i HTTP::Message
Installing HTTP::Message (6.03)
Running [/usr/local/bin/perl -e use strict; BEGIN { my $old = select STDERR; $|++; select $old; $|++; $0 = shift(@ARGV); my $rv = do($0); die $@ if $@; } /root/.cpanplus/5.10.0/build/HTTP-Message-6.03/Makefile.PL]...
Warning: prerequisite HTTP::Date 6 not found. We have 1.47.
Warning: prerequisite LWP::MediaTypes 6 not found. We have 1.32.
Writing Makefile for HTTP::Message

Module 'HTTP::Message' requires 'HTTP::Date' to be installed

If you don't wish to see this question anymore
you can disable it by entering the following commands on the prompt:
    '
s conf prereqs 1; s save'


  1> Yes
  2> No
  3> Yes to all (for this module)
  4> No to all  (for this module)

Should I install this module? [1]: 3
Running [/usr/local/bin/perl -e use strict; BEGIN { my $old = select STDERR; $|++; select $old; $|++; $0 = shift(@ARGV); my $rv = do($0); die $@ if $@; } /root/.cpanplus/5.10.0/build/HTTP-Date-6.01/Makefile.PL]...
Writing Makefile for HTTP::Date
Running [/usr/bin/make test]...
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, '
blib/lib', 'blib/arch')" t/*.t
t/date.t .. ok
All tests successful.
Files=1, Tests=133,  1 wallclock secs ( 0.10 usr  0.00 sys +  0.06 cusr  0.01 csys =  0.17 CPU)
Result: PASS

Module '
HTTP::Message' requires 'LWP::MediaTypes' to be installed

Running [/usr/local/bin/perl -e use strict; BEGIN { my $old = select STDERR; $|++; select $old; $|++; $0 = shift(@ARGV); my $rv = do($0); die $@ if $@; } /root/.cpanplus/5.10.0/build/LWP-MediaTypes-6.02/Makefile.PL]...
Writing Makefile for LWP::MediaTypes
Running [/usr/bin/make test]...
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, '
blib/lib', 'blib/arch')" t/*.t
t/mediatypes.t .. ok
All tests successful.
Files=1, Tests=39,  0 wallclock secs ( 0.08 usr  0.01 sys +  0.08 cusr  0.01 csys =  0.18 CPU)
Result: PASS
Running [/usr/bin/make test]...
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, '
blib/lib', 'blib/arch')" t/*.t
t/common-req.t .......... ok
t/headers-auth.t ........ ok
t/headers-etag.t ........ ok
t/headers-util.t ........ ok
t/headers.t ............. ok
t/http-config.t ......... ok
t/message-charset.t .....
Failed 32/38 subtests
t/message-decode-xml.t .. ok
t/message-old.t ......... ok
t/message-parts.t ....... ok
t/message.t ............. ok
t/request.t ............. ok
t/response.t ............ ok
t/status-old.t .......... ok
t/status.t .............. ok

Test Summary Report
-------------------
t/message-charset.t   (Wstat: 11 Tests: 6 Failed: 0)
  Non-zero wait status: 11
  Parse errors: Bad plan.  You planned 38 tests but ran 6.
Files=15, Tests=498,  2 wallclock secs ( 0.34 usr  0.04 sys +  1.65 cusr  0.22 csys =  2.25 CPU)
Result: FAIL
Failed 1/15 test programs. 0/498 subtests failed.
make: *** [test_dynamic] Error 255

The tests for '
HTTP::Message' failed. Would you like me to proceed anyway or should we abort?

Proceed anyway? [y/N]:
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
erstarter
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2012-02-28 11:40 @528

Re: HTTP::Date 6 not found

Notapor explorer » 2012-02-29 18:03 @794

Estoy casi convencido de que es un problema de HTTP::Response, o quizás del bajo soporte de UTF-8 en Perl v5.10.0.

El caso... no veo nada extraño en /t/message-charset.t. Pero en la línea 8 pone
use HTTP::Response;

sin indicar qué versión de HTTP::Response queremos hacer las pruebas.

De todas maneras, en la última pregunta que te hace, te pregunta si quieres forzar la instalación, a pesar de que hayan fallado los test. Respondiendo con 'y', seguiría con la instalación.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado