summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorChris White <white238@llnl.gov>2020-09-02 15:06:45 -0700
committerGitHub <noreply@github.com>2020-09-02 15:06:45 -0700
commite22a0ca5cf6ea62cb28af8e8db59a55ad3f75c36 (patch)
treec665e669cb912aa3a9f06cbaeb0b22b702a85410 /var
parente58db067c3b72909d30b8ead5af3490bb0dc124c (diff)
downloadspack-e22a0ca5cf6ea62cb28af8e8db59a55ad3f75c36.tar.gz
spack-e22a0ca5cf6ea62cb28af8e8db59a55ad3f75c36.tar.bz2
spack-e22a0ca5cf6ea62cb28af8e8db59a55ad3f75c36.tar.xz
spack-e22a0ca5cf6ea62cb28af8e8db59a55ad3f75c36.zip
mfem: fix transitive hdf5 static libs (#18457)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/mfem/package.py10
-rw-r--r--var/spack/repos/builtin/packages/netcdf-c/package.py2
2 files changed, 10 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/mfem/package.py b/var/spack/repos/builtin/packages/mfem/package.py
index 1a90ef31b9..d59db3d4f6 100644
--- a/var/spack/repos/builtin/packages/mfem/package.py
+++ b/var/spack/repos/builtin/packages/mfem/package.py
@@ -494,10 +494,16 @@ class Mfem(Package):
ld_flags_from_dirs([spec['gslib'].prefix.lib], ['gs'])]
if '+netcdf' in spec:
+ lib_flags = ld_flags_from_dirs([spec['netcdf-c'].prefix.lib],
+ ['netcdf'])
+ hdf5 = spec['hdf5:hl']
+ if hdf5.satisfies('~shared'):
+ hdf5_libs = hdf5.libs
+ hdf5_libs += LibraryList(find_system_libraries('libdl'))
+ lib_flags += " " + ld_flags_from_library_list(hdf5_libs)
options += [
'NETCDF_OPT=-I%s' % spec['netcdf-c'].prefix.include,
- 'NETCDF_LIB=%s' %
- ld_flags_from_dirs([spec['netcdf-c'].prefix.lib], ['netcdf'])]
+ 'NETCDF_LIB=%s' % lib_flags]
if '+zlib' in spec:
if "@:3.3.2" in spec:
diff --git a/var/spack/repos/builtin/packages/netcdf-c/package.py b/var/spack/repos/builtin/packages/netcdf-c/package.py
index 610143491b..12853dfc46 100644
--- a/var/spack/repos/builtin/packages/netcdf-c/package.py
+++ b/var/spack/repos/builtin/packages/netcdf-c/package.py
@@ -181,6 +181,8 @@ class NetcdfC(AutotoolsPackage):
hdf5_hl = self.spec['hdf5:hl']
cppflags.append(hdf5_hl.headers.cpp_flags)
ldflags.append(hdf5_hl.libs.search_flags)
+ if hdf5_hl.satisfies('~shared'):
+ libs.append(hdf5_hl.libs.link_flags)
if '+parallel-netcdf' in self.spec:
config_args.append('--enable-pnetcdf')