metomi / fab

Flexible build system for scientific software
https://metomi.github.io/fab/
Other
19 stars 11 forks source link

278 absolute paths in compilation #279

Closed hiker closed 3 months ago

hiker commented 4 months ago

A tiny tiny change to make the Fortran compilation use absolute paths, the same way c compilation does. Besides consistency, it's also easier to debug if you can copy&paste the compilation lines :)

Fixes #278.

hiker commented 3 months ago

Dang, as far as I can tell this does not work: gfortran adds the (now absolute) path to the .o file, which means that two identical compiled files in different workspaces now have a different hash (and test_repeatable_fmod_hashes in prebuild/test_prebuild.py now fails). The only other idea I have for now is to modify the debug log message to indicate if the directory is changed.

hiker commented 3 months ago

I am closing this PR for now, since it causes a test failure in the computed hashes. This is strongly related to #289 - if this issue can be fixed the way suggested in the ticket, then the current PR would work. If #289 cannot be fixed, we need a different approach here, e.g. instead of using absolute paths logging the cwd when executing Fortran, so you are aware of the cwd when debugging.