As of rc1, clang 18 has a version id formatted as "18.1.0rc". Similarly, builds from the upstream main branch typically have a version id looking like "19.0.0git". Due to the way it parses version strings, devel/build2 cannot handle this format, and fails with: LC_ALL=C c++ -v error: unable to extract Clang minor version from '18' info: use config.cxx.version to override I submitted https://github.com/build2/build2/issues/360 upstream, and they committed a fix: https://github.com/build2/build2/commit/0e1b73e3, which should eventually end up in 0.17.0. The fix applies without issues on 0.16.0, so add it as a patch.
Created attachment 248140 [details] devel/build2: fix build with clang 18 rc1
Comment on attachment 248140 [details] devel/build2: fix build with clang 18 rc1 Thank you. LGTM.
Feel free to commit.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=b7f06adf2f2ec46b17ae6ee21d18d73c0959145e commit b7f06adf2f2ec46b17ae6ee21d18d73c0959145e Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-02 16:50:59 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-02-03 13:14:40 +0000 devel/build2: fix build with clang 18 rc1 As of rc1, clang 18 has a version id formatted as "18.1.0rc". Similarly, builds from the upstream main branch typically have a version id looking like "19.0.0git". Due to the way it parses version strings, devel/build2 cannot handle this format, and fails with: LC_ALL=C c++ -v error: unable to extract Clang minor version from '18' info: use config.cxx.version to override I submitted https://github.com/build2/build2/issues/360 upstream, and they committed a fix: https://github.com/build2/build2/commit/0e1b73e3, which should eventually end up in 0.17.0. The fix applies without issues on 0.16.0, so add it as a patch. PR: 276785 Approved by: fuz (maintainer) MFH: 2024Q1 .../patch-build2_libbuild2_cc_guess.cxx (new) | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+)
A commit in branch 2024Q1 references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=ca58c1ec77fdd229c0ad781eca9e4185f931138d commit ca58c1ec77fdd229c0ad781eca9e4185f931138d Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-02 16:50:59 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-02-03 13:22:37 +0000 devel/build2: fix build with clang 18 rc1 As of rc1, clang 18 has a version id formatted as "18.1.0rc". Similarly, builds from the upstream main branch typically have a version id looking like "19.0.0git". Due to the way it parses version strings, devel/build2 cannot handle this format, and fails with: LC_ALL=C c++ -v error: unable to extract Clang minor version from '18' info: use config.cxx.version to override I submitted https://github.com/build2/build2/issues/360 upstream, and they committed a fix: https://github.com/build2/build2/commit/0e1b73e3, which should eventually end up in 0.17.0. The fix applies without issues on 0.16.0, so add it as a patch. PR: 276785 Approved by: fuz (maintainer) MFH: 2024Q1 (cherry picked from commit b7f06adf2f2ec46b17ae6ee21d18d73c0959145e) .../patch-build2_libbuild2_cc_guess.cxx (new) | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+)