Use PETSc CXX for C++ extension builds#103
Use PETSc CXX for C++ extension builds#103gthyagi wants to merge 2 commits intounderworldcode:developmentfrom
Conversation
|
Added a follow-up fix for runtime JIT builds. The earlier change made package builds use PETSc's , but was still spawning temporary builds without that compiler environment. This commit now passes PETSc-derived into the JIT subprocess and sets when the OpenMPI wrapper points to a missing compiler name. Verified by rerunning the three previously failing collection-time tests: , , and (). |
|
Added a follow-up fix for runtime JIT builds. The earlier Verified by rerunning the three previously failing collection-time tests:
Result: |
Summary
CXXfrom PETScpetscvariablesinsetup.pyCXXalongside the existingCCoverrideWhy this is important
Pre-fix,
setup.pyonly forced PETSc'sCC. That meant C builds followed PETSc, but C++ builds could still fall back to the ambient environment compiler.In practice, this can send
underworld3.ckdtreethrough a different or broken C++ toolchain than the PETSc/MPI build, especially in Pixi/OpenMPI environments.Using both PETSc
CCandCXXkeeps the Underworld extension build aligned with the PETSc toolchain.Validation
python3 -m py_compile setup.pyOMPI_CC=/usr/bin/clang OMPI_CXX=/usr/bin/clang++ pixi run -e amr-dev pip install . --no-build-isolation