[arch-commits] Commit in tensorflow/trunk (PKGBUILD glibc-2.30.patch python-3.8.patch)
Evangelos Foutras
foutrelis at archlinux.org
Sun Oct 27 20:38:35 UTC 2019
Date: Sunday, October 27, 2019 @ 20:38:34
Author: foutrelis
Revision: 520797
Python 3.8 rebuild
Added:
tensorflow/trunk/glibc-2.30.patch
tensorflow/trunk/python-3.8.patch
Modified:
tensorflow/trunk/PKGBUILD
------------------+
PKGBUILD | 15 ++++++--
glibc-2.30.patch | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++
python-3.8.patch | 70 +++++++++++++++++++++++++++++++++++++++++
3 files changed, 170 insertions(+), 4 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2019-10-27 19:46:20 UTC (rev 520796)
+++ PKGBUILD 2019-10-27 20:38:34 UTC (rev 520797)
@@ -7,18 +7,22 @@
pkgname=(tensorflow tensorflow-opt tensorflow-cuda tensorflow-opt-cuda python-tensorflow python-tensorflow-opt python-tensorflow-cuda python-tensorflow-opt-cuda)
pkgver=2.0.0
_pkgver=2.0.0
-pkgrel=2
+pkgrel=3
pkgdesc="Library for computation using data flow graphs for scalable machine learning"
url="https://www.tensorflow.org/"
license=('APACHE')
arch=('x86_64')
depends=('c-ares')
-makedepends=('bazel' 'python-numpy' 'cuda' 'nvidia-utils' 'nccl' 'git' 'gcc'
+makedepends=('bazel<1' 'python-numpy' 'cuda' 'nvidia-utils' 'nccl' 'git' 'gcc'
'cudnn' 'python-pip' 'python-wheel' 'python-setuptools' 'python-h5py'
'python-keras-applications' 'python-keras-preprocessing')
optdepends=('tensorboard: Tensorflow visualization toolkit')
-source=("https://github.com/tensorflow/tensorflow/archive/v${_pkgver}.tar.gz")
-sha512sums=('c3a2cb9673d2ade8e83961f7d944165123d0e4d94e6ca4d8fdee4f02f536893b879bbbf78d3ad5e557467b58f97f7194f2d9cfc64d7d05540969be732070eecc')
+source=("https://github.com/tensorflow/tensorflow/archive/v${_pkgver}.tar.gz"
+ 'python-3.8.patch'
+ 'glibc-2.30.patch')
+sha512sums=('c3a2cb9673d2ade8e83961f7d944165123d0e4d94e6ca4d8fdee4f02f536893b879bbbf78d3ad5e557467b58f97f7194f2d9cfc64d7d05540969be732070eecc'
+ 'ef06196f1a7f5a4dff4d83916566dae8f2f2c2993ddcd40017583020dd9bfc73ef426c45b0cc5630d1dd53321b99736f2c60b37bb9370be02174c1209e041ffb'
+ 'a9345b7206e9f8ae9fc33987997808dcdeaf3e4c05caf40785bba2a9ef2292e20046bfd54ce05fee2ccd11ded9d8e918b2a131d830a7e238406e6ddf222e830e')
get_pyver () {
python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))'
@@ -25,6 +29,9 @@
}
prepare() {
+ patch -Np1 -d tensorflow-${_pkgver} <python-3.8.patch
+ patch -Np1 -d tensorflow-${_pkgver} <glibc-2.30.patch
+
cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-opt
cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-cuda
cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-opt-cuda
Added: glibc-2.30.patch
===================================================================
--- glibc-2.30.patch (rev 0)
+++ glibc-2.30.patch 2019-10-27 20:38:34 UTC (rev 520797)
@@ -0,0 +1,89 @@
+From 7bf3f05197bb6d71beba9dcd0ac83ddfcf7f1919 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia at windriver.com>
+Date: Fri, 23 Aug 2019 13:54:52 +0000
+Subject: [PATCH] grpc: Define gettid() only for glibc < 2.30
+
+glibc 2.30 has added this API, so let us use that when possible
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
+---
+ tensorflow/workspace.bzl | 1 +
+ ...01-Define-gettid-only-for-glibc-2.30.patch | 52 +++++++++++++++++++
+ 2 files changed, 53 insertions(+)
+ create mode 100644 third_party/systemlibs/0001-Define-gettid-only-for-glibc-2.30.patch
+
+diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl
+index 788eca2f67..8a37fe5643 100755
+--- a/tensorflow/workspace.bzl
++++ b/tensorflow/workspace.bzl
+@@ -475,6 +475,7 @@ def tf_workspace(path_prefix = "", tf_repo_name = ""):
+ sha256 = "1aa84387232dda273ea8fdfe722622084f72c16f7b84bfc519ac7759b71cdc91",
+ strip_prefix = "grpc-69b6c047bc767b4d80e7af4d00ccb7c45b683dae",
+ system_build_file = clean_dep("//third_party/systemlibs:grpc.BUILD"),
++ patch_file = clean_dep("//third_party/systemlibs:0001-Define-gettid-only-for-glibc-2.30.patch"),
+ urls = [
+ "https://mirror.bazel.build/github.com/grpc/grpc/archive/69b6c047bc767b4d80e7af4d00ccb7c45b683dae.tar.gz",
+ "https://github.com/grpc/grpc/archive/69b6c047bc767b4d80e7af4d00ccb7c45b683dae.tar.gz",
+diff --git a/third_party/systemlibs/0001-Define-gettid-only-for-glibc-2.30.patch b/third_party/systemlibs/0001-Define-gettid-only-for-glibc-2.30.patch
+new file mode 100644
+index 0000000000..30f1d7b252
+--- /dev/null
++++ b/third_party/systemlibs/0001-Define-gettid-only-for-glibc-2.30.patch
+@@ -0,0 +1,52 @@
++From 1d630079c3d1013baebd19060f4e6050112cb66d Mon Sep 17 00:00:00 2001
++From: Hongxu Jia <hongxu.jia at windriver.com>
++Date: Fri, 23 Aug 2019 13:52:01 +0000
++Subject: [PATCH] Define gettid() only for glibc < 2.30
++
++glibc 2.30 has added this API, so let us use that when possible
++
++Upstream-Status: Pending
++Signed-off-by: Khem Raj <raj.khem at gmail.com>
++
++Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
++---
++ src/core/lib/gpr/log_linux.cc | 4 ++++
++ src/core/lib/iomgr/ev_epollex_linux.cc | 4 ++++
++ 2 files changed, 8 insertions(+)
++
++diff --git a/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/log_linux.cc
++index 561276f..25a7486 100644
++--- a/src/core/lib/gpr/log_linux.cc
+++++ b/src/core/lib/gpr/log_linux.cc
++@@ -40,7 +40,11 @@
++ #include <time.h>
++ #include <unistd.h>
++
+++#if defined(__GLIBC__) && (__GLIBC_MINOR__ >= 29)
+++#include <unistd.h>
+++#else
++ static long gettid(void) { return syscall(__NR_gettid); }
+++#endif
++
++ void gpr_log(const char* file, int line, gpr_log_severity severity,
++ const char* format, ...) {
++diff --git a/src/core/lib/iomgr/ev_epollex_linux.cc b/src/core/lib/iomgr/ev_epollex_linux.cc
++index 06a382c..ec321f2 100644
++--- a/src/core/lib/iomgr/ev_epollex_linux.cc
+++++ b/src/core/lib/iomgr/ev_epollex_linux.cc
++@@ -1150,8 +1150,12 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
++ }
++
++ #ifndef NDEBUG
+++#if defined(__GLIBC__) && (__GLIBC_MINOR__ >= 29)
+++#include <unistd.h>
+++#else
++ static long gettid(void) { return syscall(__NR_gettid); }
++ #endif
+++#endif
++
++ /* pollset->mu lock must be held by the caller before calling this.
++ The function pollset_work() may temporarily release the lock (pollset->po.mu)
++--
++2.17.1
++
+--
+2.17.1
+
Added: python-3.8.patch
===================================================================
--- python-3.8.patch (rev 0)
+++ python-3.8.patch 2019-10-27 20:38:34 UTC (rev 520797)
@@ -0,0 +1,70 @@
+From 3a48a5c1541daa1fc3f49b9dbe0da247e7cd90f3 Mon Sep 17 00:00:00 2001
+From: Yong Tang <yong.tang.github at outlook.com>
+Date: Mon, 21 Oct 2019 14:39:33 +0000
+Subject: [PATCH] Fix build failures for python 3.8
+
+This fix tries to address the issue raised in 33543 where
+tensorflow build on python 3.8 failed.
+
+This fix fixed the issue as was suggested in 33543 and pip
+builds finished successfully.
+
+NOTE: tensorflow depends on h5py which does not have python 3.8
+support yet, as such a release version of tensorflow for python 3.8
+may have to wait for h5py first.
+
+Signed-off-by: Yong Tang <yong.tang.github at outlook.com>
+---
+ tensorflow/python/eager/pywrap_tfe_src.cc | 4 ++--
+ tensorflow/python/lib/core/bfloat16.cc | 2 +-
+ tensorflow/python/lib/core/ndarray_tensor_bridge.cc | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tensorflow/python/eager/pywrap_tfe_src.cc b/tensorflow/python/eager/pywrap_tfe_src.cc
+index cfae44af209f..109bfe0579b0 100644
+--- a/tensorflow/python/eager/pywrap_tfe_src.cc
++++ b/tensorflow/python/eager/pywrap_tfe_src.cc
+@@ -1431,7 +1431,7 @@ static PyTypeObject TFE_Py_Tape_Type = {
+ sizeof(TFE_Py_Tape), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ &TFE_Py_Tape_Delete, /* tp_dealloc */
+- nullptr, /* tp_print */
++ 0, /* tp_print */
+ nullptr, /* tp_getattr */
+ nullptr, /* tp_setattr */
+ nullptr, /* tp_reserved */
+@@ -1469,7 +1469,7 @@ static PyTypeObject TFE_Py_ForwardAccumulator_Type = {
+ sizeof(TFE_Py_ForwardAccumulator), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ &TFE_Py_ForwardAccumulatorDelete, /* tp_dealloc */
+- nullptr, /* tp_print */
++ 0, /* tp_print */
+ nullptr, /* tp_getattr */
+ nullptr, /* tp_setattr */
+ nullptr, /* tp_reserved */
+diff --git a/tensorflow/python/lib/core/bfloat16.cc b/tensorflow/python/lib/core/bfloat16.cc
+index fde3a8377028..54be76375c9c 100644
+--- a/tensorflow/python/lib/core/bfloat16.cc
++++ b/tensorflow/python/lib/core/bfloat16.cc
+@@ -317,7 +317,7 @@ PyTypeObject PyBfloat16_Type = {
+ sizeof(PyBfloat16), // tp_basicsize
+ 0, // tp_itemsize
+ nullptr, // tp_dealloc
+- nullptr, // tp_print
++ 0, // tp_print
+ nullptr, // tp_getattr
+ nullptr, // tp_setattr
+ nullptr, // tp_compare / tp_reserved
+diff --git a/tensorflow/python/lib/core/ndarray_tensor_bridge.cc b/tensorflow/python/lib/core/ndarray_tensor_bridge.cc
+index 16f693418615..03ff77100d2e 100644
+--- a/tensorflow/python/lib/core/ndarray_tensor_bridge.cc
++++ b/tensorflow/python/lib/core/ndarray_tensor_bridge.cc
+@@ -86,7 +86,7 @@ PyTypeObject TensorReleaserType = {
+ 0, /* tp_itemsize */
+ /* methods */
+ TensorReleaser_dealloc, /* tp_dealloc */
+- nullptr, /* tp_print */
++ 0, /* tp_print */
+ nullptr, /* tp_getattr */
+ nullptr, /* tp_setattr */
+ nullptr, /* tp_compare */
More information about the arch-commits
mailing list