타사 컴파일 바이너리에 대한 모든 종속성

타사 컴파일 바이너리에 대한 모든 종속성

제3자가 컴파일한 바이너리가 있는데 여기에 필요한 모든 종속성을 알아야 합니다. 모든 것이 표시되는지 잘 모르겠습니다 ldd. 바이너리가 GStreamer와 일부 코덱 패키지를 사용한다고 확신하지만 lddGStreamer만 표시되고 코덱 패키지는 표시되지 않습니다...

이 작업을 올바르게 수행하는 방법에 대한 아이디어가 있습니까?

답변1

라이브러리는 특정 환경, 명령줄 인수, 구성 옵션 및 심지어 달의 위상에 따라 런타임에 로드될 수 있습니다. 라이브러리 자체도 다른 라이브러리에 의존할 수 있습니다. 따라서 바이너리가 내부에서 무엇을 하는지 알지 못한다면 실제로 필요한 것이 무엇인지 판단하는 것은 불가능해 보입니다.

답변2

ldd좋은 시작이다. 그런 다음 바이너리를 실행 strace -fo /tmp/strace.log하고 애플리케이션이 무엇을 찾으려고 하는지 확인할 수 있습니다.

무엇 으로 시작 되나요 grep?ENOENT아니요발견하다.

또한 응용 프로그램과 함께 제공되는 설명서와 실행 로그(사용 가능한 경우)도 볼 수 있습니다.

답변3

ldd만 표시링크종속성, 즉 프로그램을 성공적으로 실행하는 데 실제로 필요한 것이 무엇인지 표시하지 않고 프로그램을 실행하는 데 필요한 것만 표시합니다.

패키지 관리자를 통해 종속성 해결을 수행해야 합니다.

관련 정보