Skip to content

Error in compiling np_opencv_converter #1

Description

@armandok

When compiling the wrapper, I get this error:

Scanning dependencies of target np_opencv_converter
[ 20%] Building CXX object CMakeFiles/np_opencv_converter.dir/lib/conversion.cpp.o
In file included from /projectnb/semslam/armandok/.conda/envs/pyslamu/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1822:0,
from /projectnb/semslam/armandok/.conda/envs/pyslamu/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
from /usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.h:10,
from /usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp:4:
/projectnb/semslam/armandok/.conda/envs/pyslamu/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it with "
^~~~~~~
/usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp: In function 'int init()':
/usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp:12:5: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
import_array();
^~~~~~~~~~~~
/usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp: In member function 'cv::UMatData* NumpyAllocator::allocate(int, const int*, int, void*, size_t*, int, cv::UMatUsageFlags) const':
/usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp:99:92: error: invalid conversion from 'int' to 'cv::AccessFlag' [-fpermissive]
return stdAllocator->allocate(dims0, sizes, type, data, step, flags, usageFlags);
^
In file included from /share/pkg.7/opencv/4.5.0/install/include/opencv4/opencv2/core.hpp:59:0,
from /share/pkg.7/opencv/4.5.0/install/include/opencv4/opencv2/opencv.hpp:52,
from /usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.h:8,
from /usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp:4:
/share/pkg.7/opencv/4.5.0/install/include/opencv4/opencv2/core/mat.hpp:475:23: note: initializing argument 6 of 'virtual cv::UMatData* cv::MatAllocator::allocate(int, const int*, int, void*, size_t*, cv::AccessFlag, cv::UMatUsageFlags) const'
virtual UMatData* allocate(int dims, const int* sizes, int type,
^~~~~~~~
/usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp: In member function 'bool NumpyAllocator::allocate(cv::UMatData*, int, cv::UMatUsageFlags) const':
/usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp:124:59: error: invalid conversion from 'int' to 'cv::AccessFlag' [-fpermissive]
return stdAllocator->allocate(u, accessFlags, usageFlags);
^
In file included from /share/pkg.7/opencv/4.5.0/install/include/opencv4/opencv2/core.hpp:59:0,
from /share/pkg.7/opencv/4.5.0/install/include/opencv4/opencv2/opencv.hpp:52,
from /usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.h:8,
from /usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp:4:
/share/pkg.7/opencv/4.5.0/install/include/opencv4/opencv2/core/mat.hpp:477:18: note: initializing argument 2 of 'virtual bool cv::MatAllocator::allocate(cv::UMatData*, cv::AccessFlag, cv::UMatUsageFlags) const'
virtual bool allocate(UMatData* data, AccessFlag accessflags, UMatUsageFlags usageFlags) const = 0;
^~~~~~~~
/usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp: At global scope:
/usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp:194:16: error: cannot declare variable 'g_numpyAllocator' to be of abstract type 'NumpyAllocator'
NumpyAllocator g_numpyAllocator;
^~~~~~~~~~~~~~~~
/usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp:73:7: note: because the following virtual functions are pure within 'NumpyAllocator':
class NumpyAllocator : public MatAllocator
^~~~~~~~~~~~~~
In file included from /share/pkg.7/opencv/4.5.0/install/include/opencv4/opencv2/core.hpp:59:0,
from /share/pkg.7/opencv/4.5.0/install/include/opencv4/opencv2/opencv.hpp:52,
from /usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.h:8,
from /usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp:4:
/share/pkg.7/opencv/4.5.0/install/include/opencv4/opencv2/core/mat.hpp:475:23: note: virtual cv::UMatData* cv::MatAllocator::allocate(int, const int*, int, void*, size_t*, cv::AccessFlag, cv::UMatUsageFlags) const
virtual UMatData* allocate(int dims, const int* sizes, int type,
^~~~~~~~
/share/pkg.7/opencv/4.5.0/install/include/opencv4/opencv2/core/mat.hpp:477:18: note: virtual bool cv::MatAllocator::allocate(cv::UMatData*, cv::AccessFlag, cv::UMatUsageFlags) const
virtual bool allocate(UMatData* data, AccessFlag accessflags, UMatUsageFlags usageFlags) const = 0;
^~~~~~~~
/usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp: In member function 'int NDArrayConverter::init()':
/usr3/graduate/armandok/pyslamu/pyfbow/src/lib/conversion.cpp:200:5: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
import_array();
^~~~~~~~~~~~
make[2]: *** [CMakeFiles/np_opencv_converter.dir/lib/conversion.cpp.o] Error 1
make[1]: *** [CMakeFiles/np_opencv_converter.dir/all] Error 2
make: *** [all] Error 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions