pylbfgs
pylbfgs copied to clipboard
Build errors
Building using python setup.py build_ext -i
failed with the following errors.
running build_ext skipping 'lbfgs/_lowlevel.c' Cython extension (up-to-date) building 'lbfgs._lowlevel' extension x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/home/rtaylor/Desktop/test/venv3/lib/python3.5/site-packages/numpy/core/include -Iliblbfgs -I/usr/include/python3.5m -I/home/rtaylor/Desktop/test/venv3/include/python3.5m -c lbfgs/_lowlevel.c -o build/temp.linux-x86_64-3.5/lbfgs/_lowlevel.o In file included from /home/rtaylor/Desktop/test/venv3/lib/python3.5/site-packages/numpy/core/include/numpy/ndarraytypes.h:1777:0, from /home/rtaylor/Desktop/test/venv3/lib/python3.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:18, from /home/rtaylor/Desktop/test/venv3/lib/python3.5/site-packages/numpy/core/include/numpy/arrayobject.h:4, from lbfgs/_lowlevel.c:266: /home/rtaylor/Desktop/test/venv3/lib/python3.5/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp] #warning "Using deprecated NumPy API, disable it by "
^ lbfgs/_lowlevel.c:1072:75: warning: ‘enum LineSearchAlgo’ declared inside parameter list CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__LineSearchAlgo(enum LineSearchA ^ lbfgs/_lowlevel.c:1072:75: warning: its scope is only this definition or declaration, which is probably not what you want lbfgs/_lowlevel.c:1075:71: warning: ‘enum ReturnCode’ declared inside parameter list atic CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__ReturnCode(enum ReturnCode ^ lbfgs/_lowlevel.c: In function ‘PyInit__lowlevel’: lbfgs/_lowlevel.c:6887:53: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__LineSearchAlgo(LBFGS_LINESEARCH_DEFAULT); ^ lbfgs/_lowlevel.c:6899:53: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__LineSearchAlgo(LBFGS_LINESEARCH_MORETHUENT ^ lbfgs/_lowlevel.c:6911:53: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__LineSearchAlgo(LBFGS_LINESEARCH_BACKTRACKI ^ lbfgs/_lowlevel.c:6923:53: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__LineSearchAlgo(LBFGS_LINESEARCH_BACKTRACKI ^ lbfgs/_lowlevel.c:6935:53: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__LineSearchAlgo(LBFGS_LINESEARCH_BACKTRACKI ^ lbfgs/_lowlevel.c:6951:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_UNKNOWNERROR); if (unl ^ lbfgs/_lowlevel.c:6963:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_LOGICERROR); if (unlik ^ lbfgs/_lowlevel.c:6975:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_OUTOFMEMORY); if (unli ^ lbfgs/_lowlevel.c:6987:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_CANCELED); if (unlikel ^ lbfgs/_lowlevel.c:6999:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_N); if (unlike ^ lbfgs/_lowlevel.c:7011:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_N_SSE); if (un ^ lbfgs/_lowlevel.c:7023:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_X_SSE); if (un ^ lbfgs/_lowlevel.c:7035:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_EPSILON); if ( ^ lbfgs/_lowlevel.c:7047:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_TESTPERIOD); i ^ lbfgs/_lowlevel.c:7059:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_DELTA); if (un ^ lbfgs/_lowlevel.c:7071:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_LINESEARCH); i ^ lbfgs/_lowlevel.c:7083:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_MINSTEP); if ( ^ lbfgs/_lowlevel.c:7095:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_MAXSTEP); if ( ^ lbfgs/_lowlevel.c:7107:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_FTOL); if (unl ^ lbfgs/_lowlevel.c:7119:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_WOLFE); if (un ^ lbfgs/_lowlevel.c:7131:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_GTOL); if (unl ^ lbfgs/_lowlevel.c:7143:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_XTOL); if (unl ^ lbfgs/_lowlevel.c:7155:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_MAXLINESEARCH) ^ lbfgs/_lowlevel.c:7167:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_ORTHANTWISE); ^ lbfgs/_lowlevel.c:7179:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_ORTHANTWISE_ST ^ lbfgs/_lowlevel.c:7191:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALID_ORTHANTWISE_EN ^ lbfgs/_lowlevel.c:7203:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_OUTOFINTERVAL); if (un ^ lbfgs/_lowlevel.c:7215:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INCORRECT_TMINMAX); if ^ lbfgs/_lowlevel.c:7227:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_ROUNDING_ERROR); if (u ^ lbfgs/_lowlevel.c:7239:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_MINIMUMSTEP); if (unli ^ lbfgs/_lowlevel.c:7251:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_MAXIMUMSTEP); if (unli ^ lbfgs/_lowlevel.c:7263:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_MAXIMUMLINESEARCH); if ^ lbfgs/_lowlevel.c:7275:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_MAXIMUMITERATION); if ^ lbfgs/_lowlevel.c:7287:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_WIDTHTOOSMALL); if (un ^ lbfgs/_lowlevel.c:7299:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INVALIDPARAMETERS); if ^ lbfgs/_lowlevel.c:7311:49: error: type of formal parameter 1 is incomplete __pyx_t_2 = __Pyx_PyInt_From_enum__ReturnCode(LBFGSERR_INCREASEGRADIENT); if ^ lbfgs/_lowlevel.c: At top level: lbfgs/_lowlevel.c:8582:85: warning: ‘enum LineSearchAlgo’ declared inside parameter list CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__LineSearchAlgo(enum LineSearchA ^ lbfgs/_lowlevel.c:8582:100: error: parameter 1 (‘value’) has incomplete type NE PyObject* __Pyx_PyInt_From_enum__LineSearchAlgo(enum LineSearchAlgo value) { ^ lbfgs/_lowlevel.c: In function ‘__Pyx_PyInt_From_enum__LineSearchAlgo’: lbfgs/_lowlevel.c:8583:16: error: variable ‘neg_one’ has initializer but incomplete type const enum LineSearchAlgo neg_one = (enum LineSearchAlgo) -1, const_zero = ^ lbfgs/_lowlevel.c:8583:47: error: conversion to incomplete type const enum LineSearchAlgo neg_one = (enum LineSearchAlgo) -1, const_zero = ^ lbfgs/_lowlevel.c:8583:31: error: storage size of ‘neg_one’ isn’t known const enum LineSearchAlgo neg_one = (enum LineSearchAlgo) -1, const_zero = ^ lbfgs/_lowlevel.c:8583:47: error: variable ‘const_zero’ has initializer but incomplete type const enum LineSearchAlgo neg_one = (enum LineSearchAlgo) -1, const_zero = ^ lbfgs/_lowlevel.c:8583:86: error: conversion to incomplete type neSearchAlgo neg_one = (enum LineSearchAlgo) -1, const_zero = (enum LineSearchA ^ lbfgs/_lowlevel.c:8583:67: error: storage size of ‘const_zero’ isn’t known const enum LineSearchAlgo neg_one = (enum LineSearchAlgo) -1, const_zero = ^ lbfgs/_lowlevel.c:8586:20: error: invalid application of ‘sizeof’ to incomplete type ‘enum LineSearchAlgo’ if (sizeof(enum LineSearchAlgo) < sizeof(long)) { ^ lbfgs/_lowlevel.c:8588:27: error: invalid application of ‘sizeof’ to incomplete type ‘enum LineSearchAlgo’ } else if (sizeof(enum LineSearchAlgo) <= sizeof(unsigned long)) { ^ lbfgs/_lowlevel.c:8590:27: error: invalid application of ‘sizeof’ to incomplete type ‘enum LineSearchAlgo’ } else if (sizeof(enum LineSearchAlgo) <= sizeof(unsigned PY_LONG_LONG) ^ lbfgs/_lowlevel.c:8594:20: error: invalid application of ‘sizeof’ to incomplete type ‘enum LineSearchAlgo’ if (sizeof(enum LineSearchAlgo) <= sizeof(long)) { ^ lbfgs/_lowlevel.c:8596:27: error: invalid application of ‘sizeof’ to incomplete type ‘enum LineSearchAlgo’ } else if (sizeof(enum LineSearchAlgo) <= sizeof(PY_LONG_LONG)) { ^ lbfgs/_lowlevel.c:8603:52: error: invalid application of ‘sizeof’ to incomplete type ‘enum LineSearchAlgo’ return _PyLong_FromByteArray(bytes, sizeof(enum LineSearchAlgo), ^ lbfgs/_lowlevel.c:8583:67: warning: unused variable ‘const_zero’ [-Wunused-variable] const enum LineSearchAlgo neg_one = (enum LineSearchAlgo) -1, const_zero = ^ lbfgs/_lowlevel.c:8583:31: warning: unused variable ‘neg_one’ [-Wunused-variable] const enum LineSearchAlgo neg_one = (enum LineSearchAlgo) -1, const_zero = ^ lbfgs/_lowlevel.c: At top level: lbfgs/_lowlevel.c:8609:81: warning: ‘enum ReturnCode’ declared inside parameter list atic CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__ReturnCode(enum ReturnCode ^ lbfgs/_lowlevel.c:8609:92: error: parameter 1 (‘value’) has incomplete type HON_INLINE PyObject* __Pyx_PyInt_From_enum__ReturnCode(enum ReturnCode value) { ^ lbfgs/_lowlevel.c: In function ‘__Pyx_PyInt_From_enum__ReturnCode’: lbfgs/_lowlevel.c:8610:16: error: variable ‘neg_one’ has initializer but incomplete type const enum ReturnCode neg_one = (enum ReturnCode) -1, const_zero = (enum Re ^ lbfgs/_lowlevel.c:8610:43: error: conversion to incomplete type const enum ReturnCode neg_one = (enum ReturnCode) -1, const_zero = (enum Re ^ lbfgs/_lowlevel.c:8610:27: error: storage size of ‘neg_one’ isn’t known const enum ReturnCode neg_one = (enum ReturnCode) -1, const_zero = (enum Re ^ lbfgs/_lowlevel.c:8610:43: error: variable ‘const_zero’ has initializer but incomplete type const enum ReturnCode neg_one = (enum ReturnCode) -1, const_zero = (enum Re ^ lbfgs/_lowlevel.c:8610:78: error: conversion to incomplete type enum ReturnCode neg_one = (enum ReturnCode) -1, const_zero = (enum ReturnCode) ^ lbfgs/_lowlevel.c:8610:59: error: storage size of ‘const_zero’ isn’t known const enum ReturnCode neg_one = (enum ReturnCode) -1, const_zero = (enum Re ^ lbfgs/_lowlevel.c:8613:20: error: invalid application of ‘sizeof’ to incomplete type ‘enum ReturnCode’ if (sizeof(enum ReturnCode) < sizeof(long)) { ^ lbfgs/_lowlevel.c:8615:27: error: invalid application of ‘sizeof’ to incomplete type ‘enum ReturnCode’ } else if (sizeof(enum ReturnCode) <= sizeof(unsigned long)) { ^ lbfgs/_lowlevel.c:8617:27: error: invalid application of ‘sizeof’ to incomplete type ‘enum ReturnCode’ } else if (sizeof(enum ReturnCode) <= sizeof(unsigned PY_LONG_LONG)) { ^ lbfgs/_lowlevel.c:8621:20: error: invalid application of ‘sizeof’ to incomplete type ‘enum ReturnCode’ if (sizeof(enum ReturnCode) <= sizeof(long)) { ^ lbfgs/_lowlevel.c:8623:27: error: invalid application of ‘sizeof’ to incomplete type ‘enum ReturnCode’ } else if (sizeof(enum ReturnCode) <= sizeof(PY_LONG_LONG)) { ^ lbfgs/_lowlevel.c:8630:52: error: invalid application of ‘sizeof’ to incomplete type ‘enum ReturnCode’ return _PyLong_FromByteArray(bytes, sizeof(enum ReturnCode), ^ lbfgs/_lowlevel.c:8610:59: warning: unused variable ‘const_zero’ [-Wunused-variable] const enum ReturnCode neg_one = (enum ReturnCode) -1, const_zero = (enum Re ^ lbfgs/_lowlevel.c:8610:27: warning: unused variable ‘neg_one’ [-Wunused-variable] const enum ReturnCode neg_one = (enum ReturnCode) -1, const_zero = (enum Re ^ lbfgs/_lowlevel.c: In function ‘__Pyx_PyInt_From_enum__LineSearchAlgo’: lbfgs/_lowlevel.c:8606:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ lbfgs/_lowlevel.c: In function ‘__Pyx_PyInt_From_enum__ReturnCode’: lbfgs/_lowlevel.c:8633:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Probably fixed in the more recent fork by datamade: https://github.com/datamade/pylbfgs