Closed Flamefire closed 3 months ago
Please have a look at this @boegel @Micket (involved in #2934)
Related easyconfig PR: https://github.com/easybuilders/easybuild-easyconfigs/pull/21143
As discussed in the confcall I made that compatible with Python 2 which doesn't support argument-less super()
I found another instance of that in Palm and an __init__
which did nothing and could be removed, see https://pylint.readthedocs.io/en/latest/user_guide/messages/warning/useless-parent-delegation.html
@boegelbot please test @ jsc-zen3 EB_ARGS="maturin-1.1.0-GCCcore-12.3.0.eb"
@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=3406 EB_ARGS="maturin-1.1.0-GCCcore-12.3.0.eb" EB_REPO=easybuild-easyblocks EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_3406 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh
' executed!
Submitted batch job 4678
Test results coming soon (I hope)...
Test report by @boegelbot
Build succeeded for 1 out of 1 (1 easyconfigs in total) jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.4, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.18 See https://gist.github.com/boegelbot/0564556181cc9483d3b637caf21d0ba0 for a full test report.
The issue intended to be fixed with #2934 is actually (likely) caused by Pythons MRO:
CargoPythonPackage explicitely calls
__init__
of bothCargo
andPythonPackage
super().__init__
in Cargo callsExtensionEasyBlock->EasyBlock
stop (Could then callExtension
butExtensionEasyBlock does not use
super`)PythonPackage.__init__
is called byCargoPythonPackage
super().__init__
in PythonPackage callsCargo.__init__
again(!)The MRO order is
[CargoPythonPackage, PythonPackage, Cargo, ExtensionEasyBlock, EasyBlock, Extension]
which explains that.Fix is to consistently use
super()
in the CargoPythonPackage inheritance chain.