Instalar librería LiDIA en OpenSuse 11.0

October 6th, 2008 by Daniel No comments »

Voy a explicar como poder instalar la librería LiDIA en la distribución OpenSuse 11.0 y como compilar los ejemplos dados en clase de Métodos Matemáticos para la Criptología, la cual me he matriculado este año. Espero que os resulte de utilidad.

Paso 1 :P ara empezar debemos comprobar que tenemos instalados los siguientes paquetes:

  • make (GNU make)
  • gcc (The system GNU C Compile)
  • gcc-c++
  • gmp (GNU MP Library)
  • gmp-devel (GNU MP Library de Desarrollo)
  • cln (Class Library for Numbers C++)
  • cln-devel (Class Library for Numbers C++ de Desarrollo)

Paso 2: Nos bajamos el archivo lidia-base-2.2.0.tar.gz . Es lo más recomendable bajarte esta versión, que como dice es “base”, es decir, tiene los ficheros básicos. Lo descomprimimos por ejemplo en el Escritorio. A continuación, renombramos la carpeta lidia-2.2.0 a LiDIA.

Paso 3: Nos bajamos el parche para compiladores gcc 4.x: parche .Le cambiamos la extensión de .bin a .gz

Paso 4: Abrimos un terminal o nos situamos en el escritorio. Ejecutamos el comando:
> zcat attachment.gz | patch -p1

Si todo ha ido correctamente aparecerán varias lineas con Hunk #1 succeeded. Si no es así, vuelve a los pasos anteriores y comprueba que los realizas todos de forma correcta.

Paso 5: nos metemos en la carpeta LiDIA.Ejecutamos el Comando:
> ./configure

Si todos ha ido correctamente, las dos últimas lineas serán:
/LiDIA/kernel/udigit_interface.h
config.status: executing depfiles commands

Paso 6: Lo compilamos con el comando:
> make

Paso 7: Nos metemos como root y ejecutamos:
> make install

Paso 8: la librería en este momento ya está instalada en el sistema. Los archivos de la instalación los podemos encontrar en: /usr/local/include/lidia

Con un terminal nos situamos en: /usr/local/include/ y cambiamos el nombre del directorio con el comando:
> mv lidia LiDIA

Paso 9: en este paso necesitaremos modificar el fichero make y prueba.c.
En el fichero Makefile sustituiremos la linea:
g++ $(OPT) $< -I/tools/lidia/include -L/tools/lidia/lib -o $@ -lLiDIA -lgmp -lm
por
g++ $(OPT) $< -I/usr/local/include/LiDIA/ -L/usr/local/include/LiDIA/ -o $@ -lLiDIA -lgmp -lm

Y en el fichero prueba.c sustituiremos la linea: #include <iomanip.h> por #include <iomanip>
y añadimos a continuación de la linea using namespace LiDIA; esto: using namespace std;

Paso 10: ya solo queda hacer make prueba y ver que la compilación del fichero ha sido correcta.

Añadir por último que no hay ningún problema para hacerlo en una 32 o 64 bits.
Un Saludo

Smallsh Veraniego: Nota=9!!

July 16th, 2008 by Daniel No comments »

Tranquilamente acabo de empezar con el smallsh de Septiembre, que la verdad es una tontería con respecto a lo de Junio. Simplemente consiste en hacer un comando que muestra el historial de procesos en segundo plano en el intérprete de comandos.

Como aliciente a lo aburrido que resulta volver a ponerme con algo que ya debería estar aprobado, voy a ir poniendo los binarios junto con unas fechas y sus respectivas modificaciones. Habéis leído bien, los binarios, código en 0 y 1 del cual no se puede sacar el código fuente (¿se habrá notado mi sentido irónico?).

Smallsh v1.02 [md5]

  • Alpha 1 (16 de Julio 2008) [bin32][bin64]
  • Añadido comando mypstree haciendo uso de una lista más Optimizada
  • Añadido comando help
  • Alpha 2 (22 de Julio 2008)[bin32][bin64]
  • Mejora 5: Implementadas Nuevas Tuberías
  • Mejora 7: Optimizado el Código
  • Mejora 10
    -Pasada al nuevo formato de Lista de Procesos
    -Añadida ayuda
  • Mejora 11&12: Añadido sonido cuando un proceso acaba por alarma
  • Lista de Procesos
    -Pasados todos los comandos a la nueva lista de procesos
    -Corregido bug: no actualizaba los procesos listos al pasar de listo a terminado o viceversa.
  • Otros
    -Comando update (prueba de concepto)
    -Corregido bug en procline.c: si se detenía la ejecución no liberaba la memoria de las estructuras glob_t.
  • Alpha 3 (23 de Julio 2008)[bin32][bin64]
  • Mejora 4: Implementadas nuevas Tuberías con Nombre
  • Mejora Voluntaria Update
    -bug: si el fichero de configuración estaba corrupto el comportamiento era anómalo
    -No liberaba la Memoria Dinámica
    -Borra el Fichero de .bash_update.xml
    -Cuando había una actualización mostraba el número de la versión actual y no el de la disponible
  • Otros: Eliminado el mensaje al presionar flecha arriba/abajo
  • Beta 1 (24 de Julio 2008)[bin32][bin64]
  • Mejora 4: Ahora el padre espera a que finalice la conexión de los 2 extremos
  • Mejora 13: Corregido bug: con procesos en segundo plano activos se quedaba bloqueado
  • Mejora Septiembre
    -Registra los Procesos en Primer Plano y por Tuberías
    -Los procesos en segundo plano que fallan ya no se registran en la lista
  • Mejora Voluntaria Update
    -Soporte inicial para varias Arquitecturas
    -Si todo funcionaba correctamente no liberaba la Memoria Dinámica
    -Más robusto frente a cambios en nuevas versiones
  • Lista de Procesos: Pasados definitivo a la nueva lista de procesos
  • Nota: update de versiones anteriores no son compatibles
  • Beta 2 (5 de Agosto de 2008)[bin32][bin64]
  • Mejora 10: Arreglado la impresión del nombre. Ahora está limitada a 15 caracteres
  • Mejora 11&12: Bug y Optimización: Al terminar un proceso con alarma establecía una alarma sin actualizar tiempos
  • Lista Procesos: Actualizados comentarios fichero de cabecera
  • Lista Alarmas
    -Ahora evita que cree una alarma con tiempo 0
    -Evita que se llame a actualizar los tiempos de alarma con un valor negativo
  • Mejora Voluntaria Update: Soporte final para varias arquitecturas (x86 y x86_64)
  • RC 1 (6 de Agosto de 2008)[bin32][bin64]
  • Mejora Voluntaria Update: Corregido Bug: reservaba menos memoria de la necesaria y fallaba al liberar
  • Lista Alarmas: Optimizada
  • Parrilla de Corrección
    -Pasada en OpenSuSe 11.0 x86_64
    -Pasada en Knoppix 5.1.1 x86
    -El último proceso de una tubería no se registraba si la salida del comando anterior era distinto de 0.
  • Final (11 de Agosto de 2008)[bin32][bin64] ¡¡FINALIZADA!!
  • Sin Cambios con respecto a RC1

Smallsh v1.03 [md5]

  • Alpha 1 (13 de Agosto 2008) [bin32][bin64]
  • Mejora Voluntaria Help
    -Corregido fallo al mostrar el tipo de versión
    -Corregido fallo al comparar versiones distintas
    -Cuando pregunta si actualizar ahora sale el texto escrito por pantalla
  • ListaProcesos: Optimizado InsertarNodoProcesos

Un Saludo

Actualización:
Al final nos han puesto una nota más cercana a la realidad, un 9. Si es que a veces uno no entiende las cosas, pero que le vamos a hacer…

Conectarese a la VPN de la Universidad de Murcia en OpenSuse 10.3

March 5th, 2008 by Daniel 3 comments »

Puede parecer una tontería que conectarse a una VPN lleve varias horas más cuando en una OpenSuse 10.2 lo hice sin problema en pocos minutos desde el ordenador de casa. Pero como es habitual en mí y supongo que como informático, uno piensa que la culpa de que no vaya algo sea suya. En esta ocasión no es así, ya que existe un problema en el VPNC que dice algo así:

Error: either “to” is duplicate, or “hoplimit” is a garbage.
VPNC started in background (pid: 6015)…

Antes de Empezar:
-Tener una OpenSuse 10.3
-Tener instalado el VPNC

Solucionar el Problema:
-Editar el fichero /usr/share/vpnc/vpnc-script
-En la linea 73, donde pone:

if [ -n "$IPROUTE" ]; then

fix_ip_get_output () {
sed ‘s/cache//;s/metric[0-9]\+//g;s/hoplimit [0-9]\+//g’

}

Lo dejamos así: (Comentamos la linea anterior y insertamos una nueva)

fix_ip_get_output () {

sed ‘s/cache//;s/metric[0-9]\+//g;s/hoplimit [0-9]\+//g’
#sed ‘s/cache//;s/metric[0-9]\+ [0-9]\+//g’

}

-Guardamos el fichero y salimos

Conectarse desde la Universidad:
-Nos conectamos al punto de acceso ICARUM:

  • Suponemos que no tenemos ningún programa gráfico.
  • Abrimos una Consola
  • Nos metemos como superusuario con: su
  • Tecleamos: iwconfig wlan0 icarum, donde wlan0 es la wifi.
  • Tecleamos: dhclient wlan0
  • Ya estamos listos para conectarnos a la VPN

-Abrimos una Consola
-Tecleamos “vpnc”
-Nos irá pidiendo datos e introducimos estos:
Enter IPSec gateway address: vpn.um.es
Enter IPSec ID for vpn.um.es: icarum
Enter IPSec secret for rpvum@vpn.um.es: icarum
Enter username for vpn.um.es: tucorreo@alu.um.es
Enter password for tucorreo@alu.um.es@vpn.um.es: tucontraseñadecorreo

-Si todo ha ido correctamente, aparecerá algo así:
VPNC started in background (pid: 6417)…

Conectarse desde Casa:
-Abrimos una Consola
-Tecleamos “vpnc”
-Nos irá pidiendo datos e introducimos estos:
Enter IPSec gateway address: vpn.um.es
Enter IPSec ID for vpn.um.es: rpvum
Enter IPSec secret for rpvum@vpn.um.es: rpvum
Enter username for vpn.um.es: tucorreo@alu.um.es
Enter password for tucorreo@alu.um.es@vpn.um.es: tucontraseñadecorreo

-Si todo ha ido correctamente, aparecerá algo así:
VPNC started in background (pid: 6417)…

Crear un Script para Conectarnos:
-Creamos un fichero en /etc/vpnc/ llamado vpnum con la siguiente estructura:

IPSec gateway vpn.um.es
IPSec ID icarum
IPSec secret icarum
Xauth username tucorreo@alu.um.es

-Lo guardamos.
-Cuando queramos utilizarlo nos bastará hacer: vpnc vpnum, pidiéndonos solo la contraseña de nuestro usuario.

Espero que os haya resultado útil.
Un Saludo