ubccr / software-layer

CCR Software Layer
GNU General Public License v2.0
4 stars 6 forks source link

build request: purge_dups #327

Closed dmacguigan closed 5 months ago

dmacguigan commented 6 months ago

Hello,

I am attempting to build a purge_dups module. This software would be useful for several research groups in the Biology Dept.

There is an available easyconfig for a slightly outdated version of the software, but it does not work.

dmacguig@compile1 ~/custom_easyconfigs $ eb ./purge_dups-1.2.5-foss-2021b.eb --robot
== Temporary log file in case of crash /tmp/eb-ertb1ihe/easybuild-g0eu_dcf.log
== Running parse hook for purge_dups-1.2.5-foss-2021b.eb...
== found valid index for /cvmfs/soft.ccr.buffalo.edu/versions/2023.01/easybuild/software/Core/easybuild/4.9.1/easybuild/easyconfigs, so using it...
== Running parse hook for foss-2021b.eb...
== Running parse hook for GCC-11.2.0.eb...
== Running parse hook for GCCcore-11.2.0.eb...
== Running parse hook for OpenMPI-4.1.1-GCC-11.2.0.eb...
== Added '--with-slurm --with-pmi=/opt/software/slurm --with-hwloc=external ' configure option for OpenMPI
== Running parse hook for GCC-11.2.0.eb...
== Running parse hook for GCC-11.2.0.eb...
== Running parse hook for GCCcore-11.2.0.eb...
== Running parse hook for pkg-config-0.29.2.eb...
== Running parse hook for pkg-config-0.29.2-GCCcore-11.2.0.eb...
== Running parse hook for GCCcore-11.2.0.eb...
== Running parse hook for Perl-5.34.0-GCCcore-11.2.0.eb...
== Set path to openssl in compat layer for Perl 5.34.0..
== Running parse hook for groff-1.22.4-GCCcore-11.2.0.eb...
== Running parse hook for zlib-1.2.11.eb...
== Running parse hook for zlib-1.2.11-GCCcore-11.2.0.eb...
== Running parse hook for expat-2.4.1-GCCcore-11.2.0.eb...
== Running parse hook for DB-18.1.40-GCCcore-11.2.0.eb...
== Running parse hook for OpenSSL-1.1.eb...
== Running parse hook for pkgconf-1.8.0.eb...
== Running parse hook for hwloc-2.5.0-GCCcore-11.2.0.eb...
== Running parse hook for libxml2-2.9.10-GCCcore-11.2.0.eb...
== Running parse hook for libevent-2.1.12.eb...
== Running parse hook for libevent-2.1.12-GCCcore-11.2.0.eb...
== Running parse hook for UCX-1.11.2-GCCcore-11.2.0.eb...
== Using custom configure option for UCX: --enable-optimizations --enable-cma --enable-mt --with-verbs --without-java --disable-doxygen-doc  --with-sysroot=/cvmfs/soft.ccr.buffalo.edu/versions/2023.01/compat  --with-rdmacm=/cvmfs/soft.ccr.buffalo.edu/versions/2023.01/compat/usr  --with-verbs=/cvmfs/soft.ccr.buffalo.edu/versions/2023.01/compat/usr
== Running parse hook for libfabric-1.13.2-GCCcore-11.2.0.eb...
== Running parse hook for PMIx-4.1.0-GCCcore-11.2.0.eb...
== Using custom configure option for PMIx:  --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB --with-hwloc=$EBROOTHWLOC --with-ofi=$EBROOTLIBFABRIC --enable-pmix-binaries --disable-man-pages --with-sysroot=/cvmfs/soft.ccr.buffalo.edu/versions/2023.01/compat
== Running parse hook for FlexiBLAS-3.0.4-GCC-11.2.0.eb...
== Running parse hook for CMake-3.21.1-GCCcore-11.2.0.eb...
== Running parse hook for cURL-7.78.0-GCCcore-11.2.0.eb...
== Running parse hook for Python-3.9.6-GCCcore-11.2.0.eb...
== Running parse hook for UnZip-6.0.eb...
== Running parse hook for UnZip-6.0-GCCcore-11.2.0.eb...
== Running parse hook for Rust-1.54.0-GCCcore-11.2.0.eb...
== Running parse hook for Python-3.9.6-GCCcore-11.2.0-bare.eb...
== Running parse hook for SQLite-3.36-GCCcore-11.2.0.eb...
== Running parse hook for Tcl-8.6.11-GCCcore-11.2.0.eb...
== Running parse hook for libffi-3.4.2-GCCcore-11.2.0.eb...
== Running parse hook for GMP-6.2.1-GCCcore-11.2.0.eb...
== Running parse hook for BLIS-0.8.1-GCC-11.2.0.eb...
== Running parse hook for OpenBLAS-0.3.18-GCC-11.2.0.eb...
== Added 'TARGET=SKYLAKEX NUM_THREADS=64' configure/build/install options for OpenBLAS
== Running parse hook for make-4.3-GCCcore-11.2.0.eb...
== Running parse hook for FFTW-3.3.10-gompi-2021b.eb...
== Running parse hook for gompi-2021b.eb...
== Running parse hook for gompi-2021b.eb...
== Running parse hook for ScaLAPACK-2.1.0-gompi-2021b-fb.eb...
== Running parse hook for gompi-2021b.eb...
== Running parse hook for OpenMPI-4.1.1-GCC-11.2.0.eb...
== Added '--with-slurm --with-pmi=/opt/software/slurm --with-hwloc=external ' configure option for OpenMPI
== Running parse hook for foss-2021b.eb...
== Running parse hook for foss-2021b.eb...
== Running parse hook for FlexiBLAS-3.0.4-GCC-11.2.0.eb...
== Running parse hook for FFTW-3.3.10-gompi-2021b.eb...
== Running parse hook for ScaLAPACK-2.1.0-gompi-2021b-fb.eb...
== Running parse hook for matplotlib-3.4.3-foss-2021b.eb...
== Running parse hook for cppy-1.1.0-GCCcore-11.2.0.eb...
== Running parse hook for SciPy-bundle-2021.10-foss-2021b.eb...
== Running parse hook for hypothesis-6.14.6-GCCcore-11.2.0.eb...
== Running parse hook for pybind11-2.7.1-GCCcore-11.2.0.eb...
== Running parse hook for Eigen-3.3.9-GCCcore-11.2.0.eb...
== Running parse hook for libpng-1.6.37-GCCcore-11.2.0.eb...
== Running parse hook for freetype-2.11.0-GCCcore-11.2.0.eb...
== Running parse hook for Brotli-1.0.9-GCCcore-11.2.0.eb...
== Running parse hook for Tkinter-3.9.6-GCCcore-11.2.0.eb...
== Running parse hook for Tk-8.6.11-GCCcore-11.2.0.eb...
== Running parse hook for X11-20210802-GCCcore-11.2.0.eb...
== Running parse hook for Bison-3.7.6.eb...
== Running parse hook for Bison-3.7.6-GCCcore-11.2.0.eb...
== Running parse hook for Meson-0.58.2-GCCcore-11.2.0.eb...
== Running parse hook for Ninja-1.10.2-GCCcore-11.2.0.eb...
== Running parse hook for Doxygen-1.9.1-GCCcore-11.2.0.eb...
== Running parse hook for libiconv-1.16-GCCcore-11.2.0.eb...
== Running parse hook for fontconfig-2.13.94-GCCcore-11.2.0.eb...
== Added '--with-add-fonts=/cvmfs/soft.ccr.buffalo.edu/versions/2023.01/compat/usr/share/fonts' configure option for fontconfig
== Running parse hook for xorg-macros-1.19.3-GCCcore-11.2.0.eb...
== Running parse hook for Pillow-8.3.2-GCCcore-11.2.0.eb...
== Running parse hook for libjpeg-turbo-2.0.6-GCCcore-11.2.0.eb...
== Running parse hook for NASM-2.15.05-GCCcore-11.2.0.eb...
== Running parse hook for LibTIFF-4.3.0-GCCcore-11.2.0.eb...
== Running parse hook for jbigkit-2.1-GCCcore-11.2.0.eb...
== Running parse hook for zstd-1.5.0-GCCcore-11.2.0.eb...
== Running parse hook for gzip-1.10-GCCcore-11.2.0.eb...
== Running parse hook for lz4-1.9.3-GCCcore-11.2.0.eb...
== Running parse hook for Qhull-2020.2-GCCcore-11.2.0.eb...
== Running parse hook for minimap2-2.22-GCCcore-11.2.0.eb...
== resolving dependencies ...
== processing EasyBuild easyconfig /user/dmacguig/custom_easyconfigs/purge_dups-1.2.5-foss-2021b.eb
== Running parse hook...
== Running parse hook...
== building and installing avx512/MPI/gcc/11.2.0/openmpi/4.1.1/purge_dups/1.2.5...
  >> installation prefix: /projects/academic/tkrabben/modules_KrabLab/easybuild/2023.01/software/avx512/MPI/gcc/11.2.0/openmpi/4.1.1/purge_dups/1.2.5
== fetching files...
  >> download succeeded: https://github.com/dfguan/purge_dups/archive/refs/tags/v1.2.5.tar.gz
  >> download succeeded: https://github.com/dfguan/KMC/archive/c05a5f9.tar.gz
  >> sources:
  >> /var/tmp/dmacguig/easybuild/sources/p/purge_dups/purge_dups-1.2.5.tar.gz [SHA256: 7879a8ecc26e5de1eaaf4b4633cb240ed2802d648068b193652477317a3e2645]
  >> /var/tmp/dmacguig/easybuild/sources/p/purge_dups/KMC-20190629.tar.gz [SHA256: 7251941f4b1913bfdd68759d9292b419d95fe7c63815056e15ecb097a12a0bc4]
  >> running command:
        [started at: 2024-06-06 15:04:01]
        [working dir: /tmp/eb-ertb1ihe/tmpt7r4gmzl]
        [output logged in /tmp/eb-ertb1ihe/easybuild-run_cmd-so_v9m43.log]
        git clone --no-checkout https://github.com/dfguan//runner.git
  >> command completed: exit 0, ran in < 1s
  >> running command:
        [started at: 2024-06-06 15:04:01]
        [working dir: runner]
        [output logged in /tmp/eb-ertb1ihe/easybuild-run_cmd-48fbudar.log]
        git checkout 73a4d11
  >> command completed: exit 0, ran in < 1s
  >> running command:
        [started at: 2024-06-06 15:04:01]
        [working dir: /tmp/eb-ertb1ihe/tmpt7r4gmzl]
        [output logged in /tmp/eb-ertb1ihe/easybuild-run_cmd-qh_7au4i.log]
        tar cfvz /var/tmp/dmacguig/easybuild/sources/p/purge_dups/runner-20191220.tar.gz --exclude .git runner
  >> command completed: exit 0, ran in < 1s
== ... (took 1 secs)
== FAILED: Installation ended unsuccessfully (build directory: /var/tmp/dmacguig/easybuild/build/purge_dups/1.2.5/foss-2021b): build failed (first 300 chars): Missing checksum for runner-20191220.tar.gz (took 1 secs)
== Results of the build can be found in the log file(s) /tmp/eb-ertb1ihe/easybuild-purge_dups-1.2.5-20240606.150400.mCApm.log
Fetching files: 100% (4/3) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0:00:00 (checksums.json)
ERROR: Build of /user/dmacguig/custom_easyconfigs/purge_dups-1.2.5-foss-2021b.eb failed (err: 'build failed (first 300 chars): Missing checksum for runner-20191220.tar.gz')

I have also tried building with the --ignore-checksums flag, but strangely I still get the same error.

Would you be able to help install this software?

Thank you, Dan MacGuigan

dsajdak commented 6 months ago

@dmacguigan I don't recommend using --ignore-checksums. You REALLY want to make sure what you're downloading and installing is safe. You can download the runner package and then get a checksum value for it using either the linux tool like sha256sum or an online tool - there are a bunch. Put that checksum in the EB recipe and it should work for you. If not, we can try to build it.

dmacguigan commented 6 months ago

@dsajdak I'm a bit confused by how to generate this checksum. There are no tagged releases for runner, but easybuild is expecting a checksum for runner-20191220.tar.gz

I downloaded a tarball for the latest commit using wget https://github.com/dfguan/runner/tarball/73a4d11 and generated a checksum with md5sum 73a4d11. But I still get the checksum verification failed error with easybuild.

dsajdak commented 6 months ago

@dmacguigan it's a pain. Try downloading from the github page - make sure to select the commit you want, click on the Code button and then choose "download zip" like shown here:

runner

You'll get a zip file with a super long name. Check the checksum for that and add it to your EB recipe and then change the name of the file in the EB recipe too. From runner-%(version)s.tar.gz to the file name you get when you download. Hopefully this works.

aebruno commented 6 months ago

I downloaded a tarball for the latest commit using wget https://github.com/dfguan/runner/tarball/73a4d11 and generated a checksum with md5sum 73a4d11. But I still get the checksum verification failed error with easybuild.

EasyBuild uses sha256 checksums (not md5). You also will need to adjust the easybuild recipe. For example, modify this section:

exts_list = [
    ('runner', '20191220', {
        'sources': [{
            'git_config': {
                'url': 'https://github.com/dfguan/',
                'repo_name': 'runner',
                'commit': '73a4d11',
            },
            'filename': 'runner-%(version)s.tar.gz',
        }],
        'checksums': [None],
        'preinstallopts': "sed -i 's/0.0.0/%(version)s/g' setup.py && "
    }),
]

And change it to something like this:

exts_list = [
    ('runner', '20191220', {
        'source_urls': ['https://github.com/dfguan/runner/archive/'],
        'sources': [{'download_filename': '73a4d11.tar.gz', 'filename': SOURCE_TAR_GZ}],
        'checksums': ['5f3478f39f1037e9138a06c6790839a9c88f96dbe1033083c890aa5f19d7b762'],
    }),
]
dmacguigan commented 6 months ago

Hi @aebruno,

I tried your suggestion, but I'm still getting the same error.

dmacguig@compile1 ~/custom_easyconfigs $ cat purge_dups-1.2.5-foss-2021b_mod.eb
easyblock = 'PythonBundle'

name = 'purge_dups'
version = '1.2.5'

homepage = 'https://github.com/dfguan/purge_dups'
description = "purge haplotigs and overlaps in an assembly based on read depth"

toolchain = {'name': 'foss', 'version': '2021b'}

dependencies = [
    ('Python', '3.9.6'),
    ('matplotlib', '3.4.3'),
    ('minimap2', '2.22'),
    ('zlib', '1.2.11'),
]

use_pip = True

default_easyblock = 'MakeCp'

components = [
    (name, version, {
        'source_urls': ['https://github.com/dfguan/purge_dups/archive/refs/tags/'],
        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}],
        'checksums': ['7879a8ecc26e5de1eaaf4b4633cb240ed2802d648068b193652477317a3e2645'],
        'start_dir': 'purge_dups-%(version)s',
        'prebuildopts': "cd src && ",
        'buildopts': 'CC="$CC" CFLAGS="$CFLAGS"',
        'files_to_copy': ['bin', 'scripts'],
    }),
    ('KMC', '20190629', {
        'source_urls': ['https://github.com/dfguan/KMC/archive/'],
        'sources': [{'download_filename': 'c05a5f9.tar.gz', 'filename': SOURCE_TAR_GZ}],
        'checksums': ['7251941f4b1913bfdd68759d9292b419d95fe7c63815056e15ecb097a12a0bc4'],
        'prebuildopts': 'cd KMC-* && ',
        'buildopts': 'CC="$CXX"',
        'files_to_copy': [(['KMC-*/bin/*kmc*'], 'bin'), 'KMC-*/spectra.py'],
    }),
]

exts_list = [
    ('runner', '20191220', {
        'source_urls': ['https://github.com/dfguan/runner/archive/'],
        'sources': [{'download_filename': '73a4d11.tar.gz', 'filename': SOURCE_TAR_GZ}],
        'checksums': ['5f3478f39f1037e9138a06c6790839a9c88f96dbe1033083c890aa5f19d7b762'],
    }),
]

sanity_check_paths = {
    'files': ['bin/kmc', 'bin/purge_dups'],
    'dirs': ['scripts'],
}

sanity_check_commands = [
    "purge_dups -h 2>&1 | grep 'Program: purge_dups'",
    "kmc --help",
    "run_purge_dups.py -h",
    "hist_plot.py -h",
]

sanity_pip_check = True

modextrapaths = {'PATH': 'scripts'}

moduleclass = 'bio'
dmacguig@compile1 ~/custom_easyconfigs $ eb ./purge_dups-1.2.5-foss-2021b_mod.eb --robot
== Temporary log file in case of crash /tmp/eb-xerwu4hv/easybuild-j39am3iz.log
== Running parse hook for purge_dups-1.2.5-foss-2021b_mod.eb...
== found valid index for /cvmfs/soft.ccr.buffalo.edu/versions/2023.01/easybuild/software/Core/easybuild/4.9.1/easybuild/easyconfigs, so using it...
== Running parse hook for foss-2021b.eb...
== Running parse hook for GCC-11.2.0.eb...
== Running parse hook for GCCcore-11.2.0.eb...
== Running parse hook for OpenMPI-4.1.1-GCC-11.2.0.eb...
== Added '--with-slurm --with-pmi=/opt/software/slurm --with-hwloc=external ' configure option for OpenMPI
== Running parse hook for GCC-11.2.0.eb...
== Running parse hook for GCC-11.2.0.eb...
== Running parse hook for GCCcore-11.2.0.eb...
== Running parse hook for pkg-config-0.29.2.eb...
== Running parse hook for pkg-config-0.29.2-GCCcore-11.2.0.eb...
== Running parse hook for GCCcore-11.2.0.eb...
== Running parse hook for Perl-5.34.0-GCCcore-11.2.0.eb...
== Set path to openssl in compat layer for Perl 5.34.0..
== Running parse hook for groff-1.22.4-GCCcore-11.2.0.eb...
== Running parse hook for zlib-1.2.11.eb...
== Running parse hook for zlib-1.2.11-GCCcore-11.2.0.eb...
== Running parse hook for expat-2.4.1-GCCcore-11.2.0.eb...
== Running parse hook for DB-18.1.40-GCCcore-11.2.0.eb...
== Running parse hook for OpenSSL-1.1.eb...
== Running parse hook for pkgconf-1.8.0.eb...
== Running parse hook for hwloc-2.5.0-GCCcore-11.2.0.eb...
== Running parse hook for libxml2-2.9.10-GCCcore-11.2.0.eb...
== Running parse hook for libevent-2.1.12.eb...
== Running parse hook for libevent-2.1.12-GCCcore-11.2.0.eb...
== Running parse hook for UCX-1.11.2-GCCcore-11.2.0.eb...
== Using custom configure option for UCX: --enable-optimizations --enable-cma --enable-mt --with-verbs --without-java --disable-doxygen-doc  --with-sysroot=/cvmfs/soft.ccr.buffalo.edu/versions/2023.01/compat  --with-rdmacm=/cvmfs/soft.ccr.buffalo.edu/versions/2023.01/compat/usr  --with-verbs=/cvmfs/soft.ccr.buffalo.edu/versions/2023.01/compat/usr
== Running parse hook for libfabric-1.13.2-GCCcore-11.2.0.eb...
== Running parse hook for PMIx-4.1.0-GCCcore-11.2.0.eb...
== Using custom configure option for PMIx:  --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB --with-hwloc=$EBROOTHWLOC --with-ofi=$EBROOTLIBFABRIC --enable-pmix-binaries --disable-man-pages --with-sysroot=/cvmfs/soft.ccr.buffalo.edu/versions/2023.01/compat
== Running parse hook for FlexiBLAS-3.0.4-GCC-11.2.0.eb...
== Running parse hook for CMake-3.21.1-GCCcore-11.2.0.eb...
== Running parse hook for cURL-7.78.0-GCCcore-11.2.0.eb...
== Running parse hook for Python-3.9.6-GCCcore-11.2.0.eb...
== Running parse hook for UnZip-6.0.eb...
== Running parse hook for UnZip-6.0-GCCcore-11.2.0.eb...
== Running parse hook for Rust-1.54.0-GCCcore-11.2.0.eb...
== Running parse hook for Python-3.9.6-GCCcore-11.2.0-bare.eb...
== Running parse hook for SQLite-3.36-GCCcore-11.2.0.eb...
== Running parse hook for Tcl-8.6.11-GCCcore-11.2.0.eb...
== Running parse hook for libffi-3.4.2-GCCcore-11.2.0.eb...
== Running parse hook for GMP-6.2.1-GCCcore-11.2.0.eb...
== Running parse hook for BLIS-0.8.1-GCC-11.2.0.eb...
== Running parse hook for OpenBLAS-0.3.18-GCC-11.2.0.eb...
== Added 'TARGET=SKYLAKEX NUM_THREADS=64' configure/build/install options for OpenBLAS
== Running parse hook for make-4.3-GCCcore-11.2.0.eb...
== Running parse hook for FFTW-3.3.10-gompi-2021b.eb...
== Running parse hook for gompi-2021b.eb...
== Running parse hook for gompi-2021b.eb...
== Running parse hook for ScaLAPACK-2.1.0-gompi-2021b-fb.eb...
== Running parse hook for gompi-2021b.eb...
== Running parse hook for OpenMPI-4.1.1-GCC-11.2.0.eb...
== Added '--with-slurm --with-pmi=/opt/software/slurm --with-hwloc=external ' configure option for OpenMPI
== Running parse hook for foss-2021b.eb...
== Running parse hook for foss-2021b.eb...
== Running parse hook for FlexiBLAS-3.0.4-GCC-11.2.0.eb...
== Running parse hook for FFTW-3.3.10-gompi-2021b.eb...
== Running parse hook for ScaLAPACK-2.1.0-gompi-2021b-fb.eb...
== Running parse hook for matplotlib-3.4.3-foss-2021b.eb...
== Running parse hook for cppy-1.1.0-GCCcore-11.2.0.eb...
== Running parse hook for SciPy-bundle-2021.10-foss-2021b.eb...
== Running parse hook for hypothesis-6.14.6-GCCcore-11.2.0.eb...
== Running parse hook for pybind11-2.7.1-GCCcore-11.2.0.eb...
== Running parse hook for Eigen-3.3.9-GCCcore-11.2.0.eb...
== Running parse hook for libpng-1.6.37-GCCcore-11.2.0.eb...
== Running parse hook for freetype-2.11.0-GCCcore-11.2.0.eb...
== Running parse hook for Brotli-1.0.9-GCCcore-11.2.0.eb...
== Running parse hook for Tkinter-3.9.6-GCCcore-11.2.0.eb...
== Running parse hook for Tk-8.6.11-GCCcore-11.2.0.eb...
== Running parse hook for X11-20210802-GCCcore-11.2.0.eb...
== Running parse hook for Bison-3.7.6.eb...
== Running parse hook for Bison-3.7.6-GCCcore-11.2.0.eb...
== Running parse hook for Meson-0.58.2-GCCcore-11.2.0.eb...
== Running parse hook for Ninja-1.10.2-GCCcore-11.2.0.eb...
== Running parse hook for Doxygen-1.9.1-GCCcore-11.2.0.eb...
== Running parse hook for libiconv-1.16-GCCcore-11.2.0.eb...
== Running parse hook for fontconfig-2.13.94-GCCcore-11.2.0.eb...
== Added '--with-add-fonts=/cvmfs/soft.ccr.buffalo.edu/versions/2023.01/compat/usr/share/fonts' configure option for fontconfig
== Running parse hook for xorg-macros-1.19.3-GCCcore-11.2.0.eb...
== Running parse hook for Pillow-8.3.2-GCCcore-11.2.0.eb...
== Running parse hook for libjpeg-turbo-2.0.6-GCCcore-11.2.0.eb...
== Running parse hook for NASM-2.15.05-GCCcore-11.2.0.eb...
== Running parse hook for LibTIFF-4.3.0-GCCcore-11.2.0.eb...
== Running parse hook for jbigkit-2.1-GCCcore-11.2.0.eb...
== Running parse hook for zstd-1.5.0-GCCcore-11.2.0.eb...
== Running parse hook for gzip-1.10-GCCcore-11.2.0.eb...
== Running parse hook for lz4-1.9.3-GCCcore-11.2.0.eb...
== Running parse hook for Qhull-2020.2-GCCcore-11.2.0.eb...
== Running parse hook for minimap2-2.22-GCCcore-11.2.0.eb...
== resolving dependencies ...
== processing EasyBuild easyconfig /user/dmacguig/custom_easyconfigs/purge_dups-1.2.5-foss-2021b_mod.eb
== Running parse hook...
== Running parse hook...
== building and installing avx512/MPI/gcc/11.2.0/openmpi/4.1.1/purge_dups/1.2.5...
  >> installation prefix: /projects/academic/tkrabben/modules_KrabLab/easybuild/2023.01/software/avx512/MPI/gcc/11.2.0/openmpi/4.1.1/purge_dups/1.2.5
== fetching files...
  >> sources:
  >> /var/tmp/dmacguig/easybuild/sources/p/purge_dups/purge_dups-1.2.5.tar.gz [SHA256: 7879a8ecc26e5de1eaaf4b4633cb240ed2802d648068b193652477317a3e2645]
  >> /var/tmp/dmacguig/easybuild/sources/p/purge_dups/KMC-20190629.tar.gz [SHA256: 7251941f4b1913bfdd68759d9292b419d95fe7c63815056e15ecb097a12a0bc4]
== ... (took < 1 sec)
== FAILED: Installation ended unsuccessfully (build directory: /var/tmp/dmacguig/easybuild/build/purge_dups/1.2.5/foss-2021b): build failed (first 300 chars): Checksum verification for extension source runner-20191220.tar.gz failed (took 0 secs)
== Results of the build can be found in the log file(s) /tmp/eb-xerwu4hv/easybuild-purge_dups-1.2.5-20240606.192529.ccIoX.log
Fetching files: 100% (3/3) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0:00:00 (runner-20191220.tar.gz)
ERROR: Build of /user/dmacguig/custom_easyconfigs/purge_dups-1.2.5-foss-2021b_mod.eb failed (err: 'build failed (first 300 chars): Checksum verification for extension source runner-20191220.tar.gz failed')
aebruno commented 6 months ago

Forgot to mention, you also likely need to the keep the preinstallopts:

exts_list = [
    ('runner', '20191220', {
        'source_urls': ['https://github.com/dfguan/runner/archive/'],
        'sources': [{'download_filename': '73a4d11.tar.gz', 'filename': SOURCE_TAR_GZ}],
        'checksums': ['5f3478f39f1037e9138a06c6790839a9c88f96dbe1033083c890aa5f19d7b762'],
        'preinstallopts': "sed -i 's/0.0.0/%(version)s/g' setup.py && ",
    }),
]
dmacguigan commented 6 months ago

@aebruno, same error message.

ERROR: Build of /user/dmacguig/custom_easyconfigs/purge_dups-1.2.5-foss-2021b_mod.eb failed (err: 'build failed (first 300 chars): Checksum verification for extension source runner-20191220.tar.gz failed')

aebruno commented 6 months ago

This is working fine in my tests. Check that you're using the correct easybuild file? Try removing any cached sources in your temp directory: /var/tmp/dmacguig/easybuild/sources/?

Here's the output I get:

== fetching files...
  >> download succeeded: https://github.com/dfguan/purge_dups/archive/refs/tags/v1.2.5.tar.gz
  >> download succeeded: https://github.com/dfguan/KMC/archive/c05a5f9.tar.gz
  >> sources:
  >> download succeeded: https://github.com/dfguan/runner/archive/73a4d11.tar.gz
dmacguigan commented 6 months ago

@aebruno if it's working fine for you, can you just install the purge_dups module globally for all users? Rather than have me continue troubleshooting.

If you are willing to install the module, could you also bump purge_dups up to the latest version, 1.2.6?

dmacguigan commented 5 months ago

@aebruno @dsajdak just wanted to follow up on this. Is purge_dups something you would be willing to install, since it seems like @aebruno has a working easybuild config?

dsajdak commented 5 months ago

@dmacguigan we can leave it on the list of software requests and look into it. I believe Andrew was just confirming that he could download the software, not that it installed for him. We have a very busy month leading up to our maintenance downtime so I can't say for sure we'll get this done before that, unless another staff member happens to have time to look into it.

aebruno commented 5 months ago

@dmacguigan this should be all set. To use run: module load foss purge_dups

dmacguigan commented 5 months ago

Great, thank you!