Skip to content

use sanity_check_load_module in sanity check step of custom easyblock for pybind11#3864

Merged
branfosj merged 3 commits intoeasybuilders:developfrom
boegel:20250801134246_new_pr_pythonpackage
Aug 10, 2025
Merged

use sanity_check_load_module in sanity check step of custom easyblock for pybind11#3864
branfosj merged 3 commits intoeasybuilders:developfrom
boegel:20250801134246_new_pr_pythonpackage

Conversation

@boegel
Copy link
Copy Markdown
Member

@boegel boegel commented Aug 1, 2025

(created using eb --new-pr)

fixes easybuilders/easybuild-easyconfigs#23543

@boegel boegel added the bug fix label Aug 1, 2025
@boegel boegel added this to the release after 5.1.1 milestone Aug 1, 2025
@boegel boegel changed the title use sanity_check_load_module in sanity check step of custom easyblock for pybind11 use sanity_check_load_module in sanity check step of custom easyblock for pybind11 Aug 1, 2025
@boegel
Copy link
Copy Markdown
Member Author

boegel commented Aug 1, 2025

@boegelbot please test @ jsc-zen3
EB_ARGS="pybind11-2.13.6-GCC-14.2.0.eb --sanity-check-only"

@boegelbot
Copy link
Copy Markdown

@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=3864 EB_ARGS="pybind11-2.13.6-GCC-14.2.0.eb --sanity-check-only" EB_REPO=easybuild-easyblocks EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_3864 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3144294650 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
Copy Markdown

Test report by @boegelbot

Overview of tested easyconfigs (in order)

  • SUCCESS pybind11-2.13.6-GCC-14.2.0.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3c1.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/59154f2f9aa4ae19f61cf5bb4f23b9b7 for a full test report.

@branfosj
Copy link
Copy Markdown
Member

branfosj commented Aug 1, 2025

Test report by @branfosj

Overview of tested easyconfigs (in order)

  • SUCCESS pybind11-2.13.6-GCC-14.2.0.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
bear-pg0105u03a - Linux RHEL 8.10, x86_64, Intel(R) Xeon(R) Platinum 8360Y CPU @ 2.40GHz (icelake), Python 3.6.8
See https://gist.github.com/branfosj/c47c83f615f3e0248911538214c41e55 for a full test report.

@branfosj
Copy link
Copy Markdown
Member

branfosj commented Aug 1, 2025

Test report by @branfosj

Overview of tested easyconfigs (in order)

Build succeeded for 0 out of 1 (1 easyconfigs in total)
bear-pg0105u03a - Linux RHEL 8.10, x86_64, Intel(R) Xeon(R) Platinum 8360Y CPU @ 2.40GHz (icelake), Python 3.6.8
See https://gist.github.com/branfosj/b799b785e54bbaae55307334410ca883 for a full test report.

@branfosj
Copy link
Copy Markdown
Member

branfosj commented Aug 1, 2025

Full build is failing (eb --include-easyblocks-from-pr 3864 pybind11-2.13.6-GCC-14.2.0.eb --rebuild -u):

== 2025-08-01 13:02:30,627 build_log.py:226 ERROR EasyBuild encountered an error (at easybuild/src/easybuild-framework/easybuild/base/exceptions.py:126 in __init__): pybind11/2.13.6-GCC-14.2.0 module is not loaded, this should never happen... (at easybuild/easyblocks/generic/pythonpackage.py:1066 in sanity_check_step)

The same failure is seen with eb --include-easyblocks-from-pr 3864 pybind11-2.13.6-GCC-14.2.0.eb --module-only (assuming you already have pybind11 built).

@branfosj
Copy link
Copy Markdown
Member

branfosj commented Aug 1, 2025

@boegelbot please test @ jsc-zen3
EB_ARGS="pybind11-2.13.6-GCC-14.2.0.eb --module-only"

@boegelbot
Copy link
Copy Markdown

@branfosj: 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=3864 EB_ARGS="pybind11-2.13.6-GCC-14.2.0.eb --module-only" EB_REPO=easybuild-easyblocks EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_3864 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3144552092 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
Copy Markdown

Test report by @boegelbot

Overview of tested easyconfigs (in order)

Build succeeded for 0 out of 1 (1 easyconfigs in total)
jsczen3c1.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/66e033485e0cc0f662e1bcdc7e07ce81 for a full test report.

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Aug 8, 2025

Full build is failing (eb --include-easyblocks-from-pr 3864 pybind11-2.13.6-GCC-14.2.0.eb --rebuild -u):

== 2025-08-01 13:02:30,627 build_log.py:226 ERROR EasyBuild encountered an error (at easybuild/src/easybuild-framework/easybuild/base/exceptions.py:126 in __init__): pybind11/2.13.6-GCC-14.2.0 module is not loaded, this should never happen... (at easybuild/easyblocks/generic/pythonpackage.py:1066 in sanity_check_step)

The same failure is seen with eb --include-easyblocks-from-pr 3864 pybind11-2.13.6-GCC-14.2.0.eb --module-only (assuming you already have pybind11 built).

That problem is fixed with the change in e91d8ec

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Aug 8, 2025

@boegelbot please test @ jsc-zen3
EB_ARGS="pybind11-2.13.6-GCC-14.2.0.eb"
CORE_CNT=16

@boegelbot
Copy link
Copy Markdown

@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=3864 EB_ARGS="pybind11-2.13.6-GCC-14.2.0.eb" EB_REPO=easybuild-easyblocks EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_3864 --ntasks="16" ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3167461373 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).

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Aug 8, 2025

Test report by @boegel

Overview of tested easyconfigs (in order)

  • SUCCESS pybind11-2.13.6-GCC-14.2.0.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
node4205.shinx.os - Linux RHEL 9.4, x86_64, AMD EPYC 9654 96-Core Processor (zen4), Python 3.9.18
See https://gist.github.com/boegel/29de61440156fabe0b723521525708e1 for a full test report.

edit: with --module-only

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Aug 8, 2025

Test report by @boegel

Overview of tested easyconfigs (in order)

  • SUCCESS pybind11-2.13.6-GCC-14.2.0.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
node4205.shinx.os - Linux RHEL 9.4, x86_64, AMD EPYC 9654 96-Core Processor (zen4), Python 3.9.18
See https://gist.github.com/boegel/d3bf1fbb3994bdb2414835822a9f1c24 for a full test report.

edit: with --sanity-check-only

Comment thread easybuild/easyblocks/p/pybind11.py
@boegel
Copy link
Copy Markdown
Member Author

boegel commented Aug 8, 2025

Test report by @boegel

Overview of tested easyconfigs (in order)

  • SUCCESS pybind11-2.13.6-GCC-14.2.0.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
node4205.shinx.os - Linux RHEL 9.4, x86_64, AMD EPYC 9654 96-Core Processor (zen4), Python 3.9.18
See https://gist.github.com/boegel/deb2fdce6678b688e928ec4a1d2b8a6c for a full test report.

@boegelbot
Copy link
Copy Markdown

Test report by @boegelbot

Overview of tested easyconfigs (in order)

  • SUCCESS pybind11-2.13.6-GCC-14.2.0.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3c3.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/1c93b25f30c3b5cba6ec84d26be00c9c for a full test report.

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Aug 9, 2025

@boegelbot please test @ jsc-zen3
EB_ARGS="pybind11-2.13.6-GCC-14.2.0.eb --sanity-check-only"

@boegelbot
Copy link
Copy Markdown

@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=3864 EB_ARGS="pybind11-2.13.6-GCC-14.2.0.eb --sanity-check-only" EB_REPO=easybuild-easyblocks EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_3864 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3171890935 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
Copy Markdown

Test report by @boegelbot

Overview of tested easyconfigs (in order)

  • SUCCESS pybind11-2.13.6-GCC-14.2.0.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3c1.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/a8fa7f83574de0958910894cdcc484cf for a full test report.

@branfosj
Copy link
Copy Markdown
Member

branfosj commented Aug 9, 2025

@boegelbot please test @ jsc-zen3
EB_ARGS="pybind11-2.13.6-GCC-14.2.0.eb --module-only"

@boegelbot
Copy link
Copy Markdown

@branfosj: 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=3864 EB_ARGS="pybind11-2.13.6-GCC-14.2.0.eb --module-only" EB_REPO=easybuild-easyblocks EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_3864 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3172044606 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
Copy Markdown

Test report by @boegelbot

Overview of tested easyconfigs (in order)

  • SUCCESS pybind11-2.13.6-GCC-14.2.0.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3c1.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/879650f41cb58a1fa557587291dd1e10 for a full test report.

@branfosj
Copy link
Copy Markdown
Member

Test report by @branfosj

Overview of tested easyconfigs (in order)

  • SUCCESS pybind11-2.13.5-GCC-14.2.0.eb
  • SUCCESS pybind11-2.13.6-GCC-14.2.0.eb

Build succeeded for 2 out of 2 (2 easyconfigs in total)
bear-pg0105u03a - Linux RHEL 8.10, x86_64, Intel(R) Xeon(R) Platinum 8360Y CPU @ 2.40GHz (icelake), Python 3.6.8
See https://gist.github.com/branfosj/be4416ebed5db06b7c7bf92074dbdd77 for a full test report.

@branfosj
Copy link
Copy Markdown
Member

For reference, my tests used pybind11-2.13.5-GCC-14.2.0.eb - pybind11 as an extension:

easyblock = 'PythonBundle'

name = 'pybind11'
version = '2.13.5'

homepage = 'https://pybind11.readthedocs.io'
description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa,
 mainly to create Python bindings of existing C++ code."""

toolchain = {'name': 'GCC', 'version': '14.2.0'}

builddependencies = [
    ('CMake', '3.31.3'),
    # Test dependencies
    ('Eigen', '3.4.0'),
    ('Catch2', '2.13.10'),
    ('Python-bundle-PyPI', '2025.04'),  # to provide pytest
]

dependencies = [
    ('Boost', '1.88.0'),
    ('Python', '3.13.1'),
]

exts_list = [
    (name, version, {
        'source_urls': ['https://github.com/pybind/pybind11/archive/'],
        'sources': ['v%(version)s.tar.gz'],
        'patches': ['pybind11-2.10.3_require-catch.patch'],
    }),
]

moduleclass = 'lib'

@branfosj
Copy link
Copy Markdown
Member

Test report by @branfosj

Overview of tested easyconfigs (in order)

  • SUCCESS pybind11-2.13.5-GCC-14.2.0.eb
  • SUCCESS pybind11-2.13.6-GCC-14.2.0.eb

Build succeeded for 2 out of 2 (2 easyconfigs in total)
bear-pg0105u03a - Linux RHEL 8.10, x86_64, Intel(R) Xeon(R) Platinum 8360Y CPU @ 2.40GHz (icelake), Python 3.6.8
See https://gist.github.com/branfosj/18978f682f36295aa0358eefa4afac2c for a full test report.

@branfosj
Copy link
Copy Markdown
Member

Test report by @branfosj

Overview of tested easyconfigs (in order)

  • SUCCESS pybind11-2.13.5-GCC-14.2.0.eb
  • SUCCESS pybind11-2.13.6-GCC-14.2.0.eb

Build succeeded for 2 out of 2 (2 easyconfigs in total)
bear-pg0105u03a - Linux RHEL 8.10, x86_64, Intel(R) Xeon(R) Platinum 8360Y CPU @ 2.40GHz (icelake), Python 3.6.8
See https://gist.github.com/branfosj/17d2c8d47b822d51225199a12dd71b44 for a full test report.

Copy link
Copy Markdown
Member

@branfosj branfosj left a comment

Choose a reason for hiding this comment

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

Tested with:

  • pybind11 in a single PythonPackage easyconfig
  • pybind11 as an extension in a PythonBundle easyconfig

and:

  • build
  • --module-only
  • --sanity-check-only

@branfosj
Copy link
Copy Markdown
Member

Going in, thanks @boegel!

@branfosj branfosj merged commit 760d101 into easybuilders:develop Aug 10, 2025
17 checks passed
@boegel boegel deleted the 20250801134246_new_pr_pythonpackage branch August 12, 2025 16:29
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.

pybind11-2.13.6-GCC-14.2.0 sanity check command failed

3 participants