随机:状态不够(1个字节);忽视

时间:2011-12-28 17:05:05

标签: python linux macos

不确定上述错误的含义。我刚刚在我的mac上安装了ghmm,并且每次执行import ghmm时都会出现此错误。我在我的linux机器上的ghmm安装上没有收到此消息,除了所有功能看起来都没问题。

我想知道是否有人之前已经看过这个,如果我有什么办法可以摆脱这个。我在两次安装中唯一不同的是autogen.sh文件引用了我的mac上不存在的“libtoolize”,所以我把它更改为替换“glibtoolize”,它允许它编译和安装正常。 / p>

关于这个错误实际意味着什么的建议(希望我能解决它)会很棒。

(我在谷歌上找不到答案,但这个程序似乎并不特定于ghmm)

3 个答案:

答案 0 :(得分:2)

我愿意在这个问题上得到纠正,但我猜这是直接与ghmm或你的编译工具无关。我认为您看到的错误消息来自OSX使用的BSD随机数函数(它们是documented here)。

假设ghmm导致警告(而不是python),可能可以将构建过程配置为使用普通的rand或其他PRNG。或者,也许您可​​以找到添加对initstate()的调用的正确位置(请参阅上面的文档链接)以提供所需的状态信息。

手册页中的这一位可能指向您的问题:

  

如果使用少于8个字节的状态信息调用initstate(),或者如果setstate()检测到状态信息已出现乱码,则会在标准错误输出上打印错误消息。

答案 1 :(得分:2)

eaj是正确的,initstate需要超过8个字节的状态信息。对ghmm执行此操作的最佳方法是使用./configure的--enable-gsl或--with-rng = bsd选项。 --with-rng = bsd使类型为“ghmm_rng_state_t”8个字节而不是1.请参阅ghmm目录中的rng.h。

答案 2 :(得分:0)

ghmm网站上说的是“libtoolize”:

Mac OS X:10.6附带一个破坏了libtool的破坏了安装(它还附带了Python 2.5,所以你需要更新)。 James Howard在邮件列表上发布了一个解决方案:[Ghmm-list]在OS X 10.6中编译 http://sourceforge.net/mailarchive/message.php?msg_id=25874107 HTH