Skip to content

rust 1.81.0 buildable with LLVM 17.x? #131291

Closed
@he32

Description

@he32

This is perhaps more of a question or a "release management" issue, perhaps even "documenting the latter".

In my quest to continue to have rust buildable & installable in NetBSD's pkgsrc system, I've now come to rust 1.81.0.

The package has an option to either build with an external LLVM (and libunwind) or with the embedded version of at least LLVM
in the rust tarball.

When going from rust 1.80.1 to rust 1.81.0 I find that the rust compiler no longer builds with an external LLVM 17.x.

The last time a bump in the requirement for an external LLVM happened was in the 1.79.0 release.

My question is whether someone missed bumping the requirement in the rust release notes for 1.81.0, or whether
the errors I'm seeing while trying to use an external LLVM are of my own or "our own" doing. The errors start with

[ 29%] Building CXX object COFF/CMakeFiles/lldCOFF.dir/CallGraphSort.cpp.o
[ 30%] Building CXX object MachO/CMakeFiles/lldMachO.dir/Arch/ARM64Common.cpp.o
In file included from /usr/pkgsrc/wip/rust181/work/rustc-1.81.0-src/src/llvm-project/lld/wasm/Driver.cpp:141:
/usr/pkgsrc/wip/rust181/work/rustc-1.81.0-src/build/x86_64-unknown-netbsd/lld/build/wasm/Options.inc:44:122: error: macro "OPTION" requires 13 arguments, but only 12 given
   44 | OPTION(prefix_0, llvm::StringLiteral("<input>"), INPUT, Input, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
      |                                                                                                                          ^
/usr/pkgsrc/wip/rust181/work/rustc-1.81.0-src/src/llvm-project/lld/wasm/Driver.cpp:134: note: macro "OPTION" defined here
  134 | #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS,         \
      | 

For some reason the build appears to want to build LLD.

Did someone not test building with an external LLVM 17.x? Does rust now from 1.81.0 in fact need an external LLVM >= 18?

Metadata

Metadata

Assignees

No one assigned

    Labels

    T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions