From 1b6af8e1546b25303cd0ce78a715cf97de4ea5de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <andre.mueller@fz-juelich.de> Date: Fri, 28 Jul 2023 06:59:29 +0200 Subject: [PATCH] Add changes needed to compile packages on JURECA@JSC --- packages/hxtorch/package.py | 6 +++- packages/pynn-brainscales/package.py | 6 +++- site-config/jurecadc/compilers.yaml | 3 +- site-config/jurecadc/config.yaml | 10 +++---- site-config/jurecadc/packages.yaml | 42 +++++++++++++++------------- 5 files changed, 40 insertions(+), 27 deletions(-) diff --git a/packages/hxtorch/package.py b/packages/hxtorch/package.py index e3c90f63..0049abf1 100644 --- a/packages/hxtorch/package.py +++ b/packages/hxtorch/package.py @@ -135,6 +135,11 @@ class Hxtorch(WafPackage): def configure(self, spec, prefix): """Setup and configure the project.""" + env = os.environ + if 'SPACK_COMPILER_IMPLICIT_RPATHS' in env: + env['LIBRARY_PATH'] = env['SPACK_COMPILER_IMPLICIT_RPATHS'] + ':' + env['LIBRARY_PATH'] + env['WAF_CONFIGURE_LD_LIBRARY_PATH'] = env['SPACK_COMPILER_IMPLICIT_RPATHS'] + ':' + env['WAF_CONFIGURE_LD_LIBRARY_PATH'] + self.waf('setup', '--repo-db-url=https://github.com/electronicvisions/projects', '--without-munge', '--without-hxcomm-hostarq', @@ -146,7 +151,6 @@ class Hxtorch(WafPackage): args = ['--prefix={0}'.format(self.prefix)] args += self.configure_args() - env = os.environ env['LD_LIBRARY_PATH'] = env.get('WAF_CONFIGURE_LD_LIBRARY_PATH') self.waf('configure', '--build-profile=release', '--disable-doxygen', *args) diff --git a/packages/pynn-brainscales/package.py b/packages/pynn-brainscales/package.py index 2dfdd256..40352a69 100644 --- a/packages/pynn-brainscales/package.py +++ b/packages/pynn-brainscales/package.py @@ -111,6 +111,11 @@ class PynnBrainscales(WafPackage): def configure(self, spec, prefix): """Setup and configure the project.""" + env = os.environ + if 'SPACK_COMPILER_IMPLICIT_RPATHS' in env: + env['LIBRARY_PATH'] = env['SPACK_COMPILER_IMPLICIT_RPATHS'] + ':' + env['LIBRARY_PATH'] + env['WAF_CONFIGURE_LD_LIBRARY_PATH'] = env['SPACK_COMPILER_IMPLICIT_RPATHS'] + ':' + env['WAF_CONFIGURE_LD_LIBRARY_PATH'] + self.waf('setup', '--repo-db-url=https://github.com/electronicvisions/projects', '--without-munge', '--without-hxcomm-hostarq', @@ -122,7 +127,6 @@ class PynnBrainscales(WafPackage): args = ['--prefix={0}'.format(self.prefix)] args += self.configure_args() - env = os.environ env['LD_LIBRARY_PATH'] = env.get('WAF_CONFIGURE_LD_LIBRARY_PATH') self.waf('configure', '--build-profile=release', '--disable-doxygen', *args) diff --git a/site-config/jurecadc/compilers.yaml b/site-config/jurecadc/compilers.yaml index 69485034..7b45d5dd 100644 --- a/site-config/jurecadc/compilers.yaml +++ b/site-config/jurecadc/compilers.yaml @@ -9,7 +9,8 @@ compilers: flags: {} operating_system: rocky8 target: x86_64 - modules: [] + modules: + - StdEnv/2023 environment: {} extra_rpaths: [] - compiler: diff --git a/site-config/jurecadc/config.yaml b/site-config/jurecadc/config.yaml index 9dd3b0b0..10b9121e 100644 --- a/site-config/jurecadc/config.yaml +++ b/site-config/jurecadc/config.yaml @@ -1,10 +1,10 @@ config: build_stage: - - $USERSOFTWARE/spack/user-cache/$user/spack-stage + - $USERSOFTWARE/EBRAINS/$SYSTEMNAME/spack/user-cache/$user/spack-stage - $tempdir/$user/spack-stage - source_cache: $USERSOFTWARE/spack/source-cache - test_stage: $USERSOFTWARE/spack/user-cache/$user/test - misc_cache: $USERSOFTWARE/spack/user-cache/$user/cache + source_cache: $USERSOFTWARE/EBRAINS/$SYSTEMNAME/spack/source-cache + test_stage: $USERSOFTWARE/EBRAINS/$SYSTEMNAME/spack/user-cache/$user/test + misc_cache: $USERSOFTWARE/EBRAINS/$SYSTEMNAME/spack/user-cache/$user/cache install_tree: - root: $USERSOFTWARE/install + root: $USERSOFTWARE/EBRAINS/$SYSTEMNAME/install db_lock_timeout: 10 diff --git a/site-config/jurecadc/packages.yaml b/site-config/jurecadc/packages.yaml index c5f285aa..58af7370 100644 --- a/site-config/jurecadc/packages.yaml +++ b/site-config/jurecadc/packages.yaml @@ -2,6 +2,10 @@ # Currently Loaded Modules: # 1) Stages/2023 (S) 2) GCCcore/.11.3.0 (H) 3) zlib/.1.2.12 (H) 4) binutils/.2.38 (H) 5) StdEnv/2023 6) spack/0.19.2 packages: + all: + variants: +cuda cuda_arch=75,80 + llvm: + variants: ~cuda findutils: externals: - spec: findutils@4.6.0 @@ -18,18 +22,20 @@ packages: externals: - spec: diffutils@3.6 prefix: /usr - git: - externals: - - spec: git@2.31.1~tcltk - prefix: /usr +# TODO git, git-lsf and especially curl have been removed due to system curl not having support for https +# git: +# externals: +# - spec: git@2.31.1~tcltk +# prefix: /usr m4: externals: - spec: m4@1.4.18 prefix: /usr - texinfo: - externals: - - spec: texinfo@6.5 - prefix: /usr +# TODO Using system version causes 'missing makeinfo', as the binary is not available +# texinfo: +# externals: +# - spec: texinfo@6.5 +# prefix: /usr subversion: externals: - spec: subversion@1.10.2 @@ -42,12 +48,10 @@ packages: externals: - spec: binutils@2.38 prefix: /p/software/jurecadc/stages/2023/software/binutils/2.38-GCCcore-11.3.0 - - spec: binutils@2.30.117 - prefix: /usr openssl: externals: - spec: openssl@1.1.1k - prefix: /usr + prefix: /p/software/jurecadc/stages/2023/software/OpenSSL/1.1 pkgconf: externals: - spec: pkgconf@1.4.2 @@ -68,14 +72,14 @@ packages: externals: - spec: openssh@8.0p1 prefix: /usr - curl: - externals: - - spec: curl@7.61.1+gssapi+ldap+nghttp2 - prefix: /usr - git-lfs: - externals: - - spec: git-lfs@2.13.3 - prefix: /usr +# curl: +# externals: +# - spec: curl@7.61.1+gssapi+ldap+nghttp2 +# prefix: /usr +# git-lfs: +# externals: +# - spec: git-lfs@2.13.3 +# prefix: /usr gawk: externals: - spec: gawk@4.2.1 -- GitLab