Closed ivangalysh closed 1 year ago
Hi @ivangalysh, thanks for your feedback !
Could you please share the exact error you are getting, so we can better understand your issue ?
If you want to modify the linked libraries, you can have a look at the CMakeList.txt for the related app : https://github.com/prophesee-ai/openeb/blob/ea2cf58a636a6df85c607adc1c857d47c525474b/sdk/modules/core/cpp/samples/metavision_sdk_get_started/CMakeLists.txt#L11.
Getting rid of the dependency on opencv_highgui
should also remove gtk
as it's one of its dependencies.
Sorry for the late response, I was on travel.
The error message when I run my program is: ./camera_h3: error while loading shared libraries: libopencv_highgui.so.4.5: cannot open shared object file: No such file or directory
I did remove opencv_highgui from the CmakeLIst.txt. I even removed it from the CmakeList.txt.install file.
Ivan
Thanks for the feedback @ivangalysh There was indeed an error in SDK Get Started sample which was wrongly requiring OpenCV in CMake file. We fixed this in Release 4.0.1 See this commit: https://github.com/prophesee-ai/openeb/commit/09c57ca3a58c99ad515c548289eec6be9b4ae895#diff-029d0f0902bede65de5f460c0797cb1359579a5261018b6e09fe30b3bf5545f2
Is situation OK for you now? If so, can we close this issue?
I tried again with the 4.0.1 and still getting the requirement for the opencv_highgui library. I ran ldd against the program and that library along with other opencv libraries are still listed.
I did delete the previous version and made sure to delete any installed files located in /usr/local/lib.
let me know where else I can look or if you need any files.
Thanks Ivan
Here is the result of ldd on the program. It appears to want a large number of libraries. I recompiled the older version to see if I get the same result and it doesn't link in everything.
I tried this on two other computers and get the same results.
Ivan
galysh@galysh-virtual-machine:~/openeb/build$ ldd bin/metavision_sdk_get_started linux-vdso.so.1 (0x00007ffcdaa67000) libmetavision_sdk_driver.so.4 => /home/galysh/openeb/build/lib/libmetavision_sdk_driver.so.4 (0x00007f9dd1374000) libmetavision_sdk_ui.so.4 => /home/galysh/openeb/build/lib/libmetavision_sdk_ui.so.4 (0x00007f9dd1355000) libmetavision_sdk_core.so.4 => /home/galysh/openeb/build/lib/libmetavision_sdk_core.so.4 (0x00007f9dd130e000) libopencv_core.so.4.5d => /lib/x86_64-linux-gnu/libopencv_core.so.4.5d (0x00007f9dd0e00000) libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9dd0a00000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9dd12d3000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9dd0600000) libmetavision_hal_discovery.so.4 => /home/galysh/openeb/build/lib/libmetavision_hal_discovery.so.4 (0x00007f9dd12b2000) libboost_filesystem.so.1.74.0 => /lib/x86_64-linux-gnu/libboost_filesystem.so.1.74.0 (0x00007f9dd1292000) libhdf5_serial_cpp.so.103 => /lib/x86_64-linux-gnu/libhdf5_serial_cpp.so.103 (0x00007f9dd121b000) libhdf5_serial.so.103 => /lib/x86_64-linux-gnu/libhdf5_serial.so.103 (0x00007f9dd0200000) libhdf5_ecf_codec.so.1 => /home/galysh/openeb/build/lib/libhdf5_ecf_codec.so.1 (0x00007f9dd1211000) libmetavision_hal.so.4 => /home/galysh/openeb/build/lib/libmetavision_hal.so.4 (0x00007f9dd11bb000) libmetavision_sdk_base.so.4 => /home/galysh/openeb/build/lib/libmetavision_sdk_base.so.4 (0x00007f9dd11a6000) libglfw.so.3 => /lib/x86_64-linux-gnu/libglfw.so.3 (0x00007f9dd0d99000) libGLEW.so.2.2 => /lib/x86_64-linux-gnu/libGLEW.so.2.2 (0x00007f9dd0cdb000) libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f9dd1170000) libOpenGL.so.0 => /lib/x86_64-linux-gnu/libOpenGL.so.0 (0x00007f9dd0caf000) libopencv_highgui.so.4.5d => /lib/x86_64-linux-gnu/libopencv_highgui.so.4.5d (0x00007f9dd0c7d000) libopencv_videoio.so.4.5d => /lib/x86_64-linux-gnu/libopencv_videoio.so.4.5d (0x00007f9dd097a000) libopencv_imgproc.so.4.5d => /lib/x86_64-linux-gnu/libopencv_imgproc.so.4.5d (0x00007f9dcfc00000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9dd0893000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f9dd0c5f000) libtbb.so.2 => /lib/x86_64-linux-gnu/libtbb.so.2 (0x00007f9dd084d000) /lib64/ld-linux-x86-64.so.2 (0x00007f9dd1452000) libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f9dcf600000) libcurl.so.4 => /lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f9dd0159000) libsz.so.2 => /lib/x86_64-linux-gnu/libsz.so.2 (0x00007f9dd0c5a000) libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f9dcfac0000) libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007f9dcf579000) libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f9dcf4c1000) libopencv_imgcodecs.so.4.5d => /lib/x86_64-linux-gnu/libopencv_imgcodecs.so.4.5d (0x00007f9dd05a7000) libgtk-3.so.0 => /lib/x86_64-linux-gnu/libgtk-3.so.0 (0x00007f9dcec00000) libgdk-3.so.0 => /lib/x86_64-linux-gnu/libgdk-3.so.0 (0x00007f9dceaf9000) libcairo.so.2 => /lib/x86_64-linux-gnu/libcairo.so.2 (0x00007f9dce9d1000) libgdk_pixbuf-2.0.so.0 => /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007f9dcfa90000) libgobject-2.0.so.0 => /lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f9dcf461000) libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f9dce897000) libdc1394.so.25 => /lib/x86_64-linux-gnu/libdc1394.so.25 (0x00007f9dce81f000) libgstbase-1.0.so.0 => /lib/x86_64-linux-gnu/libgstbase-1.0.so.0 (0x00007f9dce79a000) libgstreamer-1.0.so.0 => /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0 (0x00007f9dce649000) libgstapp-1.0.so.0 => /lib/x86_64-linux-gnu/libgstapp-1.0.so.0 (0x00007f9dd0c3e000) libgstriff-1.0.so.0 => /lib/x86_64-linux-gnu/libgstriff-1.0.so.0 (0x00007f9dd0c2d000) libgstpbutils-1.0.so.0 => /lib/x86_64-linux-gnu/libgstpbutils-1.0.so.0 (0x00007f9dcfa4c000) libgstvideo-1.0.so.0 => /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0 (0x00007f9dce584000) libavcodec.so.58 => /lib/x86_64-linux-gnu/libavcodec.so.58 (0x00007f9dcd000000) libavformat.so.58 => /lib/x86_64-linux-gnu/libavformat.so.58 (0x00007f9dccc00000) libavutil.so.56 => /lib/x86_64-linux-gnu/libavutil.so.56 (0x00007f9dcc800000) libswscale.so.5 => /lib/x86_64-linux-gnu/libswscale.so.5 (0x00007f9dce4e6000) libgphoto2.so.6 => /lib/x86_64-linux-gnu/libgphoto2.so.6 (0x00007f9dce461000) libgphoto2_port.so.12 => /lib/x86_64-linux-gnu/libgphoto2_port.so.12 (0x00007f9dd083f000) libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007f9dd012f000) libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f9dcf440000) librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f9dce442000) libssh.so.4 => /lib/x86_64-linux-gnu/libssh.so.4 (0x00007f9dccf93000) libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007f9dd0829000) libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007f9dcceef000) libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f9dcce9b000) libldap-2.5.so.0 => /lib/x86_64-linux-gnu/libldap-2.5.so.0 (0x00007f9dccba1000) liblber-2.5.so.0 => /lib/x86_64-linux-gnu/liblber-2.5.so.0 (0x00007f9dd0594000) libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f9dccad2000) libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f9dcf432000) libaec.so.0 => /lib/x86_64-linux-gnu/libaec.so.0 (0x00007f9dcfa43000) libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f9dce418000) libjpeg.so.8 => /lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007f9dcc77f000) libwebp.so.7 => /lib/x86_64-linux-gnu/libwebp.so.7 (0x00007f9dcc713000) libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f9dcc6d8000) libgdcmMSFF.so.3.0 => /lib/x86_64-linux-gnu/libgdcmMSFF.so.3.0 (0x00007f9dcc4f0000) libtiff.so.5 => /lib/x86_64-linux-gnu/libtiff.so.5 (0x00007f9dcc46a000) libopenjp2.so.7 => /lib/x86_64-linux-gnu/libopenjp2.so.7 (0x00007f9dcc412000) libIlmImf-2_5.so.25 => /lib/x86_64-linux-gnu/libIlmImf-2_5.so.25 (0x00007f9dcc000000) libgdal.so.30 => /lib/libgdal.so.30 (0x00007f9dca800000) libgdcmDSED.so.3.0 => /lib/x86_64-linux-gnu/libgdcmDSED.so.3.0 (0x00007f9dcc31a000) libgmodule-2.0.so.0 => /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f9dcf429000) libpangocairo-1.0.so.0 => /lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007f9dccac0000) libXi.so.6 => /lib/x86_64-linux-gnu/libXi.so.6 (0x00007f9dcc306000) libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f9dce40e000) libcairo-gobject.so.2 => /lib/x86_64-linux-gnu/libcairo-gobject.so.2 (0x00007f9dcc2fa000) libatk-1.0.so.0 => /lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007f9dcbfd6000) libatk-bridge-2.0.so.0 => /lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0 (0x00007f9dcbf9e000) libepoxy.so.0 => /lib/x86_64-linux-gnu/libepoxy.so.0 (0x00007f9dcbe69000) libfribidi.so.0 => /lib/x86_64-linux-gnu/libfribidi.so.0 (0x00007f9dcc2de000) libgio-2.0.so.0 => /lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f9dca628000) libpangoft2-1.0.so.0 => /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007f9dcbe4e000) libpango-1.0.so.0 => /lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007f9dca5c1000) libharfbuzz.so.0 => /lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f9dca4f2000) libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f9dca4a8000) libXinerama.so.1 => /lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f9dccabb000) libXrandr.so.2 => /lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f9dcbe41000) libXcursor.so.1 => /lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007f9dcbe35000) libXcomposite.so.1 => /lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007f9dcc2d9000) libXdamage.so.1 => /lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f9dcc2d4000) libxkbcommon.so.0 => /lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007f9dca461000) libwayland-cursor.so.0 => /lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007f9dcbe2b000) libwayland-egl.so.1 => /lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007f9dcbe26000) libwayland-client.so.0 => /lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007f9dcbe15000) libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007f9dca44c000) libpixman-1.so.0 => /lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007f9dca3a1000) libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f9dca2d9000) libxcb-shm.so.0 => /lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007f9dcbe10000) libxcb-render.so.0 => /lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007f9dca2ca000) libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f9dca2bd000) libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007f9dca2b0000) libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f9dca23a000) libraw1394.so.11 => /lib/x86_64-linux-gnu/libraw1394.so.11 (0x00007f9dca229000) libusb-1.0.so.0 => /lib/x86_64-linux-gnu/libusb-1.0.so.0 (0x00007f9dca20b000) libunwind.so.8 => /lib/x86_64-linux-gnu/libunwind.so.8 (0x00007f9dca1f0000) libdw.so.1 => /lib/x86_64-linux-gnu/libdw.so.1 (0x00007f9dca144000) libgstaudio-1.0.so.0 => /lib/x86_64-linux-gnu/libgstaudio-1.0.so.0 (0x00007f9dca0c2000) libgsttag-1.0.so.0 => /lib/x86_64-linux-gnu/libgsttag-1.0.so.0 (0x00007f9dca080000) liborc-0.4.so.0 => /lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007f9dc9ffb000) libswresample.so.3 => /lib/x86_64-linux-gnu/libswresample.so.3 (0x00007f9dc9fd9000) libvpx.so.7 => /lib/x86_64-linux-gnu/libvpx.so.7 (0x00007f9dc9c00000) libwebpmux.so.3 => /lib/x86_64-linux-gnu/libwebpmux.so.3 (0x00007f9dc9fcc000) liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f9dc9fa1000) libdav1d.so.5 => /lib/x86_64-linux-gnu/libdav1d.so.5 (0x00007f9dc9a7a000) librsvg-2.so.2 => /lib/x86_64-linux-gnu/librsvg-2.so.2 (0x00007f9dc8e00000) libzvbi.so.0 => /lib/x86_64-linux-gnu/libzvbi.so.0 (0x00007f9dc9f12000) libsnappy.so.1 => /lib/x86_64-linux-gnu/libsnappy.so.1 (0x00007f9dc9a70000) libaom.so.3 => /lib/x86_64-linux-gnu/libaom.so.3 (0x00007f9dc8800000) libcodec2.so.1.0 => /lib/x86_64-linux-gnu/libcodec2.so.1.0 (0x00007f9dc7800000) libgsm.so.1 => /lib/x86_64-linux-gnu/libgsm.so.1 (0x00007f9dc9a61000) libmp3lame.so.0 => /lib/x86_64-linux-gnu/libmp3lame.so.0 (0x00007f9dc99ec000) libopus.so.0 => /lib/x86_64-linux-gnu/libopus.so.0 (0x00007f9dc998e000) libshine.so.3 => /lib/x86_64-linux-gnu/libshine.so.3 (0x00007f9dc7400000) libspeex.so.1 => /lib/x86_64-linux-gnu/libspeex.so.1 (0x00007f9dc9970000) libtheoraenc.so.1 => /lib/x86_64-linux-gnu/libtheoraenc.so.1 (0x00007f9dc9938000) libtheoradec.so.1 => /lib/x86_64-linux-gnu/libtheoradec.so.1 (0x00007f9dc991a000) libtwolame.so.0 => /lib/x86_64-linux-gnu/libtwolame.so.0 (0x00007f9dc98f5000) libvorbis.so.0 => /lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f9dc98c8000) libvorbisenc.so.2 => /lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f9dc8755000) libx264.so.163 => /lib/x86_64-linux-gnu/libx264.so.163 (0x00007f9dc7000000) libx265.so.199 => /lib/x86_64-linux-gnu/libx265.so.199 (0x00007f9dc6000000) libxvidcore.so.4 => /lib/x86_64-linux-gnu/libxvidcore.so.4 (0x00007f9dc76ed000) libva.so.2 => /lib/x86_64-linux-gnu/libva.so.2 (0x00007f9dc8dcf000) libmfx.so.1 => /lib/x86_64-linux-gnu/libmfx.so.1 (0x00007f9dc98ba000) libxml2.so.2 => /lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f9dc5e1e000) libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f9dc8dbc000) libgme.so.0 => /lib/x86_64-linux-gnu/libgme.so.0 (0x00007f9dc8705000) libopenmpt.so.0 => /lib/x86_64-linux-gnu/libopenmpt.so.0 (0x00007f9dc5c5d000) libchromaprint.so.1 => /lib/x86_64-linux-gnu/libchromaprint.so.1 (0x00007f9dc8dad000) libbluray.so.2 => /lib/x86_64-linux-gnu/libbluray.so.2 (0x00007f9dc86ae000) libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f9dc5a72000) librabbitmq.so.4 => /lib/x86_64-linux-gnu/librabbitmq.so.4 (0x00007f9dc8d93000) libsrt-gnutls.so.1.4 => /lib/x86_64-linux-gnu/libsrt-gnutls.so.1.4 (0x00007f9dc762e000) libssh-gcrypt.so.4 => /lib/x86_64-linux-gnu/libssh-gcrypt.so.4 (0x00007f9dc7376000) libzmq.so.5 => /lib/x86_64-linux-gnu/libzmq.so.5 (0x00007f9dc72da000) libva-drm.so.2 => /lib/x86_64-linux-gnu/libva-drm.so.2 (0x00007f9dc8d8e000) libva-x11.so.2 => /lib/x86_64-linux-gnu/libva-x11.so.2 (0x00007f9dc8d84000) libvdpau.so.1 => /lib/x86_64-linux-gnu/libvdpau.so.1 (0x00007f9dc8d7e000) libdrm.so.2 => /lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f9dc7618000) libOpenCL.so.1 => /lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f9dc72c8000) libltdl.so.7 => /lib/x86_64-linux-gnu/libltdl.so.7 (0x00007f9dc8d73000) libexif.so.12 => /lib/x86_64-linux-gnu/libexif.so.12 (0x00007f9dc6fb2000) libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f9dc58c8000) libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007f9dc6f6a000) libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007f9dc5882000) libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f9dc5800000) libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f9dc5735000) libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f9dc5706000) libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f9dc7612000) libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f9dc56f8000) libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f9dc56dd000) libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f9dc56ba000) libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f9dc760c000) libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f9dc56b2000) libgdcmDICT.so.3.0 => /lib/x86_64-linux-gnu/libgdcmDICT.so.3.0 (0x00007f9dc5200000) libgdcmjpeg8.so.3.0 => /lib/x86_64-linux-gnu/libgdcmjpeg8.so.3.0 (0x00007f9dc5688000) libgdcmjpeg12.so.3.0 => /lib/x86_64-linux-gnu/libgdcmjpeg12.so.3.0 (0x00007f9dc565e000) libgdcmjpeg16.so.3.0 => /lib/x86_64-linux-gnu/libgdcmjpeg16.so.3.0 (0x00007f9dc5634000) libcharls.so.2 => /lib/x86_64-linux-gnu/libcharls.so.2 (0x00007f9dc55e3000) libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f9dc55da000) libjson-c.so.5 => /lib/x86_64-linux-gnu/libjson-c.so.5 (0x00007f9dc55c7000) libgdcmIOD.so.3.0 => /lib/x86_64-linux-gnu/libgdcmIOD.so.3.0 (0x00007f9dc55b1000) libgdcmCommon.so.3.0 => /lib/x86_64-linux-gnu/libgdcmCommon.so.3.0 (0x00007f9dc558c000) libjbig.so.0 => /lib/x86_64-linux-gnu/libjbig.so.0 (0x00007f9dc557b000) libdeflate.so.0 => /lib/x86_64-linux-gnu/libdeflate.so.0 (0x00007f9dc5557000) libImath-2_5.so.25 => /lib/x86_64-linux-gnu/libImath-2_5.so.25 (0x00007f9dc553f000) libIlmThread-2_5.so.25 => /lib/x86_64-linux-gnu/libIlmThread-2_5.so.25 (0x00007f9dc5535000) libHalf-2_5.so.25 => /lib/x86_64-linux-gnu/libHalf-2_5.so.25 (0x00007f9dc54f0000) libIex-2_5.so.25 => /lib/x86_64-linux-gnu/libIex-2_5.so.25 (0x00007f9dc5192000) libheif.so.1 => /lib/x86_64-linux-gnu/libheif.so.1 (0x00007f9dc510f000) libarmadillo.so.10 => /lib/libarmadillo.so.10 (0x00007f9dc54dc000) libpoppler.so.118 => /lib/x86_64-linux-gnu/libpoppler.so.118 (0x00007f9dc4c00000) libfreexl.so.1 => /lib/x86_64-linux-gnu/libfreexl.so.1 (0x00007f9dc54d0000) libqhull_r.so.8.0 => /lib/x86_64-linux-gnu/libqhull_r.so.8.0 (0x00007f9dc509c000) libgeos_c.so.1 => /lib/x86_64-linux-gnu/libgeos_c.so.1 (0x00007f9dc505d000) libodbc.so.2 => /lib/x86_64-linux-gnu/libodbc.so.2 (0x00007f9dc4fee000) libodbcinst.so.2 => /lib/x86_64-linux-gnu/libodbcinst.so.2 (0x00007f9dc4fd9000) libkmlbase.so.1 => /lib/x86_64-linux-gnu/libkmlbase.so.1 (0x00007f9dc4fbc000) libkmldom.so.1 => /lib/x86_64-linux-gnu/libkmldom.so.1 (0x00007f9dc4b60000) libkmlengine.so.1 => /lib/x86_64-linux-gnu/libkmlengine.so.1 (0x00007f9dc4f83000) libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f9dc4b2f000) libxerces-c-3.2.so => /lib/x86_64-linux-gnu/libxerces-c-3.2.so (0x00007f9dc4600000) libnetcdf.so.19 => /lib/x86_64-linux-gnu/libnetcdf.so.19 (0x00007f9dc49d8000) libmfhdfalt.so.0 => /lib/libmfhdfalt.so.0 (0x00007f9dc4f59000) libdfalt.so.0 => /lib/libdfalt.so.0 (0x00007f9dc455b000) libogdi.so.4.1 => /lib/libogdi.so.4.1 (0x00007f9dc49bc000) libgif.so.7 => /lib/x86_64-linux-gnu/libgif.so.7 (0x00007f9dc54c5000) libgeotiff.so.5 => /lib/x86_64-linux-gnu/libgeotiff.so.5 (0x00007f9dc4987000) libcfitsio.so.9 => /lib/x86_64-linux-gnu/libcfitsio.so.9 (0x00007f9dc4200000) libpq.so.5 => /lib/x86_64-linux-gnu/libpq.so.5 (0x00007f9dc4509000) liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f9dc4967000) libblosc.so.1 => /lib/x86_64-linux-gnu/libblosc.so.1 (0x00007f9dc4956000) libproj.so.22 => /lib/x86_64-linux-gnu/libproj.so.22 (0x00007f9dc3e00000) libsqlite3.so.0 => /lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f9dc3cb3000) libspatialite.so.7 => /lib/x86_64-linux-gnu/libspatialite.so.7 (0x00007f9dc3400000) libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007f9dc4169000) libfyba.so.0 => /lib/x86_64-linux-gnu/libfyba.so.0 (0x00007f9dc3c5b000) libmysqlclient.so.21 => /lib/x86_64-linux-gnu/libmysqlclient.so.21 (0x00007f9dc2c00000) libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f9dc3c0d000) libatspi.so.0 => /lib/x86_64-linux-gnu/libatspi.so.0 (0x00007f9dc33c6000) libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007f9dc3382000) libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f9dc3356000) libthai.so.0 => /lib/x86_64-linux-gnu/libthai.so.0 (0x00007f9dc3c02000) libgraphite2.so.3 => /lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f9dc332f000) libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f9dc3305000) libelf.so.1 => /lib/x86_64-linux-gnu/libelf.so.1 (0x00007f9dc3be4000) libsoxr.so.0 => /lib/x86_64-linux-gnu/libsoxr.so.0 (0x00007f9dc329e000) libogg.so.0 => /lib/x86_64-linux-gnu/libogg.so.0 (0x00007f9dc3293000) libnuma.so.1 => /lib/x86_64-linux-gnu/libnuma.so.1 (0x00007f9dc2bf3000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9dc328e000) libicuuc.so.70 => /lib/x86_64-linux-gnu/libicuuc.so.70 (0x00007f9dc29f8000) libmpg123.so.0 => /lib/x86_64-linux-gnu/libmpg123.so.0 (0x00007f9dc299c000) libvorbisfile.so.3 => /lib/x86_64-linux-gnu/libvorbisfile.so.3 (0x00007f9dc2991000) libudfread.so.0 => /lib/x86_64-linux-gnu/libudfread.so.0 (0x00007f9dc2986000) libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f9dc284b000) libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f9dc2833000) libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f9dc26f5000) libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f9dc26cf000) libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f9dc26b7000) libsodium.so.23 => /lib/x86_64-linux-gnu/libsodium.so.23 (0x00007f9dc265f000) libpgm-5.3.so.0 => /lib/x86_64-linux-gnu/libpgm-5.3.so.0 (0x00007f9dc260e000) libnorm.so.1 => /lib/x86_64-linux-gnu/libnorm.so.1 (0x00007f9dc24e3000) libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f9dc24dc000) libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f9dc24c8000) libde265.so.0 => /lib/x86_64-linux-gnu/libde265.so.0 (0x00007f9dc241e000) libblas.so.3 => /lib/x86_64-linux-gnu/libblas.so.3 (0x00007f9dc2378000) liblapack.so.3 => /lib/x86_64-linux-gnu/liblapack.so.3 (0x00007f9dc1c00000) libarpack.so.2 => /lib/x86_64-linux-gnu/libarpack.so.2 (0x00007f9dc1bb8000) libsuperlu.so.5 => /lib/x86_64-linux-gnu/libsuperlu.so.5 (0x00007f9dc1b46000) liblcms2.so.2 => /lib/x86_64-linux-gnu/liblcms2.so.2 (0x00007f9dc1ae4000) libnss3.so => /lib/x86_64-linux-gnu/libnss3.so (0x00007f9dc19b7000) libsmime3.so => /lib/x86_64-linux-gnu/libsmime3.so (0x00007f9dc234e000) libplc4.so => /lib/x86_64-linux-gnu/libplc4.so (0x00007f9dc2347000) libnspr4.so => /lib/x86_64-linux-gnu/libnspr4.so (0x00007f9dc1977000) libgeos.so.3.10.2 => /lib/x86_64-linux-gnu/libgeos.so.3.10.2 (0x00007f9dc1600000) libminizip.so.1 => /lib/x86_64-linux-gnu/libminizip.so.1 (0x00007f9dc1200000) liburiparser.so.1 => /lib/x86_64-linux-gnu/liburiparser.so.1 (0x00007f9dc1960000) libcurl-gnutls.so.4 => /lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f9dc18be000) libhdf5_serial_hl.so.100 => /lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100 (0x00007f9dc1899000) libtirpc.so.3 => /lib/x86_64-linux-gnu/libtirpc.so.3 (0x00007f9dc186b000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9dc2340000) librttopo.so.1 => /lib/x86_64-linux-gnu/librttopo.so.1 (0x00007f9dc158d000) libfyut.so.0 => /lib/x86_64-linux-gnu/libfyut.so.0 (0x00007f9dc1860000) libfygm.so.0 => /lib/x86_64-linux-gnu/libfygm.so.0 (0x00007f9dc1857000) libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f9dc14c6000) libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007f9dc1820000) libdatrie.so.1 => /lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007f9dc1817000) libgomp.so.1 => /lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f9dc147c000) libicudata.so.70 => /lib/x86_64-linux-gnu/libicudata.so.70 (0x00007f9dbf400000) libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007f9dc146f000) libgfortran.so.5 => /lib/x86_64-linux-gnu/libgfortran.so.5 (0x00007f9dbf000000) libnssutil3.so => /lib/x86_64-linux-gnu/libnssutil3.so (0x00007f9dc143d000) libplds4.so => /lib/x86_64-linux-gnu/libplds4.so (0x00007f9dc1812000) libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007f9dc1432000) libquadmath.so.0 => /lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f9dc11b8000)
Hi @ivangalysh
The base library metavision_sdk_core
also depends on opencv_highgui
as you can see here.
https://github.com/prophesee-ai/openeb/blob/09c57ca3a58c99ad515c548289eec6be9b4ae895/sdk/modules/core/cpp/lib/CMakeLists.txt#L29
This is a requirement for simple_displayer.cpp that makes use of OpenCV Gui.
If you don't use it, you can comment it our from the CmakeList here : https://github.com/prophesee-ai/openeb/blob/09c57ca3a58c99ad515c548289eec6be9b4ae895/sdk/modules/core/cpp/src/CMakeLists.txt#L21.
This should get rid of the dependency.
I did that and more to where I was able to generate the libraries with no references to opencv and gtk and my code also doesn't want those libraries.
Along with the simple_displayer.cpp, I had to comment out anything that generates a frame or does anything with video. The overall cmake fails after compiling and linking metavision_sdk_getting_started so the code and libraries I want do get compiled and linked.
I think I am good for now. I just have to learn how to add pixel masking to my code. Does pixel masking require opencv?
You can close this out. Thanks for all your help. Ivan
Hello @ivangalysh , we will clean our code to avoid unnecessary OpenCV dependency in our next version. Thanks for the feedback. About your question on "pixel masking", can you explain what you are willing to achieve? Best, Laurent
We want to mask out any stuck pixels that may trigger more than it should. We have one sensor that has one pixel that triggers frequently and want to disable it. For our misssion we want to disable pixels that trigger when they are not supposed to.
Ivan
If you are using one of Prophesee last generation sensor (Gen41 and IMX636), you can leverage the Digital Event Mask feature that is available through the HAL C++ API (see API doc). You can see it in action in the sample metavision_hal_showcase: https://docs.prophesee.ai/stable/metavision_sdk/modules/hal/samples/hal_showcase.html
Here is the piece of code related to the mask:
Metavision::I_DigitalEventMask *digital_event_mask = device->get_facility<Metavision::I_DigitalEventMask>();
if (pixel_mask_coord.size() && digital_event_mask) {
try {
auto tokens = tokenize(pixel_mask_coord, ",");
if (tokens.size() < 2) {
throw std::runtime_error{"Failed to parse pixel coordinates"};
}
size_t x = tokens[0];
size_t y = tokens[1];
std::cout << "Masking pixel {" << x << "," << y << "} - no event will be generated by this pixel \n";
auto masks = digital_event_mask->get_pixel_masks();
if (masks.size() >= 1) {
masks[0]->set_mask(x, y, true);
}
} catch (...) {
std::cerr << "Failed to parse Pixel mask coordinates : " << pixel_mask_coord
<< " - please see helper description \n";
}
}
Hope this helps, Laurent
Thanks for pointing me to this. I am now using the showcase code as my base. I was able to remove all GUI and opencv and it compiles properly and runs on the ARM computer. I am now customizing it to meet my requirements.
Thanks for your help.
Ivan
Quick question. How many pixels can I mask? I checked the size of the mask and it looks like up to 64 can be added. Is that correct?
Ivan
Quick question. How many pixels can I mask? I checked the size of the mask and it looks like up to 64 can be added. Is that correct?
yes, this is correct, you can mask up to 64 pixels.
I just downloaded the new openeb and recompiled my code that grabs events, reformats and passes the results to another program. It has been working with the older version of openeb. The newly compiled code is looking for opencv libraries and gtk libraries. How do I stop getting these libraries linked in when I don't use them. I am modifying the metavision_sdk_get_started.cpp
I have been cross compiling the code to operate on an ARM processor. I would like to use the new openeb since it has added the pixel masking.
Thanks Ivan