Skip to content

GCC 12 & LLVM 15#4215

Merged
beckermr merged 1 commit into
conda-forge:mainfrom
h-vetinari:compilers
Apr 19, 2023
Merged

GCC 12 & LLVM 15#4215
beckermr merged 1 commit into
conda-forge:mainfrom
h-vetinari:compilers

Conversation

@h-vetinari

@h-vetinari h-vetinari commented Mar 11, 2023

Copy link
Copy Markdown
Member

Now that LLVM 15 has been finally made it to conda-forge (bits and pieces have been floating around for half a year, but we were missing some things to enable it), we could now upgrade (c.f. #2010 / #3290).

Already for #3731, a lot of people wanted to jump straight to GCC 12, so this should not be hugely controversial. If people want to wait some more for LLVM 15, I can split off the GCC changes into a separate PR.

Sidenote: LLVM 16 release is imminent (this time, the builds in conda-forge are basically ready 🥳), and GCC 13 is expected in April/May.

PS. Like for #3731, we can't use newer GCC together with CUDA 11.x compilers.

@h-vetinari h-vetinari requested a review from a team as a code owner March 11, 2023 10:38
@conda-forge-webservices

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@xhochy xhochy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine with me, leaving open for others to review.

@h-vetinari

h-vetinari commented Mar 13, 2023

Copy link
Copy Markdown
Member Author

Since opening this PR, I found out there's something happening in conda-forge/llvmdev-feedstock#201 (as well as the main branch) that causes the global build.sh and an output-specific install-script (having slightly different environments) to cause llvm to recompile on osx (rather than just install; possibly because something is being picked up as different between libcxx 14 & 15). We may want to figure that one out before we merge LLVM 15 as the default compiler. Any help/thoughts welcome.

@h-vetinari

Copy link
Copy Markdown
Member Author

Since opening this PR, I found out there's something happening in conda-forge/llvmdev-feedstock#201 [...]

This should be fixed now (at least enough to not block the compiler bump, IMO) - thanks @isuruf!

@h-vetinari

Copy link
Copy Markdown
Member Author

With conda-forge/clang-compiler-activation-feedstock#99 merged, we'd also have clang 16.0.0 available now, but I'd propose to let the dust settle on this a bit longer (e.g. 2-3 patch releases) before we make the switch. 15 should be good to go though.

@hmaarrfk

Copy link
Copy Markdown
Contributor

Are there current know issues with the transition?

We seem to be hitting some challenges with libcxx conda-forge/qt-main-feedstock#136 (comment)

@h-vetinari

Copy link
Copy Markdown
Member Author

Are there current know issues with the transition?

None that I'm aware of. It's a bog-standard compiler version bump, nothing of substance should change, except of course the usual feature work, performance improvement, bug fixes etc.

We seem to be hitting some challenges with libcxx conda-forge/qt-main-feedstock#136 (comment)

This is the fallout of the removal of a long-deprecated facility and therefore nothing unusual. I've commented there for available workarounds, but it's not an indication of problems in the stack.

@h-vetinari

h-vetinari commented Apr 2, 2023

Copy link
Copy Markdown
Member Author

So far this has two acks from core and no opposition (also not counting the additional 2 voices in support of moving to GCC 12 in #3731). Anything else that needs doing/discussing here @conda-forge/core?

@h-vetinari

Copy link
Copy Markdown
Member Author

Something I wasn't aware of for the to-do list before the next GCC bump: ensure that https://github.com/conda-forge/gfortran_osx-64-feedstock & https://github.com/conda-forge/gfortran_impl_osx-64-feedstock are up to date

@jakirkham

Copy link
Copy Markdown
Member

Should we add this to the conda-forge docs somewhere?

@beckermr

Copy link
Copy Markdown
Member

@h-vetinari

Copy link
Copy Markdown
Member Author

ah found it! here: https://conda-forge.org/docs/maintainer/infrastructure.html#compilers-and-runtimes

Only that's highly outdated 😅

@h-vetinari

Copy link
Copy Markdown
Member Author

I can try to write something.

@beckermr

Copy link
Copy Markdown
Member

Great! It is good to keep historical information present in those docs though.

@h-vetinari

h-vetinari commented Apr 21, 2023

Copy link
Copy Markdown
Member Author

Done: conda-forge/conda-forge.github.io#1946

Great! It is good to keep historical information present in those docs though.

Well have to hash that out in the PR. I think text that describes a world based on the constraints of comp7 (much less comp4) is noise that makes these docs confusing rather than informative.

@jakirkham

Copy link
Copy Markdown
Member

Yeah this is a good point. Some maintainers want to be able to chip in, but need terse relevant info

The historical info is useful from a diagnosing odd behavior (or understanding the decisions made) perspective and maybe should be a separate section

How do other projects approach this separation of concerns?

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.

6 participants