Skip to content

{devel}[GCCcore/13.3.0] LCov v2.3.1#23752

Merged
boegel merged 5 commits intoeasybuilders:developfrom
Thyre:20250827142447_new_pr_LCov231
Sep 23, 2025
Merged

{devel}[GCCcore/13.3.0] LCov v2.3.1#23752
boegel merged 5 commits intoeasybuilders:developfrom
Thyre:20250827142447_new_pr_LCov231

Conversation

@Thyre
Copy link
Collaborator

@Thyre Thyre commented Aug 27, 2025

@Thyre Thyre added new 2024a issues & PRs related to 2024a common toolchains labels Aug 27, 2025
@Thyre
Copy link
Collaborator Author

Thyre commented Aug 27, 2025

I am not sure if I hit a bug with this EasyConfig.

When enabling sanity_check_all_components = True, all Perl modules will be checked. This is done via perldoc -lm.
Without any modules loaded, this results in the following message on my system:

$ perldoc -lm ExtUtils::PkgConfig
You need to install the perl-doc package to use this program.

With sanity_check_all_components enabled, I'm hitting this exact error message.

== 2025-08-27 14:11:25,049 build_log.py:226 ERROR EasyBuild encountered an error (at easybuild/base/exceptions.py:126 in __init__): Sanity check failed: command "perldoc -lm ExtUtils::PkgConfig " failed; output:
You need to install the perl-doc package to use this program. (at easybuild/framework/easyblock.py:4368 in _sanity_check_step)

Checking PATH in eb-shell only GCC & LCov are present:

$ env | grep ^PATH
PATH=/opt/EasyBuild/apps/software/LCov/2.3.1-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/GCCcore/13.3.0/bin:/home/jreuter/bin:/home/jreuter/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/EasyBuild/prog/local/bin:/opt/EasyBuild/prog/bin

If I load the resulting module, this is not the case:

env | grep ^PATH                        
PATH=/opt/EasyBuild/apps/software/LCov/2.3.1-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/libgd/2.3.3-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/libjpeg-turbo/3.0.1-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/NASM/2.16.03-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/fontconfig/2.15.0-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/util-linux/2.40-GCCcore-13.3.0/sbin:/opt/EasyBuild/apps/software/util-linux/2.40-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/SQLite/3.45.3-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/Tcl/8.6.14-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/freetype/2.13.2-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/Brotli/1.1.0-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/libpng/1.6.43-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/bzip2/1.0.8-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/Perl-bundle-CPAN/5.38.2-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/OpenSSL/3/bin:/opt/EasyBuild/apps/software/ncurses/6.5-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/expat/2.6.2-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/Perl/5.38.2-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/binutils/2.42-GCCcore-13.3.0/bin:/opt/EasyBuild/apps/software/GCCcore/13.3.0/bin:/home/jreuter/bin:/home/jreuter/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/EasyBuild/prog/local/bin:/opt/EasyBuild/prog/bin

What is going on here?

@Flamefire
Copy link
Contributor

For me it fails even differently with the all-sanity-check:
'Module command \'/usr/share/lmod/lmod/libexec/lmod python load LCov/2.3.1\' failed with exit code 1; stderr: Lmod has detected the following error: setenv names must be start with a letter or underscore followed letters, numbers and underscores (Not: "EBROOTEXTUTILS::PKGCONFIG")\n\nWhile processing the following module(s):\n Module fullname Module Filename\n --------------- ---------------\n LCov/2.3.1 /tmp/easybuild-tmp/eb-811bup8a/tmp08u7zumn/all/Compiler/GCCcore/13.3.0/LCov/2.3.1.lua\n\n; stdout: _mlstatus = False\n'

Looks like we can't just call the sanity-check step of the bundle components as it will create a module file as-if it was the top-level EC

@Thyre
Copy link
Collaborator Author

Thyre commented Aug 27, 2025

For me it fails even differently with the all-sanity-check: 'Module command \'/usr/share/lmod/lmod/libexec/lmod python load LCov/2.3.1\' failed with exit code 1; stderr: Lmod has detected the following error: setenv names must be start with a letter or underscore followed letters, numbers and underscores (Not: "EBROOTEXTUTILS::PKGCONFIG")\n\nWhile processing the following module(s):\n Module fullname Module Filename\n --------------- ---------------\n LCov/2.3.1 /tmp/easybuild-tmp/eb-811bup8a/tmp08u7zumn/all/Compiler/GCCcore/13.3.0/LCov/2.3.1.lua\n\n; stdout: _mlstatus = False\n'

Looks like we can't just call the sanity-check step of the bundle components as it will create a module file as-if it was the top-level EC

@branfosj is hitting the same error. I guess my ancient Lmod 8.7 lets this slip through?

I've also done some more checking. EB 4.9.4 works fine, but I haven't found any trace of it actually trying to load the modules. EB 5.0.0 and 5.1.0 fail even during the build. Here, one needs to export the PERL5LIB in multiple places for the build to even work. With develop, I'm hitting the described issue.

@Flamefire
Copy link
Contributor

Flamefire commented Aug 28, 2025

I guess we need to do the same logic as for extensions: Load the module in the parent and not in the childs

Shouldn't be to hard. Do we already have something to detect we are a bundle component?

Got a fix: easybuilders/easybuild-easyblocks#3905 (includes changes from another PR though)

@Thyre
Copy link
Collaborator Author

Thyre commented Aug 28, 2025

@boegelbot please test @ jsc-zen3
EB_ARGS="--include-easyblocks-from-pr=3905 --installpath=/tmp/ecpr-23752"

@boegelbot
Copy link
Collaborator

@Thyre: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=23752 EB_ARGS="--include-easyblocks-from-pr=3905 --installpath=/tmp/ecpr-23752" EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_23752 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 7777

Test results coming soon (I hope)...

Details

- notification for comment with ID 3233327804 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3905
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3c2.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.6, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/667d9be35195f18a9e047e2ce17b890d for a full test report.

@Thyre
Copy link
Collaborator Author

Thyre commented Aug 28, 2025

Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3905
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
ZAM054 - Linux Zorin OS 17, x86_64, 12th Gen Intel(R) Core(TM) i7-1260P, 1 x NVIDIA NVIDIA GeForce MX550, 580.65.06, Python 3.10.12
See https://gist.github.com/Thyre/780e234bc66ee4dbe938ba9396875a2b for a full test report.

@boegel
Copy link
Member

boegel commented Sep 11, 2025

Test report by @boegel
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3905
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node3522.doduo.os - Linux RHEL 9.4, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.9.18
See https://gist.github.com/boegel/45b8e8bad74ceb882c460628d64ed48c for a full test report.

@boegel
Copy link
Member

boegel commented Sep 23, 2025

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=23752 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_23752 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 8030

Test results coming soon (I hope)...

Details

- notification for comment with ID 3322991499 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@Thyre
Copy link
Collaborator Author

Thyre commented Sep 23, 2025

Test report by @Thyre
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
ZAM054 - Linux Zorin OS 17, x86_64, 12th Gen Intel(R) Core(TM) i7-1260P, 1 x NVIDIA NVIDIA GeForce MX550, 580.65.06, Python 3.10.12
See https://gist.github.com/Thyre/4032fd7c879228d3e6a89d277472c10d for a full test report.

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3c2.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.6, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/9cb9557fa3bc60d1ae8e97ee9a88a59a for a full test report.

@boegel boegel added this to the next release (5.1.2) milestone Sep 23, 2025
Copy link
Member

@boegel boegel 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
Copy link
Member

boegel commented Sep 23, 2025

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node3522.doduo.os - Linux RHEL 9.6, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.9.21
See https://gist.github.com/boegel/e0c7f60ce8fce7b6fa135afbe48206bd for a full test report.

@boegel
Copy link
Member

boegel commented Sep 23, 2025

Going in, thanks @Thyre!

@boegel boegel merged commit e779f7a into easybuilders:develop Sep 23, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2024a issues & PRs related to 2024a common toolchains new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants