Archivo para 23 febrero 2007



Instalar gcj

Ayer me acoste muy tarde, pero merecio la pena, me quede compilando e instalando la ultima version de gcc

http://gcc.gnu.org/

El motivo: queria probar la compilacion nativa de codigo java en la plataforma y en mi casa no tengo internet.

En el trabajo si que lo instale con conexion…
Si tienes conexion, para instalar gcj en ubuntu puedes hacerlo facilmente con apt-get:

jose@soledad:~$ sudo apt-get install gcj
Password:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo información de estado... Hecho
Se instalarán los siguientes paquetes extras:
gcj-4.1 libgcj7-awt libgcj7-dev libgcj7-jar
Paquetes sugeridos:
java-gcj-compat-dev libgcj-doc
Paquetes recomendados
fastjar
Se instalarán los siguientes paquetes NUEVOS:
gcj gcj-4.1 libgcj7-awt libgcj7-dev libgcj7-jar
0 actualizados, 5 se instalarán, 0 para eliminar y 88 no actualizados.
Necesito descargar 23,8MB de archivos.
Se utilizarán 78,7MB de espacio de disco adicional después de desempaquetar.
¿Desea continuar [S/n]? S
Des:1 http://es.archive.ubuntu.com edgy/main libgcj7-jar 4.1.1-14ubuntu7 [7897kB]
Des:2 http://es.archive.ubuntu.com edgy/main libgcj7-awt 4.1.1-14ubuntu7 [79,1kB]
Des:3 http://es.archive.ubuntu.com edgy/main libgcj7-dev 4.1.1-14ubuntu7 [12,9MB]
Des:4 http://es.archive.ubuntu.com edgy/main gcj-4.1 4.1.1-14ubuntu7 [2856kB]
Des:5 http://es.archive.ubuntu.com edgy/main gcj 4:4.1.1-6ubuntu3 [1446B]
Descargados 23,8MB en 16s (1412kB/s)
Seleccionando el paquete libgcj7-jar previamente no seleccionado.
(Leyendo la base de datos ...
123300 ficheros y directorios instalados actualmente.)
Desempaquetando libgcj7-jar (de .../libgcj7-jar_4.1.1-14ubuntu7_all.deb) ...
Seleccionando el paquete libgcj7-awt previamente no seleccionado.
Desempaquetando libgcj7-awt (de .../libgcj7-awt_4.1.1-14ubuntu7_i386.deb) ...
Seleccionando el paquete libgcj7-dev previamente no seleccionado.
Desempaquetando libgcj7-dev (de .../libgcj7-dev_4.1.1-14ubuntu7_i386.deb) ...
Seleccionando el paquete gcj-4.1 previamente no seleccionado.
Desempaquetando gcj-4.1 (de .../gcj-4.1_4.1.1-14ubuntu7_i386.deb) ...
Seleccionando el paquete gcj previamente no seleccionado.
Desempaquetando gcj (de .../gcj_4%3a4.1.1-6ubuntu3_i386.deb) ...
Configurando libgcj7-jar (4.1.1-14ubuntu7) ...
Configurando libgcj7-awt (4.1.1-14ubuntu7) ...
Configurando libgcj7-dev (4.1.1-14ubuntu7) ...
Configurando gcj-4.1 (4.1.1-14ubuntu7) ...
Configurando gcj (4.1.1-6ubuntu3) ...
jose@soledad:~$

Ten tambien instalado gcc previamente y aquellas utilidades necesarias para compilar como make

En el trabajo tengo acceso a estaciones Sparc y a maquinas Red Hat asi que tuve que instalarlo manualmente tambien en una maquina Red Hat cuya version de gcc era la 3.2.3. Aqui os comento lo que hice.

(nota: si ya tienes gcc instalado con la ultima version y solo quieres actualizar gcj puedes tambien bajarte unicamente los fuentes del gcj y compilarla. En mi caso me descargue el fichero completo)

Nos descargamos el siguiente fichero de algun mirror de los que aparecen en el sitio web de gcc:


gcc-4.1.3.tar.gz

Este fichero contiene el codigo fuente de gcc y el resto de lenguajes (java, c++,etc), es el paquete completo.

como usuario root…

Lo descomprimimos y nos metemos en la carpeta creada.

tar -xzpvf gcc-4.1.3.tar.gz
cd gcc-4.1.2

en esa ruta creamos un directorio build

mkdir build

y nos cambiamos a el

cd build

ahora solo queda invocar el configure con las siguientes opciones

../configure --enable-languages=c,c++,java,objc
(con estos flags activamos el soporte de esos lenguajes)

La instalacion de gcc se hace por defecto en /usr/local, si quieres cambiar esta ruta añade tambien la opcion --prefix=<directorio donde instalar>

una vez que se genere el makefile ejecutamos

make

comienza la compilacion, si quieres guardar los errores puedes usar en lugar de make a secas lo siguiente:

make 2>errores.make

para guardar la traza en un fichero denominado “errores.make”.

instalando_gcj.png

La compilacion a mi me tardo bastante (depende de tu maquina), al finalizar ya puedes instalar gcc con el siguiente comando:

make install

y se acabo. comprueba ahora las versiones instaladas.

gcj --version

debes obtener a la salida algo similar a lo siguiente:

gcj (GCC) 4.1.2
Copyright (C) 2006 Free Software Foundation, Inc.
Esto es software libre; vea el código para las condiciones de copia. NO hay
garantía; ni siquiera para MERCANTIBILIDAD o IDONEIDAD PARA UN PROPÓSITO EN
PARTICULAR

y la version de gcc

gcc --version

resulta lo siguiente:

gcc (GCC) 4.1.2
Copyright (C) 2006 Free Software Foundation, Inc.
Esto es software libre; vea el código para las condiciones de copia. NO hay
garantía; ni siquiera para MERCANTIBILIDAD o IDONEIDAD PARA UN PROPÓSITO EN
PARTICULAR

Vamos a escribir ahora una pequeña clase en java para probar la compilacion nativa en estos entornos.

Escribe la siguiente clase java, llama al fichero “Hola.java”.


public class Hola
{
public static void main(String[] args)
{
System.out.println("Hola desde gcj!!!");
}
}

Para compilarlo directamente a un ejecutable usa:

gcj --main=Hola -o Hola Hola.java

(le indicas que el cuerpo principal es Hola, que se genere un fichero output denominado Hola y que la clase es Hola.java)

Si necesitaras añadir el classpath seria asi:

gcj --main=Hola -o Hola Hola.java --classpath=<tuclasspath>

si no indicas un nombre de salida con la opcion -o por defecto se te genera un fichero a.out (que es el ejecutable).

Funciona!!!, tenemos codigo java compilado nativamente y sin tener que usar programas caros como Excelsior.

nota: si te da problemas con las librerias, asegurate de tenerlas y definirlas tambien en la variable de entorno LD_LIBRARY_PATH
Por ejemplo si obtienes un mensaje como:

error while loading shared libraries: libgcj.so.7: cannot open shared object file: No such file or directory

Podemos buscar donde se encuentra con el comando “whereis”

whereis libgcj.so.7
libgcj.so: /usr/lib/libgcj.so.3 /usr/local/lib/libgcj.so.7 /usr/local/lib/libgcj.so

Entonces exportamos la ruta:

export LD_LIBRARY_PATH=/usr/local/lib

Ahora si que funciona!!!

/export/gcj > ./Hola
Hola desde gcj!!!

Ojo si te llevas el ejecutable a otra maquina, asegurate de que esa maquina tiene todas las librerias de enlace dinamico requeridas. las puedes ver si ejecutas el comando “ldd”

export/gcj > file Hola
Hola: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped

/export/gcj > ldd Hola
/etc/libcwait.so => /etc/libcwait.so (0xb75e7000)
libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 (0xb75dc000)
libgcj.so.7 => /usr/local/lib/libgcj.so.7 (0xb60eb000)
libm.so.6 => /lib/tls/libm.so.6 (0xb60bc000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb60ac000)
libdl.so.2 => /lib/libdl.so.2 (0xb60a9000)
libc.so.6 => /lib/tls/libc.so.6 (0xb5f71000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb75eb000)
pstigpr2(manager): /export/manager/gcj >

Si te gusta el tema y quieres ver mas. mira:

Compilacion nativa de codigo Java

Convertir un PDF a SWF

En http://www.swftools.org/ me encuentro una coleccion de utilidades muy interesantes. En particular pdf2swf, la cual podemos usar si tenemos algun pdf con una presentacion y la queremos colgar en la web como un video swf.

Para instalar estas utilidades…

Bajate los fuentes:

swftools-0.8.0.tar.gz

Descomprime la carpeta y te metes en el directorio base que se crea

cd /home/jose/Desktop/swftools-0.8.0

como usuario root compila el codigo fuente y lo instalas

./configure
make
make install

(necesitas poder compilar en el PC, para ello tener instalado el package build-essential
y todos los adicionales que se te instalan al seleccionarlo desde Synaptic (gcc, make, etc…)

y ya esta…

Para pasar un PDF con una presentacion a un video SWF puedes ejecutar el siguiente comando:

/usr/local/bin/pdf2swf <fichero.pdf>

se creara en el directorio un fichero en formato .swf con el mismo nombre que el pdf.

Unas herramientas muy utiles!!!.

Programacion avanzada con Linux

Un libro muy interesante que te puedes descargar:

http://www.advancedlinuxprogramming.com/

Ayer en el metro…

no tiene nada que ver con Ubuntu pero me resulto gracioso. Estoy en el metro y escucho una conversacion:

– ey, a que si tienes un amigo “fontanero” y lo llamas a tu casa le dices: cuanto é??

– en cambio, si tienes un amigo “informatico” aqué no le dize cuanto é?? a que no??

(perdonad la forma de escribir, el chico debia ser sevillano o de alguna parte de andalucia, por otra la parte la gente mas graciosa y buena que he conocido).

Creo que tiene razon,….

y ademas pienso que en madrid ya habemos demasiados informaticos…

1000 visitas

Bueno esto es lo tipico que he visto que se pone en otros blogs cuando se alcanza esta cifra de lectores. Asi que no seremos menos. Espero poder seguir publicando todo aquello que vea de interes y muchas gracias a todos vosotros que me leeis.

Alternativas Libres

Buscas un programa que tenias en Windows y que no encuentras en Linux??.

Prueba primero a usar “wine” o en su defecto puedes buscar un programa similar que te haga la misma funcionalidad. En ocasiones incluso te encuentras programas libres que son mejores que los comerciales. Para que pagar elevados costes de licencias.

http://alts.homelinux.net/

Planificar nuestros proyectos

Navegando me encuentro con “Planner” una utilidad que nos permite planificar nuestras tareas y proyectos. No es como el Microsoft Project pero tampoco a veces necesitamos mucho mas.

planner00.jpg

La instalacion muy sencilla:


sudo apt-get install planner

Aunque en el sitio oficial comentan que estan en desarrollo y añadiendole nuevas funcionalidades. Estupendo!!!

http://live.gnome.org/Planner





¿Es compatible tu equipo con Ubuntu?


( Muchos fondos de pantalla, aqui )

DESCARGATE SCIFI LIFE

365 Dias de Soledad
Me debes los sueños, las promesas y las noches rotas. Me debes la paz, la sonrisa y la esperanza robadas. Me debes la sangre, las lágrimas y el sudor vertido. Me debes las noches vacías, los abrazos anhelados. Me debes un beso de ajenjo de tu amarga boca.

The Ubuntu Counter Project - user number # 11961
Geo Visitors Map
febrero 2007
L M X J V S D
    Mar »
 1234
567891011
12131415161718
19202122232425
262728  

Blog Stats

  • 30.875.804 hits