Build rabe with LLVM Fortran compilers - #76
Conversation
…mpilers # Conflicts: # cmake/libneo_CMakeLists.txt # src/vmec/CMakeLists.txt # test/helpers/CMakeLists.txt
flang module files reference the modules they use, so consumers need the module directories of transitive dependencies on the compile line. gfortran module files are self-contained, which masked the private links.
|
Merged main; resolved conflicts by dropping the local libneo shim (fetched libneo picks up the pre-existing netcdf::netcdff target) and made cross-library Fortran module dependencies PUBLIC so flang sees transitive module dirs; earlier test/benchmark check failures were runner billing errors that are since cleared. |
|
@krystophny I though of revifying this branch. At this point a combined approach (AD + "per-hand" adjoints where appropriate) seems most viable, but I noticed a possible tension of compiling the whole project with |
Summary
RABE_NETCDF_PROVIDER=auto|system|fetch.netcdf.modis not usable.v4.9.2and NetCDF-Fortranv4.6.1by tag, and keep the fetched NetCDF-C link set to HDF5, zlib, and libm.netcdf::netcdffand public module dependencies.Notes
lfortranconfigures and skips unsupported-w, but the build still stops in Quadpack module scanning. I filed the reduced upstream issue: lfortran/lfortran#11612.No libneo PR was needed in this step. rabe uses its local libneo CMake shim, and this PR wires that shim to the compiler-matched NetCDF target.
Verification
Test fails on main
Test passes after fix
Dependency fetch check
Runtime checks not fixed here