ohpc: Problem and solution to issue when using EasyBuild with Xvfb eb files
Hello
I have recently had a problem when I was trying to install Xvfb-21.1.6-GCCcore-12.2.0
using EasyBuild 4.7.2. When I was trying to install this using Xvfb-21.1.6-GCCcore-12.2.0.eb
(/opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.6-GCCcore-12.2.0.eb
), I got an error where the checksum for the patch for xvfb-run was not correct:
[rocky@rockygpu Gaussian_test]$ eb Xvfb-21.1.6-GCCcore-12.2.0.eb --robot --parallel=4
== Temporary log file in case of crash /tmp/eb-vqz5vkh0/easybuild-hcskrz89.log
== found valid index for /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs, so using it...
== found valid index for /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs, so using it...
== resolving dependencies ...
== processing EasyBuild easyconfig /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.6-GCCcore-12.2.0.eb
== building and installing Xvfb/21.1.6-GCCcore-12.2.0...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== FAILED: Installation ended unsuccessfully (build directory: /home/rocky/.local/easybuild/build/Xvfb/21.1.6/GCCcore-12.2.0): build failed (first 300 chars): Checksum verification for /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/xvfb-run using fd6d13182b77871d4f65fccdaebb8a72387a726426066d3f8e6aa26b010ea0e8 failed. (took 0 secs)
I looked for this checksum in the Xvfb-21.1.6-GCCcore-12.2.0.eb
file and found this is associated to a patch file called xvfb-run
. I did some investigating and found that if I ran eb --search Xvfb
, there was an entry for xvfb-run
:
[rocky@rockygpu ~]$ eb --search Xvfb
== found valid index for /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs, so using it...
* /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4_fix_xvfb_startup.patch
* /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.8-GCCcore-8.2.0.eb
* /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.8-GCCcore-8.3.0.eb
* /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.9-GCCcore-9.3.0.eb
* /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.9-GCCcore-10.2.0.eb
* /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.11-GCCcore-10.3.0.eb
* /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.13-GCCcore-11.2.0.eb
* /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.3-GCCcore-11.3.0.eb
* /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.6-GCCcore-12.2.0.eb
* /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/xvfb-run
I ran the checksum for the entry for xvfb-run
:
[rocky@rockygpu ~]$ sha256sum /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/xvfb-run
a70efee6934d53d7c228a4a8b2a7966b6eb4b47203d66818f122c66b1ab4e7c0 /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/xvfb-run
and changed the checksum currently in Xvfb-21.1.6-GCCcore-12.2.0.eb
with this one:
(name, version, {
'source_urls': ['https://www.x.org/releases/individual/xserver/'],
'sources': ['xorg-server-%(version)s.tar.gz'],
'patches': [('xvfb-run', '.')],
'checksums': [
'6f9c73ccc50e2731adac17671c8e33687738c8cd556b49ecb9f410ce7217be11', # xorg-server-21.1.3.tar.gz
'a70efee6934d53d7c228a4a8b2a7966b6eb4b47203d66818f122c66b1ab4e7c0', # xvfb-run # <-- this is for the checksum when running "sha256sum /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/xvfb-run" . original checksum sha256: 'fd6d13182b77871d4f65fccdaebb8a72387a726426066d3f8e6aa26b010ea0e8'
],
'start_dir': 'xorg-server-%(version)s',
'configopts': local_xvfb_configopts,
'buildopts': local_xvfb_buildopts,
'installopts': local_xvfb_buildopts,
}),
and then retried running eb Xvfb-21.1.6-GCCcore-12.2.0.eb --robot
and this seemed to do the trick.
I assume that the /opt/ohpc/pub/libs/easybuild/4.7.2/easybuild/easyconfigs/x/Xvfb/xvfb-run
has been updated recently but the checksums for this file in the Xvfb eb files have not been updated.
I also tried installing Xvfb-21.1.3-GCCcore-11.3.0.eb
(eb Xvfb-21.1.3-GCCcore-11.3.0.eb --robot --parallel=4
), got the same problem, and the same solution fixed this. I assume this will be a problem for all the Xvfb eb files.
I didnt know where to update this code in this github directory, so I thought to added it here as an issue. Hopefully this helps sort the problem out 😃
I have attached my updated Xvfb-21.1.6-GCCcore-12.2.0.eb
and Xvfb-21.1.3-GCCcore-11.3.0.eb
files here.
Xvfb-21.1.3-GCCcore-11.3.0.eb.txt Xvfb-21.1.6-GCCcore-12.2.0.eb.txt
Thanks for all the work. Setting up a HPC and OpenHPC is great!
Kindest regards,
Geoffrey
EasyBuild Details:
Name : EasyBuild-ohpc
Version : 4.7.2
Release : 300.ohpc.3.2
Architecture : x86_64
Size : 60 M
Source : EasyBuild-ohpc-4.7.2-300.ohpc.3.2.src.rpm
Repository : @System
From repo : OpenHPC
Summary : Software build and installation framework
URL : https://easybuilders.github.io/easybuild
License : GPLv2
Description : EasyBuild is a software build and installation framework that allows
: you to manage (scientific) software on High Performance Computing (HPC)
: systems in an efficient way.
About this issue
- Original URL
- State: closed
- Created 6 months ago
- Comments: 17 (9 by maintainers)
A quick test shows that setting
__brp_mangle_shebangs_exclude_from
to*easyconfigs*
should be enough to make it work. Let’s keep this open until we fix it in 3.1.That is the script doing it https://gitlab.com/redhat/centos-stream/rpms/redhat-rpm-config/-/blob/c9s/brp-mangle-shebangs and it looks like it should be easy to exclude certain paths from it.