jurplel / install-qt-action

Install Qt on your Github Actions workflows with just one simple action
MIT License
459 stars 78 forks source link

Qt6 multimedia is missing the gstreamer dependencies #129

Closed drfiemost closed 1 year ago

drfiemost commented 2 years ago

When using Qt 6.2 the multimedia module is considered an addon, it downloads correctly but it doesn't bring the necessary dependencies (the gstreamer libs) causing a build error:

[ 96%] Linking CXX executable musiqt
/usr/bin/ld: warning: libgstpbutils-1.0.so.0, needed by /home/runner/work/musiqt/Qt/6.2.0/gcc_64/lib/libQt6Multimedia.so.6.2.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libgstaudio-1.0.so.0, needed by /home/runner/work/musiqt/Qt/6.2.0/gcc_64/lib/libQt6Multimedia.so.6.2.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libgstapp-1.0.so.0, needed by /home/runner/work/musiqt/Qt/6.2.0/gcc_64/lib/libQt6Multimedia.so.6.2.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libgstallocators-1.0.so.0, needed by /home/runner/work/musiqt/Qt/6.2.0/gcc_64/lib/libQt6Multimedia.so.6.2.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libgstgl-1.0.so.0, needed by /home/runner/work/musiqt/Qt/6.2.0/gcc_64/lib/libQt6Multimedia.so.6.2.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libgstvideo-1.0.so.0, needed by /home/runner/work/musiqt/Qt/6.2.0/gcc_64/lib/libQt6Multimedia.so.6.2.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /home/runner/work/musiqt/Qt/6.2.0/gcc_64/lib/libQt6Multimedia.so.6.2.0: undefined reference to `gst_gl_sync_meta_set_sync_point'
[more undefined references follow]

This is the relevant excerpt from the YAML file:

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        qt-version: [5.15.2, 6.2.0]

    steps:
    - uses: jurplel/install-qt-action@v2
      with:
        version: ${{ matrix.qt-version }}
        modules: 'addons.qtmultimedia'

Full logs attached: logs_217.zip

drfiemost commented 2 years ago

As a workaround I've added the following before installing Qt:

 - name: install_qt_deps
      run: sudo apt-get install libgstreamer-plugins-base1.0-dev
pzhlkj6612 commented 2 years ago

Hi! I've encountered the same issue. I think you may just need the "libgstreamer-gl1.0-0" package. Reason:

"libgstreamer-plugins-base1.0-0" contains the following libs:

"libgstreamer-gl1.0-0" contains "libgstgl-1.0.so.0", and "libgstreamer-gl1.0-0" depends on "libgstreamer-plugins-base1.0-0", so it works.

Using non-dev packages may reduce the time to download additional files.