내 라우터(맞춤 펌웨어가 포함된 asus-rt66u)를 사용하고 있습니다(토마토)를 미디어 서버로 사용합니다. 필요한 도구를 얻기 위해 나는 사용해 왔습니다.optware 패키지 관리자사용할 수 있는 크로스 컴파일된 응용 프로그램이 많이 있습니다. 이제 나에겐 필요해MKV 도구도구는 안타깝게도 그렇지 않습니다.포장 목록에. 이 라우터는 mipsel 아키텍처를 사용합니다.
mkvtoolnix
라우터에서 직접 빌드 해야 합니까 , 아니면 이와 같이 미리 컴파일/교차 컴파일된 패키지를 사용할 수 있습니까?하나(데비안 패키지)?
직접 컴파일해야 한다면 어떻게 해야 합니까?
답변1
미리 컴파일된 바이너리(예: Debian의 mipsel)만 가져올 때 발생할 수 있는 한 가지 문제는 바이너리에 필요한 라이브러리가 시스템에서 사용 가능한 라이브러리와 일치하지 않는다는 것입니다.
특히 데비안에서는 가능할 때마다 모든 것을 동적으로 연결하려고 합니다. 이는 라이브러리 버전이 중요하다는 것을 의미합니다(더 구체적으로, 바이너리가 작동하려면 라이브러리 SONAME이 동일해야 합니다).
시스템과 해당 버전에서 사용 가능한 라이브러리를 식별하고 mkvtoolnix 버전이 데비안 바이너리 검색에 가까운 것을 사용하는지 확인할 수 있습니다.스냅샷 아카이브.
성공하지 못하면 mkvtoolnix를 직접 크로스 컴파일해야 할 수도 있습니다. 제가 선호하는 솔루션은 다음을 사용하는 것입니다.qemu의 사용자 모드 시뮬레이션을 사용하여 debootstrap 수행"반기본" mipsel 환경을 만듭니다.
그런 다음 일반적인 방법으로 프로그램 컴파일을 진행할 수 있습니다(예를 들어, 원하는 패키지를 얻고 사용하는 데비안을 사용하는 경우 인생이 더 쉬워질 것입니다) debuild
.
그리고 라이브러리 문제가 발생하지 않도록 100% 확신하려면 mkvtoolnix 바이너리를 정적으로 링크하여 가능한 한 자체 포함되도록 만들 수 있습니다.