关于 Python 的 ValueError: math domain error 问题

2017-04-14 07:54:36 +08:00
 wywgk

近来在一台 ibm t23 上鼓捣 BLFS,但在安装 samba 时遇到一个问题,在运行./configure 时报如下错误:

wywgk [ /blfs/talloc-2.1.8 ]$ ./configure
Traceback (most recent call last):
  File "./buildtools/bin/waf", line 75, in <module>
    import Scripting
  File "/blfs/talloc-2.1.8/third_party/waf/wafadmin/Scripting.py", line 9, in <module>
    import Utils, Configure, Build, Logs, Options, Environment, Task
  File "/blfs/talloc-2.1.8/third_party/waf/wafadmin/Configure.py", line 25, in <module>
    import Environment, Utils, Options, Logs
  File "/blfs/talloc-2.1.8/third_party/waf/wafadmin/Environment.py", line 12, in <module>
    import Logs, Options, Utils
  File "/blfs/talloc-2.1.8/third_party/waf/wafadmin/Options.py", line 8, in <module>
    import os, sys, imp, types, tempfile, optparse
  File "/usr/lib/python2.7/tempfile.py", line 35, in <module>
    from random import Random as _Random
  File "/usr/lib/python2.7/random.py", line 58, in <module>
    NV_MAGICCONST = 4 * _exp(-0.5)/_sqrt(2.0)
ValueError: math domain error

从上面可以看出应该是 random 库里的表达式有问题,但是在 python 环境下却没有问题。

wywgk [ /blfs/talloc-2.1.8 ]$ python
Python 2.7.13 (default, Apr 10 2017, 19:22:31)
[GCC 6.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import random
>>> random.NV_MAGICCONST
1.7155277699214135
>>>

看样子不应该是 python 的问题,在 python 的官方论坛有关于这个错误的主题,但是它们的情况是在 python 环境里出错,我的 python 环境中没问题,但是在实际脚本中出了问题。

个人感觉是 waf 的脚本和 python 有冲突,但不知从哪下手或验证,望有高人给些指点。

问题环境:

ibm thinkpak t23 ram:512M , cpu :P iii m 1.13G, 使用 LFS 8.0-systemd 和 BLFS 8.0-systemd 手册安装。

2723 次点击
所在节点    问与答
2 条回复
wywgk
2017-04-14 08:15:32 +08:00
补充一点:这个问题在虚拟机环境中没有出现,但是一上真机就出了这个问题,为此还重新 LFS 了一次,心碎,但重装后依然……
glasslion
2017-04-14 12:44:33 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/354755

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX