• Publicidad

Win32-SerialPort / Device-Modem

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.

Win32-SerialPort / Device-Modem

Notapor jimr1984 » 2015-02-26 23:30 @021

Estimados: buenas.

Necesito su ayuda, por favor.

Tengo Windows 7, 64 bit. Instalé ActiveState para 32 bit.

Estoy intentando instalar 2 módulos: win32-serialport y device-modem.

Mis repositorios son:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
C:\Perl\bin>ppm repo
┌────┬───────┬────────────────────────────────┐
│ id │ pkgs  │ name                           │
├────┼───────┼────────────────────────────────┤
│  1 │ 17869 │ ActiveState Package Repository │
│  2 │     1 │ alma                           │
│  3 │   602 │ bribes                         │
│  4 │     0 │ gtk2                           │
│  5 │     0 │ brock                          │
│  6 │     0 │ lostmind                       │
│  7 │     4 │ log4perl                       │
│  8 │     0 │ trouchelle                     │
└────┴───────┴────────────────────────────────┘
 (8 enabled repositories)
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Realizo:

ppm install Win32-SerialPort
ppm install Win32::SerialPort

Respuesta:

ppm install failed: Can't find any package that provides Win32::SerialPort
ppm install failed: Can't find any package that provides Win32-SerialPort

cpan install Win32::SerialPort

Win32-SerialPort-0.22/eg/stty.plx
Win32-SerialPort-0.22/eg/any_os.plx
Win32-SerialPort-0.22/eg/demo5.plx
CPAN: File::Temp loaded ok (v0.2304)
CPAN: YAML::XS loaded ok (v0.52)
CPAN: Parse::CPAN::Meta loaded ok (v1.4414)
CPAN: CPAN::Meta loaded ok (v2.140640)
CPAN: Module::CoreList loaded ok (v5.20141002)
Configuring B/BB/BBIRTH/Win32-SerialPort-0.22.tar.gz with Makefile.PL
El sistema no puede encontrar el archivo especificado.
Device COM1 does not appear to exist. Testing impossible
No 'Makefile' created BBIRTH/Win32-SerialPort-0.22.tar.gz
C:\Perl\bin\perl.exe Makefile.PL INSTALLDIRS=site -- NOT OK

cpan install Device::Modem

C:\Perl\bin\perl.exe "-Iblib\lib" "-Iblib\arch" test.pl
1..15
Can't locate Win32/SerialPort.pm in @INC (you may need to install the Win32::SerialPort module) (@INC contains: ./blib . blib\lib blib\arch C:/Perl/site/lib C:/Perl/lib
BEGIN failed--compilation aborted at blib\lib/Device/Modem.pm line 40.
Compilation failed in require at test.pl line 15.
BEGIN failed--compilation aborted at test.pl line 15.
dmake.exe: Error code 130, while making 'test_dynamic'
COSIMO/Device-Modem-1.57.tar.gz
one dependency not OK (Win32::SerialPort); additionally test harness failed
C:\Perl\bin\dmake.exe test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports COSIMO/Device-Modem-1.57.tar.gz


NOTA: antes funcionaba hasta que formateé mi PC.

El perl packager NO detecta ningún módulo

Si alguien puede ayudarme, por favor.

He descargado ambos módulos desde su página oficinal de ActiveState y cpan.

¿Cómo podría Instalarlo de forma manual? ¿Es posible hacer funcionar el módulo solo copiando los archivos en sus respectivas carpetas dentro de bin? ¿O cómo puedo compilar el módulo desde Windows?

Saludos. :(
jimr1984
Perlero nuevo
Perlero nuevo
 
Mensajes: 123
Registrado: 2012-11-25 07:11 @341

Publicidad

Re: Win32-SerialPort / Device-Modem

Notapor explorer » 2015-02-27 02:49 @159

Dices que tienes instalado ActiveState Perl, pero no nos dices qué versión de Perl es.

Y eso es importante para saber si esa versión de Perl soporta Win32::SerialPort. Esa respuesta la tienes en su matriz de compatibilidad.

Mejor dicho, es mejor mirar siempre antes en la página de compatibilidad de ActiveState de Win32-SerialPort.

Si PPM responde diciendo que no encuentra Win32-SerialPort, es porque quizás tienes instalada una versión de ActiveState Perl que no coincide con las que se muestran en la tabla. Veo que está disponible en Windows 32 bit, para Perl v5.16, v5.18 y v5.20.

Si quieres hacer una instalación manual con cpan, las instrucciones para hacerlo están siempre en el archivo README.

El mensaje de error que muestras al instalarlo con cpan, es

Device COM1 does not appear to exist. Testing impossible

Así que ahí hay una pista: no tienes definido en el sistema ningún puerto serie COM1, por lo que por ahí puede estar el fallo. Además, necesitas tener instalado el nmake. En el README están las instrucciones por si el puerto serie está en otro sitio (COM2, COM3, etc.).

Sí que podrías intentar copiar los archivos "a mano" dentro de perl/, en el caso de Win32-SerialPort, ya que no tiene bibliotecas especiales. Del Device::Modem, no lo sé. EL README dice que dependen del Win32::API.

En resumen... que no sabemos tu versión de Perl. Puedes probar a hacer un perl -v.

Mi recomendación es que: si usas ActiveState, usa siempre PPM. Si quieres usar el comando cpan, usa Strawberry Perl.
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: Win32-SerialPort / Device-Modem

Notapor jimr1984 » 2015-02-27 17:15 @760

Estimado: mi versión Perl.

Tengo entendido que en mi versión sí estaría disponible los módulos que necesito según la página de ActiveState, lo que realicé:

+ desinstalé Perl (agregar/quitar programas) y eliminé su carpeta completa de la unidad C:, reinicié y volví a instalar Perl, actualicé el ppm upgrade y update agregué los repositorios mencionados y procedí a realizar ppm install

+ en el error dice algo del "Puerto COM1 no se encuentra"; mi dispositivo conectado está en el Puerto COM3, pero revisando el puerto COM1 está libre, así que lo cambie al puerto COM1 suponiendo que así fuese detectado

+ sin mencionar que estoy utilizando el mismo instalador de ActiveState con el cual antes funciona sin problemas, incluso ppm install Win32-Serial, instalo lo necesario

Quizás hay algo más que estoy olvidando. Yo sospecho de perl package manager, que algo debe andar mal, pues NO detecta todos los módulos, creo.

Así también eliminé las variable de entorno PATH que se crean cuando se instala ActiveState, para que al reinstalar éste cree nuevamente las variables de entorno.

Estaba pensando copiar a mano dentro de Perl, si puede guiarme qué debo copiar y dónde, o solo el archivo Serial.ppm.

Saludos...

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
C:\Perl\bin>perl -v

This is perl 5, version 20, subversion 1 (v5.20.1) built for MSWin32-x86-multi-thread-64int
(with 1 registered patch, see perl -V for more detail)

Copyright 1987-2014, Larry Wall

Binary build 2000 [298557] provided by ActiveState http://www.ActiveState.com
Built Oct 15 2014 22:10:49

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.


C:\Perl\bin>
 
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Intentando nuevamente:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
C:\Perl\bin>ppm install Win32-SerialPort
Downloading ActiveState Package Repository packlist...not found
ppm install failed: Can't find any package that provides Win32-SerialPort

C:\Perl\bin>ppm install Device::Modem
ppm install failed: Can't find any package that provides Device::Modem

C:\Perl\bin>
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Última edición por explorer el 2015-02-27 17:40 @778, editado 1 vez en total
Razón: version => versión; si => sí; estaria => estaría; modulos => módulos; segun => según; pagina => página; realize => realicé; desinstale => desinstalé; elimine => eliminé; reinicie => reinicié; volvi => volví; agregue =>
jimr1984
Perlero nuevo
Perlero nuevo
 
Mensajes: 123
Registrado: 2012-11-25 07:11 @341

Re: Win32-SerialPort / Device-Modem

Notapor jimr1984 » 2015-02-27 17:28 @769

Quizás si me puedan proporcionar el enlace directo al paquete de ActivePerl, la versión correcta que soporte tales módulos, para eliminar la que tengo e instalar la recomendada.

Saludos, estimados.
Última edición por explorer el 2015-02-27 17:42 @779, editado 1 vez en total
Razón: quizas => quizás; version => versión; modulos => módulos; q => que;
jimr1984
Perlero nuevo
Perlero nuevo
 
Mensajes: 123
Registrado: 2012-11-25 07:11 @341

Re: Win32-SerialPort / Device-Modem

Notapor explorer » 2015-02-27 18:08 @797

Te recomiendo que uses el PPM gráfico para que veas rápidamente si Win32-SerialPort está o no.

O desde la línea de comandos, usando los comandos de búsqueda (aquí un ejemplo).

Si no sale... es que no está disponible para esa versión de Perl.

Recuerda también que no es lo mismo bajarse la versión ActivePerl para Windows 32 bits que para 64 bits. Win32-SerialPort no está para 64 bits.

Lo raro es lo que cuentas, que te funcionara antes. Si has desinstalado el ActivePerl, has borrado toda la carpeta perl/, y has arreglado las variables de entorno, una nueva instalación debería realizar las mismas instalaciones.

El instalar a mano es muy sencillo: busca la carpeta Win32/ dentro de la de perl/, y copia allí los archivos, previamente desempaquetados, y respetando la jerarquía de las carpetas. No te vale con copiar solo Serial.pm, si no también la carpeta Win32API/ al mismo nivel que la de Win32/.

Otra cosa es que esto funcione.

También se pueden dejar las carpetas en el mismo directorio donde tengas el programa que estés escribiendo.

Para instalarlo a mano, en el README están indicados los cuatro comandos que hay que ejecutar, siendo en el primero donde se puede indicar el nombre del puerto COMx donde se puede realizar los test.

Si eso no funciona, en el README dice que existe la posibilidad de ejecutar

perl nomake_install

para forzar la instalación "a mano". nomake_install está en el directorio del ppm, que puedes bajarte desde la misma página que te he enlazado unas cuantas veces. Pulsa en las marcas verdes y desde ahí te puedes bajar los archivos .ppmx

P.D.: gracias a Google encontré este hilo donde viene cómo bajarse el módulo desde el repositorio de Bribes:

ppm install http://www.bribes.org/perl/ppm64/Win32-SerialPort.ppd

(cambiar ppm64 por ppm si instalaste el ActivePerl de 32 bits)
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: Win32-SerialPort / Device-Modem

Notapor jimr1984 » 2015-03-01 09:43 @446

Estimado, al ejecutar el ppm install

C:\Perl\bin>ppm install http://www.bribes.org/perl/ppm/Win32-SerialPort.ppd
ppm install failed: The PPD does not provide code to install for this platform

Esa página me sirvió la primera vez, y de ahí conseguí el puerto serie.

https://code.activestate.com/ppm/Win32-SerialPort/

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
How to install Win32-SerialPort

    Download and install ActivePerl
    Open Command Prompt
    Type ppm install Win32-SerialPort
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Última edición por explorer el 2015-03-01 11:39 @527, editado 1 vez en total
Razón: pagina => página; sirvio => sirvió; consegui => conseguí; ahi => ahí;
jimr1984
Perlero nuevo
Perlero nuevo
 
Mensajes: 123
Registrado: 2012-11-25 07:11 @341

Re: Win32-SerialPort / Device-Modem

Notapor jimr1984 » 2015-03-01 10:31 @480

Estimados, acabo de resolver el problema.

Bueno, lo que hice fue cambiar de versión de Perl. Directamente descargué la 5.16 y pude instalar sin problemas quedando resuelto mis problemas. Muchas gracias por las ayudas prestadas, estimados.

Saludos.

Enlace de descarga Perl 5.16:
https://olex-secure.openlogic.com/conte ... -Bit-1.zip

:D

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
ppm upgrade
ppm update

C:\Perl5.16\bin>ppm search  Win32-SerialPort
1: Win32-SerialPort
   User interface to Win32 Serial API calls
   Version: 0.22
   Released: 2010-06-11
   Author: Bill Birthisel <[email protected]>
   Provide: Win32::SerialPort version 0.22
   Provide: Win32API::CommPort version 0.21
   Require: Test::More
   Require: Win32
   Require: Win32::API
   Repo: ActiveState Package Repository
   Link: http://ppm4.activestate.com/MSWin32-x86 ... -0.22.ppmx
   CPAN: http://search.cpan.org/dist/Win32-SerialPort-0.22/

C:\Perl5.16\bin>ppm install 1
Downloading Win32-SerialPort-0.22...done
Unpacking Win32-SerialPort-0.22...done
Generating HTML for Win32-SerialPort-0.22...done
Updating files in site area...done
   4 files installed

C:\Perl5.16\bin>ppm search Device-Modem
1: Device-Modem
   Perl extension to talk to modem devices connected via serial port
   Version: 1.57
   Released: 2014-01-26
   Author: Cosimo Streppone <[email protected]>
   Provide: Device::Modem version 1.57
   Provide: Device::Modem::Log::File version 2.01
   Provide: Device::Modem::Log::Syslog version 2.01
   Provide: Device::Modem::UsRobotics version 1.05
   Require: Win32::SerialPort
   Repo: ActiveState Package Repository
   Link: http://ppm4.activestate.com/MSWin32-x86 ... -1.57.ppmx
   CPAN: http://search.cpan.org/dist/Device-Modem-1.57/

C:\Perl5.16\bin>ppm install 1
Downloading Device-Modem-1.57...done
Unpacking Device-Modem-1.57...done
Generating HTML for Device-Modem-1.57...done
Updating files in site area...done
  12 files installed

C:\Perl5.16\bin>ppm search net-bluetooth
1: Net-Bluetooth
   unknown
   Version: 0.41
   Released: 2014-12-01
   Author: Adam M Dutko <[email protected]>
   Provide: Net::Bluetooth version 0.41
   Repo: ActiveState Package Repository
   Link: http://ppm4.activestate.com/MSWin32-x86 ... -0.41.ppmx
   CPAN: http://search.cpan.org/dist/Net-Bluetooth-0.41/

C:\Perl5.16\bin>ppm install 1
Downloading Net-Bluetooth-0.41...done
Unpacking Net-Bluetooth-0.41...done
Generating HTML for Net-Bluetooth-0.41...done
Updating files in site area...done
   5 files installed

C:\Perl5.16\bin>
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Última edición por explorer el 2015-03-01 11:45 @531, editado 1 vez en total
Razón: q => que; hize => hice; version => versión; perl => Perl; descarge => descargué;
jimr1984
Perlero nuevo
Perlero nuevo
 
Mensajes: 123
Registrado: 2012-11-25 07:11 @341


Volver a Módulos

¿Quién está conectado?

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

cron