我已经安装了Gambit python接口的依赖项,但是在尝试构建gambit库时遇到config.h错误(请参见下文)。我正在运行Yosemite 10.10.13并在MacBook Air(2014)上使用Terminal。

这是错误消息:

172-16-226-146:python hsl306$ python setup.py build
running build
running build_py
running build_ext
skipping 'gambit/lib/libgambit.cpp' Cython extension (up-to-date)
building 'gambit.lib.libgambit' extension
/usr/bin/clang -fno-strict-aliasing -fno-common -dynamic -pipe -Os -fwrapv -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I../.. -I.. -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c gambit/lib/libgambit.cpp -o build/temp.macosx-10.10-x86_64-2.7/gambit/lib/libgambit.o
In file included from gambit/lib/libgambit.cpp:247:
../libgambit/libgambit.h:30:11: fatal error: 'config.h' file not found
 #include <config.h>
          ^
1 error generated.
error: command '/usr/bin/clang' failed with exit status 1

最佳答案

我只是设法使Gambit库在命令行中工作。

在安装中可能会遇到许多步骤和错误:


正如@theycallhimtom所说,问题是您需要先构建Gambit,然后才能构建python接口。请按照链接中的说明首先构建Gambit。
在构建时,您可能会遇到以下错误:从Github将Gambit克隆到本地环境并进入目录后,您将无法运行./configure。
您必须安装它们需要安装的3个工具/依赖项:autoconf,automake和libtool。所有这些都可以使用brew install ...(brew install autoconf,brew install automake和brew install libtool)安装。
安装后,您应该尝试运行aclocal。如果它不起作用,则需要在克隆的Gambit目录中使用mkdir m4创建一个m4目录(确保已安装m4,如果未安装,请使用brew install m4或从Github克隆它)
安装m4目录时,请尝试运行libtoolize。如果行得通,那就好。如果没有,只需在libtoolize中添加'g'使其变为glibtoolize即可工作(编程有时就像魔术一样)
之后,如果正确安装,automake和autoconf应该可以正常工作。
尝试运行./configure和sudo make install将Gambit内置到系统中。您应该在这里没有问题。
使用cd src / python进入Python目录,然后尝试运行python setup.py build。
在这一点上,您可能会收到一条错误消息,说gcc无法编译或类似的东西。不要惊慌只需打开发现错误的文件(应该是c ++文件),然后手动更正这些错误。应该是20错误左右。您需要做的就是在直角括号中添加空间(至少这是我所做的)
运行sudo python setup.py install,您最终应该可以将Gambit库安装到Python中。
不要遵循他们在此page上的文档。它已经过时,无法正常工作。使用其Github page代替。


这就是我可以让Gambit库在Python中为我工作的方法,希望它对您有用!

关于python - 无法建立Gambit博弈论扩展,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30286551/

10-13 09:52