Skip to content

llvm21: drop libcxx and libunwind options (now part of llvm22)#61029

Open
JkktBkkt wants to merge 1 commit into
void-linux:masterfrom
JkktBkkt:llvm21-remove-libunwind-libcxx
Open

llvm21: drop libcxx and libunwind options (now part of llvm22)#61029
JkktBkkt wants to merge 1 commit into
void-linux:masterfrom
JkktBkkt:llvm21-remove-libunwind-libcxx

Conversation

@JkktBkkt

@JkktBkkt JkktBkkt commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Testing the changes

  • I tested the changes in this PR: briefly — successfully built gifski and pwmenu via x86_64, x86_64-musl and i686 using rebuilt clang21

Local build testing

  • I built this PR locally for my native architecture, x86_64
  • I built this PR locally for these architectures (if supported. mark crossbuilds):
    • x86_64-musl
    • i686
    • armv6l
    • armv6l-musl
    • armv7l
    • armv7l-musl
    • aarch64
    • aarch64-musl

Closes #61005

I'm unsure if the revbump is necessary, there should be no functionality change from this, and this is addressing one of the roadblocks encountered in #59704

Based on bbdaa35 but I did not remove the lldb python integration.

[ci skip]

@Duncaen

Duncaen commented Jun 13, 2026

Copy link
Copy Markdown
Member

This doesn't need a rebuild.

@Duncaen

Duncaen commented Jun 13, 2026

Copy link
Copy Markdown
Member

I think it would make sense to just disable the build options instead of removing all the code.

@Duncaen Duncaen closed this Jun 13, 2026
@Duncaen Duncaen reopened this Jun 13, 2026
@JkktBkkt JkktBkkt marked this pull request as draft June 14, 2026 06:15
@JkktBkkt JkktBkkt force-pushed the llvm21-remove-libunwind-libcxx branch 2 times, most recently from 8168424 to 347c33d Compare June 14, 2026 06:22
@JkktBkkt

Copy link
Copy Markdown
Contributor Author

Builds like this, after enabling libunwind and libcxx as runtimes, otherwise runs into

=> clang21-headers-21.1.7_1: running pkg_install ...
mv: cannot stat '/destdir//llvm21-21.1.7/usr/lib/llvm/21/include/c++': No such file or directory

vmove "${_llvm_incdir}/c++"

Converted to draft: am going to run builds on other archs (including cross) and a test build.

@JkktBkkt JkktBkkt force-pushed the llvm21-remove-libunwind-libcxx branch from 347c33d to 080c7a6 Compare June 14, 2026 09:08
@JkktBkkt

Copy link
Copy Markdown
Contributor Author

Same testing done as in description, all went fine

@JkktBkkt JkktBkkt marked this pull request as ready for review June 14, 2026 14:53
@Duncaen

Duncaen commented Jun 14, 2026

Copy link
Copy Markdown
Member

Isn't it enough to just change the default build options instead of unconditionally enabling the runtimes?

@JkktBkkt

JkktBkkt commented Jun 14, 2026

Copy link
Copy Markdown
Contributor Author

Unfortunately not, that's what I tried first a few months ago (and again before finding commit by ahesford).
Build works but it then fails in packaging step.

#61029 (comment) has log snippet from running with just the -o ~libunwind,~libcxx added in a test build on master

@ahesford

Copy link
Copy Markdown
Member

I'd rather see the vestigial build options and supporting logic removed. Changing the default build options or removing them from the list of options obfuscates the fact that the template is unable to build should that option be enabled by an unsuspecting user. It's better to eliminate these dead bits of the template.

@Duncaen

Duncaen commented Jun 14, 2026

Copy link
Copy Markdown
Member

I think its better to have a switch that can be turned off, there shouldn't be a guess what can be removed and what changes are require to the template or the resulting packages.

It doesn't even have to be just build options defaults, you could remove it from build_options then it can't be enabled.

There are some issues with how libcxx is build and installed multiple times, which should probably be fixed.

Other than that, would probably even better if we just moved the runtimes out of the versioned llvm packages, but there might be issues with build cycles where llvm components may link the runtimes and the runtimes may need to be build with the latest llvm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

llvm21: ftbfs: unversioned subpackages now point to llvm22

3 participants