easybuilders / easybuild

EasyBuild - building software with ease
http://easybuild.io
GNU General Public License v2.0
466 stars 143 forks source link

OpenFOAM-Extend-4.1-20200408-foss-2019b-Python-2.7.16.eb parts toolchain 'broken' #874

Closed wrussian closed 1 year ago

wrussian commented 1 year ago

Hi all, I'm using eb Version 4.7.2 on SuSE SLES15 SP4, with gcc - compilers version 7.5.0 as local RPM based installed compiler. one site question: Sorry if I overlooked it, but is there a style guide / listing the information every ticket should contain?

When running the eb config specified in the subject above the download for the toolchain components $CFGS1/m/Mesquite/Mesquite-2.3.0-GCCcore-8.3.0.eb $CFGS1/p/ParMETIS/ParMETIS-4.0.3-gompi-2019b.eb

CFGS1=/home/yadmin/easybuild/software/EasyBuild/4.7.2/easybuild/easyconfigs

for both components are broken, because the software isn't maintained anymore and the URI are invalid. Last updates of both codes are O(years). I couldn't manage to automate the download of the tar archives (with the correct version) from github. So a manual fix described below helped to complete the build of the toolchain.

I had to compile the stuff on behalf one of our research group which wants to use the openfoam-extend features of version 4.1. Anyway, what is the plan to maintain this toolchain in EB. My impression this is already a dead horse. Many thank in any case. Cheers, -Frank Heckes


mesquite fix/workaround

easyblock = 'ConfigureMake'

name = 'Mesquite' version = '2.3.0'

homepage = 'https://software.sandia.gov/mesquite/'

description = """Mesh-Quality Improvement Library"""

toolchain = {'name': 'GCCcore', 'version': '8.3.0'} toolchainopts = {'pic': True}

Commented out stuff: FHe

source_urls = ['https://software.sandia.gov/mesquite/']

source_urls = ['https://github.com/sandialabs/mesquite/blob/main/mesquite/']

don't work. wget download html code only.

open:

https://github.com/sandialabs/mesquite/blob/main/mesquite/mesquite-2.3.0.tar.gz

then download manually with crtl + s , store local and provide the file

via local http(s) server

source_urls = ['http://xxxx.myLocal.Domain.de/install/Images/thirdPartySW/easybuild/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['4ab4ceadfa596e16c00dbb0e8b830a9112fa1b73291ca07633ec379a39b8bb28']

builddependencies = [ ('binutils', '2.32'), ]

sanity_check_paths = { 'files': ['bin/msqquality', 'bin/msqshape', 'lib/libmesquite.a'], 'dirs': ['include'], }

moduleclass = 'math'


mesquite fix/workaround

name = 'ParMETIS' version = '4.0.3'

homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview' description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the functionality provided by METIS and includes routines that are especially suited for parallel AMR computations and large scale numerical simulations. The algorithms implemented in ParMETIS are based on the parallel multilevel k-way graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning schemes."""

toolchain = {'name': 'gompi', 'version': '2019b'} toolchainopts = {'usempi': True, 'pic': True}

https://github.com/mfem/tpls/blob/gh-pages/parmetis-4.0.3.tar.gz

+ ... Menu crt s - download -> save loacl

source_urls = [ 'http://myLocal.domain.de/install/Images/thirdPartySW/easybuild/',

'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis',

'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD',

] sources = [SOURCELOWER_TAR_GZ] checksums = ['f2d9a231b7cf97f1fee6e8c9663113ebf6c240d407d3c118c55b3633d6be6e5f']

builddependencies = [('CMake', '3.15.3')]

configopts = ['', '-DSHARED=1']

moduleclass = 'math'

wrussian commented 1 year ago

Sorry for the strange formatting of the eb config files. This is another try to use provide the content via attached files. mesquite.txt parmetis.txt

Micket commented 1 year ago

Hi Frank, a few things

  1. Please open PRs to fix easyconfigs on the easybuild-easyconfigs repo instead of this repo. https://github.com/easybuilders/easybuild-easyconfigs/pull

  2. There is no reason to complicate this by adding your own web server. You can just put sources into easybuilds cache directory directly, like you do with many other commercial software and such which have no automated downloads.

  3. This is unfortunately probably to old for us to care about. 8.3.0 is to old to build for many/most of the devs already, and it's going to be deprecated/archived soon.

  4. Your are linking the github page. You want to grab the raw link for the page, and it would work a a source url.

  5. Please use markdown 3 backticks ` to write code blocks.