From 902ee7c8d41199d0595069d531607112bad54b62 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Eric=20M=C3=BCller?= <mueller@kip.uni-heidelberg.de>
Date: Wed, 1 Feb 2023 18:26:43 +0100
Subject: [PATCH] Avoid LD_LIBRARY_PATH in pynn-brainscales&hxtorch
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We encountered build fails on some HPC sites due to openssl mismatches
between bare-metal tools and spack — especially curl and similar tools
for fetching.
Our build tool, waf, needs to find spack-provided libraries, e.g.
libclang.so, at runtime… so we will only set the environment variable
for this.
---
 packages/hxtorch/package.py          | 7 +++++--
 packages/pynn-brainscales/package.py | 6 +++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/packages/hxtorch/package.py b/packages/hxtorch/package.py
index 6ac13f5d..f0aeaff7 100644
--- a/packages/hxtorch/package.py
+++ b/packages/hxtorch/package.py
@@ -2,9 +2,10 @@
 # Spack Project Developers. See the top-level COPYRIGHT file for details.
 #
 # SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os
+
 from spack import *
 from spack.pkg.builtin.boost import Boost
-import os
 
 
 class Hxtorch(WafPackage):
@@ -128,7 +129,7 @@ class Hxtorch(WafPackage):
         env.set('C_INCLUDE_PATH', ':'.join(include))
         env.set('CPLUS_INCLUDE_PATH', ':'.join(include))
         env.set('LIBRARY_PATH', ':'.join(library))
-        env.set('LD_LIBRARY_PATH', ':'.join(library))
+        env.set('WAF_CONFIGURE_LD_LIBRARY_PATH', ':'.join(library))
         env.prepend_path('PATH', ':'.join(path))
 
     def setup_run_environment(self, env):
@@ -164,6 +165,8 @@ 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', *args)
 
     def build_args(self):
diff --git a/packages/pynn-brainscales/package.py b/packages/pynn-brainscales/package.py
index 95e0d97a..195820f6 100644
--- a/packages/pynn-brainscales/package.py
+++ b/packages/pynn-brainscales/package.py
@@ -2,6 +2,8 @@
 # Spack Project Developers. See the top-level COPYRIGHT file for details.
 #
 # SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os
+
 from spack import *
 from spack.pkg.builtin.boost import Boost
 
@@ -94,7 +96,7 @@ class PynnBrainscales(WafPackage):
         env.set('C_INCLUDE_PATH', ':'.join(include))
         env.set('CPLUS_INCLUDE_PATH', ':'.join(include))
         env.set('LIBRARY_PATH', ':'.join(library))
-        env.set('LD_LIBRARY_PATH', ':'.join(library))
+        env.set('WAF_CONFIGURE_LD_LIBRARY_PATH', ':'.join(library))
         env.prepend_path('PATH', ':'.join(path))
 
     def setup_run_environment(self, env):
@@ -130,6 +132,8 @@ 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', *args)
 
     def build_args(self):
-- 
GitLab