Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Detect if there are .mod files for GCCcore installs #4203

Closed
branfosj opened this issue Feb 1, 2023 · 7 comments
Closed

Detect if there are .mod files for GCCcore installs #4203

branfosj opened this issue Feb 1, 2023 · 7 comments
Labels
Milestone

Comments

@branfosj
Copy link
Member

branfosj commented Feb 1, 2023

If compiling Fortran then we should not do that with GCCcore due to the incompatibility in the .mod files generated. It would be helpful if we searched the installed software and warn if any are found.

Possibly:

  • config option to turn on the check
  • config option to control if this is a warning or error
  • we will need ability to say that an easyconfig produces .mod files but that we are sure that they are not from Fortran or to allowing us to skip the check for an easyconfig
@boegel boegel added this to the 4.x milestone Feb 15, 2023
@branfosj
Copy link
Member Author

From a check on my installed software:

  • Clang - has .mod files - in the flang directory. I suspect that these are compiled by clang/flang and not an issue
  • CPLEX - uses .mod for its own command files. So we will definitely need a 'this has non-fortran .mod files' flag.
  • kim-api - has .mod files in lib64/kim-api/mod. I expect that this should be moved to GCC / intel-compilers as required.

@ocaisa
Copy link
Member

ocaisa commented Nov 22, 2023

I thought we could restrict the search only to directories being added to CPATH, if I understand things, that is how they are picked up by software...unfortunately I just found fortran-lang/fpm#441 (comment) which indicates that compilers behave differently when it comes to CPATH

@branfosj
Copy link
Member Author

branfosj commented Dec 12, 2023

On generoso using

find */*GCCcore* -name *.mod > modfiles
cat modfiles | cut -d"/" -f7,8 | uniq

Compilers (AOCC/AOMP/Clang)

AOCC/2.3.0-GCCcore-10.2.0
AOCC/2.3.0-GCCcore-9.3.0
AOCC/3.0.0-GCCcore-10.2.0
AOCC/3.0.0-GCCcore-10.3.0
AOCC/3.1.0-GCCcore-10.2.0
AOCC/3.1.0-GCCcore-10.3.0
AOCC/3.1.0-GCCcore-11.2.0
AOCC/3.2.0-GCCcore-11.3.0
AOCC/4.0.0-GCCcore-11.3.0
AOCC/4.0.0-GCCcore-12.2.0
AOCC/4.0.0-GCCcore-12.3.0
AOMP/13.0-2-GCCcore-10.2.0
Clang/15.0.5-GCCcore-11.3.0
Clang/16.0.4-GCCcore-12.2.0
Clang/16.0.6-GCCcore-12.3.0

In PR14840

FACE/1.1.1-GCCcore-10.3.0
forbear/1.2.0-GCCcore-10.3.0

In PR15837

Fortran-YAML/20210420-GCCcore-11.2.0

Not Fortran module file

GeneMark-ET/4.65-GCCcore-10.2.0
GeneMark-ET/4.71-GCCcore-11.2.0
GeneMark-ET/4.71-GCCcore-11.3.0

Fixed in easybuilders/easybuild-easyconfigs#17221

HDF5/1.10.5-GCCcore-8.3.0-serial
HDF5/1.12.2-GCCcore-11.3.0-serial
HDF5/1.13.1-GCCcore-11.3.0-serial

Fixed, as per the previous comment

kim-api/2.2.1-GCCcore-10.2.0
kim-api/2.2.1-GCCcore-10.3.0
kim-api/2.3.0-GCCcore-11.2.0
kim-api/2.3.0-GCCcore-11.3.0
kim-api/2.3.0-GCCcore-12.2.0
kim-api/2.3.0-GCCcore-12.3.0

Fixed in easybuilders/easybuild-easyconfigs#19283

json-fortran/8.3.0-GCCcore-11.2.0
json-fortran/8.3.0-GCCcore-11.3.0
json-fortran/8.3.0-GCCcore-12.2.0

In PR16721

HEALPix/3.82-GCCcore-11.2.0

Fixed in previous PRs

mctc-lib/0.3.1-GCCcore-11.2.0
mctc-lib/0.3.1-GCCcore-11.3.0
mctc-lib/0.3.1-GCCcore-12.2.0
mstore/0.2.0-GCCcore-11.3.0
mstore/0.2.0-GCCcore-12.2.0

Hmm..

Python/3.9.5-GCCcore-10.3.0

File is in the tests

Python/3.9.5-GCCcore-10.3.0/lib/python3.9/site-packages/numpy/f2py/tests/src/module_data/mod.mod

But the wider question here is why that Python has numpy in it at all.

@boegel
Copy link
Member

boegel commented Jan 4, 2024

Keeping this open since we need to update a couple of easyconfigs to weed out false positives now that #4389 is merged...

@branfosj
Copy link
Member Author

branfosj commented Jan 5, 2024

Keeping this open since we need to update a couple of easyconfigs to weed out false positives now that #4389 is merged...

Are you able to scan your installs to see if there are anyother false postives?

@branfosj
Copy link
Member Author

If there remains items left to do here then we'll catch them during regression testing for the release and fix them then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants