Compilar Inkscape 1.0 desde código fuente en MX Linux 19, antiX 19 de 32 bits (o 64 bits) basado en Debian 10 Buster)

Estos son los pasos que seguí para compilar Inkscape 1.0 desde código fuente para Linux 32 bits (también sirve para 64 bits). La razón de compilarlo que es se están demorando mucho en actualizar las ultimas versiones de las aplicaciones de 32 bits 

Nota: Como voy a compilar el código fuente desde un sistema operativo Linux de 32 bits el resultado será un código de programa de 32 bits el cual será instalado en el sistema operativo pero usted no lo podrá ver como instalado en Synaptic ni en algún gestor de instalación de software, pero al final les indico cómo desinstalarlo.

Además pueden usar esto como ejemplo para algún código fuente parecido (para algún otro programa que ustedes quieran compilar) 

 

Instalación hecha en:

- MX Linux 19.3 de 32 bits

 

VIDEO DE INSTRUCCIONES:


 


Inkscape 1.0
 
Este tutorial lo hice con el siguiente código fuente 1.0 desde:

https://inkscape.org/release/inkscape-1.0/source/archive/xz/dl/

 

Inkscape Nevas Versiones

Pronto van saliendo actualizaciones o luego otra nueva versión. Podrán descargar el código fuente desde aquí:

https://inkscape.org/es/release/all/source/archive/xz/


Desinstale la versión anterior si la tenía instalada
 Es necesario desinstalar la versión anterior si es que la tenía instalada. Ponga en la terminal

sudo apt-get remove inkscape



Instalar Herramientas de Compilación
Copie todas las cuatro líneas siguientes y péguelas al mismo tiempo en una terminal y ejecútelas con ENTER:

sudo apt-get install build-essential intltool libfreetype6-dev liblcms2-dev \
libgc-dev libglibmm-2.4-dev libgsl0-dev libxml2-dev libxslt1-dev libcairo2-dev \
libcairomm-1.0-dev libpangomm-1.4-dev libpango1.0-dev libpangoft2-1.0-0 \
libgtkmm-2.4-dev libboost-dev libpopt-dev 


ponga su contraseña y espere hasta que se instale todo.

La lista de las herramientas de compilación las encontré aquí:

Compiling Inkscape 0.91 on Linux Mint Debian Edition (LMDE) 2
https://gist.github.com/jeffkayser/4637089d3c11546e6d4f



Instalar Dependencias
Copie y ponga la siguiente línea en la terminal y ejecútela:

sudo apt install libgc1c2 libgc-dev libsigc++-2.0-dev libgtkmm-3.0-dev cmake ninja-build libsoup2.4-dev libdouble-conversion-dev libpotrace-dev libgdl-3-dev libmagick++-6.q16-dev libgraphicsmagick++1-dev libwpg-dev libpoppler-dev libgtkspell3-3-dev libpoppler-glib-dev libvisio-dev aspell-es libcdr-dev libaspell-dev dictionaries-common-dev libmodbus-dev libpoppler-private-dev


espere a que se instale todo.


¿Cómo conseguí esta lista?

Esta lista de las dependencias las busqué en varios lugares y no recuerdo donde están todas las búsquedas que hice, pero hay una lista donde están algunas de las dependencias (no todas son):

https://gitlab.com/inkscape/inkscape-ci-docker/-/raw/master/install_dependencies.sh

visto en:

https://inkscape.org/es/desarrollo/primeros-pasos/

el resto de las dependencias las encontré en los mensajes de error que me daba en la terminal y buscando sus nombres en Google.


Compilar Inkscape
En la carpeta donde tenga el código fuente descomprima el código fuente con clic derecho:






 y entre en una terminal dentro de esa carpeta, en mi caso es así:

cd /home/wachin/Instaladores-Linux/Inkscape/source/inkscape-1.0_2020-05-01_4035a4fb49/

aquí una imagen:



Allí dentro ponga en la terminal uno por uno los siguientes comandos ejecutandolos:

mkdir build
cd build
cmake ..
make
sudo make install
exit


espere (podría demorar una hora o mas o menos dependiendo de su ordenador) y quedará instalado en su sistema

 

Opcional: Se puede construir el programa con cmake prefix hacia /usr esto por si desen usar los archivos creados para armar a mano un deb -es algo muy complicado pero pongo esta información por un caso-, para hacer eso, en vez de:

cmake ..

se pone:

cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..



Mensajes de error

Como esta compilación fue hecha en MX Linux 19.3 de 32 bits es posible que si usted usa esta lista en algún otro Sistema Operativo le falte algún paquete de dependencia, por ejemplo yo estaba probando esta lista de dependencias en antiX 19.3 de 64 bits y al poner "cmake .." me salió un mensaje que me faltaba una dependencia:



como ven en el mensaje de error:

   CMake Warning at CMakeLists.txt:187 (message):

  No gtest found! Disabling testing...

  Consider installing it via package manager (install 'libgtest-dev' or  equivalent).

cuya traducción es:

   Advertencia de CMake en CMakeLists.txt: 187 (mensaje):

   ¡No se ha encontrado ningún gtest! Desactivando las pruebas ...

   Considere instalarlo a través del administrador de paquetes (instale 'libgtest-dev' o  equivalente).

y buscando ese nombre en synaptic:


al marcarla para instalar me instalará otro paquete:


pero también les digo que en el mensaje de arriba que el nombre del paquete puede no ser igual sino parecido, en ese caso deberán probar instalando algunos a ver cual de ese es. Y si, así es como he encontrado todas las dependencias, es un trabajo algo duro porque luego aparece otra que falta y así sucesivamente hasta encontrar todas.


¿Dónde encontré las instrucciones de compilación?

Los comandos para esta instalación están en el código fuente:


Nota: Allí al final dice: "make install" pero yo en el comando le he puesto "sudo make install", eso es así porque sino sale error. Sucede que al elevar con sudo los permisos como superusuario se instalan los archivos en el sistema y no sale error.

 Después de instalado, en la carpeta que creamos con mkdir build, allí dentro está el comando de desinstalación:


y aquí abierto Inkscape:


Nota: En caso que no les abra desde la terminal (por si quieran abrir el programa desde la terminal) al poner "inkscape" cierren esa terminal y abran una nueva.



 Cómo desinstalar inkscape compilado desde código fuente

Ponga en la terminal:

sudo make uninstall

ese comando hay que ponerlo en una terminal al estar dentro de la carpeta build:


y aquí les pongo una imagen de la desinstalación:


Ah, y les cuento también lo que sucede durante la instalación al poner sudo make install, lo que sucede es que ese comando hace que se borre del sistema cada uno de los archivos que fueron instalados listados en:




La desinstalación es muy muy importante para que después cuando usted vaya a compilar una nueva versión de Inkscape no deje residuos de ningún archivo, y lo mismo es importante cuando usted vaya a construir el deb de Inkscape o de algún otro programa:

Cómo crear deb con dpkg-buildpackage -rfakeroot (desde un programa compilado previamente desde código fuente)(ejemplo Inkscape 1.0)
https://facilitarelsoftwarelibre.blogspot.com/2020/12/compilar-inkscape-1.0-deb-32-y-64-bits-mxlinux.html


Dios les bendiga


CONSULTAS

compile ajunta: No package gdl-3.0 found
https://ubuntuforums.org/showthread.php?t=1906039

Bug #1764184 “cmake build error POPPLER_INCLUDE_DIR” : Bugs : Inkscape
https://bugs.launchpad.net/inkscape/+bug/1764184

Comentarios