Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Qt 7.6.1 problem building qtmultimedia with ffmpeg plugin
Servers for Qt installer are currently down

Qt 7.6.1 problem building qtmultimedia with ffmpeg plugin

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
6 Posts 2 Posters 912 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    CG-123
    wrote on 14 May 2024, 13:24 last edited by
    #1

    I am trying to build Qt 7.6.1 from the git sources on Ubuntu 22.04 so I can create a custom version of ffmpeg and QT Creator. So far I have managed to build everything in the Qt 7.6.1 source except the multimedia module with ffmpeg plugin enabled.

    I am getting an error stopping the build which is

    /usr/bin/ld: qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpeg.cpp.o: in function `QFFmpeg::createResampleContext(QFFmpeg::AVAudioFormat const&, QFFmpeg::AVAudioFormat const&)':
    qffmpeg.cpp:(.text+0xd27): undefined reference to `swr_alloc_set_opts2'
    

    After a bit of digging around I can see that swr_alloc_set_opts2 is in FFmpeg libsswresample and so assume I have something not configured correctly for this to be found or linked to.

    When running configure in verbose mode the result for qtmultimedia is

    -- Configuring submodule 'qtmultimedia'
    -- [QtMultimedia] Could NOT find AVFoundation (missing: AVFoundation_LIBRARY) 
    -- [QtMultimedia] Found GLIB2: /usr/lib/x86_64-linux-gnu/libglib-2.0.so   
    -- [QtMultimedia] Checking for module 'gobject-2.0'
    -- [QtMultimedia]   Found gobject-2.0, version 2.72.4
    -- [QtMultimedia] Found GStreamer: TRUE   
    -- [QtMultimedia] Found GLIB2: /usr/lib/x86_64-linux-gnu/libglib-2.0.so   
    -- [QtMultimedia] Found GStreamer: TRUE  found components: App 
    -- [QtMultimedia] Found GLIB2: /usr/lib/x86_64-linux-gnu/libglib-2.0.so   
    -- [QtMultimedia] Found GStreamer: TRUE  found components: Photography 
    -- [QtMultimedia] Found GLIB2: /usr/lib/x86_64-linux-gnu/libglib-2.0.so   
    -- [QtMultimedia] Found GStreamer: TRUE  found components: Gl 
    -- [QtMultimedia] Could NOT find MMRendererCore (missing: MMRendererCore_LIBRARY) 
    -- [QtMultimedia] Could NOT find MMRenderer (missing: MMRenderer_LIBRARY) 
    -- [QtMultimedia] Could NOT find WMF (missing: WMF_STRMIIDS_LIBRARY WMF_AMSTRMID_LIBRARY WMF_DMOGUIDS_LIBRARY WMF_MSDMO_LIBRARY WMF_OLE32_LIBRARY WMF_OLEAUT32_LIBRARY WMF_MF_LIBRARY WMF_MFUUID_LIBRARY WMF_MFPLAT_LIBRARY WMF_MFCORE_LIBRARY WMF_PROPSYS_LIBRARY) 
    -- [QtMultimedia] FFmpeg shared libs: /usr/lib/x86_64-linux-gnu/libavcodec.so;/usr/lib/x86_64-linux-gnu/libavcodec.so.58;/usr/lib/x86_64-linux-gnu/libavcodec.so.58.134.100;/usr/lib/x86_64-linux-gnu/libavformat.so;/usr/lib/x86_64-linux-gnu/libavformat.so.58;/usr/lib/x86_64-linux-gnu/libavformat.so.58.76.100;/usr/lib/x86_64-linux-gnu/libavutil.so;/usr/lib/x86_64-linux-gnu/libavutil.so.56;/usr/lib/x86_64-linux-gnu/libavutil.so.56.70.100;/usr/lib/x86_64-linux-gnu/libswresample.so;/usr/lib/x86_64-linux-gnu/libswresample.so.3;/usr/lib/x86_64-linux-gnu/libswresample.so.3.9.100;/usr/lib/x86_64-linux-gnu/libswscale.so;/usr/lib/x86_64-linux-gnu/libswscale.so.5;/usr/lib/x86_64-linux-gnu/libswscale.so.5.9.100
    -- [QtMultimedia] Generated QtModulePlugins.cmake files for the following modules: Multimedia
    

    So if configure is finding the relevant libraries why is the build then failing later?

    I'm sure it is something relatively simple in the include file or library links somewhere I must need to tweak but totally stumped how to resolve this. Can anyone offer any suggestions on what I am doing wrong or what to try?

    Thanks in advance.

    1 Reply Last reply
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 14 May 2024, 18:49 last edited by
      #2

      Hi and welcome to devnet,

      It's going to be hard to help you, you are building code not existing yet :-D (Qt 7 is not planned yet).

      Back to your issue, did you check whether the library is linked at all with the plugin ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      C 1 Reply Last reply 14 May 2024, 19:45
      0
      • C Offline
        C Offline
        CG-123
        wrote on 14 May 2024, 18:51 last edited by CG-123
        #3

        Ooops my bad Should have said Qt 6.7.1 !!
        and can't update the original now :-(

        1 Reply Last reply
        0
        • S SGaist
          14 May 2024, 18:49

          Hi and welcome to devnet,

          It's going to be hard to help you, you are building code not existing yet :-D (Qt 7 is not planned yet).

          Back to your issue, did you check whether the library is linked at all with the plugin ?

          C Offline
          C Offline
          CG-123
          wrote on 14 May 2024, 19:45 last edited by
          #4

          @SGaist How can I check the library is linked with the plugin ?

          As far as I understand the line being built is

          5915/6611] Linking CXX shared module qtbase/plugins/multimedia/libffmpegmediaplugin.so
          FAILED: qtbase/plugins/multimedia/libffmpegmediaplugin.so 
          : && /usr/bin/c++ -fPIC -DNDEBUG -O2  -Wl,--no-undefined -Wl,--version-script,/home/chris/Qt/qt6build/qtmultimedia/src/plugins/multimedia/ffmpeg/QFFmpegMediaPlugin.version -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 qtbase/plugins/multimedia/libffmpegmediaplugin.so qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/QFFmpegMediaPlugin_autogen/mocs_compilation.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpeg.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegioutils.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegavaudioformat.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegaudiodecoder.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegaudioinput.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpeghwaccel.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegmediametadata.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegmediaplayer.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegvideosink.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegmediaformatinfo.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegmediaintegration.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegvideobuffer.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegimagecapture.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegmediacapturesession.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegmediarecorder.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegthread.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegresampler.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegencodingformatcontext.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qgrabwindowsurfacecapture.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegsurfacecapturegrabber.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegplaybackengine.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/playbackengine/qffmpegplaybackengineobject.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/playbackengine/qffmpegdemuxer.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/playbackengine/qffmpegstreamdecoder.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/playbackengine/qffmpegrenderer.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/playbackengine/qffmpegaudiorenderer.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/playbackengine/qffmpegvideorenderer.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/playbackengine/qffmpegsubtitlerenderer.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/playbackengine/qffmpegtimecontroller.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/playbackengine/qffmpegmediadataholder.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/playbackengine/qffmpegcodec.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/recordingengine/qffmpegaudioencoder.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/recordingengine/qffmpegaudioencoderutils.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/recordingengine/qffmpegencoderthread.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/recordingengine/qffmpegencoderoptions.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/recordingengine/qffmpegmuxer.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/recordingengine/qffmpegrecordingengine.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/recordingengine/qffmpegvideoencoder.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/recordingengine/qffmpegvideoencoderutils.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/recordingengine/qffmpegvideoframeencoder.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegsymbolsresolveutils.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpegvaapisymbols.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qffmpeghwaccel_vaapi.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qx11surfacecapture.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qx11capturablewindows.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qeglfsscreencapture.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qopenglvideobuffer.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qv4l2camera.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qv4l2filedescriptor.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qv4l2memorytransfer.cpp.o qtmultimedia/src/plugins/multimedia/ffmpeg/CMakeFiles/QFFmpegMediaPlugin.dir/qv4l2cameradevices.cpp.o  -Wl,-rpath,/home/chris/Qt/qt6build/qtbase/lib:  /usr/lib/x86_64-linux-gnu/libEGL.so  -lX11  -lXrandr  -lXext  qtbase/lib/libQt6Quick.so.6.7.1  qtbase/lib/libQt6Multimedia.so.6.7.1  /usr/lib/x86_64-linux-gnu/libxkbcommon.so  qtbase/lib/libQt6OpenGL.so.6.7.1  qtbase/lib/libQt6Gui.so.6.7.1  /usr/lib/x86_64-linux-gnu/libGLX.so  /usr/lib/x86_64-linux-gnu/libOpenGL.so  qtbase/lib/libQt6QmlModels.so.6.7.1  qtbase/lib/libQt6Qml.so.6.7.1  qtbase/lib/libQt6QmlBuiltins.a  qtbase/lib/libQt6Network.so.6.7.1  qtbase/lib/libQt6Core.so.6.7.1  -lavformat  -lavcodec  -lswresample  -lswscale  -lavutil  -Wl,-rpath-link,/home/chris/Qt/qt6build/qtbase/lib && :
          

          and the option -lswresample should be doing it.

          I'm not an expert in Cmake and the tools so please let me know if I need to look somewhere else.

          1 Reply Last reply
          0
          • S Offline
            S Offline
            SGaist
            Lifetime Qt Champion
            wrote on 19 May 2024, 18:45 last edited by
            #5

            It should already be there but did you check the library to see if the symbol is available ? I don't see a reason for it not to be there though but at least it will remove a suspect.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            C 1 Reply Last reply 22 May 2024, 11:58
            0
            • S SGaist
              19 May 2024, 18:45

              It should already be there but did you check the library to see if the symbol is available ? I don't see a reason for it not to be there though but at least it will remove a suspect.

              C Offline
              C Offline
              CG-123
              wrote on 22 May 2024, 11:58 last edited by
              #6

              @SGaist I couldn't find anything that was wrong or why it was not working so decided to spend my time/energy in getting a clean install of Ubuntu 24.04 up and running and then built Qt6.7.1 with all the dependancies. I've just built QT Creator succesfully against my 671 build and so got what I wanted in the end.

              Thanks for your comments and pointers, time to go play with making Creator widget plug ins now :-)

              1 Reply Last reply
              0

              1/6

              14 May 2024, 13:24

              • Login

              • Login or register to search.
              1 out of 6
              • First post
                1/6
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups
              • Search
              • Get Qt Extensions
              • Unsolved