boost: fix the bjam build for Cray (#10295)
Fixes issues #9613 and #3209. Remove the spack wrapper directories from PATH for the bootstrap step. This was breaking the build for Cray (and other cross-compile) because bjam was built for the BE and died on SIGILL on the FE. This only affects building bjam. The boost libraries are still built the normal spack way with the spack wrappers.
This commit is contained in:
parent
7e8b17b177
commit
08c4b9d47a
2 changed files with 36 additions and 0 deletions
33
var/spack/repos/builtin/packages/boost/bootstrap-path.patch
Normal file
33
var/spack/repos/builtin/packages/boost/bootstrap-path.patch
Normal file
|
@ -0,0 +1,33 @@
|
|||
Remove the spack wrapper directories from PATH for the bootstrap step.
|
||||
This was breaking the build for Cray (and other cross-compile) because
|
||||
bjam was built for the BE and died on SIGILL on the FE. See issue
|
||||
#9613.
|
||||
|
||||
This only affects building bjam. The boost libraries are still built
|
||||
the normal spack way with the spack wrappers.
|
||||
|
||||
|
||||
diff -Naurb boost_1_66_0.orig/bootstrap.sh boost_1_66_0/bootstrap.sh
|
||||
--- boost_1_66_0.orig/bootstrap.sh 2017-12-13 17:56:35.000000000 -0600
|
||||
+++ boost_1_66_0/bootstrap.sh 2019-01-09 13:51:56.407553214 -0600
|
||||
@@ -7,6 +7,20 @@
|
||||
|
||||
# boostinspect:notab - Tabs are required for the Makefile.
|
||||
|
||||
+NEWPATH=
|
||||
+OLDIFS="$IFS"
|
||||
+IFS=:
|
||||
+
|
||||
+for dir in $PATH ; do
|
||||
+ case "x$dir" in
|
||||
+ *lib*spack*env* ) ;;
|
||||
+ * ) NEWPATH="${NEWPATH}:${dir}" ;;
|
||||
+ esac
|
||||
+done
|
||||
+
|
||||
+IFS="$OLDIFS"
|
||||
+PATH="$NEWPATH"
|
||||
+
|
||||
BJAM=""
|
||||
TOOLSET=""
|
||||
BJAM_CONFIG=""
|
|
@ -156,6 +156,9 @@ class Boost(Package):
|
|||
patch('boost_1.63.0_pgi.patch', when='@1.63.0%pgi')
|
||||
patch('boost_1.63.0_pgi_17.4_workaround.patch', when='@1.63.0%pgi@17.4')
|
||||
|
||||
# Fix the bootstrap/bjam build for Cray
|
||||
patch('bootstrap-path.patch', when='@1.39.0: platform=cray')
|
||||
|
||||
def url_for_version(self, version):
|
||||
if version >= Version('1.63.0'):
|
||||
url = "https://dl.bintray.com/boostorg/release/{0}/source/boost_{1}.tar.bz2"
|
||||
|
|
Loading…
Reference in a new issue