编译pyglpk进行安装时出错(Ubuntu 14.04)

时间:2016-02-27 11:06:09

标签: python ubuntu compiler-errors installation glpk

我认为这可能是pyglpk特有的一般python / gcc问题。

我尝试在全新安装的Ubuntu 14.04上安装pyglpk。当我使用全新安装的Ubuntu时,安装了Python 2.7和3。 我相信我已经正确安装了列出的必需依赖项(GLPK和GMP),并且我已经安装了其他帖子建议我可能缺少的其他依赖项:

apt-get install python-dev libxml2-dev libxslt-dev

这是我在尝试编译pyglpk时遇到的错误:

sudo make
python setup.py build
running build
running build_ext
building 'glpk' extension
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include -Isrc -I/usr/include/python2.7 -c src/glpk.c -o build/temp.linux-x86_64-2.7/src/glpk.o -m32
In file included from /usr/include/python2.7/Python.h:8:0,
                 from src/glpk.c:20:
/usr/include/python2.7/pyconfig.h:7:49: fatal error: i386-linux-gnu/python2.7/pyconfig.h: No such file or directory
 #  include <i386-linux-gnu/python2.7/pyconfig.h>
                                                 ^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
make: *** [all] Error 1

在我看来,它所寻找的实际文件(pyconfig.h)就在这里:

/usr/include/x86_64-linux-gnu/python2.7/pyconfig.h

而make / gcc似乎正在寻找32位python的等效文件:

/usr/include/i386-linux-gnu/python2.7/pyconfig.h

我将尝试安装32位Ubuntu,即使我应该能够在64位系统上使用32位程序。我会在这里报到。

谢谢!

2 个答案:

答案 0 :(得分:2)

我终于让PyGLPK工作了!

通过安装32位Ubuntu而不是64位,我能够解决&#34; fatal error: i386-linux-gnu/python2.7/pyconfig.h: No such file or directory 。 我不建议尝试在64位Ubuntu上安装32位版本的python,因为这会引发另外一大堆问题。
如果您知道如何在64位Ubuntu上修复此错误,请大声说出来!

一旦我克服了这个错误,我就遇到了一个新的错误:
ImportError: libglpk.so.0: cannot open shared object file: No such file or directory
我发现这个错误的部分是因为PyGLPK很老了。最新版本的PyGLPK(v.3.3)与最新版本的GLPK(v 4.58)不兼容。 This post建议GLPK v 4.47是与PyGLPK兼容的最后一个工作版本,它似乎工作正常。
安装GLPK v 4.47后,仍然会出现错误。我发现使用 sudo apt-get install python-glpk 命令安装python-glpk可以修复错误。我相信这是因为安装python-glpk还会安装一些依赖,这也是PyGLPK所必需的,因为即使在卸载python-glpk之后,PyGLPK也会继续工作。
我可以确认在使用GLPK v.4.58时执行此步骤工作。旧版本的GLPK 无论安装什么依赖python-glpk都需要

答案 1 :(得分:-1)

我有完全相同的错误/情况(64位linux薄荷,我很抱歉,如果它有点不同,这里总noob)。 GLPK 4.55。这个版本的方法是: https://github.com/bradfordboyle/pyglpk 希望这可以帮助。