Skip to content

build error on Ubuntu 18.04 with Boost v1.65.1 #36

@zweistein

Description

@zweistein

Hi, I try to build the package on Ubuntu 18:04 with ROS Melodic and Boost 1.65.1.
I ran into a problem with cv_mat.cpp due to a change in the boos library as boost::python::numeric is depricated in boost >1.63

[ 89%] Building CXX object cells/cv_bp/opencv/CMakeFiles/opencv_boost_python.dir/cv_mat.cpp.o
[ 93%] Built target opencv_test_ectomodule
cd /home/elod/work/ws_robfun/build/ecto_opencv/cells/cv_bp/opencv && /usr/bin/c++  -DROS_BUILD_SHARED_LIBS=1 -Dopencv_boost_python_EXPORTS -I/home/elod/work/ws_robfun/devel/.private/ecto/include -isystem /usr/local/include -isystem /usr/local/include/opencv -isystem /home/elod/work/ws_robfun/src/ecto/include -isystem /home/elod/work/ws_robfun/src/opencv_candidate/include -isystem /home/elod/anaconda3/envs/ros/include/python2.7 -I/usr/include/python2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include  -fPIC   -o CMakeFiles/opencv_boost_python.dir/cv_mat.cpp.o -c /home/elod/work/ws_robfun/src/ecto_opencv/cells/cv_bp/opencv/cv_mat.cpp
In file included from /usr/include/python2.7/numpy/ndarraytypes.h:1809:0,
                 from /usr/include/python2.7/numpy/ndarrayobject.h:18,
                 from /usr/include/python2.7/numpy/arrayobject.h:4,
                 from /home/elod/work/ws_robfun/src/ecto_opencv/cells/cv_bp/opencv/cv_mat.cpp:3:
/usr/include/python2.7/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 " \
  ^~~~~~~
/home/elod/work/ws_robfun/src/ecto_opencv/cells/cv_bp/opencv/cv_mat.cpp:13:31: error: ‘numpy’ is not a namespace-name
 namespace np = boost::python::numpy;

Based on similar issues I tried to change the namespace from namespace bp::numeric:: to namespace bp::numpy:: but this fails too:

[ 78%] Building CXX object cells/cv_bp/opencv/CMakeFiles/opencv_boost_python.dir/cv_mat.cpp.o
cd /home/elod/work/ws_robfun/build/ecto_opencv/cells/cv_bp/opencv && /usr/bin/c++  -DROS_BUILD_SHARED_LIBS=1 -Dopencv_boost_python_EXPORTS -I/home/elod/work/ws_robfun/devel/.private/ecto/include -isystem /usr/local/include -isystem /usr/local/include/opencv -isystem /home/elod/work/ws_robfun/src/ecto/include -isystem /home/elod/work/ws_robfun/src/opencv_candidate/include -isystem /home/elod/anaconda3/envs/ros/include/python2.7 -I/usr/include/python2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include  -fPIC   -o CMakeFiles/opencv_boost_python.dir/cv_mat.cpp.o -c /home/elod/work/ws_robfun/src/ecto_opencv/cells/cv_bp/opencv/cv_mat.cpp
make[2]: Entering directory '/home/elod/work/ws_robfun/build/ecto_opencv'
make[2]: Nothing to be done for 'cells/opencv/rgbd/CMakeFiles/rgbd_ectomodule.dir/build'.
make[2]: Leaving directory '/home/elod/work/ws_robfun/build/ecto_opencv'
[ 82%] Built target opencv_test_ectomodule
[ 93%] Built target rgbd_ectomodule
In file included from /usr/include/python2.7/numpy/ndarraytypes.h:1809:0,
                 from /usr/include/python2.7/numpy/ndarrayobject.h:18,
                 from /usr/include/python2.7/numpy/arrayobject.h:4,
                 from /home/elod/work/ws_robfun/src/ecto_opencv/cells/cv_bp/opencv/cv_mat.cpp:3:
/usr/include/python2.7/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 " \
  ^~~~~~~
/home/elod/work/ws_robfun/src/ecto_opencv/cells/cv_bp/opencv/cv_mat.cpp:87:16: error: ‘array’ in namespace ‘boost::python::numpy’ does not name a type
     bp::numpy::array
                ^~~~~

Any ideas on how to fix this issue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions