Hi all.
For a while now I have been trying to create a conan package of opencv in my entreprise, I have built it from source, and I have a package that has the libopencv_world.so.4.5.5.
When I include my built package to my cmake project (using c++), the entire compiling works without any issues, so the opencv source is found and used, but the last step, when it’s linkin CXX executable, I first get following warnings :
/usr/bin/ld: warning: libpng16.so.16, needed by <packagePATH>/lib/libopencv_world.so.4.5.5, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libIlmImf-2_3.so.24, needed by <packagePATH>/lib/libopencv_world.so.4.5.5, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libdc1394.so.22, needed by <packagePATH>/lib/libopencv_world.so.4.5.5, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libavcodec.so.58, needed by <packagePATH>/lib/libopencv_world.so.4.5.5, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libavformat.so.58, needed by <packagePATH>/lib/libopencv_world.so.4.5.5, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libavutil.so.56, needed by <packagePATH>/lib/libopencv_world.so.4.5.5, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libswscale.so.5, needed by <packagePATH>/lib/libopencv_world.so.4.5.5, not found (try using -rpath or -rpath-link)
and after that I get a bunch of undefined reference to… :
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `dc1394_video_set_transmission'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `av_log_get_level@LIBAVUTIL_56'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `av_dict_set@LIBAVUTIL_56'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `png_create_read_struct@PNG16_0'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `png_set_interlace_handling@PNG16_0'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `Imf_2_3::Header::dataWindow() const'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()@GLIBCXX_3.4.26'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `dc1394_deinterlace_stereo_frames'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `Imf_2_3::InputFile::InputFile(char const*, int)'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `dc1394_feature_set_value'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `Imf_2_3::FrameBuffer::insert(char const*, Imf_2_3::Slice const&)'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `av_packet_unref@LIBAVCODEC_58'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `av_bsf_receive_packet@LIBAVCODEC_58'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `Imf_2_3::OutputFile::setFrameBuffer(Imf_2_3::FrameBuffer const&)'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `png_set_IHDR@PNG16_0'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `dc1394_video_set_iso_speed'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `av_codec_is_decoder@LIBAVCODEC_58'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `dc1394_feature_set_absolute_control'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `av_hwdevice_find_type_by_name@LIBAVUTIL_56'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `av_hwdevice_get_hwframe_constraints@LIBAVUTIL_56'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `png_get_io_ptr@PNG16_0'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `dc1394_feature_set_power'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `Imf_2_3::Header::compression()'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `av_bsf_init@LIBAVCODEC_58'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `Imf_2_3::ChannelList::findChannel(char const*) const'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `dc1394_feature_get_value'
<packagePATH>/lib/libopencv_world.so.4.5.5: undefined reference to `av_hwdevice_ctx_create_derived@LIBAVUTIL_56'
and many more but I’ll spare you the details.
So first question, are all these undefined references only due to the first 5 warnings or did I wrongly build the libopencv_world library ?
And second question, is it even possible to have my libopencv_world library in a single package, for linux ?
thanks in advance, and feel free to let me know if you need more info