Fix gcc recipe for RHEL7. (#13460)
* Fix gcc recipe for RHEL7. + It appears that macOS related changes to the gcc recipe broke gcc on RHEL7. This bug manifests as `libstdc++.so: undefined reference to libiconv` when gcc is used. + Fixes #13452 by moving `--with-libiconv-prefix={0}'.format(spec['libiconv'].prefix)` into the darwin OS section of the configuration. + Change qualification of `depends_on(libiconv)` to limit dependency to macOS. * Replace deprecated 'setup_environment' with 'setup_run_environment'. * Fix cut and paste error. * Rename 'run_env' to just 'env'.
This commit is contained in:
parent
8786cb468a
commit
ffb4e02a53
1 changed files with 5 additions and 5 deletions
|
@ -100,7 +100,7 @@ class Gcc(AutotoolsPackage):
|
||||||
depends_on('isl@0.15:0.18', when='@6:8.9')
|
depends_on('isl@0.15:0.18', when='@6:8.9')
|
||||||
depends_on('isl@0.15:0.20', when='@9:')
|
depends_on('isl@0.15:0.20', when='@9:')
|
||||||
depends_on('zlib', when='@6:')
|
depends_on('zlib', when='@6:')
|
||||||
depends_on('libiconv')
|
depends_on('libiconv', when='platform=darwin')
|
||||||
depends_on('gnat', when='languages=ada')
|
depends_on('gnat', when='languages=ada')
|
||||||
depends_on('binutils~libiberty', when='+binutils')
|
depends_on('binutils~libiberty', when='+binutils')
|
||||||
depends_on('zip', type='build', when='languages=java')
|
depends_on('zip', type='build', when='languages=java')
|
||||||
|
@ -279,7 +279,6 @@ def configure_args(self):
|
||||||
','.join(spec.variants['languages'].value)),
|
','.join(spec.variants['languages'].value)),
|
||||||
# Drop gettext dependency
|
# Drop gettext dependency
|
||||||
'--disable-nls',
|
'--disable-nls',
|
||||||
'--with-libiconv-prefix={0}'.format(spec['libiconv'].prefix),
|
|
||||||
'--with-mpfr={0}'.format(spec['mpfr'].prefix),
|
'--with-mpfr={0}'.format(spec['mpfr'].prefix),
|
||||||
'--with-gmp={0}'.format(spec['gmp'].prefix),
|
'--with-gmp={0}'.format(spec['gmp'].prefix),
|
||||||
]
|
]
|
||||||
|
@ -328,7 +327,8 @@ def configure_args(self):
|
||||||
if sys.platform == 'darwin':
|
if sys.platform == 'darwin':
|
||||||
options.extend([
|
options.extend([
|
||||||
'--with-native-system-header-dir=/usr/include',
|
'--with-native-system-header-dir=/usr/include',
|
||||||
'--with-sysroot={0}'.format(macos_sdk_path())
|
'--with-sysroot={0}'.format(macos_sdk_path()),
|
||||||
|
'--with-libiconv-prefix={0}'.format(spec['libiconv'].prefix)
|
||||||
])
|
])
|
||||||
|
|
||||||
return options
|
return options
|
||||||
|
@ -424,7 +424,7 @@ def write_rpath_specs(self):
|
||||||
self.prefix.lib, self.prefix.lib64))
|
self.prefix.lib, self.prefix.lib64))
|
||||||
set_install_permissions(specs_file)
|
set_install_permissions(specs_file)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
# Search prefix directory for possibly modified compiler names
|
# Search prefix directory for possibly modified compiler names
|
||||||
from spack.compilers.gcc import Gcc as Compiler
|
from spack.compilers.gcc import Gcc as Compiler
|
||||||
|
|
||||||
|
@ -450,6 +450,6 @@ def setup_environment(self, spack_env, run_env):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Set the proper environment variable
|
# Set the proper environment variable
|
||||||
run_env.set(lang.upper(), abspath)
|
env.set(lang.upper(), abspath)
|
||||||
# Stop searching filename/regex combos for this language
|
# Stop searching filename/regex combos for this language
|
||||||
break
|
break
|
||||||
|
|
Loading…
Reference in a new issue