/usr/local/lib contiene bibliotecas cuyos informes de Aptitude no están instalados

/usr/local/lib contiene bibliotecas cuyos informes de Aptitude no están instalados

Estoy intentando crear un proyecto que utilice una biblioteca específica (SDL) en Ubuntu. El proyecto utiliza una versión antigua de la biblioteca (libSDL-1.2). Cometí un error al instalar la biblioteca más nueva, pero desde entonces la eliminé. Sin embargo, todavía puedo encontrar rastros de él en varios directorios de bibliotecas de Ubuntu.

ingrese la descripción de la imagen aquí

En algunos directorios hay una versión adecuada (/usr/lib/i386-linux-gnu/) mientras que en otros existe la versión más nueva e incorrecta (/usr/local/lib/). ¿Por qué tengo estas inconsistencias y cómo elimino completamente libSDL2?

Respuesta1

/usr/local/contiene archivos que no son instalados por el administrador de paquetes, ya sea debido a una instalación manual o archivos adicionales descargados, por ejemplo, por un script de instalación de un paquete (aunque en su mayoría van a /opt/).

Por lo tanto, APT desconoce los archivos que se encuentran debajo de ese directorio. Si instaló las bibliotecas manualmente, por ejemplo, extrayendo un archivo allí, también debería poder eliminarlas de la misma manera.
Sin embargo, preste atención si no los instaló manualmente. En este caso por favor díganos cómo los instaló para recibir más y mejor ayuda.

Otra posibilidad es que las bibliotecas puedan estar allí porque pueden haber sido descargadas por otra cosa y no por la instalación de libsdl2 usando APT. Por ejemplo, el motor fuente de Valve utiliza SDL2. Cuando instalas un juego basado en Source, por ejemplo Half Life o Portal, Steam descargará sus propias bibliotecas (aunque las mantiene en el directorio de inicio del usuario). Puede que provenga de algo similar. Si no tienes idea de dónde vienen, déjalos en paz. No perturbarán su desarrollo, si se hacen correctamente (ver más abajo) y la eliminación puede dañar alguna otra aplicación.

Si desea continuar usando SDL1.2, debería poder hacerlo sin eliminar las otras bibliotecas: dígale al compilador/enlazador que use las bibliotecas más antiguas. Las bibliotecas compartidas SDL2 siempre se llaman libsdl2-....so, así que simplemente vincúlelas con las bibliotecas correctas sin ellas sdl2.

información relacionada