Compilar GIMP 2.9 en Debian Stretch 9.1

Al actualizar mi sistema a Debian Stretch era obvio que escribiría este post para compilar GIMP 😛 . Ya lo hicimos antes así que no repetiré todo el proceso ya que podemos usar el post anterior para compilar GIMP para la nueva versión de Debian, lo único que cambia es que el repositorio estable debería contener versiones más recientes de las librerías necesarias de forma que no tengamos que compilarlas manualmente como antes y eso es lo que vamos a averiguar:

Nota: Este post se basa en un sistema Debian actualizado desde la versión usada en posts anteriores por lo que muchos de los paquetes necesarios ya estaban instalados y se actualizaron al actualizar Debian, así que no será necesario instalarlos de nuevo. Si esta es tu primera vez compilando GIMP, te recomiendo usar el post anterior y verificar si las librerías necesarias están en el repositorio para instalarlas desde ahí sin necesidad de compilarlas manualmente.

monstruosoft@monstruosoft-PC:~/build/gimp-2.9.6$ ./configure --prefix=/home/monstruosoft/libs
…
Error: GIMP configuration failed.

  - Error: missing dependency babl >= 0.1.30
  - Error: missing dependency gegl-0.3 >= 0.3.20
  - Error: missing dependency gegl
      *** Could not find gegl in your PATH.
  - Error: missing dependency gexiv2 >= 0.10.6
  - Error: missing dependency libmypaint >= 1.3.0
  - Error: missing dependency rsvg >= 2.40.6
  - Error: missing dependency lcms2 >= 2.7

See the file 'INSTALL' for more help.

Revisemos si las versiones en el repositorio estable de Debian Stretch cumplen con los requisitos para GIMP 2.9:

  • libbabl-dev – versión 0.1.18-1: Un mal comienzo, no cumple con los requisitos y tenemos que compilarla manualmente 😦 .

  • libgegl-dev – versión 0.3.8-4: También debemos compilarla manualmente 😦 .
  • libgexiv2-dev – versión 0.10.4-2: También debemos compilarla manualmente 😦 .
  • libmypaint no está en el repositorio estable, debemos compilarla manualmente 😦 .
  • librsvg2-dev – versión 2.40.16-1+b1: Esta librería sí cumple con el requerimiento mínimo para GIMP 2.9. Si recuerdan, esta fue la librería que más trabajo requería para compilarla en Debian Jessie por todas sus dependencias. Al menos nos ahorrará un poco del trabajo.

  • liblcms2-dev – versión 2.8-4: Esta librería sí cumple con el requerimiento mínimo para GIMP 2.9

Esto fue un poco decepcionante, esperaba que la nueva versión de Debian cumpliera con la mayoría de los requisitos 😦 . Viendo el lado amable, no tendremos que compilar algunas de las librerías que tienen más dependencias. De esta forma, podemos instalar desde el gestor de paquetes de Debian las librerías librsvg2-dev y liblcms2-dev y el resto las tendremos que compilar manualmente. Ya que es necesario configurar las variables de entorno correspondientes para poder acceder a las librerías instaladas manualmente, repetiré aquí los comandos básicos pero ya no escribiré las notas sobre cada librería:

monstruosoft@monstruosoft-PC:~$ cd build/babl-0.1.30/
monstruosoft@monstruosoft-PC:~/build/babl-0.1.30$ ./configure --prefix=/home/monstruosoft/libs/
monstruosoft@monstruosoft-PC:~/build/babl-0.1.30$ make
monstruosoft@monstruosoft-PC:~/build/babl-0.1.30$ make install
monstruosoft@monstruosoft-PC:~/build/babl-0.1.30$ pkg-config --modversion babl
0.1.18
monstruosoft@monstruosoft-PC:~/build/babl-0.1.30$ export PKG_CONFIG_PATH=/home/monstruosoft/libs/lib/pkgconfig/
monstruosoft@monstruosoft-PC:~/build/babl-0.1.30$ pkg-config --modversion babl
0.1.30
monstruosoft@monstruosoft-PC:~/build/babl-0.1.30$ cd ..
monstruosoft@monstruosoft-PC:~/build$ cd gegl-0.3.20/
monstruosoft@monstruosoft-PC:~/build/gegl-0.3.20$ ./configure --prefix=/home/monstruosoft/libs/
monstruosoft@monstruosoft-PC:~/build/gegl-0.3.20$ make
monstruosoft@monstruosoft-PC:~/build/gegl-0.3.20$ make install
monstruosoft@monstruosoft-PC:~/build/gegl-0.3.20$ cd ..
monstruosoft@monstruosoft-PC:~/build$ cd gexiv2-0.10.6/
monstruosoft@monstruosoft-PC:~/build/gexiv2-0.10.6$ ./configure --enable-introspection --prefix=/home/monstruosoft/libs/ --with-python2-girdir=/home/monstruosoft/libs/lib/python2.7/dist-packages/gi/overrides --with-python3-girdir=/home/monstruosoft/libs/lib/python3/dist-packages/gi/overrides
monstruosoft@monstruosoft-PC:~/build/gexiv2-0.10.6$ make
monstruosoft@monstruosoft-PC:~/build/gexiv2-0.10.6$ make install
monstruosoft@monstruosoft-PC:~/build/gexiv2-0.10.6$ cd ..
monstruosoft@monstruosoft-PC:~/build$ cd libmypaint-1.3.0/
monstruosoft@monstruosoft-PC:~/build/libmypaint-1.3.0$ ./configure --prefix=/home/monstruosoft/libs/
monstruosoft@monstruosoft-PC:~/build/libmypaint-1.3.0$ make
monstruosoft@monstruosoft-PC:~/build/libmypaint-1.3.0$ make install

Ahora estamos listos para continuar con la compilación de GIMP 2.9:

monstruosoft@monstruosoft-PC:~$ 
monstruosoft@monstruosoft-PC:~$ cd build/gimp-2.9.6/
monstruosoft@monstruosoft-PC:~/build/gimp-2.9.6$ export PATH=$PATH:/home/monstruosoft/libs/bin/
monstruosoft@monstruosoft-PC:~/build/gimp-2.9.6$ ./configure --prefix=/home/monstruosoft/libs/
monstruosoft@monstruosoft-PC:~/build/gimp-2.9.6$ make
monstruosoft@monstruosoft-PC:~/build/gimp-2.9.6$ make install

Como antes, podemos usar un script para ejecutar GIMP 2.9. Buena suerte 😛 .

3 comments

  1. kuro · November 16, 2017

    lo digo desde el desconocimiento, pero no te vale con ‘apt-get build-dep paquete’ para conseguir todas las dependencias que necesitas y luego compilar el nuevo paquete?

    Like

    • monstruosoft · November 23, 2017

      Esa es una buena alternativa, siempre es tiempo para aprender cosas nuevas :P. Aunque ese comando instalaría las versiones de las librerías en el repositorio de Debian, incluso si no cumplen con los requisitos mínimos para GIMP 2.9 por lo que aún tendrías que instalar manualmente las librerías que así lo requieran.

      Like

  2. Pingback: Desaventuras en la tierra de Linux, parte 13-2 | monstruosoft

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s