Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gst-plugins-base: migrate to Conan v2 #19530

Open
wants to merge 19 commits into
base: master
Choose a base branch
from

Conversation

valgur
Copy link
Contributor

@valgur valgur commented Aug 31, 2023

Somewhat duplicates

but I thought there were enough changes to warrant a separate PR.

Requires

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@ghost ghost mentioned this pull request Oct 14, 2023
@stale
Copy link

stale bot commented Oct 15, 2023

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@AbrilRBS
Copy link
Member

Any updates on this one @valgur?

@AbrilRBS AbrilRBS self-assigned this Oct 27, 2023
@stale stale bot removed the stale label Nov 30, 2023
@conan-center-bot

This comment has been minimized.

@conan-center-bot conan-center-bot added the Version conflict There is a version conflict when solving the dependencies graph label Jan 31, 2024
@conan-center-bot

This comment has been minimized.

@db4
Copy link
Contributor

db4 commented Feb 13, 2024

@valgur Did you try to create a Windows package locally? For me, it fails with:

...
Has header "GL/wglext.h" : NO
Message: No OpenGL Platforms found or requested
Message: No OpenGL Window systems found or requested

..\src\gst-libs\gst\gl\meson.build:1196:2: ERROR: Problem encountered: GStreamer OpenGL integration required via options, but needed dependencies not found.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@SpaceIm
Copy link
Contributor

SpaceIm commented Jul 4, 2024

../src/gst-libs/gst/gl/meson.build:1017:17: ERROR: Program 'glib-mkenums' not found or not executable

It lives in glib package, so glib should also be a build requirement.

By the way wayland-protocols should be a build requirement, not a requirement. It's quite tricky to generate the pc file for 1 profile, but you can take a look at recipes like glfw, xkbcommon or opencv.

@SpaceIm
Copy link
Contributor

SpaceIm commented Jul 8, 2024

@valgur please consider valgur#9

  • Remove with_egl, with_wayland, with_graphene, with_libpng & with_libjpeg options when with_gl is disabled, since these options don't contribute to package when gl is disabled
  • Move wayland-protocols to build requirements, it's not a "requirement". There is a special trick for conan v1 one profile in order to generate pc file of wayland-protocols. It's the same one you can see in glfw, xkbcommon or opencv.
  • Add glib (and also wayland when with_wayland is enabled) to build requirements since gst-plugins-base build system calls some executable from these packages at build time. It's not added to build requirements in case of conan v1 one profile (due to edge cases bug when dependencies are overidden and are both in requirements & build requirements).
  • Decide whether winflexbison is a build requirement (instead of bison/flex) based on OS of build machine rather than OS of host machine.

- Remove with_egl, with_wayland, with_graphene, with_libpng & with_libjpeg options when with_gl is disabled, since these options don't contribute to package when gl is disabled
- Move wayland-protocols to build requirements. There is a special trick for conan v1 one profile in order to generate pc file of wayland-protocols.
- Add glib (and also wayland when with_wayland is enabled) to build requirements, except in case of conan v1 one profile (due to edge cases bug when dependencies are overidden).
- Decide whether winflexbison is a build requirement (instead of bison/flex) based on OS of build machine rather than OS of host machine.
@conan-center-bot conan-center-bot added Missing dependencies Build failed due missing dependencies in Conan Center and removed Version conflict There is a version conflict when solving the dependencies graph labels Jul 15, 2024
@conan-center-bot

This comment has been minimized.

@AbrilRBS
Copy link
Member

Building missing binary in preparation for #24495

cc @SpaceIm

@conan-center-bot

This comment has been minimized.

@AbrilRBS
Copy link
Member

Oh, there actually are quite a few missing binaries, will check where they come from, sorry for the noise

@SpaceIm
Copy link
Contributor

SpaceIm commented Aug 10, 2024

gst-plugins-base/1.19.2 (test package): ERROR: Generator cmake_find_package_multi(file:None) failed
'wayland-protocols'
ERROR: 'wayland-protocols'

@valgur I've forgotten that wayland-protocols::wayland-protocols must be removed from requires in package_info()

@conan-center-bot

This comment has been minimized.

Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 8 (102c563b4635af432f73a27ba860a67c4bc80c1e):

  • gst-plugins-base/1.19.2:
    CI failed to create some packages (All logs)

    Logs for packageID 26d0575b47830b6a9beedf0f1cd82b11ec20e496:
    [settings]
    arch=x86_64
    build_type=Debug
    compiler=Visual Studio
    compiler.runtime=MDd
    compiler.version=16
    os=Windows
    [options]
    gst-plugins-base:shared=False
    
    [...]
    Program C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums found: YES (c:\conan_jenkins_envs\env_py_3_7_conan_1_64_1\Scripts\python.exe C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums)
    Dependency glib-2.0 found: YES 2.78.3 (cached)
    Program C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums found: YES (c:\conan_jenkins_envs\env_py_3_7_conan_1_64_1\Scripts\python.exe C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums)
    Dependency glib-2.0 found: YES 2.78.3 (cached)
    Program C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums found: YES (c:\conan_jenkins_envs\env_py_3_7_conan_1_64_1\Scripts\python.exe C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums)
    Dependency glib-2.0 found: YES 2.78.3 (cached)
    Program C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums found: YES (c:\conan_jenkins_envs\env_py_3_7_conan_1_64_1\Scripts\python.exe C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums)
    Dependency glib-2.0 found: YES 2.78.3 (cached)
    Program C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums found: YES (c:\conan_jenkins_envs\env_py_3_7_conan_1_64_1\Scripts\python.exe C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums)
    Dependency glib-2.0 found: YES 2.78.3 (cached)
    Program C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums found: YES (c:\conan_jenkins_envs\env_py_3_7_conan_1_64_1\Scripts\python.exe C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums)
    Library ws2_32 found: YES
    Configuring gstpluginsbaseversion.h using configuration
    Dependency glib-2.0 found: YES 2.78.3 (cached)
    Program C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums found: YES (c:\conan_jenkins_envs\env_py_3_7_conan_1_64_1\Scripts\python.exe C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums)
    Dependency glib-2.0 found: YES 2.78.3 (cached)
    Program C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums found: YES (c:\conan_jenkins_envs\env_py_3_7_conan_1_64_1\Scripts\python.exe C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums)
    Dependency glib-2.0 found: YES 2.78.3 (cached)
    Program C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums found: YES (c:\conan_jenkins_envs\env_py_3_7_conan_1_64_1\Scripts\python.exe C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums)
    Dependency glib-2.0 found: YES 2.78.3 (cached)
    Program C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums found: YES (c:\conan_jenkins_envs\env_py_3_7_conan_1_64_1\Scripts\python.exe C:/J/workspace/prod-v1/bsr@2/88817/effdb/s/1454ff/1/bin/glib-mkenums)
    Not looking for a fallback subproject for the dependency (anonymous) because:
    Use of fallback dependencies is disabled.
    Run-time dependency opengl found: YES system
    ..\src\gst-libs\gst\gl\meson.build:504: DEPRECATION: configuration_data.set10 with number. The `set10` method should only be used with booleans
    Library gdi32 found: YES
    Has header "GL/wglext.h" : NO 
    Message: No OpenGL Platforms found or requested
    Message: No OpenGL Window systems found or requested
    
    ..\src\gst-libs\gst\gl\meson.build:1196:2: ERROR: Problem encountered: GStreamer OpenGL integration required via options, but needed dependencies not found.
    
    A full log can be found at C:\J\workspace\prod-v1\bsr@2\88817\effdb\.conan\data\gst-plugins-base\1.19.2\_\_\build\26d0575b47830b6a9beedf0f1cd82b11ec20e496\build-debug\meson-logs\meson-log.txt
    gst-plugins-base/1.19.2: 
    WARN: *** Conan 1 is legacy and on a deprecation path ***
    WARN: *** Please upgrade to Conan 2 ***
    WARN: glib/2.78.3: requirement zlib/[>=1.2.11 <2] overridden by gstreamer/1.22.6 to zlib/1.3.1 
    WARN: pcre2/10.42: requirement zlib/[>=1.2.11 <2] overridden by glib/2.78.3 to zlib/1.3.1 
    WARN: libpng/1.6.43: requirement zlib/[>=1.2.11 <2] overridden by gst-plugins-base/1.19.2 to zlib/1.3.1 
    WARN: cairo/1.18.0: requirement zlib/[>=1.2.11 <2] overridden by pango/1.51.0 to zlib/1.3.1 
    WARN: cairo/1.18.0: requirement libpng/[>=1.6 <2] overridden by pango/1.51.0 to libpng/1.6.43 
    WARN: freetype/2.13.2: requirement libpng/[>=1.6 <2] overridden by cairo/1.18.0 to libpng/1.6.43 
    WARN: freetype/2.13.2: requirement zlib/[>=1.2.10 <2] overridden by cairo/1.18.0 to zlib/1.3.1 
    WARN: fontconfig/2.15.0: requirement expat/[>=2.6.2 <3] overridden by cairo/1.18.0 to expat/2.6.2 
    gst-plugins-base/1.19.2: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    gst-plugins-base/1.19.2: ERROR: Package '26d0575b47830b6a9beedf0f1cd82b11ec20e496' build failed
    gst-plugins-base/1.19.2: WARN: Build folder C:\J\workspace\prod-v1\bsr@2\88817\effdb\.conan\data\gst-plugins-base\1.19.2\_\_\build\26d0575b47830b6a9beedf0f1cd82b11ec20e496\build-debug
    ERROR: gst-plugins-base/1.19.2: Error in build() method, line 277
    	meson.configure()
    	ConanException: Error 1 while executing meson setup --native-file "C:\J\workspace\prod-v1\bsr@2\88817\effdb\.conan\data\gst-plugins-base\1.19.2\_\_\build\26d0575b47830b6a9beedf0f1cd82b11ec20e496\build-debug\conan\conan_meson_native.ini" "C:\J\workspace\prod-v1\bsr@2\88817\effdb\.conan\data\gst-plugins-base\1.19.2\_\_\build\26d0575b47830b6a9beedf0f1cd82b11ec20e496\build-debug" "C:\J\workspace\prod-v1\bsr@2\88817\effdb\.conan\data\gst-plugins-base\1.19.2\_\_\build\26d0575b47830b6a9beedf0f1cd82b11ec20e496\src" --prefix=/
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline ❌

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

Failure in build 8 (102c563b4635af432f73a27ba860a67c4bc80c1e):

  • gst-plugins-base/1.19.2:
    CI failed to create some packages (All logs)

    Logs for packageID 4a405052aa01291026b33783f79228312e1ca2cb:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.cppstd=17
    compiler.libcxx=libstdc++11
    compiler.version=11
    os=Linux
    [options]
    */*:shared=False
    
    [...]
        lzo/2.10#5725914235423c771cb1c6b607109b45:b647c43bfefae3f830561ca202b6cfd935b56205#9d4d9216b88b0dccff525e9dfb08e4c2 - Download (conan-center)
        ogg/1.3.5#062626875f5c8c59f069f76f148098ef:b647c43bfefae3f830561ca202b6cfd935b56205#eb65b3e6ebe9c8667bc03f5638e4b3dd - Download (conan-center)
        opengl/system#4df6fecde4084386beded3ed0e56e4ea:da39a3ee5e6b4b0d3255bfef95601890afd80709#0ba8627bd47edc3a501e8f0eb9a79e5e - Download (conan-center)
        opus/1.4#54631f551fc450783fb2df8cd63f80a2:4df585f63ebee00f46c117ab89b69f931e4b3d26#ea184fe0fbc1bb3e18c551df32da5002 - Download (conan-center)
        pango/1.51.0#51bdca265f868487aad6069d1944f16d:a19256a2c2b34134b5120243e27ff98d58992d47 - Missing
        pcre2/10.42#576680686b88a4dadf6d382d6d6351d9:3ad2a8f0588fa84c2c7e638193c099d49b433df1#108401e37e4557d89fb173efd1d41138 - Download (conan-center)
        pixman/0.43.4#0dcdf859941e32fcc7bfb73ea1946a7f:b647c43bfefae3f830561ca202b6cfd935b56205#161d6738ec1727a95b2eb78dce604122 - Download (conan-center)
        theora/1.1.1#af9a1faf503aaf2bfce1674672741520:a7b68b4d31174eb97fff2f0a35ab28a9c1fd5e42 - Missing
        util-linux-libuuid/2.39.2#339f80aea7e5cf507b5b9839a128909f:b647c43bfefae3f830561ca202b6cfd935b56205#7d1c19f47892fc2f2b18ea1d0b030095 - Download (conan-center)
        vorbis/1.3.7#37e58f52e59a6232199b34ef402714a6:a7b68b4d31174eb97fff2f0a35ab28a9c1fd5e42#c6d1add45a7ed260effeef5dcb198e98 - Download (conan-center)
        wayland/1.22.0#284b56bdbe57868770f46100784e3b4d:9ef61cfe051f69b8cce843b72e11408e15171fab#2f4a3f922deed888a7661360b8094ee3 - Download (conan-center)
        xorg/system#f626cbdd0ba57d9c53bce2d8b9362fad:da39a3ee5e6b4b0d3255bfef95601890afd80709#0ba8627bd47edc3a501e8f0eb9a79e5e - Download (conan-center)
        zlib/1.3.1#f52e03ae3d251dec704634230cd806a2:b647c43bfefae3f830561ca202b6cfd935b56205#6b307bbcbae23635c4006543ffdbf3ef - Download (conan-center)
    Build requirements
        bison/3.8.2#ed1ba0c42d2ab7ab64fc3a62e9ecc673:500c2a3f502e0ca7d4a4c65cb2a4a0b0a24994f5#5cb896361e56e9799eac5902503e1efc - Download (conan-center)
        flex/2.6.4#e35bc44b3fcbcd661e0af0dc5b5b1ad4:b647c43bfefae3f830561ca202b6cfd935b56205#d18545ed84d684e0090595f1eb0d23c5 - Download (conan-center)
        glib/2.78.3#0d214f34a22088571a43892d3fd41093:0e62fc9900a4235991350913062a41194c4d01b8#0bb52fc4a474aed664f14ef884176756 - Download (conan-center)
        m4/1.4.19#b38ced39a01e31fef5435bc634461fd2:3593751651824fb813502c69c971267624ced41a#cd8019a4f9b70880d548f7cc26569604 - Download (conan-center)
        meson/1.5.1#6a2a0af06a61b57f6e6f0fe88491f0e3:da39a3ee5e6b4b0d3255bfef95601890afd80709#66da5b36ed0d8c7cbb88cf90a72152a1 - Download (conan-center)
        ninja/1.12.1#fd583651bf0c6a901943495d49878803:3593751651824fb813502c69c971267624ced41a#a46e32b2b79add597b73d8b42c415ed1 - Download (conan-center)
        pkgconf/2.2.0#6462942a22803086372db44689ba825f:c0b621fd4b3199fe05075171573398833dba85f4#35e5163b1cf42becef616e6b7873202e - Download (conan-center)
        wayland-protocols/1.33#b9e56b7662c2a25f30bfb4eb72df9ad6:da39a3ee5e6b4b0d3255bfef95601890afd80709#f85f08cf8936bf98a464db0e7a468e8f - Download (conan-center)
        wayland/1.22.0#284b56bdbe57868770f46100784e3b4d:9ef61cfe051f69b8cce843b72e11408e15171fab#2f4a3f922deed888a7661360b8094ee3 - Download (conan-center)
    Skipped binaries
        autoconf/2.71, automake/1.16.5, bzip2/1.0.8, expat/2.6.2, gnu-config/cci.20210814, gperf/3.1, libelf/0.8.13, libffi/3.4.4, libiconv/1.17, libmount/2.39, libselinux/3.6, libtool/2.4.7, libxml2/2.12.7, meson/1.2.1, meson/1.2.2, meson/1.3.0, meson/1.3.1, meson/1.3.2, meson/1.4.0, pcre2/10.42, pkgconf/2.0.3, pkgconf/2.1.0, xorg-macros/1.20.0, zlib/1.3.1
    ERROR: Missing binary: graphene/1.10.8:4a7dd5c9b74ade4a1f35932ea2a896166189cd99
    ERROR: Missing binary: gstreamer/1.22.6:6b72fdf97486a4d5e0965a9a5913d64addd6b22e
    ERROR: Missing binary: harfbuzz/8.3.0:e3ede6c24dfbba2a8616813d125ef4b5997f807a
    ERROR: Missing binary: pango/1.51.0:a19256a2c2b34134b5120243e27ff98d58992d47
    ERROR: Missing binary: theora/1.1.1:a7b68b4d31174eb97fff2f0a35ab28a9c1fd5e42
    
    theora/1.1.1: WARN: Can't find a 'theora/1.1.1' package binary 'a7b68b4d31174eb97fff2f0a35ab28a9c1fd5e42' for the configuration:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.version=11
    os=Linux
    [options]
    fPIC=True
    shared=False
    [requires]
    ogg/1.3.Z
    
    ERROR: Missing prebuilt package for 'graphene/1.10.8', 'gstreamer/1.22.6', 'harfbuzz/8.3.0', 'pango/1.51.0', 'theora/1.1.1'. You can try:
        - List all available packages using 'conan list "theora/1.1.1:*" -r=remote'
        - Explain missing binaries: replace 'conan install ...' with 'conan graph explain ...'
        - Try to build locally from sources using the '--build=missing' argument
    
    More Info at 'https://docs.conan.io/2/knowledge/faq.html#error-missing-prebuilt-package'
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

Copy link
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Sep 23, 2024
@valgur
Copy link
Contributor Author

valgur commented Sep 23, 2024

Don't close. The missing binaries can hopefully be fixed by the PRs related to #25090.

@github-actions github-actions bot removed the stale label Sep 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Failed Missing dependencies Build failed due missing dependencies in Conan Center
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants