Skip to content

[package] sdl/3.2.6: Conflict between libalsa/1.2.12 and libalsa/1.2.10 in the graph #27366

Open
@skhaz

Description

@skhaz

Description

Only happened on Ubuntu, see here https://github.com/willtobyte/carimbo/actions/runs/14839224678/job/41657801338

Package and Environment Details

from conan import ConanFile
from conan.tools.cmake import CMakeDeps
from conan.tools.cmake import CMakeToolchain
from pathlib import Path


class Carimbo(ConanFile):
    settings = "os", "arch", "compiler", "build_type"

    def _not_webassembly(self):
        return str(self.settings.os).lower() not in {"emscripten"}

    def requirements(self):
        self.requires("fmt/11.1.4")
        self.requires("libspng/0.7.4")
        self.requires("nlohmann_json/3.12.0")
        self.requires("ogg/1.3.5")
        self.requires("openal-soft/1.23.1")
        self.requires("physfs/3.2.0")
        self.requires("sdl/3.2.6")
        self.requires("sol2/3.5.0")
        self.requires("vorbis/1.3.7")

        # self.requires("libalsa/1.2.12", override=True)

        if self._not_webassembly():
            self.requires("boost/1.87.0")
            self.requires("luajit/2.1.0-beta3")
            self.requires("openssl/3.4.1")

    def configure(self):
        self.options["boost"].header_only = True

        self.options["physfs"].sevenzip = True
        self.options["physfs"].zip = False
        self.options["physfs"].grp = False
        self.options["physfs"].wad = False
        self.options["physfs"].hog = False
        self.options["physfs"].mvl = False
        self.options["physfs"].qpak = False
        self.options["physfs"].slb = False
        self.options["physfs"].iso9660 = False
        self.options["physfs"].vdf = False

        if self._not_webassembly():
            self.options["sol2"].with_lua = "luajit"

    def generate(self):
        path = Path(self.build_folder) / "LICENSES"
        with path.open("w", encoding="utf-8") as out:
            for dependecy in self.dependencies.values():
                if dependecy.is_build_context or dependecy.package_folder is None:
                    continue
                package_id = f"{dependecy.ref.name}/{dependecy.ref.version}"
                for path in Path(dependecy.package_folder).rglob("*"):
                    if not path.is_file():
                        continue
                    name = path.name.lower()
                    if name.startswith(("license", "copying", "copyright")):
                        text = path.read_text(encoding="utf-8", errors="ignore").strip()
                        out.write(f"{package_id}\n{text}\n\n")

        tc = CMakeToolchain(self)
        tc.generate()
        deps = CMakeDeps(self)
        deps.generate()

Conan profile

The default that conan detected on Ubuntu.

Steps to reproduce

The easy way to is by looking at the logs.

Logs

Click to expand log
======== Computing dependency graph ========
nlohmann_json/3.12.0: Not found in local cache, looking in remotes...
nlohmann_json/3.12.0: Checking remote: conancenter
Connecting to remote 'conancenter' anonymously
nlohmann_json/3.12.0: Downloaded recipe revision 2d634ab0ec8d9f56353e5ccef6d6612c
libalsa/1.2.10: Not found in local cache, looking in remotes...
libalsa/1.2.10: Checking remote: conancenter
libalsa/1.2.10: Downloaded recipe revision e64d5e1ced869a2f676145bab4f4a181
Graph root
    conanfile.py: /home/runner/work/carimbo/carimbo/conanfile.py
Requirements
    dbus/1.15.8#3cdcb97b51b7f931f9f11c57d8409845 - Cache
    expat/2.7.1#b0b67ba910c5147271b444139ca06953 - Cache
    flac/1.4.2#fe87e6e5a29094d221525fbf3bbea90f - Cache
    fmt/11.1.4#1fb24f082fabe20d28606d615ba93dfb - Cache
    libalsa/1.2.10#e64d5e1ced869a2f676145bab4f4a181 - Downloaded (conancenter)
    libgettext/0.22#35d2811b2dd27a98f69e4daa86ca2000 - Cache
    libiconv/1.17#1ae2f60ab5d08de1643a22a81b360c59 - Cache
    libmp3lame/3.100#44b12d19316eb2b223d98d3e75dae438 - Cache
    libsndfile/1.2.2#67b8fc896cc8b9bf121a51ae01f4edab - Cache
    libspng/0.7.4#56ba231839e37d5f370be5a9dbb4beb1 - Cache
    libudev/system#6aaa8ab03cabc6f3131bac21b7ce1e8a - Cache
    libusb/1.0.26#c0c00750b383839aa140a0be628d552c - Cache
    mpg123/1.31.2#8ffd074baa3de80d2e5c041cdec2b435 - Cache
    nlohmann_json/3.12.0#2d634ab0ec8d9f56353e5ccef6d6612c - Downloaded (conancenter)
    ogg/1.3.5#e8186fe05ebe9f8e706fa4bde2164d12 - Cache
    openal-soft/1.23.1#861825b07bdb0267b17d1c143f2dbad6 - Cache
    opengl/system#7c02ea6ef926fd04844af53622a30541 - Cache
    openssl/3.4.1#638c4c4df8ecdef1f7aa73fc0d07fde6 - Cache
    opus/1.4#3c98a306d127dce1e74d58a0e2c850b5 - Cache
    physfs/3.2.0#ce2cc3c35002b14680c5cb6f53ffbe7e - Cache
    pulseaudio/17.0#8d7ad74a97a376caca6ef0a032d25ad3 - Cache
    sdl/3.2.6#ef95409f9ccce9fd41597a1cbc12a455 - Cache
    vorbis/1.3.7#a019e93187ade6ee8a51762f88092604 - Cache
    xorg/system#98f82cb669e4ebc6b4d9d8a4f3f1faf4 - Cache
    zlib/1.3.1#b8bc2603263cf7eccbd6e17e66b0ed76 - Cache
Build requirements
    autoconf/2.71#f9307992909d7fb3df459340f1932809 - Cache
    automake/1.16.5#058bda3e21c36c9aa8425daf3c1faf50 - Cache
    gnu-config/cci.20210814#dc430d754f465e8c74463019672fb97b - Cache
    libtool/2.4.7#a182d7ce8d4c346a19dbd4a5d532ef68 - Cache
    m4/1.4.19#b38ced39a01e31fef5435bc634461fd2 - Cache
    meson/1.2.2#21b73818ba96d9eea465b310b5bbc993 - Cache
    meson/1.3.2#26ce8a76a36cc275cdfee1d757bc6561 - Cache
    meson/1.4.0#2262941cc8fbb0099dd0c196ca2a6c01 - Cache
    ninja/1.12.1#fd583651bf0c6a901943495d49878803 - Cache
    pkgconf/2.0.3#f996677e96e61e6552d85e83756c328b - Cache
    pkgconf/2.1.0#27f44583701117b571307cf5b5fe5605 - Cache
    yasm/1.3.0#fb800a15413dca19bfaef9e4b5d50694 - Cache
Resolved version ranges
    expat/[>=2.6.2 <3]: expat/2.7.1
    ninja/[>=1.10.2 <2]: ninja/1.12.1
    zlib/[>=1.2.11 <2]: zlib/1.3.1
ERROR: Version conflict: Conflict between libalsa/1.2.12 and libalsa/1.2.10 in the graph.
Conflict originates from sdl/3.2.6

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions