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

Make CMakeMake respect the toolchainopts when selecting build type #3452

Merged
merged 1 commit into from
Sep 27, 2024

Conversation

Micket
Copy link
Contributor

@Micket Micket commented Sep 20, 2024

See title

@Micket Micket changed the title Make cmakemake and mesonninja respect the toolchainopts when selecting build type Make cmakemake respect the toolchainopts when selecting build type Sep 20, 2024
@Micket Micket added the EasyBuild-5.0 EasyBuild 5.0 label Sep 20, 2024
Copy link
Contributor

@Flamefire Flamefire left a comment

Choose a reason for hiding this comment

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

LGTM

@boegel boegel changed the title Make cmakemake respect the toolchainopts when selecting build type Make CMakeMake respect the toolchainopts when selecting build type Sep 23, 2024
@Micket
Copy link
Contributor Author

Micket commented Sep 27, 2024

Test report by @Micket

Overview of tested easyconfigs (in order)

  • SUCCESS CGAL-5.6.1-GCCcore-13.3.0.eb
  • SUCCESS fmt-9.1.0-GCCcore-12.2.0.eb
  • SUCCESS graphite2-1.3.14-GCCcore-13.3.0.eb
  • SUCCESS json-c-0.17-GCCcore-13.3.0.eb
  • SUCCESS libgit2-1.8.1-GCCcore-13.3.0.eb
  • SUCCESS libheif-1.17.6-GCC-12.3.0.eb
  • SUCCESS nvtop-3.1.0-GCCcore-12.3.0.eb
  • SUCCESS Qhull-2020.2-GCCcore-13.3.0.eb
  • SUCCESS RAxML-NG-1.2.0-GCC-12.3.0.eb
  • SUCCESS SentencePiece-0.2.0-GCC-13.2.0.eb
  • SUCCESS snappy-1.1.9-GCCcore-12.2.0.eb
  • SUCCESS SRA-Toolkit-3.1.1-gompi-2023b.eb
  • SUCCESS x265-3.6-GCCcore-13.3.0.eb
  • SUCCESS yaml-cpp-0.8.0-GCCcore-13.2.0.eb

Build succeeded for 14 out of 14 (14 easyconfigs in total)
alvis-skylake-build - Linux Rocky Linux 8.9, x86_64, Intel Xeon Processor (Skylake, IBRS, no TSX), Python 3.6.8
See https://gist.github.com/Micket/1c4a1ac142e565f3b90e7402d981a30d for a full test report.

@Micket
Copy link
Contributor Author

Micket commented Sep 27, 2024

Will repeat the tests above with debug: True

@Micket
Copy link
Contributor Author

Micket commented Sep 27, 2024

Test report by @Micket

Overview of tested easyconfigs (in order)

  • SUCCESS CGAL-5.6.1-GCCcore-13.3.0.eb
  • SUCCESS fmt-9.1.0-GCCcore-12.2.0.eb
  • SUCCESS gmsh-4.12.2-foss-2023a.eb
  • SUCCESS graphite2-1.3.14-GCCcore-13.3.0.eb
  • SUCCESS json-c-0.17-GCCcore-13.3.0.eb
  • SUCCESS libgit2-1.8.1-GCCcore-13.3.0.eb
  • SUCCESS libheif-1.17.6-GCC-12.3.0.eb
  • SUCCESS nvtop-3.1.0-GCCcore-12.3.0.eb
  • SUCCESS Qhull-2020.2-GCCcore-13.3.0.eb
  • SUCCESS RAxML-NG-1.2.0-GCC-12.3.0.eb
  • SUCCESS SentencePiece-0.2.0-GCC-13.2.0.eb
  • SUCCESS snappy-1.1.9-GCCcore-12.2.0.eb
  • SUCCESS SRA-Toolkit-3.1.1-gompi-2023b.eb
  • SUCCESS x265-3.6-GCCcore-13.3.0.eb
  • SUCCESS yaml-cpp-0.8.0-GCCcore-13.2.0.eb

Build succeeded for 15 out of 15 (15 easyconfigs in total)
alvis-skylake-build - Linux Rocky Linux 8.9, x86_64, Intel Xeon Processor (Skylake, IBRS, no TSX), Python 3.6.8
See https://gist.github.com/Micket/52ae77ae0a426b7f7c6150762494784f for a full test report.

@Micket
Copy link
Contributor Author

Micket commented Sep 27, 2024

which also looked good to me, so now with noopt

@Micket
Copy link
Contributor Author

Micket commented Sep 27, 2024

Test report by @Micket

Overview of tested easyconfigs (in order)

Build succeeded for 10 out of 14 (14 easyconfigs in total)
alvis-skylake-build - Linux Rocky Linux 8.9, x86_64, Intel Xeon Processor (Skylake, IBRS, no TSX), Python 3.6.8
See https://gist.github.com/Micket/0cf19fb6e8f346eb94f0a500b100ed44 for a full test report.

@Micket
Copy link
Contributor Author

Micket commented Sep 27, 2024

also looked good, though the noopt flag is still setting --march=native which seems strange (though that is due to *FLAGS environment variables, not due to the cmake easyblock.

Failures above is just that the build scripts intentionally append a "d" at the end of the library names, except for SRA-Toolkit which the build just breaks with you run debug (really unclear as to what is happening there, but, not CMake's fault from what i can see in the logs).

I think this is good to go in.

Copy link
Contributor

@bartoldeman bartoldeman left a comment

Choose a reason for hiding this comment

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

lgtm

@bartoldeman bartoldeman merged commit 710a3f6 into easybuilders:5.0.x Sep 27, 2024
19 checks passed
@Flamefire
Copy link
Contributor

also looked good, though the noopt flag is still setting --march=native which seems strange (though that is due to *FLAGS environment variables, not due to the cmake easyblock.

I guess EBs optarch is orthogonal to debug builds. And makes sense to me.

Failures above is just that the build scripts intentionally append a "d" at the end of the library names,

For those it might be better to use (potentially iterated) configureopts to build debug and release versions. It is intentional that the debug libs are named differently to allow them to coexist.

except for SRA-Toolkit which the build just breaks with you run debug (really unclear as to what is happening there, but, not CMake's fault from what i can see in the logs).

"Usage: vdb-dump [ ...] [options]" --> Looks like it messes up an invocation of a helper program. Probably a bug in their build scripts which we can report.

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

Successfully merging this pull request may close these issues.

4 participants