我想在嵌入式系统上构建git,我从here获得了git的源代码。
我使用以下参数运行./configure
工具:
./configure --build=arm-eabi --host=`uname -p`-`uname -s`-`uname -o`
配置工具运行,并返回错误信息:
checking whether system succeeds to read fopen'ed directory...configure: error: in`/home/git-1.8.0.2`.
我已将必要的环境变量(如CC
和CXX
)设置到我们的工具链中,因此./configure
不会抱怨编译器。
但我不知道该错误信息。它看起来像是一些权限问题,但我肯定已获得/home/git-1.8.0.2
的完全许可。
有什么想法吗?
答案 0 :(得分:2)
如果查看configure
脚本,您会发现它尝试执行需要执行测试程序的检查。但是因为你正在交叉编译,configure
知道它不能以这种方式获得可靠的结果,所以它甚至不会尝试但是挽救。
configure
可以处理先前运行的缓存值,并在环境变量的帮助下完成。您可以使用相同的机制告诉configure
对于它无法执行的测试应该采取什么假设(对于当前失败的测试,这将是ac_cv_fread_reads_directories=no
)。
作为旁注,您有--build
和--host
参数的错误方法。 --build
应指明正在执行构建的计算机,而--host
应指示将运行最终软件的计算机。
为--host
提供的名称也被假定为交叉编译工具链的前缀,因此无需明确设置CC
和CXX