![](/img/trans.png)
[英]“unknown type name 'decltype'”: Installing pyicu on mac failed, with gcc error
[英]unknown type name 'glp_long' (mac osx python, pyglpk)
我正在嘗試安裝pyglpk-0.3,以與cobrapie(matlab眼鏡蛇工具箱的python版本)一起使用。 每次啟動安裝時,都會出現以下錯誤:(部分錯誤)
c -I/Users/gadreel/anaconda/include/python2.7 -c src/tree.c -o build/temp.macosx-10.5-x86_64-2.7
/src/tree.o -m32
/usr/bin/clang -fno-strict-aliasing -I/Users/gadreel/anaconda/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/opt/local/include -Isrc -I/Users/gadreel/anaconda/include/python2.7 -c src/environment.c -o build/temp.macosx-10.5-x86_64-2.7/src/environment.o -m32
src/environment.c:80:26: error: unknown type name 'glp_long'
static PyObject* long2py(GLP_LONG l) {
^
src/environment.c:75:18: note: expanded from macro 'GLP_LONG'
#define GLP_LONG glp_long
^
src/environment.c:90:3: error: use of undeclared identifier 'glp_long'
GLP_LONG b;
^
src/environment.c:75:18: note: expanded from macro 'GLP_LONG'
#define GLP_LONG glp_long
^
src/environment.c:91:30: error: use of undeclared identifier 'b'
glp_mem_usage(NULL, NULL, &b, NULL);
^
src/environment.c:92:18: error: use of undeclared identifier 'b'
return long2py(b);
^
src/environment.c:97:3: error: use of undeclared identifier 'glp_long'
GLP_LONG b;
^
src/environment.c:75:18: note: expanded from macro 'GLP_LONG'
#define GLP_LONG glp_long
^
src/environment.c:98:36: error: use of undeclared identifier 'b'
glp_mem_usage(NULL, NULL, NULL, &b);
^
src/environment.c:99:18: error: use of undeclared identifier 'b'
return long2py(b);
^
7 errors generated.
error: command '/usr/bin/clang' failed with exit status 1
make: *** [all] Error 1
這是上述c文件的一部分:
static PyObject* Environment_getblocks_peak(EnvironmentObject *self,
void *closure) {
int cpeak;
glp_mem_usage(NULL, &cpeak, NULL, NULL);
return PyInt_FromLong(cpeak);
}
#if GLPK_VERSION(4,28)
#define GLP_LONG glp_long
#else
#define GLP_LONG glp_ulong
#endif
static PyObject* long2py(GLP_LONG l) {
if ((l.hi==0 && l.lo>=0) || (l.hi==-1 && l.lo<0))
return PyInt_FromLong(l.lo);
PY_LONG_LONG ll = l.hi;
ll <<= 32;
ll |= (unsigned int)l.lo;
return PyLong_FromLongLong(ll);
}
static PyObject* Environment_getbytes(EnvironmentObject *self,void *closure) {
GLP_LONG b;
glp_mem_usage(NULL, NULL, &b, NULL);
return long2py(b);
}
我會錯過安裝的東西嗎? 我使用Python 2.7.5 | Anaconda 1.6.1(x86_64)| 和osx 10.8.4的glpk @ 4.48_0(活動)
對我來說,我要做的就是將glpk一直降級到4.39,因為更高版本會遇到glp_long問題。
幾個人已經在github上克隆了pyglpk代碼,並對其進行了更新以與最新版本的glpk一起使用。 我一直在使用https://github.com/bradfordboyle/pyglpk,並且知道它可以與glpk-4.61一起使用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.