KumarRobotics / bluefox2

ROS driver for the Matrix Vision mvBlueFOX cameras
46 stars 67 forks source link

Compilation error on NVIDIA TX2. #32

Open wdeyes opened 5 years ago

wdeyes commented 5 years ago

Hey there, I have installed the camera's driver of arm64. When I compiling it, there is a error like this:

Linking CXX executable /home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_list_cameras CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::ComponentAccess::compGetStringParam[abi:cxx11](mvIMPACT::acquire::TOBJ_StringQuery, int, int) const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire15ComponentAccess18compGetStringParamB5cxx11ENS0_16TOBJ_StringQueryEii[_ZNK8mvIMPACT7acquire15ComponentAccess18compGetStringParamB5cxx11ENS0_16TOBJ_StringQueryEii]+0x64): undefined reference toOBJ_GetSWithInplaceConstruction' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::ComponentAccess::ComponentAccess(int)': list_cameras.cpp:(.text._ZN8mvIMPACT7acquire15ComponentAccessC2Ei[_ZN8mvIMPACT7acquire15ComponentAccessC5Ei]+0x4c): undefined reference toOBJ_CheckHandle' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::ComponentAccess::changedCounter() const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire15ComponentAccess14changedCounterEv[_ZNK8mvIMPACT7acquire15ComponentAccess14changedCounterEv]+0x30): undefined reference toOBJ_GetChangedCounter' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::Component::isValid() const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire9Component7isValidEv[_ZNK8mvIMPACT7acquire9Component7isValidEv]+0x18): undefined reference toOBJ_CheckHandle' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::Component::type() const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire9Component4typeEv[_ZNK8mvIMPACT7acquire9Component4typeEv]+0x30): undefined reference toOBJ_GetType' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::ComponentLocatorBase::bindSearchBase(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': list_cameras.cpp:(.text._ZN8mvIMPACT7acquire20ComponentLocatorBase14bindSearchBaseEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN8mvIMPACT7acquire20ComponentLocatorBase14bindSearchBaseEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x80): undefined reference toOBJ_GetHandleEx' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::ComponentLocatorBase::findComponent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int) const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire20ComponentLocatorBase13findComponentERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEii[_ZNK8mvIMPACT7acquire20ComponentLocatorBase13findComponentERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEii]+0x60): undefined reference toOBJ_GetHandleEx' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::Property::readS(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire8Property5readSEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZNK8mvIMPACT7acquire8Property5readSEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x9c): undefined reference toOBJ_GetSFormattedEx' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::Device::open()': list_cameras.cpp:(.text._ZN8mvIMPACT7acquire6Device4openEv[_ZN8mvIMPACT7acquire6Device4openEv]+0x44): undefined reference toDMR_OpenDevice' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::DeviceManager::updateInfoVector() const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire13DeviceManager16updateInfoVectorEv[_ZNK8mvIMPACT7acquire13DeviceManager16updateInfoVectorEv]+0x80): undefined reference toDMR_GetDeviceCount' list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire13DeviceManager16updateInfoVectorEv[_ZNK8mvIMPACT7acquire13DeviceManager16updateInfoVectorEv]+0xe8): undefined reference to DMR_GetDevice' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In functionmvIMPACT::acquire::DeviceManager::DeviceManager()': list_cameras.cpp:(.text._ZN8mvIMPACT7acquire13DeviceManagerC2Ev[_ZN8mvIMPACT7acquire13DeviceManagerC5Ev]+0x60): undefined reference to DMR_Init' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In functionmvIMPACT::acquire::DeviceManager::~DeviceManager()': list_cameras.cpp:(.text._ZN8mvIMPACT7acquire13DeviceManagerD2Ev[_ZN8mvIMPACT7acquire13DeviceManagerD5Ev]+0x20): undefined reference to DMR_Close' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In functionmvIMPACT::acquire::EnumPropertyI::read(int) const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire13EnumPropertyIIiE4readEi[_ZNK8mvIMPACT7acquire13EnumPropertyIIiE4readEi]+0x38): undefined reference to OBJ_GetI' collect2: error: ld returned 1 exit status bluefox2/src/CMakeFiles/bluefox2_list_cameras.dir/build.make:132: recipe for target '/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_list_cameras' failed make[2]: *** [/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_list_cameras] Error 1 CMakeFiles/Makefile2:2785: recipe for target 'bluefox2/src/CMakeFiles/bluefox2_list_cameras.dir/all' failed make[1]: *** [bluefox2/src/CMakeFiles/bluefox2_list_cameras.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_ImageRequestReset' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetType' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetI' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_AllocImageRequestBufferDesc' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_GetDevice' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_Close' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetF' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetFlags' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_OpenDevice' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetElementCount' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_ReleaseImageBuffer' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ReleaseImageRequestBufferDesc' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_SetF' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDriverHandle' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetFirstChild' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetFDictEntries' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_GetDeviceCount' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetDictSize' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetChangedCounter' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ErrorCodeToString' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetP' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_CloseDevice' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetIDictEntries' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestUnlock' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_SetI' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_FindList' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_Init' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestWaitFor' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetHandleEx' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_IsConstantDefined' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetNextSibling' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetSFormattedEx' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetSWithInplaceConstruction' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestSingle' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_CheckHandle' collect2: error: ld returned 1 exit status /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestReset' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetType' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetI' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_AllocImageRequestBufferDesc' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDevice' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_Close' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetF' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetFlags' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_OpenDevice' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined bluefox2/src/CMakeFiles/bluefox2_stereo_node.dir/build.make:131: recipe for target '/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_stereo_node' failed reference toOBJ_GetElementCount' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ReleaseImageBuffer' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_ReleaseImageRequestBufferDesc' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_SetF' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_GetDriverHandle' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetFirstChild' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetFDictEntries' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDeviceCount' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetDictSize' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference tomake[2]: [/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_stereo_node] Error 1 OBJ_GetChangedCounter' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_ErrorCodeToString' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetP' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_CloseDevice' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetIDictEntries' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_ImageRequestUnlock' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_SetI' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_FindList' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_Init' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_ImageRequestWaitFor' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetHandleEx' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_IsConstantDefined' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetNextSibling' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetSFormattedEx' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetSWithInplaceConstruction' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_ImageRequestSingle' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to `OBJ_CheckHandle' collect2: error: ld returned 1 exit status CMakeFiles/Makefile2:2585: recipe for target 'bluefox2/src/CMakeFiles/bluefox2_stereo_node.dir/all' failed make[1]: [bluefox2/src/CMakeFiles/bluefox2_stereo_node.dir/all] Error 2 bluefox2/src/CMakeFiles/bluefox2_multi_node.dir/build.make:131: recipe for target '/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_multi_node' failed make[2]: [/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_multi_node] Error 1 CMakeFiles/Makefile2:2622: recipe for target 'bluefox2/src/CMakeFiles/bluefox2_multi_node.dir/all' failed make[1]: [bluefox2/src/CMakeFiles/bluefox2_multi_node.dir/all] Error 2 /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestReset' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetType' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetI' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_AllocImageRequestBufferDesc' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDevice' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_Close' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetF' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetFlags' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_OpenDevice' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetElementCount' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ReleaseImageBuffer' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_ReleaseImageRequestBufferDesc' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_SetF' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_GetDriverHandle' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetFirstChild' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetFDictEntries' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDeviceCount' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetDictSize' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetChangedCounter' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_ErrorCodeToString' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetP' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_CloseDevice' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetIDictEntries' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_ImageRequestUnlock' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_SetI' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_FindList' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_Init' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_ImageRequestWaitFor' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetHandleEx' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_IsConstantDefined' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetNextSibling' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toOBJ_GetSFormattedEx' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetSWithInplaceConstruction' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference toDMR_ImageRequestSingle' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to `OBJ_CheckHandle' collect2: error: ld returned 1 exit status bluefox2/src/CMakeFiles/bluefox2_single_node.dir/build.make:131: recipe for target '/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_single_node' failed make[2]: [/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_single_node] Error 1 CMakeFiles/Makefile2:2748: recipe for target 'bluefox2/src/CMakeFiles/bluefox2_single_node.dir/all' failed make[1]: [bluefox2/src/CMakeFiles/bluefox2_single_node.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j4 -l4" failed

Has anyone succeeded on tx2?

peci1 commented 5 years ago

What OS are you running on the Jetson? If it's Ubuntu 18.04 or 16.04, then it is probably impossible to get it working, since matrixvision haven't yet released an arm64 version of the SDK build with C++11 ABI. But the rest of the system uses C++11 ABI, and that's an unresolvable mismatch.

I asked matrixvision to release the missing SDK, so let's see.

wdeyes commented 5 years ago

@peci1 Thank you very much. I did use Ubuntu 16.04 on the Jetson TX2, and it can't work as you said. Later I use Raspberry Pi that runs Ubuntu meta 16.04, and it can work well. I think one possible reason is TX2 is aarch64 while Raspberry Pi is armv7l, which can be got by using uname -m. Finally, I use Intel NUC that is x86. It can also work well and has more computing power than the Raspberry Pi.

peci1 commented 5 years ago

The ABI compile errors on Jetson TX2 are gone with driver version 2.35.0. But then other problems arise, since this driver isn't updated to work with this newer SDK version.

zdavatz commented 3 years ago

I am seeing the exact same problem on my Coral.ai Board trying to compile ContinuousCaptureFFmpeg.cpp doing g++ -I/opt/mvIMPACT_Acquire ContinuousCaptureFFmpeg.cpp -o ffmpeg I get ContinuousCaptureFFmpeg_12.4.2021.txt

peci1 commented 3 years ago

You can try our fork https://github.com/ctu-mrs/bluefox2/. I'm not sure if it's supposed to run on Jetson or not, but it is maintained at least for x86.