CMakeError.log message
I have installed libboost-all-dev, libpython-dev, python-numpy, and my machine is:
Linux abc-lubuntu 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
When I type cmake ., everything seems fine except:
-- Performing Test HAVE_ALL_PYTHON_HEADERS - Failed
-- failed to use boost python libraries, check if python-numpy is installed.
Also I could make and make install properly and run siftfast without problem, but the CMakeError.log said:
Performing C++ SOURCE FILE Test HAVE_ALL_PYTHON_HEADERS failed with the following output:
Change Dir: /home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make "cmTryCompileExec3470950927/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec3470950927.dir/build.make CMakeFiles/cmTryCompileExec3470950927.dir/build
make[1]: Entering directory `/home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp/CMakeFiles 1
Building CXX object CMakeFiles/cmTryCompileExec3470950927.dir/src.cxx.o
/usr/bin/c++ -DHAVE_ALL_PYTHON_HEADERS -I/usr/include/python3.3m -I/usr/lib/python2.7/dist-packages/numpy/core/include -o CMakeFiles/cmTryCompileExec3470950927.dir/src.cxx.o -c /home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp/src.cxx
In file included from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1728:0,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarrayobject.h:17,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h:15,
from /home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp/src.cxx:10:
/usr/lib/python2.7/dist-packages/numpy/core/include/numpy/npy_deprecated_api.h:11: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 #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"
^
Linking CXX executable cmTryCompileExec3470950927
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3470950927.dir/link.txt --verbose=1
/usr/bin/c++ -DHAVE_ALL_PYTHON_HEADERS CMakeFiles/cmTryCompileExec3470950927.dir/src.cxx.o -o cmTryCompileExec3470950927 -rdynamic -lpython3.3m -lboost_python
CMakeFiles/cmTryCompileExec3470950927.dir/src.cxx.o: In function `__static_initialization_and_destruction_0(int, int)':
src.cxx:(.text+0x2f3): undefined reference to `boost::system::generic_category()'
src.cxx:(.text+0x2ff): undefined reference to `boost::system::generic_category()'
src.cxx:(.text+0x30b): undefined reference to `boost::system::system_category()'
collect2: error: ld returned 1 exit status
make[1]: Leaving directory `/home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp'
make[1]: *** [cmTryCompileExec3470950927] Error 1
make: *** [cmTryCompileExec3470950927/fast] Error 2
Return value: 1
Source file was:
#include <Python.h>
#include <boost/thread/thread.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/thread/condition.hpp>
#include <boost/shared_ptr.hpp>
#define PY_ARRAY_UNIQUE_SYMBOL PyArrayHandle
#include <boost/python.hpp>
#include <pyconfig.h>
#include <numpy/arrayobject.h>
int main()
{
return 0;
}
Performing C++ SOURCE FILE Test HAVE_ALL_PYTHON_HEADERS failed with the following output:
Change Dir: /home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make "cmTryCompileExec1149567139/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec1149567139.dir/build.make CMakeFiles/cmTryCompileExec1149567139.dir/build
make[1]: Entering directory `/home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp/CMakeFiles 1
Building CXX object CMakeFiles/cmTryCompileExec1149567139.dir/src.cxx.o
/usr/bin/c++ -DHAVE_ALL_PYTHON_HEADERS -I/usr/include/python3.3m -I/usr/lib/python2.7/dist-packages/numpy/core/include -o CMakeFiles/cmTryCompileExec1149567139.dir/src.cxx.o -c /home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp/src.cxx
In file included from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1728:0,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarrayobject.h:17,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h:15,
from /home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp/src.cxx:10:
/usr/lib/python2.7/dist-packages/numpy/core/include/numpy/npy_deprecated_api.h:11: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 #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"
^
Linking CXX executable cmTryCompileExec1149567139
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1149567139.dir/link.txt --verbose=1
/usr/bin/c++ -DHAVE_ALL_PYTHON_HEADERS CMakeFiles/cmTryCompileExec1149567139.dir/src.cxx.o -o cmTryCompileExec1149567139 -rdynamic -lpython3.3m -lboost_python
CMakeFiles/cmTryCompileExec1149567139.dir/src.cxx.o: In function `__static_initialization_and_destruction_0(int, int)':
src.cxx:(.text+0x2f3): undefined reference to `boost::system::generic_category()'
src.cxx:(.text+0x2ff): undefined reference to `boost::system::generic_category()'
src.cxx:(.text+0x30b): undefined reference to `boost::system::system_category()'
collect2: error: ld returned 1 exit status
make[1]: Leaving directory `/home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp'
make[1]: *** [cmTryCompileExec1149567139] Error 1
make: *** [cmTryCompileExec1149567139/fast] Error 2
Return value: 1
Source file was:
#include <Python.h>
#include <boost/thread/thread.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/thread/condition.hpp>
#include <boost/shared_ptr.hpp>
#define PY_ARRAY_UNIQUE_SYMBOL PyArrayHandle
#include <boost/python.hpp>
#include <pyconfig.h>
#include <numpy/arrayobject.h>
int main()
{
return 0;
}
Performing C++ SOURCE FILE Test HAVE_ALL_PYTHON_HEADERS failed with the following output:
Change Dir: /home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make "cmTryCompileExec1952910785/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec1952910785.dir/build.make CMakeFiles/cmTryCompileExec1952910785.dir/build
make[1]: Entering directory `/home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp/CMakeFiles 1
Building CXX object CMakeFiles/cmTryCompileExec1952910785.dir/src.cxx.o
/usr/bin/c++ -DHAVE_ALL_PYTHON_HEADERS -I/usr/include/python3.3m -I/usr/lib/python2.7/dist-packages/numpy/core/include -o CMakeFiles/cmTryCompileExec1952910785.dir/src.cxx.o -c /home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp/src.cxx
In file included from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1728:0,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarrayobject.h:17,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h:15,
from /home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp/src.cxx:10:
/usr/lib/python2.7/dist-packages/numpy/core/include/numpy/npy_deprecated_api.h:11: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 #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"
^
Linking CXX executable cmTryCompileExec1952910785
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1952910785.dir/link.txt --verbose=1
/usr/bin/c++ -DHAVE_ALL_PYTHON_HEADERS CMakeFiles/cmTryCompileExec1952910785.dir/src.cxx.o -o cmTryCompileExec1952910785 -rdynamic -lpython3.3m -lboost_python
CMakeFiles/cmTryCompileExec1952910785.dir/src.cxx.o: In function `__static_initialization_and_destruction_0(int, int)':
src.cxx:(.text+0x2f3): undefined reference to `boost::system::generic_category()'
src.cxx:(.text+0x2ff): undefined reference to `boost::system::generic_category()'
src.cxx:(.text+0x30b): undefined reference to `boost::system::system_category()'
collect2: error: ld returned 1 exit status
make[1]: Leaving directory `/home/abc/Code/libsiftfast-1.2-src/CMakeFiles/CMakeTmp'
make[1]: *** [cmTryCompileExec1952910785] Error 1
make: *** [cmTryCompileExec1952910785/fast] Error 2
Return value: 1
Source file was:
#include <Python.h>
#include <boost/thread/thread.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/thread/condition.hpp>
#include <boost/shared_ptr.hpp>
#define PY_ARRAY_UNIQUE_SYMBOL PyArrayHandle
#include <boost/python.hpp>
#include <pyconfig.h>
#include <numpy/arrayobject.h>
int main()
{
return 0;
}
I want to fix these errors, any idea?
same problem here.
Hey thanks for reporting this one – while I haven’t touched this repo in some time, it was on my list for an update (it could benefit from some of the libimread code) and now I’ll have a look at this and post an update, toot sweet. Yes!
I made it with this patch to original repository which is downloaded from sourceforge. Not sure for this repo. https://github.com/jsk-ros-pkg/jsk_3rdparty/blob/master/3rdparty/libsiftfast/patches/01.fix_python_binding.patch
This was necessary to generate python bindings also.