Clang in Fedora 24

I’m only ever using a bleeding edge Clang trunk build myself. So when Fedora enabled use of the GCC abi_tag attribute in libstdc++ (i.e., switched the _GLIBCXX_USE_CXX11_ABI macro to 1 by default), it was only a matter of applying a set of (evolving) patches to Clang to keep things working.

However, others who wanted to use the Clang version included in Fedora were in for more of a problem. The typical symptom being that what you compiled with Clang fails to link against system libraries, most notably libstdc++.

For Fedora 23, we included a somewhat slapdash early version of the relevant Clang patches, but that didn’t survive the split-out of Clang from the overall LLVM package in Fedora 24. But now that the Clang upstream patches are deemed stable (and have been integrated into trunk towards Clang 3.9), I backported them to the Clang 3.8 in Fedora 24 (and rawhide).

And a lot of thanks to all of those who created these patches!


6 thoughts on “Clang in Fedora 24

  1. Giuseppe De Rossi

    Hi, just come across your blog. I was wondering why isn’t Fedora 25 shipping version 3.8.1 of llvm/clang in the Alpha release? I’m not sure how new package releases are scheduled in the final releases of Fedora, but I’ve also noticed that a few other applications got updated upstream in January and Fedora 24 didn’t ship them either. I ask because in the case of clang I’d so like to see version 3.9 shipped with Fedora 25 in November, but now I can’t even see the more stable (bugfixes version) 3.8.1 in the Alpha pre-release. If you can help me understand why, I’d be glad to hear from you.

    1. stbergmann Post author

      Yeah, that’s a valid question. I guess the answer boils down to a blunt “because nobody did.” As you might have observed, Clang isn’t exactly the package in Fedora that gets the most attention. (I myself am trying to help out a bit, but don’t generally have the capacity for much more.) That said, pinging on the Fedora channels (e.g., filing a bugzilla issue) can’t hurt.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s