summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorJoseph Ciurej <ciurej1@llnl.gov>2020-04-24 19:25:48 -0700
committerGitHub <noreply@github.com>2020-04-24 21:25:48 -0500
commit914f380bb69cd38432a9f189a2805bc6deb3559d (patch)
tree23f208358a7370a9f9c9ad556a15a219eab6f6b0 /var
parentb5bf816577005541f29bde1cbca77427b36992b2 (diff)
downloadspack-914f380bb69cd38432a9f189a2805bc6deb3559d.tar.gz
spack-914f380bb69cd38432a9f189a2805bc6deb3559d.tar.bz2
spack-914f380bb69cd38432a9f189a2805bc6deb3559d.tar.xz
spack-914f380bb69cd38432a9f189a2805bc6deb3559d.zip
Improved the accuracy of the dependencies for the 'visit' package. (#16297)
Added a fix for the 'visit' package when building variant '@3%gcc'.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/visit/package.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/var/spack/repos/builtin/packages/visit/package.py b/var/spack/repos/builtin/packages/visit/package.py
index 1ee2994c21..aa791284c0 100644
--- a/var/spack/repos/builtin/packages/visit/package.py
+++ b/var/spack/repos/builtin/packages/visit/package.py
@@ -33,7 +33,8 @@ class Visit(CMakePackage):
patch('parallel-hdf5.patch', when='+hdf5+mpi')
depends_on('cmake@3.0:', type='build')
- depends_on('vtk@8.1.0:+opengl2', when='@3.0:3.0.1')
+ # https://github.com/visit-dav/visit/issues/3498
+ depends_on('vtk@8.1.0:8.1.999+opengl2', when='@3.0:3.0.1')
depends_on('vtk@6.1.0~opengl2', when='@:2.999')
depends_on('vtk+python', when='+python @3.0:')
depends_on('vtk~mpi', when='~mpi')
@@ -42,7 +43,11 @@ class Visit(CMakePackage):
depends_on('qt@5.10:', when='+gui @3.0:')
depends_on('qwt', when='+gui')
depends_on('python@2.6:2.8', when='+python')
- depends_on('silo+shared', when='+silo')
+ # VisIt uses Silo's 'ghost zone' data structures, which are only available
+ # in v4.10+ releases: https://wci.llnl.gov/simulation/computer-codes/silo/releases/release-notes-4.10
+ depends_on('silo@4.10:+shared', when='+silo')
+ depends_on('silo~mpi', when='+silo~mpi')
+ depends_on('silo+mpi', when='+silo+mpi')
depends_on('hdf5~mpi', when='+hdf5~mpi')
depends_on('hdf5+mpi', when='+hdf5+mpi')
depends_on('mpi', when='+mpi')
@@ -66,14 +71,23 @@ class Visit(CMakePackage):
def cmake_args(self):
spec = self.spec
+ cxx_flags = [self.compiler.cxx_pic_flag]
+ cc_flags = [self.compiler.cc_pic_flag]
+
+ # NOTE: This is necessary in order to allow VisIt to compile a couple
+ # of lines of code with 'const char*' to/from 'char*' conversions.
+ if spec.satisfies('@3:%gcc'):
+ cxx_flags.append('-fpermissive')
+ cc_flags.append('-fpermissive')
+
args = [
'-DVTK_MAJOR_VERSION=' + str(spec['vtk'].version[0]),
'-DVTK_MINOR_VERSION=' + str(spec['vtk'].version[1]),
'-DVISIT_VTK_DIR:PATH=' + spec['vtk'].prefix,
'-DVISIT_ZLIB_DIR:PATH=' + spec['zlib'].prefix,
'-DVISIT_USE_GLEW=OFF',
- '-DCMAKE_CXX_FLAGS=' + self.compiler.cxx_pic_flag,
- '-DCMAKE_C_FLAGS=' + self.compiler.cc_pic_flag,
+ '-DCMAKE_CXX_FLAGS=' + ' '.join(cxx_flags),
+ '-DCMAKE_C_FLAGS=' + ' '.join(cc_flags),
]
if '+python' in spec: