2012-12-12 77 views
2

我想在我们的嵌入式系统上构建git,并从here获得git的源代码。在嵌入式系统上构建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`. 

我设置像CCCXX必要的环境变量,我们的工具链已经,所以./configure抱怨编译器。 但我不知道那个错误消息。它看起来像一些权限问题,但我有充分的权限/home/git-1.8.0.2肯定。 有什么想法?

+0

你使用哪种发行版? – ymn

+1

除了好奇心和挑战,嵌入式系统上的版本控制系统需要什么? – mouviciel

+0

发布完整的'config.log'。 – Gilles

回答

2

如果您查看configure脚本,您会发现它会尝试执行需要执行测试程序的检查。但是因为你正在交叉编译,所以configure知道它不能以这种方式获得可靠的结果,所以它甚至不尝试但是保留。

configure可以处理先前运行的缓存值,并借助环境变量来处理。您可以使用相同的机制来告诉configure无法执行的测试(对于当前失败的测试,那将是ac_cv_fread_reads_directories=no)应假设什么。


作为一个侧面说明,你有--build--host参数周围的错误的方式。 --build应指示正在执行构建的机器,而--host应指示最终软件将运行的机器。

提供--host的名字也被假定为交叉编译工具链的前缀,所以没有必要明确设置CCCXX

+0

我调用'--build'和'--host'参数并且没问题。 但是我必须将'CC'和'CXX'设置为我的工具链编译器,否则'./configure'会得到错误的编译器。 我应该如何将'no'分配给'ac_cv_fread_reads_directories'?环境变量?或编辑'。/ configure'? – naive231

+0

将其设置为一个环境变量,'。/ configure'应该自动提取它。 –

+0

如果你的C交叉编译器被称为'arm-none-linux-gnueabi-gcc',那么它应该在没有设置CC的情况下自动选择' - host = arm-none-linux-gnueabi'选项。 –