/usr/local/lib에는 Aptitude 보고서가 설치되지 않은 라이브러리가 포함되어 있습니다.

/usr/local/lib에는 Aptitude 보고서가 설치되지 않은 라이브러리가 포함되어 있습니다.

Ubuntu에서 특정 라이브러리(SDL)를 사용하는 프로젝트를 빌드하려고 합니다. 프로젝트는 이전 버전의 라이브러리(libSDL-1.2)를 사용합니다. 최신 라이브러리를 설치하는 실수를 저질렀지만 이후 제거했습니다. 그러나 여러 Ubuntu 라이브러리 디렉터리에서 여전히 그 흔적을 찾을 수 있습니다.

여기에 이미지 설명을 입력하세요

일부 디렉토리에는 적절한 버전이 있습니다(/usr/lib/i386-linux-gnu/) 다른 버전에는 최신의 잘못된 버전(/usr/로컬/lib/). 이러한 불일치가 발생하는 이유는 무엇이며 libSDL2를 완전히 제거하려면 어떻게 해야 합니까?

답변1

/usr/local/수동 설치 또는 패키지의 설치 프로그램 스크립트 등으로 다운로드한 추가 파일로 인해 패키지 관리자가 설치하지 않은 파일이 포함되어 있습니다(대부분 으로 이동하지만 /opt/).

따라서 APT는 해당 디렉터리 아래의 파일을 인식하지 못합니다. 예를 들어 아카이브를 추출하여 라이브러리를 수동으로 설치한 경우에도 동일한 방법으로 제거할 수 있습니다.
그러나 수동으로 설치하지 않은 경우 주의하십시오. 이 경우 더 나은 도움을 받으려면 어떻게 설치했는지 알려주십시오.

또 다른 가능성은 APT를 사용하여 libsdl2를 설치하는 것이 아니라 다른 것에 의해 다운로드되었을 수 있기 때문에 라이브러리가 있을 수 있다는 것입니다. 예를 들어 Valve의 소스 엔진은 SDL2를 사용합니다. Half Life나 Portal과 같은 소스 기반 게임을 설치하면 Steam은 자체 라이브러리를 다운로드합니다(단, 사용자 홈 디렉터리에 보관함). 비슷한 것에서 나올 수도 있습니다. 그것이 어디서 왔는지 모른다면 그대로 두십시오. 올바르게 수행되면(아래 참조) 개발을 방해하지 않으며 삭제하면 다른 응용 프로그램이 중단될 수 있습니다.

SDL1.2를 계속 사용하려면 다른 라이브러리를 제거하지 않고도 그렇게 할 수 있습니다. 컴파일러/링커에게 이전 라이브러리를 사용하도록 지시하세요. SDL2 공유 라이브러리는 항상 호출되므로 가 libsdl2-....so없는 올바른 라이브러리에 간단히 연결하세요 .sdl2

관련 정보