• mesa-dri-24.1.7_11 ../src/amd/llvm/ac_llvm_helper.cpp build failure under poudriere-devel using devel/llvm22

    From Mark Millard@marklmi@yahoo.com to muc.lists.freebsd.ports on Sat May 16 10:49:00 2026
    From Newsgroup: muc.lists.freebsd.ports

    [01:39:52] [01] [00:00:51] Finished graphics/mesa-dri |
    mesa-dri-24.1.7_11: Failed: build

    with the log showing:

    FAILED: [code=1] src/amd/llvm/libamd_common_llvm.a.p/ac_llvm_helper.cpp.o
    c++ . . . -c ../src/amd/llvm/ac_llvm_helper.cpp ../src/amd/llvm/ac_llvm_helper.cpp:103:36: error: no viable conversion
    from 'const std::string' (aka 'const basic_string<char>') to 'Triple'
    103 |
    unwrap(module)->setTargetTriple(TM->getTargetTriple().getTriple());
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/llvm22/include/llvm/TargetParser/Triple.h:47:7: note:
    candidate constructor (the implicit copy constructor) not viable: no
    known conversion from 'const std::string' (aka 'const basic_string
    <char>') to 'const Triple &' for 1st argument
    47 | class Triple {
    | ^~~~~~
    /usr/local/llvm22/include/llvm/TargetParser/Triple.h:47:7: note:
    candidate constructor (the implicit move constructor) not viable: no
    known conversion from 'const std::string' (aka 'const basic_string
    <char>') to 'Triple &&' for 1st argument
    47 | class Triple {
    | ^~~~~~ /usr/local/llvm22/include/llvm/TargetParser/Triple.h:365:21: note:
    explicit constructor is not a candidate
    365 | LLVM_ABI explicit Triple(std::string &&Str);
    | ^ /usr/local/llvm22/include/llvm/TargetParser/Triple.h:366:12: note:
    explicit constructor is not a candidate
    366 | explicit Triple(StringRef Str) : Triple(Str.str()) {}
    | ^ /usr/local/llvm22/include/llvm/TargetParser/Triple.h:367:12: note:
    explicit constructor is not a candidate
    367 | explicit Triple(const char *Str) : Triple(std::string(Str)) {}
    | ^ /usr/local/llvm22/include/llvm/TargetParser/Triple.h:368:12: note:
    explicit constructor is not a candidate
    368 | explicit Triple(const std::string &Str) :
    Triple(std::string(Str)) {}
    | ^ /usr/local/llvm22/include/llvm/TargetParser/Triple.h:369:21: note:
    explicit constructor is not a candidate
    369 | LLVM_ABI explicit Triple(const Twine &Str);
    | ^
    /usr/include/c++/v1/string:1210:55: note: candidate function
    1210 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 operator __self_view() const _NOEXCEPT {
    | ^ /usr/local/llvm22/include/llvm/IR/Module.h:324:31: note: passing
    argument to parameter 'T' here
    324 | void setTargetTriple(Triple T) { TargetTriple = std::move(T); }
    | ^
    1 error generated.


    For reference:

    # uname -apKU
    FreeBSD aarch64-main-pbase 16.0-CURRENT FreeBSD 16.0-CURRENT #5 main-n285621-839d3266d8c6-dirty: Thu Apr 30 18:34:41 PDT 2026 root@aarch64-main-pbase:/usr/obj/BUILDs/main-CA76-nodbg-clang/usr/main-src/arm64.aarch64/sys/GENERIC-NODBG-CA76
    arm64 aarch64 1600018 1600018

    # ~/fbsd-based-on-what-commit.sh -C /usr/ports/
    c9154d047f6c (HEAD -> main, freebsd/main, freebsd/HEAD) editors/vscode:
    Update to 1.120.0
    Author: Hiroki Tagato <tagattie@FreeBSD.org>
    Commit: Hiroki Tagato <tagattie@FreeBSD.org>
    CommitDate: 2026-05-16 04:15:04 +0000
    branch: main
    merge-base: c9154d047f6cce58d5b20e725666792078fafcd2
    merge-base: CommitDate: 2026-05-16 04:15:04 +0000
    n747114 (--first-parent --count for merge-base)
    --
    ===
    Mark Millard
    marklmi at yahoo.com



    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Jan Beich@jbeich@FreeBSD.org to muc.lists.freebsd.ports on Sat May 16 21:39:46 2026
    From Newsgroup: muc.lists.freebsd.ports

    Mark Millard <marklmi@yahoo.com> writes:

    FAILED: [code=1] src/amd/llvm/libamd_common_llvm.a.p/ac_llvm_helper.cpp.o
    c++ . . . -c ../src/amd/llvm/ac_llvm_helper.cpp ../src/amd/llvm/ac_llvm_helper.cpp:103:36: error: no viable conversion
    from 'const std::string' (aka 'const basic_string<char>') to 'Triple'
    103 |
    unwrap(module)->setTargetTriple(TM->getTargetTriple().getTriple());
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Fixed in https://gitlab.freedesktop.org/mesa/mesa/-/commit/0e7c94b2b369
    Try the patch in bug 290874 or full updates in bug 294948 and bug 294957.

    Alternatively, mesa-devel has better support for recent LLVM versions
    but requires DEFAULT_VERSIONS+=gl=mesa-devel to avoid pulling mesa-dri
    as dependency.


    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.22a-Linux NewsLink 1.2