diff options
author | acxz | 2021-08-25 23:26:17 -0400 |
---|---|---|
committer | acxz | 2021-08-25 23:26:17 -0400 |
commit | 7858453e209b04be559d0aaed0a5125dbece9e2a (patch) | |
tree | 4e0f2343852b75cb10364e008e5b17e60236eec2 | |
parent | 6f50d19833b759e045c8712b5661ca124ab11d47 (diff) | |
download | aur-7858453e209b04be559d0aaed0a5125dbece9e2a.tar.gz |
updpkg 2.6.0
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | 48935.patch | 353 | ||||
-rw-r--r-- | PKGBUILD | 46 | ||||
-rw-r--r-- | fix-c++17-compat.patch | 4 | ||||
-rw-r--r-- | openssl-1.1.patch | 24 |
5 files changed, 417 insertions, 24 deletions
@@ -1,6 +1,6 @@ pkgbase = tensorflow-rocm pkgdesc = Library for computation using data flow graphs for scalable machine learning - pkgver = 2.5.0 + pkgver = 2.6.0 pkgrel = 1 url = https://www.tensorflow.org/ arch = x86_64 @@ -31,14 +31,16 @@ pkgbase = tensorflow-rocm depends = icu depends = libjpeg-turbo optdepends = tensorboard: Tensorflow visualization toolkit - source = tensorflow-rocm-2.5.0.tar.gz::https://github.com/tensorflow/tensorflow/archive/v2.5.0.tar.gz - source = https://patch-diff.githubusercontent.com/raw/tensorflow/tensorflow/pull/48935.patch + source = tensorflow-rocm-2.6.0.tar.gz::https://github.com/tensorflow/tensorflow/archive/v2.6.0.tar.gz + source = 48935.patch source = fix-c++17-compat.patch source = build-against-actual-mkl.patch - sha512sums = 637c63b1bed1c0eb7bb018f1ff7f29f7f0d78e75dac384df4ecb5dfb92bbcb28209e3d3d2204145abddf88e3247d8c31bbb4cea032a73b7122b2ef3eb0d2b947 - sha512sums = SKIP - sha512sums = a39f4adff91a60b05c18c4c1ef99b65375887bbea5991610eb162a3c6e3562f8d4438f9f1e1910b672f6094235b5b70dea633578f7f6b5b931f221ca2805152a + source = openssl-1.1.patch + sha512sums = d052da4b324f1b5ac9c904ac3cca270cefbf916be6e5968a6835ef3f8ea8c703a0b90be577ac5205edf248e8e6c7ee8817b6a1b383018bb77c381717c6205e05 + sha512sums = 8a0fb7e728b144656503ee54b3c90483c619adf17b2081dceb2bd6bcd1435dd64afba97526d94114d4c10fc002d2d213ae6717ad407285b18e438b05fc1ed2ad + sha512sums = f682368bb47b2b022a51aa77345dfa30f3b0d7911c56515d428b8326ee3751242f375f4e715a37bb723ef20a86916dad9871c3c81b1b58da85e1ca202bc4901e sha512sums = e51e3f3dced121db3a09fbdaefd33555536095584b72a5eb6f302fa6fa68ab56ea45e8a847ec90ff4ba076db312c06f91ff672e08e95263c658526582494ce08 + sha512sums = cb15e7331f62d6e77e1099055430cd026e5788f0cab202fbfad8e27c47fca9ad5e1467249683dcdaab8c76cab4dece016f8ecd0f0793adb256ff6d975f893125 pkgname = tensorflow-rocm pkgdesc = Library for computation using data flow graphs for scalable machine learning (with ROCM) diff --git a/48935.patch b/48935.patch new file mode 100644 index 000000000000..6dc4a682e21f --- /dev/null +++ b/48935.patch @@ -0,0 +1,353 @@ +From 0f8fde42d09b199d02cf5d9d79fe76ebf1d260ef Mon Sep 17 00:00:00 2001 +From: Ben Greiner <code@bnavigator.de> +Date: Thu, 6 May 2021 12:13:40 +0200 +Subject: [PATCH 1/7] Fix NumPy 1.20 error with np.prod() + +Reference: #47691, https://stackoverflow.com/questions/66373169 +--- + tensorflow/python/ops/array_ops.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tensorflow/python/ops/array_ops.py b/tensorflow/python/ops/array_ops.py +index 519f2ef26fcef..d143ee96a2fc9 100644 +--- a/tensorflow/python/ops/array_ops.py ++++ b/tensorflow/python/ops/array_ops.py +@@ -36,6 +36,7 @@ + from tensorflow.python.framework.constant_op import constant + from tensorflow.python.ops import gen_array_ops + from tensorflow.python.ops import gen_math_ops ++from tensorflow.python.ops import math_ops + # go/tf-wildcard-import + # pylint: disable=wildcard-import + from tensorflow.python.ops.gen_array_ops import * +@@ -2894,7 +2895,7 @@ def matrix_set_diag( + + def _constant_if_small(value, shape, dtype, name): + try: +- if np.prod(shape) < 1000: ++ if math_ops.reduce_prod(shape) < 1000: + return constant(value, shape=shape, dtype=dtype, name=name) + except TypeError: + # Happens when shape is a Tensor, list with Tensor elements, etc. + +From 86cbf87703876330b5818b7f170489356d9d2c86 Mon Sep 17 00:00:00 2001 +From: Ben Greiner <code@bnavigator.de> +Date: Thu, 6 May 2021 12:34:12 +0200 +Subject: [PATCH 2/7] relax upper bounds for NumPy and SciPy in pip installs + +--- + .../tools/pip_package/setup_with_binary.py | 2 +- + .../install/install_centos_pip_packages.sh | 6 +++--- + .../ci_build/install/install_pip_packages.sh | 4 ++-- + .../install/install_pip_packages_by_version.sh | 2 +- + .../install/install_python3.6_pip_packages.sh | 2 +- + tensorflow/tools/pip_package/setup.py | 2 +- + 7 files changed, 18 insertions(+), 18 deletions(-) + +diff --git a/tensorflow/lite/tools/pip_package/setup_with_binary.py b/tensorflow/lite/tools/pip_package/setup_with_binary.py +index 6b9fe534bb2b1..ae06df8245521 100644 +--- a/tensorflow/lite/tools/pip_package/setup_with_binary.py ++++ b/tensorflow/lite/tools/pip_package/setup_with_binary.py +@@ -67,5 +67,5 @@ + package_dir={'': '.'}, + package_data={'': ['*.so', '*.pyd']}, + install_requires=[ +- 'numpy ~= 1.19.2', # Higher versions have a compatibility issue. ++ 'numpy >= 1.19.2 , <1.21', + ]) +diff --git a/tensorflow/tools/ci_build/install/install_centos_pip_packages.sh b/tensorflow/tools/ci_build/install/install_centos_pip_packages.sh +index b9906b9378c79..ab0a766bf22b0 100755 +--- a/tensorflow/tools/ci_build/install/install_centos_pip_packages.sh ++++ b/tensorflow/tools/ci_build/install/install_centos_pip_packages.sh +@@ -55,17 +55,17 @@ pip2 install --upgrade protobuf==3.6.1 + pip3 install --upgrade protobuf==3.16.0 + + pip2 install --upgrade numpy==1.14.5 +-pip3 install --upgrade numpy~=1.19.2 ++pip3 install --upgrade numpy>=1.19.2 + + pip2 install scipy==1.2.2 +-pip3 install scipy==1.4.1 ++pip3 install scipy>=1.4.1 + + pip2 install scikit-learn==0.18.1 + pip3 install scikit-learn==0.18.1 + + # pandas required by `inflow` + pip2 install pandas==0.19.2 +-pip3 install pandas==0.19.2 ++pip3 install pandas>=0.19.2 + + # Benchmark tests require the following: + pip2 install psutil +diff --git a/tensorflow/tools/ci_build/install/install_pip_packages.sh b/tensorflow/tools/ci_build/install/install_pip_packages.sh +index f9aa818c57038..6f0bf612e51ec 100755 +--- a/tensorflow/tools/ci_build/install/install_pip_packages.sh ++++ b/tensorflow/tools/ci_build/install/install_pip_packages.sh +@@ -60,9 +60,9 @@ rm -rf /usr/lib/python3/dist-packages/six* + # https://github.com/tensorflow/tensorflow/issues/6968 + # This workaround isn't needed for Ubuntu 16.04 or later. + if $(cat /etc/*-release | grep -q 14.04); then +- pip3 install --upgrade numpy==1.14.5 ++ pip3 install --upgrade numpy>=1.14.5 + else +- pip3 install --upgrade numpy~=1.19.2 ++ pip3 install --upgrade numpy>=1.19.2 + fi + + pip3 install scipy==1.4.1 +diff --git a/tensorflow/tools/ci_build/install/install_pip_packages_by_version.sh b/tensorflow/tools/ci_build/install/install_pip_packages_by_version.sh +index 110928f3b3de5..b536bf20b8992 100755 +--- a/tensorflow/tools/ci_build/install/install_pip_packages_by_version.sh ++++ b/tensorflow/tools/ci_build/install/install_pip_packages_by_version.sh +@@ -29,7 +29,7 @@ PACKAGES=( + # NOTE: As numpy has releases that break semver guarantees and several other + # deps depend on numpy without an upper bound, we must install numpy before + # everything else. +- "numpy~=1.19.2" ++ "numpy>=1.19.2,<1.21" + "auditwheel" + "wheel" + "setuptools" +diff --git a/tensorflow/tools/ci_build/install/install_python3.6_pip_packages.sh b/tensorflow/tools/ci_build/install/install_python3.6_pip_packages.sh +index 761973deb28cb..3b49679031c29 100755 +--- a/tensorflow/tools/ci_build/install/install_python3.6_pip_packages.sh ++++ b/tensorflow/tools/ci_build/install/install_python3.6_pip_packages.sh +@@ -72,7 +72,7 @@ rm -rf /usr/lib/python3/dist-packages/six* + # numpy needs to be installed from source to fix segfaults. See: + # https://github.com/tensorflow/tensorflow/issues/6968 + # This workaround isn't needed for Ubuntu 16.04 or later. +-pip3 install --upgrade numpy~=1.19.2 ++pip3 install --upgrade numpy>=1.19.2 + + pip3 install scipy==1.4.1 + +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index 5fe345ed7ed9f..453c930700139 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -78,7 +78,7 @@ + # NOTE: As numpy has releases that break semver guarantees and several other + # deps depend on numpy without an upper bound, we must install numpy before + # everything else. +- 'numpy ~= 1.19.2', ++ 'numpy >= 1.19.2, < 1.21', + # Install other dependencies + 'absl-py ~= 0.10', + 'astunparse ~= 1.6.3', + +From 7d2b0cff4e4df1b2b706daaa003f274777b85aa4 Mon Sep 17 00:00:00 2001 +From: Ben Greiner <code@bnavigator.de> +Date: Thu, 6 May 2021 12:38:22 +0200 +Subject: [PATCH 3/7] relax upper numpy bound in dockerfiles + +--- + .../dockerfiles/arm64v8/devel-cpu-arm64v8-jupyter.Dockerfile | 2 +- + .../dockerfiles/arm64v8/devel-cpu-arm64v8.Dockerfile | 2 +- + .../tools/dockerfiles/dockerfiles/devel-cpu-jupyter.Dockerfile | 2 +- + tensorflow/tools/dockerfiles/dockerfiles/devel-cpu.Dockerfile | 2 +- + .../tools/dockerfiles/dockerfiles/devel-gpu-jupyter.Dockerfile | 2 +- + tensorflow/tools/dockerfiles/dockerfiles/devel-gpu.Dockerfile | 2 +- + .../dockerfiles/ppc64le/devel-cpu-ppc64le-jupyter.Dockerfile | 2 +- + .../dockerfiles/ppc64le/devel-cpu-ppc64le.Dockerfile | 2 +- + .../dockerfiles/ppc64le/devel-gpu-ppc64le-jupyter.Dockerfile | 2 +- + .../dockerfiles/ppc64le/devel-gpu-ppc64le.Dockerfile | 2 +- + .../tools/dockerfiles/partials/ubuntu/bazel.partial.Dockerfile | 2 +- + .../partials/ubuntu/bazelbuild-arm64v8.partial.Dockerfile | 2 +- + .../dockerfiles/partials/ubuntu/bazelbuild.partial.Dockerfile | 2 +- + 13 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8-jupyter.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8-jupyter.Dockerfile +index e8a5026d7eddc..5fcca1b4a0d58 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8-jupyter.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8-jupyter.Dockerfile +@@ -88,7 +88,7 @@ RUN python3 -m pip --no-cache-dir install \ + h5py \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8.Dockerfile +index 5efeed2796c5c..381b4084f3e0a 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8.Dockerfile +@@ -88,7 +88,7 @@ RUN python3 -m pip --no-cache-dir install \ + h5py \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu-jupyter.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu-jupyter.Dockerfile +index 88c941704aee6..d9062086b184a 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu-jupyter.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu-jupyter.Dockerfile +@@ -84,7 +84,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu.Dockerfile +index 618d3d211d9df..2d310dec012cf 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu.Dockerfile +@@ -84,7 +84,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu-jupyter.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu-jupyter.Dockerfile +index 4be850f5fae3b..6c100cc9d8e05 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu-jupyter.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu-jupyter.Dockerfile +@@ -125,7 +125,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu.Dockerfile +index feba442ec1c26..a8e9b8d9088fb 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu.Dockerfile +@@ -125,7 +125,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le-jupyter.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le-jupyter.Dockerfile +index 129f983eb319e..a1a5cfbc03040 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le-jupyter.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le-jupyter.Dockerfile +@@ -83,7 +83,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le.Dockerfile +index aa2b9f88702e2..118de55a138de 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le.Dockerfile +@@ -83,7 +83,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le-jupyter.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le-jupyter.Dockerfile +index 0f6a9ae5e5e27..4f94ba1edb119 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le-jupyter.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le-jupyter.Dockerfile +@@ -124,7 +124,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le.Dockerfile +index 7086a0cd5d6d7..0eefc0737d5a8 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le.Dockerfile +@@ -124,7 +124,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/partials/ubuntu/bazel.partial.Dockerfile b/tensorflow/tools/dockerfiles/partials/ubuntu/bazel.partial.Dockerfile +index ac3d23c3747e8..620660f0b28a4 100644 +--- a/tensorflow/tools/dockerfiles/partials/ubuntu/bazel.partial.Dockerfile ++++ b/tensorflow/tools/dockerfiles/partials/ubuntu/bazel.partial.Dockerfile +@@ -14,7 +14,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild-arm64v8.partial.Dockerfile b/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild-arm64v8.partial.Dockerfile +index 969445c627465..87497f60ae3f9 100644 +--- a/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild-arm64v8.partial.Dockerfile ++++ b/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild-arm64v8.partial.Dockerfile +@@ -18,7 +18,7 @@ RUN python3 -m pip --no-cache-dir install \ + h5py \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild.partial.Dockerfile b/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild.partial.Dockerfile +index 0cf475d9deb13..22d2104db7a28 100644 +--- a/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild.partial.Dockerfile ++++ b/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild.partial.Dockerfile +@@ -13,7 +13,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ + +From 444840954cab9fda8be108e83af74d6a79e395b9 Mon Sep 17 00:00:00 2001 +From: Ben Greiner <code@bnavigator.de> +Date: Thu, 17 Jun 2021 11:44:08 +0200 +Subject: [PATCH 7/7] shape must be integer tuple + +--- + tensorflow/python/eager/function_test.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tensorflow/python/eager/function_test.py b/tensorflow/python/eager/function_test.py +index ccf3f117e3970..69985f6557c17 100644 +--- a/tensorflow/python/eager/function_test.py ++++ b/tensorflow/python/eager/function_test.py +@@ -279,8 +279,8 @@ def testImplementsAttributeAssertsOnSideInput(self): + z = array_ops.zeros(0) + v = def_function.function( + experimental_implements='func')(lambda x, y: x + y + z) +- a = array_ops.ones((1.0,)) +- b = array_ops.ones((1.0,)) ++ a = array_ops.ones((1,)) ++ b = array_ops.ones((1,)) + with self.assertRaisesRegex(AssertionError, + 'variables are always captured'): + v(a, b) @@ -14,8 +14,8 @@ pkgname=() [ "$_build_no_opt" -eq 1 ] && pkgname+=(tensorflow-rocm python-tensorflow-rocm) [ "$_build_opt" -eq 1 ] && pkgname+=(tensorflow-opt-rocm python-tensorflow-opt-rocm) -pkgver=2.5.0 -_pkgver=2.5.0 +pkgver=2.6.0 +_pkgver=2.6.0 pkgrel=1 pkgdesc="Library for computation using data flow graphs for scalable machine learning" url="https://www.tensorflow.org/" @@ -28,14 +28,17 @@ makedepends=('bazel' 'python-numpy' 'rocm' 'rocm-libs' 'miopen' 'rccl' 'git' 'cython') optdepends=('tensorboard: Tensorflow visualization toolkit') source=("$pkgname-$pkgver.tar.gz::https://github.com/tensorflow/tensorflow/archive/v${_pkgver}.tar.gz" - https://patch-diff.githubusercontent.com/raw/tensorflow/tensorflow/pull/48935.patch + 48935.patch fix-c++17-compat.patch - build-against-actual-mkl.patch) + build-against-actual-mkl.patch + openssl-1.1.patch) + +sha512sums=('d052da4b324f1b5ac9c904ac3cca270cefbf916be6e5968a6835ef3f8ea8c703a0b90be577ac5205edf248e8e6c7ee8817b6a1b383018bb77c381717c6205e05' + '8a0fb7e728b144656503ee54b3c90483c619adf17b2081dceb2bd6bcd1435dd64afba97526d94114d4c10fc002d2d213ae6717ad407285b18e438b05fc1ed2ad' + 'f682368bb47b2b022a51aa77345dfa30f3b0d7911c56515d428b8326ee3751242f375f4e715a37bb723ef20a86916dad9871c3c81b1b58da85e1ca202bc4901e' + 'e51e3f3dced121db3a09fbdaefd33555536095584b72a5eb6f302fa6fa68ab56ea45e8a847ec90ff4ba076db312c06f91ff672e08e95263c658526582494ce08' + 'cb15e7331f62d6e77e1099055430cd026e5788f0cab202fbfad8e27c47fca9ad5e1467249683dcdaab8c76cab4dece016f8ecd0f0793adb256ff6d975f893125') -sha512sums=('637c63b1bed1c0eb7bb018f1ff7f29f7f0d78e75dac384df4ecb5dfb92bbcb28209e3d3d2204145abddf88e3247d8c31bbb4cea032a73b7122b2ef3eb0d2b947' - 'SKIP' - 'a39f4adff91a60b05c18c4c1ef99b65375887bbea5991610eb162a3c6e3562f8d4438f9f1e1910b672f6094235b5b70dea633578f7f6b5b931f221ca2805152a' - 'e51e3f3dced121db3a09fbdaefd33555536095584b72a5eb6f302fa6fa68ab56ea45e8a847ec90ff4ba076db312c06f91ff672e08e95263c658526582494ce08') # consolidate common dependencies to prevent mishaps _common_py_depends=(python-termcolor python-astor python-gast03 python-numpy python-protobuf absl-py python-h5py python-keras-applications python-keras-preprocessing python-tensorflow-estimator python-opt_einsum python-astunparse python-pasta python-flatbuffers) @@ -73,7 +76,12 @@ prepare() { # See https://github.com/intel/mkl-dnn/issues/102 # MKLML version that Tensorflow wants to use is https://github.com/intel/mkl-dnn/releases/tag/v0.21 # patch -Np1 -d tensorflow-${_pkgver} -i "$srcdir"/build-against-actual-mkl.patch - # patch -Np1 -d tensorflow-${_pkgver} -i "$srcdir"/48935.patch + + # https://github.com/tensorflow/tensorflow/pull/48935/files + patch -p1 -d tensorflow-${_pkgver} -i "$srcdir"/48935.patch + + # https://bugs.archlinux.org/task/71597 + patch -p1 -d tensorflow-${_pkgver} -i "$srcdir"/openssl-1.1.patch # Get rid of hardcoded versions. Not like we ever cared about what upstream # thinks about which versions should be used anyway. ;) (FS#68772) @@ -110,20 +118,23 @@ prepare() { export TF_IGNORE_MAX_BAZEL_VERSION=1 export TF_MKL_ROOT=/opt/intel/mkl export NCCL_INSTALL_PATH=/usr - export GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 - export HOST_C_COMPILER=/usr/bin/gcc-10 - export HOST_CXX_COMPILER=/usr/bin/g++-10 + export GCC_HOST_COMPILER_PATH=/usr/bin/gcc + export HOST_C_COMPILER=/usr/bin/gcc + export HOST_CXX_COMPILER=/usr/bin/g++ export TF_CUDA_CLANG=0 # Clang currently disabled because it's not compatible at the moment. export CLANG_CUDA_COMPILER_PATH=/usr/bin/clang export TF_CUDA_PATHS=/opt/cuda,/usr/lib,/usr export TF_CUDA_VERSION=$(/opt/cuda/bin/nvcc --version | sed -n 's/^.*release \(.*\),.*/\1/p') export TF_CUDNN_VERSION=$(sed -n 's/^#define CUDNN_MAJOR\s*\(.*\).*/\1/p' /usr/include/cudnn_version.h) - export TF_CUDA_COMPUTE_CAPABILITIES=5.2,5.3,6.0,6.1,6.2,7.0,7.2,7.5,8.0,8.6 + # https://github.com/tensorflow/tensorflow/blob/1ba2eb7b313c0c5001ee1683a3ec4fbae01105fd/third_party/gpus/cuda_configure.bzl#L411-L446 + # according to the above, we should be specifying CUDA compute capabilities as 'sm_XX' or 'compute_XX' from now on + # add latest PTX for future compatibility + export TF_CUDA_COMPUTE_CAPABILITIES=sm_52,sm_53,sm_60,sm_61,sm_62,sm_70,sm_72,sm_75,sm_80,sm_86,compute_86 - export CC=gcc-10 - export CXX=g++-10 + export CC=gcc + export CXX=g++ - export BAZEL_ARGS="--config=mkl -c opt --copt=-I/usr/include/openssl-1.0 --host_copt=-I/usr/include/openssl-1.0 --linkopt=-l:libssl.so.1.0.0 --linkopt=-l:libcrypto.so.1.0.0 --host_linkopt=-l:libssl.so.1.0.0 --host_linkopt=-l:libcrypto.so.1.0.0" + export BAZEL_ARGS="--config=mkl -c opt" } build() { @@ -204,6 +215,9 @@ _package() { ln -s libtensorflow_framework.so.${pkgver:0:1} "${pkgdir}"/usr/lib/libtensorflow_framework.so install -Dm644 tensorflow/c/c_api.h "${pkgdir}"/usr/include/tensorflow/tensorflow/c/c_api.h install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE + + # Fix interoperability of C++14 and C++17. See https://bugs.archlinux.org/task/65953 + patch -Np0 -i "${srcdir}"/fix-c++17-compat.patch -d "${pkgdir}"/usr/include/tensorflow/absl/base } _python_package() { diff --git a/fix-c++17-compat.patch b/fix-c++17-compat.patch index 10979b90e434..8bbbb8479e80 100644 --- a/fix-c++17-compat.patch +++ b/fix-c++17-compat.patch @@ -1,9 +1,9 @@ --- config-old.h 2021-06-13 04:22:15.841839739 +0200 +++ config.h 2021-06-13 04:22:32.308939638 +0200 @@ -533,7 +533,7 @@ - #ifdef __has_include - #if __has_include(<string_view>) && __cplusplus >= 201703L + #if __has_include(<string_view>) && defined(__cplusplus) && \ + __cplusplus >= 201703L -#define ABSL_HAVE_STD_STRING_VIEW 1 +// #define ABSL_HAVE_STD_STRING_VIEW 1 #endif diff --git a/openssl-1.1.patch b/openssl-1.1.patch new file mode 100644 index 000000000000..d1dbb543cae4 --- /dev/null +++ b/openssl-1.1.patch @@ -0,0 +1,24 @@ +diff --git a/tensorflow/core/platform/s3/aws_crypto.cc b/tensorflow/core/platform/s3/aws_crypto.cc +index 6a473027..2fe87675 100644 +--- a/tensorflow/core/platform/s3/aws_crypto.cc ++++ b/tensorflow/core/platform/s3/aws_crypto.cc +@@ -35,14 +35,13 @@ class AWSSha256HMACOpenSSLImpl : public Aws::Utils::Crypto::HMAC { + Aws::Utils::ByteBuffer digest(length); + memset(digest.GetUnderlyingData(), 0, length); + +- HMAC_CTX ctx; +- HMAC_CTX_init(&ctx); ++ HMAC_CTX * ctx = HMAC_CTX_new(); + +- HMAC_Init_ex(&ctx, secret.GetUnderlyingData(), ++ HMAC_Init_ex(ctx, secret.GetUnderlyingData(), + static_cast<int>(secret.GetLength()), EVP_sha256(), NULL); +- HMAC_Update(&ctx, toSign.GetUnderlyingData(), toSign.GetLength()); +- HMAC_Final(&ctx, digest.GetUnderlyingData(), &length); +- HMAC_CTX_cleanup(&ctx); ++ HMAC_Update(ctx, toSign.GetUnderlyingData(), toSign.GetLength()); ++ HMAC_Final(ctx, digest.GetUnderlyingData(), &length); ++ HMAC_CTX_free(ctx); + + return Aws::Utils::Crypto::HashResult(std::move(digest)); + } |