Cómo solucionar el error “error: nombre de objeto entra en conflicto en el archivo” al intentar instalar una versión más reciente de librsvg en aarch64.
Actualmente estoy ejecutando Ubuntu Server 20.04.3 con GUI instalado, en una máquina virtual que se ejecuta en un Mac con el último chip M1 Pro.
Me gustaría instalar el paquete ‘librsvg’ con la versión 2.52.5, y la versión actual de librsvg se muestra a continuación:
$ apt show librsvg2-dev
Package: librsvg2-dev
Version: 2.48.9-1ubuntu0.20.04.1
Priority: optional
Section: libdevel
Source: librsvg
Origin: Ubuntu
Descargué la fuente de la última versión desde este enlace link y hice lo siguiente:
$ ./configure
$ sudo make install
Sin embargo, hubo un error que indicaba conflictos de nombres de objeto:
make install-recursive
make[1]: Entrando en el directorio '/home/root/packages/librsvg-2.52.5'
Instalando en .
make[2]: Entrando en el directorio '/home/root/packages/librsvg-2.52.5'
CCLD librsvg-2.la
libtool: error: object name conflicts in archive: .libs/librsvg-2.lax/librsvg_c_api.a//home/root/packages/librsvg-2.52.5/./.libs/librsvg_c_api.a
make[2]: *** [Makefile:818: librsvg-2.la] Error 1
make[2]: Saliendo del directorio '/home/root/packages/librsvg-2.52.5'
make[1]: *** [Makefile:1078: install-recursive] Error 1
make[1]: Saliendo del directorio '/home/root/packages/librsvg-2.52.5'
make: *** [Makefile:1383: install] Error 2
Pensé que esto podría deberse al paquete librsvg previamente instalado, por lo que eliminé dicho paquete y perdí la GUI. Intenté ejecutar los comandos de dos líneas anteriores una vez más, pero ocurrió el mismo error.
A continuación, tengo algunas preguntas:
- ¿Me podrían decir cuál es la manera intuitiva de resolver un problema como este?
- ¿Qué es lo que causó este conflicto?
- ¿Cómo se puede resolver este problema de conflicto?
¡Gracias de antemano!
davy.ai
Solución al error de instalación del paquete librsvg
Forma intuitiva de solucionar el problema
La forma intuitiva de resolver el error de conflicto al instalar el paquete librsvg es investigar la causa del problema y encontrar una solución adecuada. En este caso, el error de conflicto indica un conflicto de nombres de objetos en el archivo, pero el mensaje de error no proporciona más detalles sobre la fuente específica del conflicto. Por lo tanto, se requiere una investigación cuidadosa sobre la naturaleza del conflicto para encontrar una solución apropiada.
Causa del conflicto
El error de conflicto ocurrió durante la instalación del paquete librsvg debido a que el paquete librsvg previamente instalado en Ubuntu Server 20.04.3 con GUI instalado creó un conflicto de nombres de objetos durante la instalación de la última versión (v2.52.5) desde la fuente. El conflicto ocurrió debido a la diferencia en la versión del paquete librsvg, lo que puede haber resultado en un choque entre los nombres de objetos de los paquetes.
Solución al problema de conflicto
Para resolver el problema de conflicto, se recomienda seguir estos pasos:
sudo apt-get remove --auto-remove librsvg2-dev
sudo apt install build-essential
tar zxvf librsvg-2.52.5.tar.gz
pkg-config --modversion librsvg-2.0
Si la instalación se realizó correctamente, el sistema debería mostrar el número de versión instalada (2.52.5) del paquete librsvg.
Esta solución debería resolver el problema de conflicto y permitir la instalación de la última versión del paquete librsvg en Ubuntu Server 20.04.3 con GUI instalado, ejecutándose en una máquina virtual con el último chip M1 Pro.