Instalando GNUstep en Windows (parte 1)

En esta nota voy a explicar como instalar GNUstep en Windows utilizando la versión en desarrollo de GNUstep que contiene varias mejoras para este sistema operativo. Yo he probado esto en un sistema Windows 7, pero en teoría debería funcionar en otras versiones. Asumo que los interesados en estas instrucciones son usuarios de Windows que no están acostumbrados a manejar un shell o herramientas como SVN. Así que vamos por pasos y si no entienden algo solo sigan adelante que de seguro mas adelante se aclara. O busquen en internet lo que no entiendan🙂. En esta primera parte vamos a instalar los paquetes gnustep-make y gnustep-base, con lo que estarán habilitados para escribir programas de linea de comandos.

Paso 1

Lo primero que necesitan es descargar el instalador de MinGW, un entorno minimalista de GNU para Windows que será la base sobre la que instalaremos GNUstep. Arranquen el instalador de MinGW e instalen este en la ruta deseada, yo no he modificado esta así que todo se instalara en “C:\MinGW\”.

Paso 2

El instalador de MinGW crea en el escritorio un acceso directo para el “MinGW Installer”. Arranquemos este y en la parte izquierda seleccionemos la sección “All packages”. Ahora búsquense los siguientes paquetes y márquense para instalación (clic derecho). Algunos paquetes aparecen divididos en paquetes bin y dev, en este caso deben instalarse ambos.

mingw32-autoconf
mingw32-binutils
mingw32-bzip2
mingw32-gcc
mingw32-gcc-g++
mingw32-gcc-objc
mingw32-gdb
mingw32-gmp
mingw32-libbz2
mingw32-libgmp
mingw32-libiconv
mingw32-libintl
mingw32-libpthread-old
mingw32-libpthreadgc
mingw32-libtool
mingw32-libunistring
mingw32-libz
mingw32-make
mingw32-pkginfo
mingw32-pthreads-w32
mingw32-w32api
msys-base
msys-bash
msys-console
msys-crypt
msys-diffutils
msys-libcrypt
msys-libgmp
msys-libiconv
msys-libminires
msys-m4
msys-minires
msys-zlib

Paso 3

Deben instalar dos herramientas adicionales. La primera es un cliente SVN para poder obtener las últimas versiones de los paquetes de GNU del servidor correspondiente. Una versión para Windows puede descargarse aquí y puede instalarse en cualquier directorio.

También debe instalarse un editor de código. Yo recomiendo la versión de Emacs para MinGW. Puede descargarse aquí. Una vez descargado debe copiarse a la carpeta donde instalamos MinGW (en mi caso C:\MinGW) y extraerse allí. Ahora podemos arrancar emacs con el ejecutable que se encuentra en la carpeta bin en la ruta donde se instalo MinGW (en mi caso C:\MinGW\bin\). También puede crearse un acceso directo en el escritorio.

Paso 4

Debemos montar nuestro entorno MinGW para poder utilizarlo. Para ello debemos crear un archivo llamado fstab (con Emacs) en la ruta \msys\1.0\etc\ de nuestro entorno MinGW (en mi caso C:\MinGW\msys\1.0\etc\). Este archivo debe contener la ruta donde esta instalado MinGW y el nombre con que se montara dicha carpeta en el entorno del shell. En mi caso esta archivo contiene la linea:

C:\MinGW  /mingw

Lo que esto quiere decir es que en el shell “mingw” sera el nombre con el que se montara la carpeta en la que esta instalado MinGW. Puede utilizarse cualquier otro nombre que no este ya utilizado (ninguno de los nombres de las carpetas en C:\MinGW\msys\1.0\). Al montar esta carpeta tenemos acceso a todas las herramientas en MinGW. Obsérvese el uso de la diagonal y contra-diagonal. Guardamos el archivo y podemos cerrar Emacs.

Paso 5

Abramos la consola o shell dando doble clic en el archivo msys.bat que en mi caso se encuentra en la ruta C:\MinGW\msys\1.0\. Podemos crear un acceso directo en el escritorio. Esa ventana negra que aparece con unas letras de colores, es el shell, terminal o linea de comandos. Y la usaremos de aquí en adelante para instalar otros paquetes de software. La primera vez que se ejecuta el shell, se crea una carpeta para nuestro usuario (en mi caso es la carpeta C:\MinGW\msys\1.0\home\German\). Si el nombre de usuario contiene espacios o caracteres que no pertenecen al inglés (la letra ñ, tildes, etc), deberemos trabajar en otra carpeta, ya que las herramientas de construcción no funcionan en dichas carpetas. Veamos rápidamente algunos comandos.

Para ejecutar un comando se escribe este y luego se presiona la tecla ENTER. A continuación doy algunos comandos que es importante conocer. Para ingresar a un directorio:

cd nombredirectorio

Para salir de un directorio:

cd ..

Para retornar a la carpeta personal:

cd

Para ver el contenido de la carpeta actual:

ls

La tecla TAB puede utilizarse para completar el nombre de los comandos ingresados, así como de los archivos, directorios o rutas. Por ejemplo, si tenemos un directorio llamado archivos y quereos ingresar en este, solamente debemos escribir algo como “cd arc” y presionar la tecla TAB, la que se encargara de completar el comando a “cd archivos”. Si hay mas de una carpeta cuyo nombre comience con “arc”, la tecla TAB no hará nada.

Paso 6

Es hora de instalar gnustep-make. En la consola obtengamos el código correspondiente mediante SVN. Escribamos:

svn co http://svn.gna.org/svn/gnustep/tools/make/trunk make

y presionemos la tecla ENTER. Esto descarga el código de gnustep-make en la carpeta make. Procedamos a la instalación con los siguientes cuatro comandos:

cd make
./configure
make
make install

Obviamente hay que esperar que ss termine de ejecutar un comando antes de ingresar el siguiente. Hecho esto salgamos de la carpeta “cd ..”.

Paso 7

Debe instalarse la librería libffi, la cual puede descargarse desde la página oficial. La última versión es esta. Descomprimamos el contenido en nuestra carpeta de trabajo y ejecutemos los siguientes comandos. x.x.x es la versión de la librería libffi que se haya descargado y “mingw” es el nombre que se especifico en el archivo fstab para referirnos a la carpeta de instalación de MinGW. En mi caso es simplemente “mingw”:

cd libffi-x.x.x
./configure –prefix=/mingw
make
make install
mv /mingw/lib/libffi-x.x.x/include/* /mingw/include/

Paso 8

Debemos instalar la librería ICU, descarguemos la última versión que es esta. Descomprimamos el contenido en nuestra carpeta de trabajo y ejecutemos los siguientes comandos (mingw es el nombre de montaje):

cd icu/source
./runConfigureICU –disable-release MinGW –prefix=/mingw
make
make install

Paso 9

Debemos instalar GNUtls, ya existe una versión compilada para Windows que se puede descargar aquí. Este paquete se debe descomprimir en la carpeta donde esta instalado nuestro entorno MinGW (en mi caso C:\MinGW).

Paso 10

Debemos instalar pkg-config, ya existe una versión compilada para Windows aquí. Descomprímase el contenido en algún lugar y luego cópiese el contenido a las carpetas correspondientes del entorno MinGW (en mi caso C:\MinGW). Es decir, copiar los archivos que están en la carpeta /bin a la correspondiente carpeta /bin del entorno MinGW. Son solo unos cuantos archivos.

Paso 11

Debemos instalar libxml, la última versión es esta. Descomprimamos el contenido en nuestra carpeta de trabajo y ejecutemos los siguientes comandos. x.x.x es la versión de la librería descargada y “mingw” es el nombre de montaje:

cd libxml2-x.x.x
./configure –prefix=/mingw
make
make install

Paso 12

Debemos hacer un par de correcciones en algunos archivos de MinGW. Con el editor emacs abrase el archivo “/include/winsock2.h” en nuestro entorno MinGW (en mi caso C:\MinGW\include\winsock2.h) y en la estructura sockaddr (linea 336) cámbiese “sa_data[14];” por “sa_data[22];”. Ahora en el archivo “/include/unistd.h” agréguese un par de diagonales (//) al inicio de la linea 95 (#include <parts/time.h>), agréguense también al inicio de las lineas que van de la 104 a la 117 (toda la función nanosleep). Hecho esto guárdense los archivos.

Paso 13

Debemos ejecutar el script de GNUstep con el siguiente comando:

. /local/share/GNUstep/Makefiles/GNUstep.sh

Para correr automáticamente este script cada vez que abramos el shell, agreguemos con Emacs la linea anterior al final del archivo profile (en mi caso este archivo se encuentra en “C:\MinGW\msys\etc\1.0\”).

Paso 14

Ahora procedamos a instalar gnustep-base. Obtengamos el código con el comando:

svn co http://svn.gna.org/svn/gnustep/libs/base/trunk base

Ahora compilemos e instalemos con los siguientes comandos:

cd base
./configure
make
make install

Y con esto tenemos todo lo necesario para comenzar a escribir programas de linea de comandos con GNUstep. En la segunda parte veremos como instalar la parte gráfica de GNUstep.

Espero que las instrucciones este claras, si no pues mandan sus dudas.

4 comentarios en “Instalando GNUstep en Windows (parte 1)

  1. Dos cosas: primera, déjame hacerte una pequeña corrección:

    ./runConfigureICU –disable-release MinGW –prefix=/mingw

    (ponía –disable-release)

    Y segunda: he editado winsock2.h, pero me ha salido esto. ¿Lo comento y se ignora sin más? Ayuda, por favor.

    c:\mingw\include\winsock2.h:258:2: error: unknown type name ‘chars’
    chars sin_zero[8];

    • Wait nº 2 (y así lo dejo por si alguien se lo encuentra): la solución era obvia. Cambiar “chars” por “char”. Nada más. Lamento haber llenado la página de comentarios; un saludo y muchas gracias por la guía.

      • Que bueno que pudiste compilarlo. Sería bueno tener un binario para evitar todo esto, pero se aprende bastante en el proceso🙂 Tal vez haga un instalador más adelante, ahora que he aprendido mas sobre ese tema. Saludos y gracias por la corrección.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s