我一直在使用sbox和一个基于Make的代码库,没有问题。现在我使用了一个基于scon的代码库,并且遇到了一些奇怪的问题。
似乎在抓取框中,scon找不到g++。例如,它试图执行以下内容:
0你好hello.c
当它应该做的时候:
g++ -o hello hello.c
因此,它的g++字符串变量大概是空的。g++存在,并且在路径中--“哪个g++”生成/划痕框/编译器/bin/g++。
相同的源代码在抓痕框之外构建得很好,所以它不应该是scon或代码库的问题。当它工作时,在抓痕框之外没有设置特殊的环境变量。
如果我象征性地将/usr/bin/g++链接到/划痕框/编译器/bin/ g++,它会更进一步(生成看起来正确的g++命令),但是在执行它们时生成:
/scratchbox/compilers/arm-linux-cs2007q3-51sb3/bin/sbox-arm-none-linux-gnueabi-g++:( sb_gcc_wrapper (g++)):没有这样的文件或目录
列出的文件是存在的。
PATH包含/划痕框/编译器/bin,SBOX_REDIRECT_FROM_DIRS包含/usr/bin和SBOX_REDIRECT_TO_DIRS包含/划痕框/编译器/bin,所以我认为它应该能够找到它。
如有任何建议,将不胜感激!谢谢,雷
编辑:也许是相关的-它也找不到pkg-config,除非我在scon文件中添加完整的路径。
发布于 2009-08-07 08:18:39
scons不传播PATH环境变量,因此测试例如‘哪个g++’没有多大帮助。
Either set the compilers directly, e.g.
env['CXX'] = '/scratchbox/compilers/bin/g++'构建自己的显式路径
path = ['/scratchbox/compilers/bin/','/bin', '/usr/bin', '/sbin','/usr/sbin']
env = Environment(ENV = {'PATH' : path})或者使用shell中的PATH env变量。
import os
env = Environment(ENV = {'PATH' : os.environ['PATH']})https://stackoverflow.com/questions/1243439
复制相似问题