Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-136676

Linking against static FFmpeg that is built with OpenSSL support fails

    XMLWordPrintable

Details

    • Linux/Wayland

    Description

      Build ffmpeg with:

      ./configure -enable-openssl ...
      

      And try to build Qt Multimedia against it, and it fails because it doesn't link to libssl & libcrypto:

      [416/424] Linking CXX shared module /home/user/work/qt/build/qtbase/plugins/multimedia/libffmpegmediaplugin.so
      FAILED: /home/user/work/qt/build/qtbase/plugins/multimedia/libffmpegmediaplugin.so 
      : && /usr/bin/c++ -fPIC -g -Og  -Wl,--no-undefined -Wl,--version-script,/home/user/work/qt/qt5/qtmultimedia/src/plugins/multimedia/ffmpeg/QFFmpegMediaPlugin.version -Wl,-z,relro,-z,now -Wl,--enable-new-dtags -Wl,--exclude-libs=libavformat -Wl,--exclude-libs=libavcodec -Wl,--exclude-libs=libswresample -Wl,--exclude-libs=libswscale -Wl,--exclude-libs=libavutil -shared  -o /home/user/work/qt/build/qtbase/plugins/multimedia/libffmpegmediaplugin.so src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/QFFmpegMediaPlugin_autogen/mocs_compilation.cpp.o src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegplugin.cpp.o -L/home/user/Downloads/ffmpeg-7.1.1/instssl/lib -Wl,-rpath,"\$ORIGIN/../../lib:/home/user/Downloads/ffmpeg-7.1.1/instssl/lib:/home/user/work/qt/build/qtbase/lib:"  /home/user/work/qt/build/qtbase/lib/libQt6FFmpegMediaPluginImpl.a  /home/user/work/qt/build/qtbase/lib/libQt6Multimedia.so.6.9.0  -lXrandr  -lXext  /usr/lib/x86_64-linux-gnu/libxkbcommon.so  /home/user/work/qt/build/qtbase/lib/libQt6Quick.so.6.9.0  /home/user/work/qt/build/qtbase/lib/libQt6OpenGL.so.6.9.0  /home/user/work/qt/build/qtbase/lib/libQt6Gui.so.6.9.0  /usr/lib/x86_64-linux-gnu/libGLX.so  /usr/lib/x86_64-linux-gnu/libOpenGL.so  /home/user/work/qt/build/qtbase/lib/libQt6QmlMeta.so.6.9.0  /home/user/work/qt/build/qtbase/lib/libQt6QmlWorkerScript.so.6.9.0  /home/user/work/qt/build/qtbase/lib/libQt6QmlModels.so.6.9.0  /home/user/work/qt/build/qtbase/lib/libQt6Qml.so.6.9.0  /home/user/work/qt/build/qtbase/lib/libQt6Network.so.6.9.0  /home/user/work/qt/build/qtbase/lib/libQt6Core.so.6.9.0  -Wl,-Bstatic  -lavformat  -lavcodec  -Wl,-Bdynamic  -llzma  -Wl,-Bstatic  -lavcodec  -Wl,-Bdynamic  -llzma  -lz  -Wl,-Bstatic  -lswresample  -lswscale  -lavutil  -Wl,-Bdynamic  -ldrm  -Wl,-Bstatic  -lavutil  -Wl,-Bdynamic  -ldrm  -lm  -lX11  -latomic  -Wl,-rpath-link,/home/user/work/qt/build/qtbase/lib && :
      /usr/bin/ld: /home/user/Downloads/ffmpeg-7.1.1/instssl/lib/libavformat.a(rtmpdh.o): in function `dh_is_valid_public_key':
      /home/user/Downloads/ffmpeg-7.1.1/libavformat/rtmpdh.c:288: undefined reference to `BN_new'
      /usr/bin/ld: /home/user/Downloads/ffmpeg-7.1.1/libavformat/rtmpdh.c:293: undefined reference to `BN_set_word'
      (and many others)
      

      Ffmpeg .pc files do contain "-lssl -lcrypto", but those don't seem to be passed on.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              qtmultimediateam Qt Multimedia Team
              poikelin Joni Poikelin
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes