ffsend交叉编译至aarch64

其实我想把 ffsend 移植到手机上很久了。首先,这个小工具确实好用;其次,它是 rust 写的,我正好也在断断续续地在学,一看就很亲切。所以就试着移植到 aarch64 平台。说起来这也是我第一次交叉编译,给我留下了心理阴影。

缘起  

翻了一下 .zsh_history ,第一次尝试应该是 19 年 11 月份,当时是 openssl 的问题,我 Google 了一圈在 archlinuxarm 找到了 aarch64openssl ,但是当时没注意,环境变量 OPENSSL_DIR 设置错了,文档是这样写的:

If specified, the directory of an OpenSSL installation. The directory should contain lib and include subdirectories containing the libraries and headers respectively.

我高高兴兴下载解压完以后没想着看文档,想当然地设置成了 xxx/usr/lib ,实际上应该是 xxx/usr 。一直也没想起来检查这个,被折磨了一个下午,心灰意冷,把文件全删了,就当无事发生。

挣扎  

今天忽然想起来这茬,不死心,又 Google 了一下,信心满满地又开始了。

过程又臭又长,不堪回首,就不写了,简单概括一下,我尝试了以下行为

  • 自行创建 ndk standalone 工具链

  • 自行编译 openssl

  • Google 了不下五十个各种各样的关键词

  • 尝试不同的环境变量

  • 把项目的 issue 翻了个遍

然而还是失败了( ・ั﹏・ั)

果然我还是学艺不精,哭了。

妥协  

Termux 里面编译,指定了 OPENSSL_DIR 以后顺利编译通过了。