我正在使用我的路由器(带有定制固件的 asus-rt66u(番茄)作为媒体服务器。为了获得我需要的工具,我一直在使用optware 包管理器其中有一堆可用的交叉编译应用程序。现在我需要MKV工具工具,不幸的是不是在包装清单中。该路由器采用 mipsel 架构。
我是否需要 mkvtoolnix
在路由器上自己构建,或者是否可以使用像这样的预编译/交叉编译的包一(Debian 软件包)?
如果我需要自己编译,我该如何进行?
答案1
仅获取预编译的二进制文件(例如,来自 Debian 的 mipsel)很可能出现的一个问题是二进制文件所需的库与系统可用的库不匹配。
特别是,在 Debian 中,我们尽可能尝试将所有内容动态链接,这意味着库版本很重要(更具体地说,库 SONAME 应该相同,以便二进制文件能够工作)。
您可以尝试确定系统中可用的库及其版本,看看是否有任何版本的 mkvtoolnix 使用与 Debian 的二进制搜索相近的东西快照存档。
如果您没有成功,那么您可能需要自己交叉编译 mkvtoolnix,我的首选解决方案是使用使用 qemu 的用户态模拟进行 debootstrap创建您的“半原生”mipsel 环境。
然后,您可以继续以常规方式编译程序(如果您使用尝试获取您想要和使用的软件包的 Debian 源代码,这将使您的生活更轻松,例如,debuild
)。
而且,为了 100% 确定您不会遇到库问题,您可以静态链接您的 mkvtoolnix 二进制文件,使其尽可能独立。