# Problemas con el PERL

## RazaRecords

Hola a toda la comunidad esta ves tengo el siguiente inconveniente espero me puedan ayudar, actualize el perl de mi gentoo  2.6.32-gentoo-r7 con el siguiente comando USE="ithreads" emerge perl ya que me salia un error threads a la hora de ejecutar un script con perl si mal no recuerdo mi version de perl era 5.8.8 y ahora es 5.12.4, luego de actualizar ejecute el siguiente comando perl-cleaner --all y listo. Trate de ejecutar mi script con perl y me salio el siguiente error:

 *Quote:*   

> Can't locate DBI.pm in @INC (@INC contains: /etc/perl /usr/lib/perl5/site_perl/5.12.4/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.12.4 /usr/lib/perl5/vendor_perl/5.12.4/i686-linux-thread-multi /usr/lib/perl5/vendor_perl/5.12.4 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.12.4/i686-linux-thread-multi /usr/lib/perl5/5.12.4 /usr/local/lib/site_perl .) at /etc/script/monitoreo/sMonitoreoSimple.pl line 9.
> 
> BEGIN failed--compilation aborted at /etc/script/monitoreo/sMonitoreoSimple.pl line 9.

 

Un amigo me dijo que le instale el DBI, le hago un emerge DBI y me sale el siguiente error:

 *Quote:*   

> * ERROR: dev-perl/DBD-mysql-4.01.7 failed (compile phase):
> 
>  *   Unable to build!
> 
>  *
> ...

 

La verdad que nose que mas hacer, estoy con este problema estoy investigando pero no llego a alguna solucion, ojala alguno de ustedes me puedan ayudar. Gracias de antemano

Saludos

----------

## esteban_conde

 *Quote:*   

> /etc/script/monitoreo/sMonitoreoSimple.pl line 9

 

A lo mejor ayuda ver lo que contiene esa línea.

----------

## RazaRecords

Esto es lo que contiene esta linea 9

 *Quote:*   

> use DBI;

 

Aunque no creo que el script sea el problema ya que tengo como 4 scrips que me salen errores similares. Antes funcionaba los demas scrips pero desde que actualize el perl me sale este error en todos

----------

## esteban_conde

ejecuta emerge -s DBI, si sale alguna version anterior de DBI instalada la desinstalas e intentas instalar de nuevo.

----------

## quilosaq

 *RazaRecords wrote:*   

> ...
> 
> actualize el perl de mi gentoo  2.6.32-gentoo-r7 con el siguiente comando USE="ithreads" emerge perl
> 
> ...

 

@RazaRecords:

¿Hiciste antes un emerge --sync?

----------

## RazaRecords

 *esteban_conde wrote:*   

> ejecuta emerge -s DBI, si sale alguna version anterior de DBI instalada la desinstalas e intentas instalar de nuevo.

 

Ya lo desintale y lo volvi a instalar pero me sale un error

 *Quote:*   

> * ERROR: dev-perl/DBI-1.618.0 failed (configure phase):
> 
>  *   Unable to build!
> 
>  *
> ...

 

 *quilosaq wrote:*   

>  *RazaRecords wrote:*   ...
> 
> actualize el perl de mi gentoo  2.6.32-gentoo-r7 con el siguiente comando USE="ithreads" emerge perl
> 
> ... 
> ...

 

Hace poco le hice un emerge --sync, desde que hice eso cada ves que quiero actualizar algo me sale esto

 *Quote:*   

> Reason: Failed on WHIRLPOOL verification

 

----------

## esteban_conde

 *Quote:*   

> * ERROR: dev-perl/DBI-1.618.0 failed (configure phase):
> 
> * Unable to build! 

 

El error en configure puede venir por muchas causas, unas cuantas líneas más atras suele aparecer el verdadero error, no encuentra tal archivo .... cosas así vuelve a emerger y busca esas líneas.

----------

## RazaRecords

Hice lo indicado y si efectivamente aparece el verdadero error

 *Quote:*   

> Checking if your kit is complete...
> 
> Looks good
> 
> JSON::PP 2.27103 is not available
> ...

 

----------

## esteban_conde

 *Quote:*   

> con el siguiente comando USE="ithreads" emerge perl 

 

No puedo reproducir el error ya que no tengo instalado DBI el cual por cierto lleva aparejadas un monton de dependencias y posiblemente no las resuelva por si mismo.

La pregunta es ¿por qué usar "ithreads"? el paquete perl trae esa use -theads por defecto, en todo caso si necesitas compilarlo con esa use que posiblemente sea el motivo de reclamar DBI que asi mismo pide perl-DBI y tiene mysql como backend, la forma de hacerlo seria:

echo "dev-lang/perl ithreads">/etc/portage/package.use/perl

luego emerge -uDN perl

Suerte.

----------

## quilosaq

 *RazaRecords wrote:*   

> ...
> 
> Hace poco le hice un emerge --sync, desde que hice eso cada ves que quiero actualizar algo me sale esto
> 
>  *Quote:*   Reason: Failed on WHIRLPOOL verification 

 

Prueba:

```

# emerge portage
```

----------

## RazaRecords

 *esteban_conde wrote:*   

>  *Quote:*   con el siguiente comando USE="ithreads" emerge perl  
> 
> No puedo reproducir el error ya que no tengo instalado DBI el cual por cierto lleva aparejadas un monton de dependencias y posiblemente no las resuelva por si mismo.
> 
> La pregunta es ¿por qué usar "ithreads"? el paquete perl trae esa use -theads por defecto, en todo caso si necesitas compilarlo con esa use que posiblemente sea el motivo de reclamar DBI que asi mismo pide perl-DBI y tiene mysql como backend, la forma de hacerlo seria:
> ...

 

El archivo /etc/portage/package.use/perl no existe. Tampoco existe la carpeta package.use.

 *quilosaq wrote:*   

>  *RazaRecords wrote:*   ...
> 
> Hace poco le hice un emerge --sync, desde que hice eso cada ves que quiero actualizar algo me sale esto
> 
>  *Quote:*   Reason: Failed on WHIRLPOOL verification  
> ...

 

Al hacerle emerge portage o instalar cualquier otra cosa me sale el mismo error "Reason: Failed on WHIRLPOOL verification".

Estoy perdiendo las esperanzas de solucionar este problema   :Sad: 

----------

## esteban_conde

 *Quote:*   

> El archivo /etc/portage/package.use/perl no existe. Tampoco existe la carpeta package.use.
> 
> 

 

¡Ya! se me olvidó comentarlo, como root y desde /etc/portage ejecuta: mkdir package.use, el archivo se creará al ejecutar el comando del post anterior.

Por cierto respecto a wirlpool hay un post en el cual parece que lo solucionan https://forums.gentoo.org/viewtopic-t-929736-start-0.html

----------

## agdg

Ese error se debe a que tienes una versión de portage vieja. portage ha incorporado un nuevo sistema de verificación  (WHIRLPOOL). Para solucionar el problema que tienes puedes intentar con:

```
sed 's/manifest-hashes = SHA256 SHA512 WHIRLPOOL/manifest-hashes = SHA256 SHA512/' /usr/portage/metadata/layout.conf  | tee /usr/portage/metadata/layout.conf

emerge -ql portage

sed 's/manifest-hashes = SHA256 SHA512/manifest-hashes = SHA256 SHA512 WHIRLPOOL/' /usr/portage/metadata/layout.conf  | tee /usr/portage/metadata/layout.conf

```

Después de eso, y con suerte, debería de funcionar sin problemas. Si no es así, busca el binario de portage en http://tinderbox.dev.gentoo.org/ e instalalo.

PD: ¿Que versión de portage tienes (emerge --info portage) y que versión de python usas (eselect python show)?

----------

## RazaRecords

 *agdg wrote:*   

> Ese error se debe a que tienes una versión de portage vieja. portage ha incorporado un nuevo sistema de verificación  (WHIRLPOOL). Para solucionar el problema que tienes puedes intentar con:
> 
> ```
> sed 's/manifest-hashes = SHA256 SHA512 WHIRLPOOL/manifest-hashes = SHA256 SHA512/' /usr/portage/metadata/layout.conf  | tee /usr/portage/metadata/layout.conf
> 
> ...

 

Igual el mismo problema...

emerge --info portage

 *Quote:*   

> Portage 2.1.10.49 (default/linux/x86/10.0, gcc-4.3.4, glibc-2.10.1-r1, 2.6.32-gentoo-r7 i686)
> 
> =================================================================
> 
>                         System Settings
> ...

 

eselect python show

 *Quote:*   

> python2.6

 

----------

## agdg

 *RazaRecords wrote:*   

> eselect python show
> 
> python2.6

 

Tu versión de portage y python son viejas. portage lo deberás de instalar desde un binario; después puede que funcione, o puede que necesites actualizar python también desde un binario.

1.- Instala el ultimo binario de portage disponible en tinderbox

2.- Actualiza python, o instala desde un binario de tinderbox (de la rama 2.7)

3.- Selecciona python2.7

4.- Haz un python-updater

5.- Actualizar el sistema, revdep-rebuild...

Suerte  :Wink: 

----------

## quilosaq

 *RazaRecords wrote:*   

> ...
> 
> Igual el mismo problema...
> 
> ...

 

Tienes que arreglar el problema del WHIRLPOOL antes que nada. esteban_conde te ha dado el enlace a un post sobre el tema. Aquí tienes otro mas corto: http://www.oneroot.ca/gentoo-linux/gentoo-linux-whirlpool

----------

