我似乎无法导入位于“lib-dynload”目录中的任何基本模块。他们都在那里,但我试图导入它们时出现错误:"ImportError: No module named X"
。交叉编译的Python无法找到基本模块(数学,运算符等)
我检查了我的sys.path
,它包含所有这些模块所在的目录,并且我的PYTHONHOME环境变量设置正确。我对这个问题可能会有点不知所措。一些背景信息:这是从Python 2.6.6源代码交叉编译并安装到带有Angstrom的ARM嵌入式Linux板上。
它确实在那里有python,我试图把它烧成图像,但它缺少很多东西。我最终在加载交叉编译版本之前尽我所能清理与前一个python有关的任何目录树。
,仅仅尝试导入math
一个简单的脚本的strace的:http://pastebin.com/3XgJ3nPR
你会碰巧知道要设置什么标志或变量来编译这种方式吗?我可以检查make/setup/configure结果。 – Jon 2011-05-08 04:10:41
不 - 当我在Ubuntu上为i386编译Python时,它自动决定它能够加载共享对象。也许它会检查'dlopen()'系统调用?是的,它看起来像它 - 我会更新我的答案。 – 2011-05-08 04:29:43
它在几个地方检查它。相关部分:http://pastebin.com/UQ2ZsteE。结果是失败。这一定是问题,谢谢。我会研究如何解决这个问题,任何建议? FYI:我决定最近切换内核和相应的工具链,以前的工具链交叉编译python没有任何问题。 – Jon 2011-05-08 05:09:25