Open kroscek opened 6 years ago
Thank you for reporting this.
Reproduces on Fedora 26, gcc 7.2.1, cython-0.27.2. Looks like a qualifier mismatch. Will advise when repair is on Github.
Appears to be repaired on this end, with changes now on Github. Please advise if you encounter additional problems.
Closing, but please feel to re-open if dissatisfied.
@suiji I downloaded the latest version but new error message pop-up:
Cloning into 'Arborist'...
remote: Counting objects: 2469, done.
remote: Total 2469 (delta 0), reused 0 (delta 0), pack-reused 2469
Receiving objects: 100% (2469/2469), 1.22 MiB | 416.00 KiB/s, done.
Resolving deltas: 100% (1839/1839), done.
Checking connectivity... done.
lemma@lemma:~$ cd ArboristBridgePy
bash: cd: ArboristBridgePy: No such file or directory
lemma@lemma:~$ cd Arborist
lemma@lemma:~/Arborist$ cd ArboristBridgePy
lemma@lemma:~/Arborist/ArboristBridgePy$ python setup.py install
Compiling pyborist/cyleaf.pyx because it changed.
Compiling pyborist/cytrain.pyx because it changed.
Compiling pyborist/cyforest.pyx because it changed.
Compiling pyborist/cyrowrank.pyx because it changed.
Compiling pyborist/cypredict.pyx because it changed.
[1/5] Cythonizing pyborist/cyforest.pyx
[2/5] Cythonizing pyborist/cyleaf.pyx
[3/5] Cythonizing pyborist/cypredict.pyx
[4/5] Cythonizing pyborist/cyrowrank.pyx
[5/5] Cythonizing pyborist/cytrain.pyx
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/pyborist
copying pyborist/init.py -> build/lib.linux-x86_64-2.7/pyborist
copying pyborist/skl.py -> build/lib.linux-x86_64-2.7/pyborist
running build_clib
building 'libaboristcore' library
creating build/ArboristCore
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/pyborist
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/quant.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/quant.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/response.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/response.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/samplepred.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/samplepred.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/coprocrowrank.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/coprocrowrank.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/bottom.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/bottom.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/splitsig.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/splitsig.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/predblock.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/predblock.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/leaf.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/leaf.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/coproc.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/coproc.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/bv.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/bv.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/predict.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/predict.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/pretree.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/pretree.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/forest.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/forest.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/splitpred.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/splitpred.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/rowrank.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/rowrank.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/sample.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/sample.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/runset.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/runset.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/train.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/train.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/path.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/path.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/index.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/index.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c ../ArboristCore/level.cc -o build/temp.linux-x86_64-2.7/../ArboristCore/level.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../ArboristCore -Ipyborist -c pyborist/callback.cc -o build/temp.linux-x86_64-2.7/pyborist/callback.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
ar rc build/temp.linux-x86_64-2.7/liblibaboristcore.a build/temp.linux-x86_64-2.7/../ArboristCore/quant.o build/temp.linux-x86_64-2.7/../ArboristCore/response.o build/temp.linux-x86_64-2.7/../ArboristCore/samplepred.o build/temp.linux-x86_64-2.7/../ArboristCore/coprocrowrank.o build/temp.linux-x86_64-2.7/../ArboristCore/bottom.o build/temp.linux-x86_64-2.7/../ArboristCore/splitsig.o build/temp.linux-x86_64-2.7/../ArboristCore/predblock.o build/temp.linux-x86_64-2.7/../ArboristCore/leaf.o build/temp.linux-x86_64-2.7/../ArboristCore/coproc.o build/temp.linux-x86_64-2.7/../ArboristCore/bv.o build/temp.linux-x86_64-2.7/../ArboristCore/predict.o build/temp.linux-x86_64-2.7/../ArboristCore/pretree.o build/temp.linux-x86_64-2.7/../ArboristCore/forest.o build/temp.linux-x86_64-2.7/../ArboristCore/splitpred.o build/temp.linux-x86_64-2.7/../ArboristCore/rowrank.o build/temp.linux-x86_64-2.7/../ArboristCore/sample.o build/temp.linux-x86_64-2.7/../ArboristCore/runset.o build/temp.linux-x86_64-2.7/../ArboristCore/train.o build/temp.linux-x86_64-2.7/../ArboristCore/path.o build/temp.linux-x86_64-2.7/../ArboristCore/index.o build/temp.linux-x86_64-2.7/../ArboristCore/level.o build/temp.linux-x86_64-2.7/pyborist/callback.o
running build_ext
building 'pyborist.cyleaf' extension
/usr/bin/gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Ipyborist -I../ArboristCore -I/home/lemma/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/home/lemma/anaconda2/include/python2.7 -c pyborist/cyleaf.cpp -o build/temp.linux-x86_64-2.7/pyborist/cyleaf.o -std=c++11 -fopenmp -O3 -ffast-math
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]
pyborist/cyleaf.cpp:746:31: error: 'BagRow' was not declared in this scope
std::shared_ptr<std::vector
Reopening the Issue.
This looks like another change to the Core for which no compensating change occurred in the Python bridge.
Will advise when the entire package can once again be built. Will also add a TODO to include Pyborist in the Travis script.
In the short term, you may be better off using the @mjuarezm fork from earlier this year. It is the most recently tested version.
It is probably worth pointing out that the Python front end will continue lag behind its R counterpart, even after the compilation errors are fixed. We haven't had an active Python contributor in well over a year and I do not currently have cycles available this bridge. Missing from this bridge, for example, are support for categorical and sparse predictors.
To remain open until bridge up to date with current Core.
@suji Thanks, Forking mjuarezm repo fixed the issue (temporarily?).
I have anaconda2 (Cython 0.26 up-to-date) and Ubuntu 14.04 (gcc 4.9). So I followed installation instruction and receive error: In file included from ../ArboristCore/sample.cc:18:0: pyborist/callback.h:20:17: error: initializing argument 2 of 'static void CallBack::SampleInit(unsigned int, double*, bool)' [-fpermissive] static void SampleInit(unsigned int _nRow, ^ error: command 'gcc' failed with exit status 1