Copyright
Copyright © José
Luis Lara Carrascal 2013-2018
Sumario
Introducción
Instalación
Desinstalación
Introducción
Este manual se incluye en la web como complementario del manual del gestor de películas, vMovieDB, y de cualquier otro manual de instalación de aplicaciones, que requiera de las dependencias de las librerías de GNOME 2 para su ejecución. En el manual se incluye la instalación
de paquetes que forman parte de GNOME 3, pero que son compatibles y requeridos para la compilación de las librerías de GNOME 2.
Instalación
Dependencias
Herramientas de Compilación
Entre paréntesis la
versión con la que se han compilado las Librerías de GNOME 2
para la elaboración de este documento.
* GCC - (8.1.0)
* Gawk - (4.2.1)
* M4 - (1.4.18)
* Libtool - (2.4.6)
* Make - (4.2.1)
* Intltool - (0.51.0)
* Automake - (1.16.1)
* Gettext - (0.19.8.1)
* Autoconf - (2.69)
* Pkg-config - (0.29.2)
* Bison - (3.0.5)
* Flex - (2.6.4)
* GTK-Doc - (1.28)
Librerías
de Desarrollo
* Xorg - (7.7 / xorg-server 1.20.0)
* Avahi - (0.7)
* D-Bus - (1.12.8)
* D-Bus-Glib - (0.110)
* Gamin - (0.1.10)
* Gdk-Pixbuf - (2.36.12)
* GLib - (2.56.1)
* GObject Introspection - (1.56.1)
* GTK+ - (2.24.32)
* Hal - (0.5.14)
* Kerberos5 - (1.16)
* Libcanberra - (0.30)
* Libgcrypt - (1.8.3)
* Libglade - (2.6.4)
* Libxml2 - (2.9.8)
* OpenLDAP - (2.4.46)
* OpenSSL - (1.0.2o)
* Polkit - (0.113-git)
* Popt - (1.16)
Módulos de Perl
* XML::Parser - (2.44)
Descarga
01. libIDL-0.8.14.tar.bz2
02. ORBit2-2.14.19.tar.bz2
03. libbonobo-2.32.1.tar.bz2
04. gnome-mime-data-2.18.0.tar.bz2
05. GConf-3.2.6.tar.xz
06. gnome-vfs-2.24.4.tar.bz2
07. libgnome-2.32.1.tar.bz2 | 05_glib-2.54-ftbfs.patch
08. libart_lgpl-2.3.21.tar.bz2
09. libgnomecanvas-2.30.3.tar.bz2
10. libbonoboui-2.24.5.tar.bz2
11. libgnome-keyring-3.12.0.tar.xz
12. libgnomeui-2.24.5.tar.bz2 | 03_glib-2.54-ftbfs.patch
Optimizaciones
$ export
{C,CXX}FLAGS='-O3 -march=amdfam10 -mtune=amdfam10'
|
Donde pone amdfam10
se indica el procesador respectivo de cada sistema
seleccionándolo de la siguiente tabla: |
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado.
* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.
* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
|
Valores |
CPU |
Genéricos |
generic |
Produce un código
binario optimizado para la mayor parte de procesadores existentes.
Utilizar este valor si no sabemos el nombre del procesador que
tenemos en nuestro equipo. Este valor sólo es aplicable en
la opción '-mtune=', si utilizamos GCC. Esta opción está disponible a
partir de GCC 4.2. |
native |
Produce un código
binario optimizado para el procesador que tengamos en nuestro sistema,
siendo éste detectado utilizando la instrucción cpuid.
Procesadores antiguos pueden no ser detectados utilizando este valor.
Esta opción está disponible a
partir de GCC 4.2. |
x86-64 |
Procesador genérico con extensiones 64-bit. Esta opción está disponible a
partir de GCC 8. |
Intel |
atom |
Intel Atom
con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y
extensiones 64-bit. Esta opción está disponible
desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición bonnell. |
bonnell |
Intel Bonnell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
broadwell |
Intel Broadwell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT,
AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2,
F16C, RDSEED, ADCX, PREFETCHW y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
cannonlake |
Intel Cannonlake Server con soporte de instrucciones MOVBE, MMX, SSE,
SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL,
FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW,
CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
AVX512CD, AVX512VBMI, AVX512IFMA, SHA, UMIP y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8. |
core2 |
Intel Core2
con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y
extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.3. |
core-avx2 |
Intel Core (Haswell). Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición haswell. |
core-avx-i |
Intel Core (ivyBridge)
con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND, F16C y
extensiones 64-bit. Esta opción está disponible
desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición ivybridge. |
corei7 |
Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1 y SSE4.2 y extensiones 64-bit. Soporta también los procesadores Intel
Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición nehalem. |
corei7-avx |
Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, AVX, AES y PCLMUL y
extensiones 64-bit. Soporta también los
procesadores Intel Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición sandybridge. |
haswell |
Intel Haswell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT,
AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2,
F16C y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
i386 |
Intel i386.
|
i486 |
Intel i486. |
i586, pentium |
Intel Pentium sin soporte de instrucciones MMX. |
i686 |
Produce un código binario optimizado para la mayor parte de
procesadores compatibles con la serie 80686 de Intel. Todos los actuales lo son. |
icelake-client |
Intel Icelake Client con soporte de instrucciones MOVBE, MMX, SSE,
SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL,
FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW,
CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI,
AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ,
VAES y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8. |
icelake-server |
Intel Icelake Server con soporte de instrucciones MOVBE, MMX, SSE,
SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL,
FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW,
CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI,
AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ,
VAES, PCONFIG, WBNOINVD y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8. |
intel |
Intel Haswell y Silvermont. Este valor sólo es aplicable en
la opción '-mtune='. Esta opción está disponible a partir
de GCC 4.9. |
ivybridge |
Intel Ivy Bridge con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX,
AES, PCLMUL, FSGSBASE, RDRND, F16C y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
knl |
Intel Knights Landing con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2,
AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX,
PREFETCHW, AVX512F, AVX512PF, AVX512ER y extensiones 64-bit. Esta opción está disponible a partir
de GCC 5. |
knm |
Intel Knights Mill con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, AVX512F,
AVX512PF, AVX512ER, AVX512CD, AVX5124VNNIW, AVX5124FMAPS,
AVX512VPOPCNTDQ y extensiones 64-bit. Esta opción está disponible a
partir de GCC 8. |
lakemont |
Intel Quark Lakemont MCU, basado en el procesador Intel Pentium. Esta opción está disponible a partir
de GCC 6. |
nehalem |
Intel Nehalem con soporte de instrucciones MMX,
SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT y extensiones
64-bit. Esta opción está disponible a partir
de GCC 4.9. |
nocona |
Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2, SSE3 y extensiones 64-bit. |
pentiumpro |
Intel PentiumPro. |
pentium2 |
Intel Pentium2 basado en PentiumPro con soporte de instrucciones MMX. |
pentium3, pentium3m |
Intel Pentium3 basado en PentiumPro con soporte de instrucciones MMX y SSE. |
pentium4, pentium4m |
Intel Pentium4 con soporte de instrucciones MMX, SSE y SSE2. |
pentium-m |
Versión de bajo
consumo de Intel Pentium3 con soporte de instrucciones MMX, SSE y SSE2.
Utilizado por los portátiles Centrino. |
pentium-mmx |
Intel PentiumMMX basado en Pentium con soporte de instrucciones MMX. |
prescott |
Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2 y SSE3. |
sandybridge |
Intel Sandy Bridge con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX,
AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
silvermont |
Intel Silvermont con soporte de instrucciones
MOVBE, MMX, SSE, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
SSE4.2, POPCNT, AES, PCLMU, RDRND y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
skylake |
Intel Skylake con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT,
XSAVEC, XSAVES y extensiones 64-bit. Esta opción está disponible a partir
de GCC 6. |
skylake-avx512 |
Intel Skylake Server
con soporte de instrucciones MOVBE, MMX, SSE, SSE2,
SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE,
RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT,
XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD y
extensiones 64-bit. Esta opción está disponible a partir
de GCC 6. |
westmere |
Intel Westmere con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES,
PCLMUL y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9. |
AMD |
amdfam10, barcelona |
Procesadores basados en
AMD Family 10h core con soporte de instrucciones x86-64 (MMX, SSE,
SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow!, ABM y extensiones
64-bit). Esta opción está disponible a partir de GCC 4.3. |
athlon, athlon-tbird |
AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y SSE prefetch. |
athlon4, athlon-xp, athlon-mp |
Versiones mejoradas de AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y full SSE. |
bdver1 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.7. |
bdver2 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (BMI, TBM, F16C, FMA, LWP, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.7. |
bdver3 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.8. |
bdver4 |
Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64
(BMI, BMI2, TBM, F16C, FMA, FMA4, FSGSBASE, AVX, AVX2, XOP,
LWP, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A,
SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está
disponible a partir de GCC 4.9. |
btver1 |
Procesadores basados en
AMD Family 14h core con soporte de instrucciones x86-64 (MMX, SSE,
SSE2, SSE3, SSE4A, CX16, ABM y extensiones 64-bit). Esta opción está disponible a partir
de GCC 4.6. |
btver2 |
Procesadores basados en
AMD Family 16h core con soporte de instrucciones x86-64 (MOVBE, F16C,
BMI, AVX, PCL_MUL, AES, SSE4.2, SSE4.1, CX16, ABM, SSE4A, SSSE3, SSE3,
SSE2, SSE, MMX y extensiones 64-bit). Esta opción
está disponible a partir
de GCC 4.8. |
geode |
AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3. |
k6 |
AMD K6 con soporte de instrucciones MMX. |
k6-2, k6-3 |
Versiones mejoradas de AMD K6 con soporte de instrucciones MMX y 3DNow!. |
k8, opteron, athlon64, athlon-fx |
Procesadores basados en
AMD K8 core con soporte de instrucciones x86-64 (MMX, SSE, SSE2,
3DNow!, enhanced 3DNow! y extensiones 64-bit). |
k8-sse3, opteron-sse3, athlon64-sse3 |
Versiones mejoradas de
AMD K8 core con soporte de instrucciones SSE3. Esta opción
está disponible a partir de GCC 4.3. |
znver1 |
Procesadores basados en
AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2,
F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES,
PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1,
SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT y extensiones
64-bit). Esta opción está disponible a partir de GCC 6. |
VIA |
c3 |
VIA C3 con soporte de instrucciones MMX y 3DNow! (no se implementa planificación para este chip). |
c3-2 |
VIA C3-2 (Nehemiah/C5XL) con soporte de instrucciones MMX y SSE (no se implementa planificación para este chip). |
c7 |
VIA C7 (Esther) con
soporte de instrucciones MMX, SSE, SSE2 y SSE (no se implementa
planificación para este chip). Esta opción
está disponible a partir de GCC 7. |
eden-x2 |
VIA Eden X2 con soporte de
instrucciones x86-64, MMX, SSE, SSE2 y SSE3 (no se implementa
planificación para este chip). Esta opción
está disponible a partir de GCC 7. |
eden-x4 |
VIA Eden X4 con soporte de
instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX y AVX2
(no se implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
esther |
VIA Eden Esther con
soporte de instrucciones MMX, SSE, SSE2 y SSE3 (no se implementa
planificación para este chip). Esta opción
está disponible a partir de GCC 7. |
nano |
VIA Nano genérico
con soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y SSSE3 (no
se implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
nano-1000 |
VIA Nano 1xxx con
soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y SSSE3 (no se
implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
nano-2000 |
VIA Nano 2xxx con
soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y SSSE3 (no se
implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
nano-3000 |
VIA Nano 3xxx con
soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3, SSSE3 y SSE4.1
(no se implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
nano-x2 |
VIA Nano Dual
Core con soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y
SSSE3 (no se implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
nano-x4 |
VIA Nano Quad
Core con soporte de instrucciones x86-64, MMX, SSE, SSE2, SSE3 y
SSSE3 (no se implementa planificación para este chip). Esta
opción está disponible a partir de GCC 7. |
IDT |
winchip2 |
IDT Winchip2, que equivale a un i486 con soporte de instrucciones MMX y 3DNow!. |
winchip-c6 |
IDT Winchip C6, que equivale a un i486 con soporte de instrucciones MMX. |
Optimizaciones adicionales
Optimizaciones adicionales |
Graphite
|
$ export {C,CXX}FLAGS+=' -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block'
|
LTO |
$ export AR=gcc-ar RANLIB=gcc-ranlib NM=gcc-nm
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=2'
|
Donde pone 2
se indica el número de núcleos de nuestro procesador, si
sólo tiene uno, utilizar el parámetro -flto |
Parámetros adicionales
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" |
01) libIDL-0.8.14
Terminal
de Usuario
$ tar jxvf libIDL-0.8.14.tar.bz2
$ cd libIDL-0.8.14
$ ./configure --disable-dependency-tracking --prefix=/usr \
--disable-static --libdir=/usr/lib64
$ make
$ cd .. |
Terminal
de Root
# cd
libIDL-0.8.14
# make install-strip
# ldconfig -v
# cd .. |
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.
--disable-static
: Desactiva la compilación de las librerías
estáticas, al no ser necesarias para la ejecución de los
programas.
--libdir=/usr/lib64 : Instala la librería en /usr/lib64, en sistemas de 64 bits multiarquitectura.
02) ORBit2-2.14.19
Terminal
de Usuario
$ tar jxvf ORBit2-2.14.19.tar.bz2
$ cd ORBit2-2.14.19
$ find . -name 'Makefile.in' | xargs sed -i 's:-DG_DISABLE_DEPRECATED::g'
$ ./configure --disable-dependency-tracking --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --disable-static --libdir=/usr/lib64
$ make
$ cd .. |
Terminal
de Root
#
cd ORBit2-2.14.19
# make install-strip
# ldconfig -v
# cd .. |
Explicación de los
comandos
find .
-name 'Makefile.in' | xargs sed -i 's:-DG_DISABLE_DEPRECATED::g'
: Soluciona errores de compilación con GLib 2.36 y superiores,
como el que se muestra debajo de estas líneas:
linc.c:
En la función 'link_init':
linc.c:199:2: error: declaración implícita de la
función 'g_thread_supported'
[-Werror=implicit-function-declaration]
if (thread_safe && !g_thread_supported ())
^
|
03) libbonobo-2.32.1
Terminal
de Usuario
$ tar jxvf libbonobo-2.32.1.tar.bz2
$ cd libbonobo-2.32.1
$ find . -name 'Makefile.in' | xargs sed -i 's:-DG_DISABLE_DEPRECATED::g'
$ ./configure --disable-dependency-tracking --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --disable-static --libdir=/usr/lib64
$ make
$ cd .. |
Terminal
de Root
# cd
libbonobo-2.32.1
# make install-strip
# ldconfig -v
# cd .. |
Explicación de los
comandos
find .
-name 'Makefile.in' | xargs sed -i 's:-DG_DISABLE_DEPRECATED::g'
: Soluciona errores de compilación con GLib 2.36 y superiores,
como el que se muestra debajo de estas líneas:
In
file included from client.c:33:0:
../bonobo-activation/bonobo-activation-private.h:34:1: error: nombre de
tipo 'GStaticRecMutex' desconocido
extern GStaticRecMutex _bonobo_activation_guard;
^
|
04) gnome-mime-data-2.18.0
Terminal
de Usuario
$ tar jxvf gnome-mime-data-2.18.0.tar.bz2
$ cd gnome-mime-data-2.18.0
$ ./configure --disable-dependency-tracking --prefix=/usr \
--sysconfdir=/etc --localstatedir=/var
$ make
$ cd .. |
Terminal
de Root
# cd gnome-mime-data-2.18.0
# make install
# cd .. |
05) GConf-3.2.6
Terminal
de Usuario
$ tar Jxvf
GConf-3.2.6.tar.xz
$ cd GConf-3.2.6
$ ./configure --disable-dependency-tracking --prefix=/usr \
--sysconfdir=/etc --localstatedir=/var --with-gtk=2.0 \
--disable-static --libdir=/usr/lib64
$ make
$ cd .. |
Terminal
de Root
# cd
GConf-3.2.6
# make install-strip
# ldconfig -v
# cd .. |
06) gnome-vfs-2.24.4
Terminal
de Usuario
$ tar jxvf gnome-vfs-2.24.4.tar.bz2
$ cd gnome-vfs-2.24.4
$ find . -name 'Makefile.in' | xargs sed -i 's:-DG_DISABLE_DEPRECATED::g'
$ ./configure --disable-dependency-tracking --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --disable-static --libdir=/usr/lib64
$ make
$ cd .. |
Terminal
de Root
# cd gnome-vfs-2.24.4
# make install-strip
# ldconfig -v
# cd .. |
Explicación de los
comandos
find .
-name 'Makefile.in' | xargs sed -i 's:-DG_DISABLE_DEPRECATED::g'
: Soluciona errores de compilación con GLib 2.36 y superiores,
como el que se muestra debajo de estas líneas:
gnome-vfs-async-job-map.c:30:1:
error: nombre de tipo 'GStaticRecMutex' desconocido
static GStaticRecMutex async_job_map_lock =
G_STATIC_REC_MUTEX_INIT;
^
gnome-vfs-async-job-map.c:30:45: error: 'G_STATIC_REC_MUTEX_INIT' no se
declaró aquí (no en una función)
|
07) libgnome-2.32.1
Terminal
de Usuario
$ tar jxvf libgnome-2.32.1.tar.bz2
$ cd libgnome-2.32.1
$ patch -Np1 -i ../05_glib-2.54-ftbfs.patch
$ find . -name 'Makefile.in' | xargs sed -i 's:-DG_DISABLE_DEPRECATED::g'
$ ./configure --disable-dependency-tracking --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --disable-static --libdir=/usr/lib64
$ make |
Terminal
de Root
# cd libgnome-2.32.1
# make install-strip
# ldconfig -v
# cd .. |
Explicación de los
comandos
patch -Np1 -i ../05_glib-2.54-ftbfs.patch : Aplicamos este parche de la distribución Debian para poder compilar el paquete con GLib 2.54 y superiores. El mensaje de error mostrado por el compilador lo podemos ver en este enlace.
find .
-name 'Makefile.in' | xargs sed -i 's:-DG_DISABLE_DEPRECATED::g'
: Soluciona errores de compilación con GLib 2.36 y superiores,
como el que se muestra debajo de estas líneas:
gnome-program.c:
En la función 'gnome_program_init':
gnome-program.c:1882:10: error: 'g_threads_got_initialized' no se
declaró aquí (primer uso en esta
función)
if (!g_threads_got_initialized)
^
|
08) libart_lgpl-2.3.21
Terminal
de Usuario
$ tar jxvf libart_lgpl-2.3.21.tar.bz2
$ cd libart_lgpl-2.3.21
$ ./configure --disable-dependency-tracking --prefix=/usr \
--disable-static --libdir=/usr/lib64
$ make
$ cd ..
|
Terminal
de Root
# cd libart_lgpl-2.3.21
# make install-strip
# ldconfig -v
# cd .. |
09) libgnomecanvas-2.30.3
Terminal
de Usuario
$ tar jxvf libgnomecanvas-2.30.3.tar.bz2
$ cd libgnomecanvas-2.30.3
$ ./configure --disable-dependency-tracking --prefix=/usr \
--sysconfdir=/etc --localstatedir=/var \
--enable-glade --disable-static --libdir=/usr/lib64
$ make
$ cd ..
|
Terminal
de Root
# cd
libgnomecanvas-2.30.3
# make install-strip
# ldconfig -v
# cd .. |
10) libbonoboui-2.24.5
Terminal
de Usuario
$ tar jxvf
libbonoboui-2.24.5.tar.bz2
$ cd libbonoboui-2.24.5
$ ./configure --disable-dependency-tracking --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --disable-static --libdir=/usr/lib64
$ make
$ cd .. |
Terminal
de Root
# cd
libbonoboui-2.24.5
# make install-strip
# ldconfig -v
# cd .. |
11) libgnome-keyring-3.12.0
Terminal
de Usuario
$ tar Jxvf libgnome-keyring-3.12.0.tar.xz
$ cd libgnome-keyring-3.12.0
$ ./configure --disable-dependency-tracking --prefix=/usr \
--sysconfdir=/etc --localstatedir=/var --enable-vala=no --libdir=/usr/lib64
$ make
$ cd .. |
Terminal
de Root
# cd
libgnome-keyring-3.12.0
# make install-strip
# ldconfig -v
# cd .. |
12) libgnomeui-2.24.5
Terminal
de Usuario
$ tar jxvf libgnomeui-2.24.5.tar.bz2
$ cd libgnomeui-2.24.5
$ patch -Np1 -i ../03_glib-2.54-ftbfs.patch
$ ./configure --disable-dependency-tracking --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --disable-static --libdir=/usr/lib64
$ make
|
Terminal
de Root
# cd libgnomeui-2.24.5
# make install-strip
# ldconfig -v
|
Explicación de los
comandos
patch -Np1 -i ../03_glib-2.54-ftbfs.patch : Aplicamos este parche de la distribución Debian para poder compilar el paquete con GLib 2.54 y superiores. El mensaje de error mostrado por el compilador lo podemos ver en este enlace.
Borrar las locales adicionales instaladas con la utilidad BleachBit
# bleachbit -c system.localizations
|
Estadísticas de Compilación e Instalación de las Librerías de GNOME 2
Estadísticas de Compilación e Instalación de las Librerías de GNOME 2 |
CPU |
AMD Phenom(tm) II X4 965 Processor |
MHz |
3415.709 |
RAM |
4096 MB |
Sistema de archivos |
XFS |
Versión del Kernel |
4.16.16-ck1 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 8.1.0 + Ccache 3.4.2 |
Parámetros de optimización |
-03 -march=amdfam10
-mtune=amdfam10 -floop-interchange -ftree-loop-distribution
-floop-strip-mine -floop-block -fuse-linker-plugin -flto=4 |
Parámetros de compilación |
-j4 |
Tiempo de compilación |
4' 08" |
Archivos instalados |
939 |
|
Enlaces simbólicos creados |
26 |
|
Ocupación de espacio en disco |
27,2 MB |
Desinstalación
Desinstalación
como root
1)
MODO TRADICIONAL
En los directorios de compilación de todos los paquetes ejecutamos el siguiente comando:
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 los paquetes 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.
El orden de desinstalación siguiendo el MODO MANUALINUX es inverso al orden de instalación.
01. libgnomeui-2.24.5-scripts.tar.gz
02. libgnome-keyring-3.12.0-scripts.tar.gz
03. libbonoboui-2.24.5-scripts.tar.gz
04. libgnomecanvas-2.30.3-scripts.tar.gz
05. libart_lgpl-2.3.21-scripts.tar.gz
06. libgnome-2.32.1-scripts.tar.gz
07. gnome-vfs-2.24.4-scripts.tar.gz
08. GConf-3.2.6-scripts.tar.gz
09. gnome-mime-data-2.18.0-scripts.tar.gz
10. libbonobo-2.32.1-scripts.tar.gz
11. ORBit2-2.14.19-scripts.tar.gz
12. libIDL-0.8.14-scripts.tar.gz
$ su
# tar zxvf libgnomeui-2.24.5-scripts.tar.gz
# cd libgnomeui-2.24.5-scripts
# ./Desinstalar_libgnomeui-2.24.5 |
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 libgnomeui-2.24.5-scripts.tar.gz
# cd libgnomeui-2.24.5-scripts
# ./Respaldar_libgnomeui-2.24.5 |
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_libgnomeui-2.24.5
|
|