1 前言
由于需要往arm主机上移植一个TTS工具ekho,之前使用是交叉编译方案(ekho交叉编译全过程_交叉编译portaudio-优快云博客),但是这个方案其实是挺麻烦的并且也踩了很多坑,因为所有依赖的库都需要进行交叉编译,依赖的库还有属于自己的依赖库,另外还需要进行交叉编译链的配置,这导致之前用交叉编译方案时仅仅编译了ekho8.0版本,而不是最新的9.0版本,并且因为pulseaudio交叉编译时遇到了没有解决的问题,导致使用ekho时不能直接播放需要借助aplay。后面发现可以直接使用docker来完成同样的工作,并且不再需要配置交叉编译工具,依赖的库也可以直接使用包管理工具进行安装,非常方便,在此记录下使用docker完成arm主机下的ekho9.0最新版本的编译。
2 拉取并运行匹配镜像
1)启用QEMU 仿真支持
因为我的目标主机是arm64架构,我的编译环境是x86-64架构,由于二者的架构不兼容,直接运行镜像会报错,需要使用QEMU(Quick Emulator) 来进行架构仿真
sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes