I am using my router (asus-rt66u with customized firmware (tomato) as a media server. To get the tools I need, I have been using the optware package manager which has has bunch of cross-compiled applications available. Now I need the mkvtoolnix tool, which is unfortunately not in the package list. The router is using the mipsel architecture.

Do I need to build mkvtoolnix on my own on the router or is it possible to use a pre/cross-compiled package like this one (Debian package)?

If I need to compile on my own, how do I proceed with that?


A problem that is quite likely to occur with just grabbing a precompiled binary (e.g., from Debian's mipsel) is the mismatch of needed libraries needed by the binary and the libraries that your system has available.

In particular, in Debian, we try as much to have everything dynamically linked, which means that the library versions are important (to be more specific, the libraries SONAME should be the same, for the binary to work).

You can try to determine which libraries are available in your system and their version an see if there is any version of mkvtoolnix that uses something close by a sort of binary search with Debian's snapshot archive.

If you don't succeed in that, then you may want to cross-compile mkvtoolnix yourself and my preferred solution to that would be to use debootstrap with qemu's userland emulation to create your "semi-native" mipsel environment.

Then, you can proceed to compile the programs in a regular way (it will make your life easier if you use try to grab Debian's source for the packages that you want and use, for example, debuild).

And, to be 100% sure that you won't have problems with libraries, you can statically link your mkvtoolnix binary, to make it as self contained as possible.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.