Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

Instalar CMake desde ceroInstalar GCC desde cero

Instalar Dependencias para GCC




Instalar Dependencias para GCC




Copyright

Copyright © José Luis Lara Carrascal  2012-2018   http://manualinux.eu



Sumario

Introducción
GMP (32/64 bits)
MPFR (32/64 bits)
MPC (32/64 bits)
ISL (32/64 bits)
Enlaces




Introducción

Este manual es complementario del manual de GCC, y contiene la instalación de las librerías de optimización, requeridas unas y opcionales otras, que se utilizan en el proceso de instalación de este compilador. Desde el 14-04-2018, el manual se ha actualizado a una instalación en un sistema de 64 bits multiarquitectura, basado en el CLFS.



GMP (32/64 bits)

Dependencia requerida para la compilación de GCC. Procurar utilizar siempre dos terminales o pestañas de terminal para cada modo de compilación, para no hacernos un lío con las variables de entorno específicas a establecer en cada uno.

Instalación

Dependencias

Herramientas de Compilación  


Entre paréntesis la versión con la que se ha compilado GMP para la elaboración de este documento.

* GCC - (7.3.0)
* Gawk - (4.2.1)
* M4 - (1.4.18)
* Libtool - (2.4.6)
* Make - (4.2.1)
* Automake - (1.16.1)
* Autoconf - (2.69)
* Bison - (3.0.4)
* Flex - (2.6.4)

Librerías de Desarrollo

* Readline - (7.0)



Descarga

gmp-6.1.2.tar.xz

Optimizaciones   

GMP utiliza sus propias optimizaciones con detección de CPU incluida.

Parámetros adicionales para la versión de 32 bits

Establecer la variable de entorno adecuada para pkg-config en sistemas de 64 bits multiarquitectura
$ export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=' -L/usr/lib -L/usr/local/lib'

Establecer la variable de entorno de arquitectura de procesador requerida en sistemas de 64 bits multiarquitectura basados en el CLFS
$ export USE_ARCH=32

Parámetros adicionales para la versión de 64 bits

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64"

Extracción  Bloc de Notas Información general sobre el uso de los comandos

$ tar Jxvf gmp-6.1.2.tar.xz
$ cd gmp-6.1.2

Configuración de la versión de 32 bits

$ mkdir build32; cd build32
$ ../configure --prefix=/usr --enable-cxx --build=i686-pc-linux-gnu

Explicación de los comandos

--prefix=/usr : Instala la librería en el directorio principal /usr.
--enable-cxx : Activa el soporte de GMP en C++.
--build=i686-pc-linux-gnu : Activa el modo de compilación de 32 bits, en sistemas de 64 bits multiarquitectura. En otros paquetes del manual hay que hacerlo desde la variable de entorno de uso de compilador.

Compilación

$ make

Parámetros de compilación opcionales

-j2 : Si tenemos un procesador de doble núcleo (dual-core), y el kernel está optimizado para el mismo y es SMP, con este parámetro aumentaremos el número de procesos de compilación simultáneos a un nivel de 2 y aceleraremos el tiempo de compilación del programa de forma considerable.
-j4 : Lo mismo que arriba pero con procesadores de 4 núcleos (quad-core).

Instalación como root

$ su
# make install-strip
# mv /usr/include/gmp{,-32}.h
# ldconfig -v

Explicación de los comandos

mv /usr/include/gmp{,-32}.h : Renombramos el archivo de cabecera principal de la librería, ya que el contenido de éste difiere en función de la arquitectura de procesador utilizada en el proceso de compilación. Cuando se instale la versión de 64 bits, crearemos un archivo de cabecera selector de arquitectura de procesador, que seleccionará este archivo o el de la versión de 64 bits, en función del modo de compilación utilizado, en aquellos paquetes que dependan de esta librería.

Configuración de la versión de 64 bits

$ mkdir build64; cd build64
$ ../configure --prefix=/usr --enable-cxx --libdir=/usr/lib64

Explicación de los comandos

--prefix=/usr : Instala la librería en el directorio principal /usr.
--enable-cxx : Activa el soporte de GMP en C++.
--libdir=/usr/lib64 : Instala la librería en /usr/lib64, en sistemas de 64 bits multiarquitectura.

Compilación

$ make

Parámetros de compilación opcionales

Instalación como root

$ su
# make install-strip
# mv /usr/include/gmp{,-64}.h
# cat > /usr/include/gmp.h << "EOF"
/* gmp.h - Stub Header  */
#ifndef __STUB__GMP_H__
#define __STUB__GMP_H__

#if defined(__x86_64__)
# include "gmp-64.h"
#else
# include "gmp-32.h"
#endif

#endif /* __STUB__GMP_H__ */
EOF
# ldconfig -v

Explicación de los comandos

mv /usr/include/gmp{,-64}.h : Hacemos lo mismo que hemos hecho antes con la versión de 32 bits, pero en este caso con la de 64 bits.

cat > /usr/include/gmp.h << "EOF"
/* gmp.h - Stub Header  */
#ifndef __STUB__GMP_H__
#define __STUB__GMP_H__

#if defined(__x86_64__)
# include "gmp-64.h"
#else
# include "gmp-32.h"
#endif

#endif /* __STUB__GMP_H__ */
EOF : Creamos un archivo de cabecera selector de arquitectura con el comando cat, siguiendo el mismo método utilizado por el CLFS, pero omitiendo las arquitecturas de procesador que no son necesarias en nuestro sistema.

Estadísticas de Compilación e Instalación de GMP

Estadísticas de Compilación e Instalación de GMP
CPU AMD Phenom(tm) II X4 965 Processor
MHz 3415.709
RAM 4096 MB
Sistema de archivos XFS
Versión del Kernel 4.16.2 SMP PREEMPT x86_64
Modo de frecuencia de la CPU ondemand
Versión de Glibc 2.27
Enlazador dinámico GNU gold (Binutils 2.30) 1.15
Compilador GCC 7.3.0 + Ccache 3.4.2
Parámetros de optimización automáticos -02 -march=amdfam10 -mtune=amdfam10 
Parámetros de compilación -j4
Tiempo de compilación 1' 47"
Archivos instalados 19
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 8
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 4,0 MB

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX

El principal inconveniente del comando anterior es que tenemos que tener el directorio de compilación en nuestro sistema para poder desinstalar el programa. En algunos casos esto supone muchos megas de espacio en disco. Con el paquete de scripts que pongo a continuación logramos evitar el único inconveniente que tiene la compilación de programas, y es el tema de la desinstalación de los mismos sin la necesidad de tener obligatoriamente una copia de las fuentes compiladas.

gmp-6.1.2-scripts.tar.gz

$ su
# tar zxvf gmp-6.1.2-scripts.tar.gz
# cd gmp-6.1.2-scripts
# ./Desinstalar_gmp-6.1.2

Copia de Seguridad como root

Con este otro script creamos una copia de seguridad de los binarios compilados, recreando la estructura de directorios de los mismos en un directorio de copias de seguridad (copibin) que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de los binarios podemos copiarlo como usuario a nuestro home y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos volver a restaurar la copia, tendremos que volver a copiarlo al lugar donde se ha creado.

$ su
# tar zxvf gmp-6.1.2-scripts.tar.gz
# cd gmp-6.1.2-scripts
# ./Respaldar_gmp-6.1.2

Restaurar la Copia de Seguridad como root

Y con este otro script (que se copia de forma automática cuando creamos la copia de respaldo del programa) restauramos la copia de seguridad como root cuando resulte necesario.

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_gmp-6.1.2



MPFR

Dependencia requerida para la compilación de GCC. Procurar utilizar siempre dos terminales o pestañas de terminal para cada modo de compilación, para no hacernos un lío con las variables de entorno específicas a establecer en cada uno.

Instalación

Dependencias

Herramientas de Compilación  

Entre paréntesis la versión con la que se ha compilado MPFR para la elaboración de este documento.

* GCC - (7.3.0)
* Gawk - (4.2.1)
* M4 - (1.4.18)
* Libtool - (2.4.6)
* Make - (4.2.1)
* Automake - (1.16.1)
* Autoconf - (2.69)
* Bison - (3.0.4)
* Flex - (2.6.4)

Librerías de Desarrollo


* GMP - (6.1.2)



Descarga

mpfr-4.0.1.tar.xz

Parámetros adicionales para la versión de 32 bits

Establecer la variable de entorno adecuada para pkg-config en sistemas de 64 bits multiarquitectura
$ export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=' -L/usr/lib -L/usr/local/lib'

Establecer la variable de entorno de uso de compilador en modo de 32 bits, en sistemas de 64 bits multiarquitectura
$ export CC="gcc -m32"; export CXX="g++ -m32"

Establecer la variable de entorno de arquitectura de procesador requerida en sistemas de 64 bits multiarquitectura basados en el CLFS
$ export USE_ARCH=32

Parámetros adicionales para la versión de 64 bits

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64"

Extracción  Bloc de Notas Información general sobre el uso de los comandos

$ tar Jxvf mpfr-4.0.1.tar.xz
$ cd mpfr-4.0.1

Configuración de la versión de 32 bits

$ mkdir build32; cd build32
$ ../configure --disable-dependency-tracking --prefix=/usr

Explicación de los comandos

--disable-dependency-tracking : Acelera el tiempo de compilación.
--prefix=/usr : Instala la librería en el directorio principal /usr.

Compilación

$ make

Parámetros de compilación opcionales

Instalación como root

$ su
# make install-strip
# ldconfig -v

Configuración de la versión de 64 bits

$ mkdir build64; cd build64
$ ../configure --disable-dependency-tracking --prefix=/usr --libdir=/usr/lib64

Explicación de los comandos

--disable-dependency-tracking : Acelera el tiempo de compilación.
--prefix=/usr : Instala la librería en el directorio principal /usr.
--libdir=/usr/lib64 : Instala la librería en /usr/lib64, en sistemas de 64 bits multiarquitectura.

Compilación

$ make

Parámetros de compilación opcionales

Instalación como root

$ su
# make install-strip
# ldconfig -v

Estadísticas de Compilación e Instalación de MPFR

Estadísticas de Compilación e Instalación de MPFR
CPU AMD Phenom(tm) II X4 965 Processor
MHz 3415.709
RAM 4096 MB
Sistema de archivos XFS
Versión del Kernel 4.16.2 SMP PREEMPT x86_64
Modo de frecuencia de la CPU ondemand
Versión de Glibc 2.27
Enlazador dinámico GNU gold (Binutils 2.30) 1.15
Compilador GCC 7.3.0 + Ccache 3.4.2
Parámetros de optimización automáticos -02 -march=amdfam10 -mtune=amdfam10
Parámetros de compilación -j4
Tiempo de compilación 2' 26"
Archivos instalados 21
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 4
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 3,0 MB

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX

mpfr-4.0.1-scripts.tar.gz

$ su
# tar zxvf mpfr-4.0.1-scripts.tar.gz
# cd mpfr-4.0.1-scripts
# ./Desinstalar_mpfr-4.0.1

Copia de Seguridad como root

$ su
# tar zxvf mpfr-4.0.1-scripts.tar.gz
# cd mpfr-4.0.1-scripts
# ./Respaldar_mpfr-4.0.1

Restaurar la Copia de Seguridad como root

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_mpfr-4.0.1



MPC

Dependencia requerida para la compilación de GCC.

Instalación

Dependencias

Herramientas de Compilación  

Entre paréntesis la versión con la que se ha compilado MPC para la elaboración de este documento.

* GCC - (7.3.0)
* Gawk - (4.2.1)
* M4 - (1.4.18)
* Libtool - (2.4.6)
* Make - (4.2.1)
* Automake - (1.16.1)
* Autoconf - (2.69)
* Bison - (3.0.4)
* Flex - (2.6.4)

Librerías de Desarrollo


* GMP - (6.1.2)
* MPFR - (4.0.1)



Descarga

mpc-1.1.0.tar.gz

Parámetros adicionales para la versión de 32 bits

Establecer la variable de entorno adecuada para pkg-config en sistemas de 64 bits multiarquitectura
$ export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=' -L/usr/lib -L/usr/local/lib'

Establecer la variable de entorno de uso de compilador en modo de 32 bits, en sistemas de 64 bits multiarquitectura
$ export CC="gcc -m32"; export CXX="g++ -m32"

Establecer la variable de entorno de arquitectura de procesador requerida en sistemas de 64 bits multiarquitectura basados en el CLFS
$ export USE_ARCH=32

Parámetros adicionales para la versión de 64 bits

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64"

Extracción  Bloc de Notas Información general sobre el uso de los comandos

$ tar zxvf mpc-1.1.0.tar.gz
$ cd mpc-1.1.0

Configuración de la versión de 32 bits

$ mkdir build32; cd build32
$ ../configure --disable-dependency-tracking --prefix=/usr

Explicación de los comandos

--disable-dependency-tracking : Acelera el tiempo de compilación.
--prefix=/usr : Instala la librería en el directorio principal /usr.

Compilación

$ make

Parámetros de compilación opcionales

Instalación como root

$ su
# make install-strip
# ldconfig -v

Configuración de la versión de 64 bits

$ mkdir build64; cd build64
$ ../configure --disable-dependency-tracking --prefix=/usr --libdir=/usr/lib64

Explicación de los comandos

--disable-dependency-tracking : Acelera el tiempo de compilación.
--prefix=/usr : Instala la librería en el directorio principal /usr.
--libdir=/usr/lib64 : Instala la librería en /usr/lib64, en sistemas de 64 bits multiarquitectura.

Compilación

$ make

Parámetros de compilación opcionales

Instalación como root

$ su
# make install-strip
# ldconfig -v

Estadísticas de Compilación e Instalación de MPC

Estadísticas de Compilación e Instalación de MPC
CPU AMD Phenom(tm) II X4 965 Processor
MHz 3415.709
RAM 4096 MB
Sistema de archivos XFS
Versión de Glibc 2.27
Compilador GCC 7.3.0 + Ccache 3.4.2
Enlazador dinámico GNU gold (Binutils 2.30) 1.15
Parámetros de compilación -j4
Tiempo de compilación 39"
Archivos instalados 8
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 4
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 772 KB

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX

mpc-1.1.0-scripts.tar.gz

$ su
# tar zxvf mpc-1.1.0-scripts.tar.gz
# cd mpc-1.1.0-scripts
# ./Desinstalar_mpc-1.1.0

Copia de Seguridad como root

$ su
# tar zxvf mpc-1.1.0-scripts.tar.gz
# cd mpc-1.1.0-scripts
# ./Respaldar_mpc-1.1.0

Restaurar la Copia de Seguridad como root

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_mpc-1.1.0



ISL

Dependencia opcional para la compilación de GCC. Cuando actualicemos este paquete a una nueva versión, no hay que borrar nunca la versión anterior, hasta que no volvamos a recompilar GCC con la versión nueva instalada.

Instalación

Dependencias

Herramientas de Compilación  

Entre paréntesis la versión con la que se ha compilado ISL para la elaboración de este documento.

* GCC - (7.3.0)
* Gawk - (4.2.1)
* M4 - (1.4.18)
* Libtool - (2.4.6)
* Make - (4.2.1)
* Automake - (1.16.1)
* Autoconf - (2.69)
* Bison - (3.0.4)
* Flex - (2.6.4)

Librerías de Desarrollo

* GMP - (6.1.2)



Descarga

isl-0.18.tar.bz2

Optimizaciones

ISL utiliza sus propias optimizaciones con detección de CPU incluida, aunque en mi caso detecta athlon64 en lugar de amdfam10.

Parámetros adicionales para la versión de 32 bits

Establecer la variable de entorno adecuada para pkg-config en sistemas de 64 bits multiarquitectura
$ export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=' -L/usr/lib -L/usr/local/lib'

Establecer la variable de entorno de uso de compilador en modo de 32 bits, en sistemas de 64 bits multiarquitectura
$ export CC="gcc -m32"; export CXX="g++ -m32"

Establecer la variable de entorno de arquitectura de procesador requerida en sistemas de 64 bits multiarquitectura basados en el CLFS
$ export USE_ARCH=32

Parámetros adicionales para la versión de 64 bits

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64"

Extracción  Bloc de Notas Información general sobre el uso de los comandos

$ tar jxvf isl-0.18.tar.bz2
$ cd isl-0.18

Configuración de la versión de 32 bits

$ mkdir build32; cd build32
$ ../configure --disable-dependency-tracking --prefix=/usr

Explicación de los comandos

--disable-dependency-tracking : Acelera el tiempo de compilación.
--prefix=/usr : Instala la librería en el directorio principal /usr.

Compilación

$ make

Parámetros de compilación opcionales

Instalación como root

$ su
# make install-strip
# install -dm755 /usr/share/gdb/auto-load/usr/lib
# mv /usr/lib/libisl.so.15.3.0-gdb.py /usr/share/gdb/auto-load/usr/lib
# ldconfig -v

Configuración de la versión de 64 bits

$ mkdir build64; cd build64
$ ../configure --disable-dependency-tracking --prefix=/usr --libdir=/usr/lib64

Explicación de los comandos

--disable-dependency-tracking : Acelera el tiempo de compilación.
--prefix=/usr : Instala la librería en el directorio principal /usr.
--libdir=/usr/lib64 : Instala la librería en /usr/lib64, en sistemas de 64 bits multiarquitectura.

Compilación

$ make

Parámetros de compilación opcionales

Instalación como root

$ su
# make install-strip
# install -dm755 /usr/share/gdb/auto-load/usr/lib64
# mv /usr/lib64/libisl.so.15.3.0-gdb.py /usr/share/gdb/auto-load/usr/lib64

# ldconfig -v

Estadísticas de Compilación e Instalación de ISL

Estadísticas de Compilación e Instalación de ISL
CPU AMD Phenom(tm) II X4 965 Processor
MHz 3415.709
RAM 4096 MB
Sistema de archivos XFS
Versión del Kernel 4.16.2 SMP PREEMPT x86_64
Modo de frecuencia de la CPU ondemand
Versión de Glibc 2.27
Enlazador dinámico GNU gold (Binutils 2.30) 1.15
Compilador GCC 7.3.0 + Ccache 3.4.2
Parámetros de optimización automáticos -03 -march=athlon64
Parámetros de compilación -j4
Tiempo de compilación 1' 42"
Archivos instalados 79
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 4
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 11,5 MB

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX

isl-0.18-scripts.tar.gz

$ su
# tar zxvf isl-0.18-scripts.tar.gz
# cd isl-0.18-scripts
# ./Desinstalar_isl-0.18

Copia de Seguridad como root

$ su
# tar zxvf isl-0.18-scripts.tar.gz
# cd isl-0.18-scripts
# ./Respaldar_isl-0.18

Restaurar la Copia de Seguridad como root

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_isl-0.18



Enlaces


https://gmplib.org >> La web de GMP.

http://www.mpfr.org >> La web de MPFR.

http://www.multiprecision.org >> La web de MPC.

http://isl.gforge.inria.fr >> La web de ISL.

Instalar GCC desde cero >> El manual de instalación de GCC.


Foro Galería Blog


Actualizado el 14-04-2018

Instalar Dependencias para GCC

Instalar CMake desde ceroInstalar GCC desde cero