XEphem 3.7.1, compilación e instalación en Ubuntu y Debian

Mi_xephemLas siguientes notas abordan la compilación del estupendo software astronómico “XEphem”, a partir del código fuente, bajo las distribuciones de Ubuntu (Breezy – 5.10) y Debian (testing – Etch). Probablemente las instrucciones funcionen en las otras versiones de ambas distribuciones, pero no lo he comprobado. Al final, también pongo a disposición un script en Bash que he elaborado para realizar el último paso, posterior a la compilación, que es instalar los directorios de XEphem y el archivo de recursos. Esto último es siempre bastante tedioso, por lo que hice el script que facilita enormemente la tarea. Quiero advertir que no tengo relación alguna con Clear Sky Institute o con el autor de XEphem, Elwood Downey y el script y las explicaciones corren absolutamente por cuenta mía y con la sola intención de ayudar a una mejor y rápida instalación de XEphem.

Unas palabras sobre XEphem

A pesar que XEphem no es software libre en el estricto sentido de la GPL, y aunque existen aplicaciones astronómicas para Linux que son fabulosas, como KStar, simuladores como “Celestia” o planetarios como “Stellarium”, XEphem tiene, en mi opinión, cualidades únicas, que le han valido ser una herramienta usada tanto por astrónomos profesionales como por amateurs. Mi_xephem, Hubble e ISS tracksPersonalmente, siento un gran aprecio por XEphem ya que le debo haber ingresado al mundo de Linux, allá por el año 1996. En ese entonces me encontraba buscando software de astronomía, que fuese más allá de las aplicaciones conocidas en el mundo Windows. Revisando un ejemplar de Sky and Telescope me topé con un artículo, escrito por un astrónomo, que recomendaba ampliamente el XEphem. Aconsejaba a sus colegas y astrónomos amateurs, hacerse de un sistema operativo “clon” de Unix, que permitía ejecutar la aplicación (que, dicho sea de paso, no corría de manera nativa en Windows). Se trataba de Linux. Comencé a averiguar todo sobre el sistema. No tenía buena conexión a Internet y sólo me quedó recurrir a una empresa que vendía la distribución de Caldera (antes que fuese adquirida por SCO). Cuando me llegó mi flamante OpenLinux Base, abandoné Windows y me dediqué, con verdadera obsesión a Linux. Poner a funcionar la interfaz gráfica fue un verdadero suplicio, luego lo propio con el sonido. Me llevó cerca de una semana y tuve que instalar una nueva versión del servidor gráfico, la cual compilé yo mismo. Al final, ¡eureka! allí estaba XEphem, funcionando a las mil maravillas. Luego lo utilicé en el laboratorio del colegio donde daba clases. Lo usamos en la simulación de un eclipse y para variados experimentos que resultaron exitosos y divertidos. ¡Gracias XEphem!

XEphem es distribuido gratuitamente para uso no comercial o educativo. También se vende un paquete, con 3 CD que incluye cerca de 50 catálogos con millones de objetos, un índice completo y anotado de la Luna con las imágenes del Lunar Orbiter IV y muchas otras ventajas.
Aunque la mayoría de las distribuciones cuentan con un XEphem ya empaquetado, generalmente son versiones “viejas”. Además, siempre he preferido compilar mi propia versión y estar “al día”.

Cómo compilar XEphem.

1) Obtener el código fuente. Antes que nada, hay que obtener el código fuente desde aquí. Luego desempaquetamos el archivo comprimido que hemos bajado con este comando:

$ tar xvfz xephem-3.7.1.tar.gz

Ahora disponemos de un directorio, llamado xephem-3.7.1 que contiene las fuentes.

2) Instalar los paquetes requeridos. Para que la compilación se efectúe sin contratiempos en las dependencias, nuestro sistema debe poseer al menos estas bibliotecas y utilidades:

  • gcc-3.4
  • libmotif3
  • libmotif-dev
  • libc6-dev
  • libxmu-dev
  • libxp-dev
  • make
  • La biblioteca de motif (libmotif3 – libmotif-dev) puede no ser necesaria puesto que esta versión de XEphem viene con las fuentes de motif requeridas (el equivalente a libmotif-dev). Sólo hay que cerciorarse de indicar la ruta correctamente a la hora de compilar.

    Para instalar estos paquetes todo usuario de Ubuntu o Debian, sabe que debe recurrir a nuestro querido apt-get install o al programa Synaptic, ejecutado con sudo o con privilegios de root.

    3) Establecer el compilador. Yo he compilado con gcc-3.4 y con gcc-4.0.2. Si tiene problemas compilando con éste último simplemente borre el enlace /usr/bin/gcc (que dirige al gcc-4.0.2) y cree un nuevo enlace al gcc-3.4. ¿Cómo? Escriba, siempre como root o usando sudo ln -s /usr/bin/gcc-3.4 /usr/bin/gcc . Recuerde luego borrar nuevamente el enlace gcc y recrear un enlace al gcc-4.0.2 (siempre que así lo desee).

    4) Corregir archivo fuente. En uno de los archivos fuente de XEphem hay un par de omisiones y un ajuste que efectuar. Busque en la carpeta /xephem-3.7.1/libz el archivo Makefile. Sustituya el encabezado por las siguientes líneas:
    CC = gcc
    CLDFLAGS = -g
    CFLAGS = $(CLDFLAGS) -Wall -O2
    LDFLAGS =

    Luego, en el fondo del archivo, en la línea que dice
    cc $(LDFLAGS) -o testzlib testzlib.o libz.a
    sustituya cc por gcc

    4) Compilar XEphem. Ahora procedemos a compilar la aplicación. Para ello nos dirigimos al directorio xephem-3.7.1/GUI/xephem y escribimos, desde la línea de comandos, en la consola:
    $ make MOTIF=../../libXm/linux86
    Esto permitirá que XEphem se compile usando las librerías de motif suministradas por el propio paquete. Si se desea compilarlo contra las librerías motif del sistema (deben estar instaladas, ver punto 2) se escribe:

    $ make MOTIF=ruta de las librerias de motif en nuestro sistema

    Luego de unos minutos, dependiendo de la velocidad del procesador, dispondrá de un ejecutable llamado xephem y ubicado en el directorio donde compilamos. Para probarlo ejecutamos ./xephem y debería iniciarse.

    5) Ejecutar mi script para finiquitar la instalación. Este paso es opcional y no doy absolutamente ninguna garantía. El script lo he hecho para mi propio uso y lo pongo a disposición, como una gentileza, para todo aquél que desee usarlo, probarlo, modificarlo. El script efectúa las siguientes tareas:

    Instala el ejecutable de Xephem en /usr/local/bin o /usr/bin (depende de la selección siguiente).
    Crea e instala los directorios de recursos necesarios para XEphem en el sistema en /usr/local/xephem o /usr/share/xephem/ o /opt/xephem (el usuario escoge).
    Renombra una vieja instalación, en el directorio escogido por el usuario.

    Para que el script funcione debe ser ejecutado con privilegios de root. El archivo, que se puede descargar aquí, debe ser colocado en la carpeta xephem-3.7.1/GUI/xephem/ y ejecutado: sh ./script_xephem.sh. Si todo funciona adecuadamente bastará correr xephem desde la línea de comandos o crear un lanzador en Gnome, KDE o Xfce4 invocando al binario xephem en la ruta que escogimos en la instalación. Y ahora, ¡a disfrutar XEphem!

    md5sum del script: f3803de1e4b7bc210a006256faf02a5b script_xephem.sh

    Gracias a la página de Paul Bramscher, quien publicó previamente una guía para compilar XEphem en Ubuntu.

    6 comentarios

    1. He tratado de compilar XEphem en Ubuntu para AMD 64, pero me da el siguiente error:

      /usr/bin/ld: aviso: la arquitectura i386 del fichero de entrada ‘../../libXm/linux86/libXm.a(ArrowB.o)’ es incompatible con la salida i386:x86-64

      Y así sucesivamente con una serie de archivos.

      ¿Es posible compilar el programa en un Ubuntu 64?

    2. Aneolf:

      no conozco el comportamiento de la compilación con AMD 64 pero en la página de XEphem hay reportes del problema al compilar con dicho procesador y se sugiere una solución. Extraigo este párrafo:

      “Reports from several users of AMD and Sparc 64 bit systems indicate major problems compiling XEphem with gcc when any optimizations are turned on. This includes compiling the Motif library libXm.a as well. They report XEphem builds and runs fine if all the -O options are removed from the Makefiles”.

      Es decir que si remueves el parámetro de optimización “-O” de los Makefiles se logra la compilación. Es tedioso, lo sé, pero es una salida.

      El comentario está en los FAQ de XEphem:

      http://www.clearskyinstitute.com/xephem/faq.html

      Saludos y suerte.

    3. Primero Gracias por este bendito how-to

      Era muy util cuando en versiones anteriores >3.7.1 no daba uno por que no podia compilar el XEPHEM…

      Pero me parece que para la version 3.7.2 este how-to ya est descontinuado…

      Gracias amigo…

    4. Daniel:

      Sí, obviamente está obsoleto. Ahora pienso que cuando lo publiqué he debido titularlo diferente: “XEphem 3.7.1, compilación e instalación en Ubuntu y Debian”. Lo que pienso actualizar y mejorar es el script que me hice para la instalación final que, a menos que haya modificaciones por parte del autor de XEphem, sigue siendo la misma.

      Gracias Daniel.

      Saludos

    5. Pues viejo, te agradezco mucho por el how to, la verdad me sirvió incluso para la version 7.3.3

    6. El How-to me ha servido para la versión 3.7.3 reemplazando este último número toda vez que diga 3.7.1. Te lo agradezco mucho. Ahora mismo voy a probar XEphem, teniendo en cuenta que vengo desde Guide. Luego te cuento como me fue.

      Saludos.

    Trackbacks/Pingbacks

    1. Extemp”F”oraneo » Compilar XEphem en Ubuntu - [...] Ver la página en la sección técnica, haciendo clic aquí. Tags: astronomía , debian , software , Ubuntu…
    2. XEphem, compilación e instalación en Ubuntu y Debian « Bienvenido al Blog de Mr. Edgarin - [...] Hola amigos he ledio en la lista de Lug-Usac que un amigo desea instalar Xephem en Kubuntu bueno he…

    Escribir un comentario

    Creative Commons License