Fix bigdft-suite compilation (#36612)

(from d20f284100)
This commit is contained in:
Ashwin Kumar Karnad 2023-04-21 03:18:11 +02:00 committed by GitHub
parent a419ffcf50
commit bf04551bf5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 59 additions and 62 deletions

View file

@ -22,32 +22,33 @@ class BigdftAtlab(AutotoolsPackage):
variant("openmp", default=True, description="Enable OpenMP support")
variant("openbabel", default=False, description="Enable detection of openbabel compilation")
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")
depends_on("mpi", when="+mpi")
depends_on("openbabel", when="+openbabel")
for vers in ["1.9.0", "1.9.1", "1.9.2", "develop"]:
depends_on("bigdft-futile@{0}".format(vers), when="@{0}".format(vers))
build_directory = "atlab"
def autoreconf(self, spec, prefix):
autoreconf = which("autoreconf")
with working_dir(self.build_directory):
autoreconf("-fi")
configure_directory = "atlab"
def configure_args(self):
spec = self.spec
prefix = self.prefix
openmp_flag = []
fcflags = []
if "+openmp" in spec:
openmp_flag.append(self.compiler.openmp_flag)
fcflags.append(self.compiler.openmp_flag)
if self.spec.satisfies("%gcc@10:"):
fcflags.append("-fallow-argument-mismatch")
args = [
"FCFLAGS=%s" % " ".join(openmp_flag),
"--with-futile-libs=%s" % spec["bigdft-futile"].prefix.lib,
"--with-futile-incs=%s" % spec["bigdft-futile"].prefix.include,
"FCFLAGS=%s" % " ".join(fcflags),
"--with-futile-libs=%s" % spec["bigdft-futile"].libs.ld_flags,
"--with-futile-incs=%s" % spec["bigdft-futile"].headers.include_flags + "/futile",
"--with-moduledir=%s" % prefix.include,
"--prefix=%s" % prefix,
"--without-etsf-io",

View file

@ -25,6 +25,10 @@ class BigdftChess(AutotoolsPackage, CudaPackage):
variant("ntpoly", default=False, description="Option to use NTPoly")
# variant('minpack', default=False, description='Give the link-line for MINPACK')
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")
depends_on("python@3.0:", type=("build", "run"))
depends_on("blas")
@ -39,13 +43,7 @@ class BigdftChess(AutotoolsPackage, CudaPackage):
depends_on("bigdft-futile@{0}".format(vers), when="@{0}".format(vers))
depends_on("bigdft-atlab@{0}".format(vers), when="@{0}".format(vers))
build_directory = "chess"
def autoreconf(self, spec, prefix):
autoreconf = which("autoreconf")
with working_dir(self.build_directory):
autoreconf("-fi")
configure_directory = "chess"
def configure_args(self):
spec = self.spec
@ -61,12 +59,15 @@ def configure_args(self):
linalg = []
if "+scalapack" in spec:
linalg.append(spec["scalapack"].libs.ld_flags)
linalg.append(spec["lapack"].libs.ld_flags)
linalg.append(spec["blas"].libs.ld_flags)
args = [
"FCFLAGS=%s" % " ".join(openmp_flag),
"LDFLAGS=%s" % " ".join(linalg),
"--with-ext-linalg=%s" % " ".join(linalg),
"--with-pyyaml-path=%s" % pyyaml,
"--with-futile-libs=%s" % spec["bigdft-futile"].prefix.lib,
"--with-futile-libs=%s" % spec["bigdft-futile"].libs.ld_flags,
"--with-futile-incs=%s" % spec["bigdft-futile"].headers.include_flags,
"--with-moduledir=%s" % prefix.include,
"--prefix=%s" % prefix,

View file

@ -24,6 +24,10 @@ class BigdftCore(AutotoolsPackage, CudaPackage):
variant("scalapack", default=True, description="Enable SCALAPACK support")
variant("openbabel", default=False, description="Enable detection of openbabel compilation")
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")
depends_on("python@3.0:", type=("build", "run"))
depends_on("blas")
@ -43,13 +47,7 @@ class BigdftCore(AutotoolsPackage, CudaPackage):
depends_on("bigdft-psolver@{0}".format(vers), when="@{0}".format(vers))
depends_on("bigdft-libabinit@{0}".format(vers), when="@{0}".format(vers))
build_directory = "bigdft"
def autoreconf(self, spec, prefix):
autoreconf = which("autoreconf")
with working_dir(self.build_directory):
autoreconf("-fi")
configure_directory = "bigdft"
def configure_args(self):
spec = self.spec
@ -72,13 +70,13 @@ def configure_args(self):
"FCFLAGS=%s" % " ".join(openmp_flag),
"--with-ext-linalg=%s" % " ".join(linalg),
"--with-pyyaml-path=%s" % pyyaml,
"--with-futile-libs=%s" % spec["bigdft-futile"].prefix.lib,
"--with-futile-libs=%s" % spec["bigdft-futile"].libs.ld_flags,
"--with-futile-incs=%s" % spec["bigdft-futile"].headers.include_flags,
"--with-chess-libs=%s" % spec["bigdft-chess"].prefix.lib,
"--with-chess-libs=%s" % spec["bigdft-chess"].libs.ld_flags,
"--with-chess-incs=%s" % spec["bigdft-chess"].headers.include_flags,
"--with-psolver-libs=%s" % spec["bigdft-psolver"].prefix.lib,
"--with-psolver-libs=%s" % spec["bigdft-psolver"].libs.ld_flags,
"--with-psolver-incs=%s" % spec["bigdft-psolver"].headers.include_flags,
"--with-libABINIT-libs=%s" % spec["bigdft-libabinit"].prefix.lib,
"--with-libABINIT-libs=%s" % spec["bigdft-libabinit"].libs.ld_flags,
"--with-libABINIT-incs=%s" % spec["bigdft-libabinit"].headers.include_flags,
"--with-libgain-libs=%s" % spec["libgain"].libs.ld_flags,
"--with-libgain-incs=%s" % spec["libgain"].headers.include_flags,

View file

@ -25,6 +25,10 @@ class BigdftFutile(AutotoolsPackage, CudaPackage):
variant("mpi", default=True, description="Enable MPI support")
variant("openmp", default=True, description="Enable OpenMP support")
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")
depends_on("python@3.0:", type=("build", "run"))
depends_on("blas")
@ -33,13 +37,7 @@ class BigdftFutile(AutotoolsPackage, CudaPackage):
depends_on("py-pyyaml")
depends_on("mpi", when="+mpi")
build_directory = "futile"
def autoreconf(self, spec, prefix):
autoreconf = which("autoreconf")
with working_dir(self.build_directory):
autoreconf("-fi")
configure_directory = "futile"
def configure_args(self):
spec = self.spec

View file

@ -21,6 +21,10 @@ class BigdftLibabinit(AutotoolsPackage):
version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41")
version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8")
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")
variant("mpi", default=True, description="Enable MPI support")
depends_on("python@3.0:", type=("build", "run"))
@ -32,23 +36,22 @@ class BigdftLibabinit(AutotoolsPackage):
for vers in ["1.9.0", "1.9.1", "1.9.2", "develop"]:
depends_on("bigdft-futile@{0}".format(vers), when="@{0}".format(vers))
build_directory = "libABINIT"
def autoreconf(self, spec, prefix):
autoreconf = which("autoreconf")
with working_dir(self.build_directory):
autoreconf("-fi")
configure_directory = "libABINIT"
def configure_args(self):
spec = self.spec
prefix = self.prefix
fcflags = []
if self.spec.satisfies("%gcc@10:"):
fcflags.append("-fallow-argument-mismatch")
args = [
"FCFLAGS=%s" % " ".join(fcflags),
"--with-libxc-libs=%s %s"
% (spec["libxc"].libs.ld_flags, spec["libxc"].libs.ld_flags + "f90"),
"--with-libxc-incs=%s" % spec["libxc"].headers.include_flags,
"--with-futile-libs=%s" % spec["bigdft-futile"].prefix.lib,
"--with-futile-libs=%s" % spec["bigdft-futile"].libs.ld_flags,
"--with-futile-incs=%s" % spec["bigdft-futile"].headers.include_flags,
"--with-moduledir=%s" % prefix.include,
"--prefix=%s" % prefix,

View file

@ -24,6 +24,10 @@ class BigdftPsolver(AutotoolsPackage, CudaPackage):
variant("openmp", default=True, description="Enable OpenMP support")
variant("scalapack", default=True, description="Enable SCALAPACK support")
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")
depends_on("python@3.0:", type=("build", "run"))
depends_on("blas")
@ -36,13 +40,7 @@ class BigdftPsolver(AutotoolsPackage, CudaPackage):
depends_on("bigdft-futile@{0}".format(vers), when="@{0}".format(vers))
depends_on("bigdft-atlab@{0}".format(vers), when="@{0}".format(vers))
build_directory = "psolver"
def autoreconf(self, spec, prefix):
autoreconf = which("autoreconf")
with working_dir(self.build_directory):
autoreconf("-fi")
configure_directory = "psolver"
def configure_args(self):
spec = self.spec
@ -65,7 +63,7 @@ def configure_args(self):
"FCFLAGS=%s" % " ".join(openmp_flag),
"--with-ext-linalg=%s" % " ".join(linalg),
"--with-pyyaml-path=%s" % pyyaml,
"--with-futile-libs=%s" % spec["bigdft-futile"].prefix.lib,
"--with-futile-libs=%s" % spec["bigdft-futile"].libs.ld_flags,
"--with-futile-incs=%s" % spec["bigdft-futile"].headers.include_flags,
"--with-moduledir=%s" % prefix.include,
"--prefix=%s" % prefix,

View file

@ -19,6 +19,10 @@ class BigdftSpred(AutotoolsPackage):
version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41")
version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8")
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")
variant("mpi", default=True, description="Enable MPI support")
variant("openmp", default=True, description="Enable OpenMP support")
variant("scalapack", default=True, description="Enable SCALAPACK support")
@ -36,13 +40,7 @@ class BigdftSpred(AutotoolsPackage):
depends_on("bigdft-psolver@{0}".format(vers), when="@{0}".format(vers))
depends_on("bigdft-core@{0}".format(vers), when="@{0}".format(vers))
build_directory = "spred"
def autoreconf(self, spec, prefix):
autoreconf = which("autoreconf")
with working_dir(self.build_directory):
autoreconf("-fi")
configure_directory = "spred"
def configure_args(self):
spec = self.spec
@ -65,7 +63,7 @@ def configure_args(self):
"FCFLAGS=%s" % " ".join(openmp_flag),
"--with-ext-linalg=%s" % " ".join(linalg),
"--with-pyyaml-path=%s" % pyyaml,
"--with-futile-libs=%s" % spec["bigdft-futile"].prefix.lib,
"--with-futile-libs=%s" % spec["bigdft-futile"].libs.ld_flags,
"--with-futile-incs=%s" % spec["bigdft-futile"].headers.include_flags,
"--with-psolver-libs=%s" % spec["bigdft-psolver"].prefix.lib,
"--with-psolver-incs=%s" % spec["bigdft-psolver"].headers.include_flags,