• Publicidad

Problemas con SWISH::API::Common

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Problemas con SWISH::API::Common

Notapor orfeos » 2009-06-04 09:16 @428

Gracias a todos los moderadores y personas que hacen posible sitios como este...

Soy nuevo en Perl y bueno, como todo novato me encuentro con la barrera de los módulos.

Mi problema es el siguiente: estaba copiando un script que encontré en la red para buscar en el escritorio y otras cosas. Lo copié todo tal cual o más o menos, y cuando lo corrí, bueno, no tengo instalado algunos módulos. Fui instalando así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
# perl -MCPAN -e shell
>install MODULO
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4

cuando me encontré con este peculiar
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
>install SWISH::API::Common
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

me da este error:
Código: Seleccionar todo
Has already been unwrapped into directory /root/.cpan/build/SWISH-API-Common-0.03-sOUay5
  '/usr/bin/perl Makefile.PL INSTALLDIRS=site' returned status 65280, won't make
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't instal


Bueno, la cosa no terminó allí y me bajé el módulo ".tar.gz". Fui a la carpeta descomprimida y leí el readme; seguí el primer paso:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
#./configure
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Listo me listo que tenía y que no, le di el segundo paso, y el tercer y el cuarto por que a fin de cuentas daban el mismo error
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
#make
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

y me da este error:
Código: Seleccionar todo
Making all in tests
make[1]: se ingresa al directorio `/home/orfeos/swish-e-2.4.3/tests'
make[1]: No se hace nada para `all'.
make[1]: se sale del directorio `/home/orfeos/swish-e-2.4.3/tests'
make[1]: se ingresa al directorio `/home/orfeos/swish-e-2.4.3'
make[1]: No se hace nada para `all-am'.
make[1]: se sale del directorio `/home/orfeos/swish-e-2.4.3'


A fin de cuentas, creo que este módulo no sirve, no sé qué hace. Quiero probar mi script y pasaba por aquí para ver si me pueden ayudar con alguna sugerencia o alguna manera de burlar este error...

GRACIAS. Por cierto, no es una tarea. ¡Aprendo Perl porque me gusta!

:D
orfeos
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2009-05-30 22:55 @997

Publicidad

Notapor explorer » 2009-06-05 07:24 @350

Aquí tienes una lista ordenada de los métodos de instalación de módulos en tu sistema, aunque con el uso del comando cpan será suficiente.

El módulo SWISH::API::Common es el que se encarga de hacer la indexación de los ficheros, así que creo que sí te hará falta para hacer las búsquedas.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor orfeos » 2009-06-06 14:55 @663

Muchas gracias por tu atención y tu respuesta. Ya estoy instalando las 36 librerías de las que tiene dependencia swish::api::common. Creo que es de la siguiente manera que tengo que instalar dicha librería:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
# apt-get install libswish-api-common-perl
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Bueno, como dije, necesito instalar 36 librerías más pero creo que está bien porque entre ellas está esta dicha librería que tanto necesito...

Gracias y dime si me equivoco en cuanto al comando...
Gracias
orfeos
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2009-05-30 22:55 @997

Notapor explorer » 2009-06-06 15:19 @679

El comando intentará instalar el paquete Debian libswish-api-common-perl, siempre y cuando ese paquete exista en la distribución Debian que estás usando, en los repositorios de los que instalas software.

Si no existe o no se llama así, fallará.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor orfeos » 2009-06-06 22:33 @981

Gracias, hermano, ya lo instalé, y todo bien, pero aún tenía que instalar MySQL porque el script o programita que estaba probando lo pedía, pero estoy estudiando el script para ver si puedo eliminar MySQL y usar otra cosa pero aun nada. Quiero postear el script pero no sé dónde y no quiero que me pase lo de la primera vez. jejeje...

Si a alguien le sirve uso los repositorios oficiales y si se instalaron todas las dependencias del swish::api::common. Espero que a alguien le sirva.
orfeos
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2009-05-30 22:55 @997

Notapor orfeos » 2009-06-06 23:02 @001

Disculpa, una última cosa, espero.

Al ejecutar el script me da este error:

Código: Seleccionar todo
DB conn failed: Access denied for user 'root'@'localhost' (using password: NO) at veporel.pl line 195


Lo de la línea es porque intenta conectarse al servidor de localhost como root y es éste el problema ya que el root tiene password, no hace nada y se niega... Quería saber si existe alguna manera de escribir la password en el script o en una base donde se almacene y el script la busque para que ya no la pida...
orfeos
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2009-05-30 22:55 @997

Notapor explorer » 2009-06-07 12:15 @552

Recuerda que puedes editar tus mensajes, por si necesitas cambiarlos o ampliarlos.

Puedes publicar tus programas en los hilos que hayas creado, o en los hilos de otros, siempre y cuando tengan algo que ver con el asunto tratado en el hilo.

Si el programa es muy largo, es más probable que no obtengas respuesta. Si el programa no lo has creado tu, hay limitaciones de publicación, en base a la licencia de uso de ese programa por parte de sus autores o empresas que posean sus derechos de copia y/o distribución.

Si el programa necesita acceder a una base de datos MySQL, será porque necesita guardar información en forma estructurada. Si el programa que tu quieres hacer no almacena información, entonces es claro que puedes deshacerte de esa parte.

El error indica que has intentado acceder a la base de datos con el usuario 'root', pero no has indicado la contraseña. Se la puedes indicar dentro del programa, en el llamado DSN o nombre del origen de datos. El dónde poner el DSN depende del módulo que estés usando para conectarte a la base de datos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor orfeos » 2009-06-07 14:28 @644

El programa es muy largo, y sí, el programa necesita guardar información estructurada, y gracias, no entendía lo del DSN... gracias.

Pero la base de datos de MySQL es del servidor local mío, es decir, yo ejecuto el script de Perl como root en consola, pero como a MySQL no le importa que yo sea el propietario no me deja seguir, y lo que no sé es cómo agregar la contraseña root de MySQL en el script de Perl para que por lo menos la pida o se salte ese paso...

Estaba pensando en colocar un while() o for() que me permita correr MySQL primero y luego correr el script y finalmente salir de MySQL...

¡Quería cambiar MySQL porque posiblemente el programa se instale sin conexión a Internet!
orfeos
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2009-05-30 22:55 @997

Notapor explorer » 2009-06-07 15:06 @671

No tiene nada que ver el usuario con el que tu entras en el sistema con el usuario con el que te autentificas en el motor MySQL. Pueden ser distintos.

Para ayudarte a agregar la contraseña, podrías mostrar el trozo de código en donde hace la conexión a la base de datos a y así podríamos decirte cómo.

¿Qué tiene que ver MySQL con Internet? Es como decir que no necesito usar un armario porque no voy a ir por una carretera.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor orfeos » 2009-06-08 08:02 @376

Disculpa mi ignorancia. lo que pasa es que soy nuevo en todo esto apenas y sé algo de bash y diría que nada, lo de MySQL lo digo porque no sé absolutamente nada aunque ya he leído la mitad de un tutorial de MySQL hispano.

Voy a colocarte la parte donde me pide autenticación o al menos así me dice Perl que sucede. Como dije arriba, error en la línea 195: ¡no se puede acceder a la base de datos!

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#################################
LINEA 186                     sub db_init {
###################################
my ($dsn) = @_;

my $dbh =
DBI->connect( $dsn,
"root", "",
{ PrintError => 0} );

LOGDIE "DB conn failed: ",        
DBI::errstr unless $dbh;

if ( !$dbh->do(
q{select *from
file limit 1}
)) {
$dbh->do( q{
CREATE TABLE file (
fileid INTEGER
PRIMARY KEY
AUTO_INCREMENT,
path VARCHAR(255),
size INTEGER,
mtime DATETIME,
atime DATETIME,
first_seen DATETIME,
type VARCHAR(255),
checked INTEGER
)}) or LOGDIE
"Cannot create table";

$dbh->do( q{
CREATE INDEX file_idx
ON file (path)
});
}
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


DISCULPA, NO SÉ COLOCARLE LAS LÍNEAS, COLOQUÉ LÍNEA 186 ARRIBA...

La línea 195 es: LOGDIE "DB conn failed: ", y creo que el error está en el bloque anterior, error no login; este es un script de una revista Linux Magazine, creo, donde he encontrado muchas herramientas interesantes para Perl. El articulo se llama "ve por él" y es un buscador de escritorio, EL AUTOR ES MICHAEL SCHILLI...

GRACIAS POR TU AYUDA.
orfeos
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2009-05-30 22:55 @997

Siguiente

Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron