From a12585a7650f8b4a7f30c4982dba6230466e19f7 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Mon, 15 Apr 2024 13:35:07 +0200 Subject: [PATCH 1/3] {2023.06}[foss/2023b] DP3-6.0, WSClean 3.4 and deps --- .../2023.06/eessi-2023.06-eb-4.9.1-2023b.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.1-2023b.yml b/easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.1-2023b.yml index 6af367229c..6b0c17eb6d 100644 --- a/easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.1-2023b.yml +++ b/easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.1-2023b.yml @@ -1,2 +1,10 @@ easyconfigs: - CDO-2.2.2-gompi-2023b.eb + - AOFlagger-3.4.0-foss-2023b.eb + - arpack-ng-3.9.0-foss-2023b.eb + - Armadillo-12.8.0-foss-2023b.eb + - casacore-3.5.0-foss-2023b.eb + - IDG-1.2.0-foss-2023b.eb + - EveryBeam-0.5.2-foss-2023b.eb + - DP3-6.0-foss-2023b.eb + - WSClean-3.4-foss-2023b.eb From 84547717781f970265d8864e825f1002327510a1 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Mon, 15 Apr 2024 13:43:20 +0200 Subject: [PATCH 2/3] add parse_hook for casacore --- eb_hooks.py | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index 2d402e4baf..08f428dea0 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -164,6 +164,32 @@ def post_prepare_hook(self, *args, **kwargs): POST_PREPARE_HOOKS[self.name](self, *args, **kwargs) +def parse_hook_casacore_disable_vectorize(ec, eprefix): + """ + Disable 'vectorize' toolchain option for casacore 3.5.0 on aarch64/neoverse_v1 + Compiling casacore 3.5.0 with GCC 13.2.0 (foss-2023b) gives an error when building for aarch64/neoverse_v1. + See also, https://github.com/EESSI/software-layer/pull/479 + """ + if ec.name == 'casacore': + tcname, tcversion = ec['toolchain']['name'], ec['toolchain']['version'] + if ( + LooseVersion(ec.version) == LooseVersion('3.5.0') and + tcname == 'foss' and tcversion == '2023b' + ): + cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') + if cpu_target == CPU_TARGET_NEOVERSE_V1: + if not hasattr(ec, 'toolchainopts'): + ec['toolchainopts'] = {} + ec['toolchainopts']['vectorize'] = False + print_msg("Changed toochainopts for %s: %s", ec.name, ec['toolchainopts']) + else: + print_msg("Not changing option vectorize for %s on non-neoverse_v1", ec.name) + else: + print_msg("Not changing option vectorize for %s %s %s", ec.name, ec.version, ec.toolchain) + else: + raise EasyBuildError("casacore-specific hook triggered for non-casacore easyconfig?!") + + def parse_hook_cgal_toolchainopts_precise(ec, eprefix): """Enable 'precise' rather than 'strict' toolchain option for CGAL on POWER.""" if ec.name == 'CGAL': @@ -423,7 +449,7 @@ def pre_configure_hook_wrf_aarch64(self, *args, **kwargs): if LooseVersion(self.version) <= LooseVersion('3.9.0'): self.cfg.update('preconfigopts', "sed -i 's/%s/%s/g' arch/configure_new.defaults && " % (pattern, repl)) print_msg("Using custom preconfigopts for %s: %s", self.name, self.cfg['preconfigopts']) - + if LooseVersion('4.0.0') <= LooseVersion(self.version) <= LooseVersion('4.2.1'): self.cfg.update('preconfigopts', "sed -i 's/%s/%s/g' arch/configure.defaults && " % (pattern, repl)) print_msg("Using custom preconfigopts for %s: %s", self.name, self.cfg['preconfigopts']) @@ -510,7 +536,7 @@ def pre_test_hook_ignore_failing_tests_netCDF(self, *args, **kwargs): """ cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') if self.name == 'netCDF' and self.version == '4.9.2' and cpu_target == CPU_TARGET_NEOVERSE_V1: - self.cfg['testopts'] = "|| echo ignoring failing tests" + self.cfg['testopts'] = "|| echo ignoring failing tests" def pre_test_hook_increase_max_failed_tests_arm_PyTorch(self, *args, **kwargs): """ @@ -675,6 +701,7 @@ def inject_gpu_property(ec): PARSE_HOOKS = { + 'casacore': parse_hook_casacore_disable_vectorize, 'CGAL': parse_hook_cgal_toolchainopts_precise, 'fontconfig': parse_hook_fontconfig_add_fonts, 'GPAW': parse_hook_gpaw_harcoded_path, From 4dfbfb43d7bc90c1295b3269dbf7c5a5d944d29d Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Fri, 26 Apr 2024 13:42:24 +0200 Subject: [PATCH 3/3] set ftp_proxy to http_proxy --- eessi_container.sh | 1 + run_in_compat_layer_env.sh | 3 +++ 2 files changed, 4 insertions(+) diff --git a/eessi_container.sh b/eessi_container.sh index f98c4d46d8..df008dd965 100755 --- a/eessi_container.sh +++ b/eessi_container.sh @@ -193,6 +193,7 @@ while [[ $# -gt 0 ]]; do -x|--http-proxy) HTTP_PROXY="$2" export http_proxy=${HTTP_PROXY} + export ftp_proxy=${HTTP_PROXY} shift 2 ;; -y|--https-proxy) diff --git a/run_in_compat_layer_env.sh b/run_in_compat_layer_env.sh index f57c4d0749..efd30e7cc0 100755 --- a/run_in_compat_layer_env.sh +++ b/run_in_compat_layer_env.sh @@ -32,6 +32,9 @@ fi if [ ! -z ${https_proxy} ]; then INPUT="export https_proxy=${https_proxy}; ${INPUT}" fi +if [ ! -z ${ftp_proxy} ]; then + INPUT="export ftp_proxy=${ftp_proxy}; ${INPUT}" +fi echo "Running '${INPUT}' in EESSI (${EESSI_CVMFS_REPO}) ${EESSI_VERSION} compatibility layer environment..." ${EESSI_COMPAT_LAYER_DIR}/startprefix <<< "${INPUT}"