armv5tejl-unknown-linux-gnueabihf
我可以在 Ubuntu 中很好地使用 libsodium 1.0.7,但是在尝试将 libsodium 库交叉编译为 armv5 架构( )时似乎存在一些问题。我用过./configure --host=armv5tejl-unknown-linux-gnueabihf
然后make DESTDIR=/home/myself/ARM/
。
所有文件都生成良好(头文件和静态和共享库文件),我可以编译和链接一个小的测试 C 程序,然后当它在我的 ARMv5 目标上执行时生成分段错误(工具链,一切都很好,我编译的所有其他内容& 不使用 libsodium 的链接在我的 ARM 机器上运行得非常好):
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "sodium.h"
int main()
{
printf("sodium_init()=%d\n",sodium_init()); // Fine, = 0
unsigned char pbk[crypto_box_PUBLICKEYBYTES];
unsigned char sbk[crypto_box_SECRETKEYBYTES];
crypto_box_keypair(pbk,sbk); // <-- Segmentation fault.
}
我还在https://download.libsodium.org/doc/installation/index.html尝试了 ARM 指令的官方交叉编译,但由于缺少nosys.specs
文件,配置失败。有没有什么地方可以下载这个(我已经看过了,似乎它必须是专门为 libsodium 包生成的)?