[arch-commits] Commit in tensorflow/repos (6 files)
Sven-Hendrik Haase
svenstaro at archlinux.org
Wed Nov 20 17:46:01 UTC 2019
Date: Wednesday, November 20, 2019 @ 17:46:00
Author: svenstaro
Revision: 530749
archrelease: copy trunk to community-testing-x86_64
Added:
tensorflow/repos/community-testing-x86_64/
tensorflow/repos/community-testing-x86_64/33953.patch
(from rev 530748, tensorflow/trunk/33953.patch)
tensorflow/repos/community-testing-x86_64/PKGBUILD
(from rev 530748, tensorflow/trunk/PKGBUILD)
tensorflow/repos/community-testing-x86_64/bazel1.patch
(from rev 530748, tensorflow/trunk/bazel1.patch)
tensorflow/repos/community-testing-x86_64/glibc-2.30.patch
(from rev 530748, tensorflow/trunk/glibc-2.30.patch)
tensorflow/repos/community-testing-x86_64/python-3.8.patch
(from rev 530748, tensorflow/trunk/python-3.8.patch)
------------------+
33953.patch | 74 +++++++++++++++
PKGBUILD | 261 +++++++++++++++++++++++++++++++++++++++++++++++++++++
bazel1.patch | 167 +++++++++++++++++++++++++++++++++
glibc-2.30.patch | 89 ++++++++++++++++++
python-3.8.patch | 70 ++++++++++++++
5 files changed, 661 insertions(+)
Copied: tensorflow/repos/community-testing-x86_64/33953.patch (from rev 530748, tensorflow/trunk/33953.patch)
===================================================================
--- community-testing-x86_64/33953.patch (rev 0)
+++ community-testing-x86_64/33953.patch 2019-11-20 17:46:00 UTC (rev 530749)
@@ -0,0 +1,74 @@
+From ea3063c929c69f738bf65bc99dad1159803e772f Mon Sep 17 00:00:00 2001
+From: Yong Tang <yong.tang.github at outlook.com>
+Date: Sun, 3 Nov 2019 19:52:04 +0000
+Subject: [PATCH 1/2] Fix TensorFlow on Python 3.8 logger issue
+
+This fix tries to address the issue raised in 33799
+where running tensorflow on python 3.8 (Ubuntu 18.04)
+raised the following error:
+```
+TypeError: _logger_find_caller() takes from 0 to 1 positional arguments but 2 were given
+```
+
+The issue was that findCaller changed in Python 3.8
+
+This PR fixes the issue.
+
+This PR fixes 33799
+
+Signed-off-by: Yong Tang <yong.tang.github at outlook.com>
+---
+ tensorflow/python/platform/tf_logging.py | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/tensorflow/python/platform/tf_logging.py b/tensorflow/python/platform/tf_logging.py
+index 86a4957c9da6..a397393e7f7e 100644
+--- a/tensorflow/python/platform/tf_logging.py
++++ b/tensorflow/python/platform/tf_logging.py
+@@ -57,9 +57,18 @@ def _get_caller(offset=3):
+ f = f.f_back
+ return None, None
+
+-
+ # The definition of `findCaller` changed in Python 3.2
+-if _sys.version_info.major >= 3 and _sys.version_info.minor >= 2:
++if _sys.version_info.major >= 3 and _sys.version_info.minor >= 8:
++ def _logger_find_caller(stack_info=False, stacklevel=1): # pylint: disable=g-wrong-blank-lines
++ code, frame = _get_caller(4)
++ sinfo = None
++ if stack_info:
++ sinfo = '\n'.join(_traceback.format_stack())
++ if code:
++ return (code.co_filename, frame.f_lineno, code.co_name, sinfo)
++ else:
++ return '(unknown file)', 0, '(unknown function)', sinfo
++elif _sys.version_info.major >= 3 and _sys.version_info.minor >= 2:
+ def _logger_find_caller(stack_info=False): # pylint: disable=g-wrong-blank-lines
+ code, frame = _get_caller(4)
+ sinfo = None
+
+From 507d1888156ec7c13d61c50c7a440abc86b3b48b Mon Sep 17 00:00:00 2001
+From: Yong Tang <yong.tang.github at outlook.com>
+Date: Sun, 3 Nov 2019 19:54:20 +0000
+Subject: [PATCH 2/2] Update comment explaining python 3.8 change for
+ findCaller
+
+Signed-off-by: Yong Tang <yong.tang.github at outlook.com>
+---
+ tensorflow/python/platform/tf_logging.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tensorflow/python/platform/tf_logging.py b/tensorflow/python/platform/tf_logging.py
+index a397393e7f7e..7c307b1f0a72 100644
+--- a/tensorflow/python/platform/tf_logging.py
++++ b/tensorflow/python/platform/tf_logging.py
+@@ -57,7 +57,8 @@ def _get_caller(offset=3):
+ f = f.f_back
+ return None, None
+
+-# The definition of `findCaller` changed in Python 3.2
++# The definition of `findCaller` changed in Python 3.2,
++# and further changed in Python 3.8
+ if _sys.version_info.major >= 3 and _sys.version_info.minor >= 8:
+ def _logger_find_caller(stack_info=False, stacklevel=1): # pylint: disable=g-wrong-blank-lines
+ code, frame = _get_caller(4)
Copied: tensorflow/repos/community-testing-x86_64/PKGBUILD (from rev 530748, tensorflow/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD (rev 0)
+++ community-testing-x86_64/PKGBUILD 2019-11-20 17:46:00 UTC (rev 530749)
@@ -0,0 +1,261 @@
+# Maintainer: Sven-Hendrik Haase <svenstaro at gmail.com>
+# Maintainer: Konstantin Gizdov (kgizdov) <arch at kge.pw>
+# Contributor: Adria Arrufat (archdria) <adria.arrufat+AUR at protonmail.ch>
+# Contributor: Thibault Lorrain (fredszaq) <fredszaq at gmail.com>
+
+pkgbase=tensorflow
+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=6
+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<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'
+ 'python-pasta: tf_upgrade_v2 tool')
+source=("https://github.com/tensorflow/tensorflow/archive/v${_pkgver}.tar.gz"
+ 'bazel1.patch'
+ 'python-3.8.patch'
+ 'glibc-2.30.patch'
+ '33953.patch')
+sha512sums=('c3a2cb9673d2ade8e83961f7d944165123d0e4d94e6ca4d8fdee4f02f536893b879bbbf78d3ad5e557467b58f97f7194f2d9cfc64d7d05540969be732070eecc'
+ '5fc101eb0278504b55d71868ef62ae8ada9bd490b544a95124a0dae08c2891b28e3fb476b200fed08b36273ede5ebe923e1c0bb389e45476c68e5c168adf0184'
+ 'ef06196f1a7f5a4dff4d83916566dae8f2f2c2993ddcd40017583020dd9bfc73ef426c45b0cc5630d1dd53321b99736f2c60b37bb9370be02174c1209e041ffb'
+ 'a9345b7206e9f8ae9fc33987997808dcdeaf3e4c05caf40785bba2a9ef2292e20046bfd54ce05fee2ccd11ded9d8e918b2a131d830a7e238406e6ddf222e830e'
+ 'ad06e7553e1a6961ac53eed626c8a390c5dc8967cb172cc07ccc45e4ccef495c15e4a273c469df957a0971c64d9585b3493ff74e863a4f6f53a1e1f676b45870')
+
+get_pyver () {
+ python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))'
+}
+
+prepare() {
+ patch -Np1 -d tensorflow-${_pkgver} <python-3.8.patch
+ patch -Np1 -d tensorflow-${_pkgver} <glibc-2.30.patch
+ patch -Np1 -d tensorflow-${_pkgver} <33953.patch
+ patch -Np1 -d tensorflow-${_pkgver} <bazel1.patch
+
+ cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-opt
+ cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-cuda
+ cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-opt-cuda
+
+ # These environment variables influence the behavior of the configure call below.
+ export PYTHON_BIN_PATH=/usr/bin/python
+ export USE_DEFAULT_PYTHON_LIB_PATH=1
+ export TF_NEED_JEMALLOC=1
+ export TF_NEED_KAFKA=0
+ export TF_NEED_OPENCL_SYCL=0
+ export TF_NEED_AWS=0
+ export TF_NEED_GCP=0
+ export TF_NEED_HDFS=0
+ export TF_NEED_S3=0
+ export TF_ENABLE_XLA=1
+ export TF_NEED_GDR=0
+ export TF_NEED_VERBS=0
+ export TF_NEED_OPENCL=0
+ export TF_NEED_MPI=0
+ export TF_NEED_TENSORRT=0
+ export TF_NEED_NGRAPH=0
+ export TF_NEED_IGNITE=0
+ export TF_NEED_ROCM=0
+ export TF_SET_ANDROID_WORKSPACE=0
+ export TF_DOWNLOAD_CLANG=0
+ export TF_NCCL_VERSION=2.4
+ export TF_IGNORE_MAX_BAZEL_VERSION=1
+ export NCCL_INSTALL_PATH=/usr
+ export GCC_HOST_COMPILER_PATH=/usr/bin/gcc-8
+ export HOST_CXX_COMPILER_PATH=/usr/bin/gcc-8
+ 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.h)
+ export TF_CUDA_COMPUTE_CAPABILITIES=3.5,3.7,5.0,5.2,5.3,6.0,6.1,6.2,7.0,7.2,7.5
+}
+
+build() {
+ echo "Building without cuda and without non-x86-64 optimizations"
+ cd "${srcdir}"/tensorflow-${_pkgver}
+ export CC_OPT_FLAGS="-march=x86-64"
+ export TF_NEED_CUDA=0
+ ./configure
+ bazel \
+ build --config=opt --incompatible_no_support_tools_in_action_inputs=false \
+ //tensorflow:libtensorflow.so \
+ //tensorflow:libtensorflow_cc.so \
+ //tensorflow:install_headers \
+ //tensorflow/tools/pip_package:build_pip_package
+ bazel-bin/tensorflow/tools/pip_package/build_pip_package "${srcdir}"/tmp
+
+
+ echo "Building without cuda and with non-x86-64 optimizations"
+ cd "${srcdir}"/tensorflow-${_pkgver}-opt
+ export CC_OPT_FLAGS="-march=haswell"
+ export TF_NEED_CUDA=0
+ ./configure
+ bazel \
+ build --config=opt --incompatible_no_support_tools_in_action_inputs=false \
+ //tensorflow:libtensorflow.so \
+ //tensorflow:libtensorflow_cc.so \
+ //tensorflow:install_headers \
+ //tensorflow/tools/pip_package:build_pip_package
+ bazel-bin/tensorflow/tools/pip_package/build_pip_package "${srcdir}"/tmpopt
+
+
+ echo "Building with cuda and without non-x86-64 optimizations"
+ cd "${srcdir}"/tensorflow-${_pkgver}-cuda
+ export CC_OPT_FLAGS="-march=x86-64"
+ export TF_NEED_CUDA=1
+ ./configure
+ bazel \
+ build --config=opt --incompatible_no_support_tools_in_action_inputs=false \
+ //tensorflow:libtensorflow.so \
+ //tensorflow:libtensorflow_cc.so \
+ //tensorflow:install_headers \
+ //tensorflow/tools/pip_package:build_pip_package
+ bazel-bin/tensorflow/tools/pip_package/build_pip_package "${srcdir}"/tmpcuda
+
+
+ echo "Building with cuda and without non-x86-64 optimizations"
+ cd "${srcdir}"/tensorflow-${_pkgver}-opt-cuda
+ export CC_OPT_FLAGS="-march=haswell"
+ export TF_NEED_CUDA=1
+ export TF_CUDA_CLANG=0
+ ./configure
+ bazel \
+ build --config=opt --incompatible_no_support_tools_in_action_inputs=false \
+ //tensorflow:libtensorflow.so \
+ //tensorflow:libtensorflow_cc.so \
+ //tensorflow:install_headers \
+ //tensorflow/tools/pip_package:build_pip_package
+ bazel-bin/tensorflow/tools/pip_package/build_pip_package "${srcdir}"/tmpoptcuda
+}
+
+_package() {
+ # install headers first
+ install -d "${pkgdir}"/usr/include/tensorflow
+ cp -r bazel-genfiles/tensorflow/include/* "${pkgdir}"/usr/include/tensorflow/
+ # install python-version to get all extra headers
+ WHEEL_PACKAGE=$(find "${srcdir}"/$1 -name "tensor*.whl")
+ pip install --ignore-installed --upgrade --root "${pkgdir}"/ $WHEEL_PACKAGE --no-dependencies
+ # move extra headers to correct location
+ find "${pkgdir}/usr/lib/python$(get_pyver)"/site-packages/tensorflow/include -maxdepth 1 -mindepth 1 -type d -print0 | while read -rd $'\0' _folder; do
+ cp -nr "${_folder}" "${pkgdir}"/usr/include/tensorflow/
+ done
+ # clean up unneeded files
+ rm -rf "${pkgdir}"/usr/bin
+ rm -rf "${pkgdir}"/usr/lib
+ rm -rf "${pkgdir}"/usr/share
+
+ # install the rest of tensorflow
+ tensorflow/c/generate-pc.sh --prefix=/usr --version=${pkgver}
+ sed -e 's/\/include/\/include\/tensorflow/' -i tensorflow.pc
+ install -Dm644 tensorflow.pc "${pkgdir}"/usr/lib/pkgconfig/tensorflow.pc
+ install -Dm755 bazel-bin/tensorflow/libtensorflow.so "${pkgdir}"/usr/lib/libtensorflow.so.${pkgver}
+ ln -s libtensorflow.so.${pkgver} "${pkgdir}"/usr/lib/libtensorflow.so.${pkgver:0:1}
+ ln -s libtensorflow.so.${pkgver:0:1} "${pkgdir}"/usr/lib/libtensorflow.so
+ install -Dm755 bazel-bin/tensorflow/libtensorflow_cc.so "${pkgdir}"/usr/lib/libtensorflow_cc.so.${pkgver}
+ ln -s libtensorflow_cc.so.${pkgver} "${pkgdir}"/usr/lib/libtensorflow_cc.so.${pkgver:0:1}
+ ln -s libtensorflow_cc.so.${pkgver:0:1} "${pkgdir}"/usr/lib/libtensorflow_cc.so
+ install -Dm755 bazel-bin/tensorflow/libtensorflow_framework.so "${pkgdir}"/usr/lib/libtensorflow_framework.so.${pkgver}
+ ln -s libtensorflow_framework.so.${pkgver} "${pkgdir}"/usr/lib/libtensorflow_framework.so.${pkgver:0:1}
+ 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
+}
+
+_python_package() {
+ WHEEL_PACKAGE=$(find "${srcdir}"/$1 -name "tensor*.whl")
+ pip install --ignore-installed --upgrade --root "${pkgdir}"/ $WHEEL_PACKAGE --no-dependencies
+
+ # create symlinks to headers
+ find "${pkgdir}/usr/lib/python$(get_pyver)"/site-packages/tensorflow/include/ -maxdepth 1 -mindepth 1 -type d -print0 | while read -rd $'\0' _folder; do
+ rm -rf "${_folder}"
+ _smlink="$(basename "${_folder}")"
+ ln -s /usr/include/tensorflow/"${_smlink}" "${pkgdir}/usr/lib/python$(get_pyver)"/site-packages/tensorflow/include/
+ done
+
+ # tensorboard has been separated from upstream but they still install it with
+ # tensorflow. I don't know what kind of sense that makes but we have to clean
+ # it out from this pacakge.
+ rm -rf "${pkgdir}"/usr/bin/tensorboard
+
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
+
+package_tensorflow() {
+ cd "${srcdir}"/tensorflow-${_pkgver}
+ _package tmp
+}
+
+package_tensorflow-opt() {
+ pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CPU optimizations)"
+ conflicts=(tensorflow)
+ provides=(tensorflow)
+
+ cd "${srcdir}"/tensorflow-${_pkgver}-opt
+ _package tmpopt
+}
+
+package_tensorflow-cuda() {
+ pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CUDA)"
+ depends+=(cuda cudnn nccl)
+ conflicts=(tensorflow)
+ provides=(tensorflow)
+
+ cd "${srcdir}"/tensorflow-${_pkgver}-cuda
+ _package tmpcuda
+}
+
+package_tensorflow-opt-cuda() {
+ pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CUDA and CPU optimizations)"
+ depends+=(cuda cudnn nccl)
+ conflicts=(tensorflow)
+ provides=(tensorflow tensorflow-cuda)
+
+ cd "${srcdir}"/tensorflow-${_pkgver}-opt-cuda
+ _package tmpoptcuda
+}
+
+package_python-tensorflow() {
+ depends+=(tensorflow python-termcolor python-astor python-gast python-numpy python-protobuf absl-py python-h5py python-keras-applications python-keras-preprocessing python-tensorflow-estimator)
+
+ cd "${srcdir}"/tensorflow-${_pkgver}
+ _python_package tmp
+}
+
+package_python-tensorflow-opt() {
+ pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CPU optimizations)"
+ depends+=(tensorflow-opt python-termcolor python-astor python-gast python-numpy python-protobuf absl-py python-h5py python-keras-applications python-keras-preprocessing python-tensorflow-estimator)
+ conflicts=(python-tensorflow)
+ provides=(python-tensorflow)
+
+ cd "${srcdir}"/tensorflow-${_pkgver}-opt
+ _python_package tmpopt
+}
+
+package_python-tensorflow-cuda() {
+ pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CUDA)"
+ depends+=(tensorflow-cuda python-termcolor python-astor python-gast python-numpy cuda cudnn python-pycuda python-protobuf absl-py nccl python-h5py python-keras-applications python-keras-preprocessing python-tensorflow-estimator)
+ conflicts=(python-tensorflow)
+ provides=(python-tensorflow)
+
+ cd "${srcdir}"/tensorflow-${_pkgver}-cuda
+ _python_package tmpcuda
+}
+
+package_python-tensorflow-opt-cuda() {
+ pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CUDA and CPU optimizations)"
+ depends+=(tensorflow-opt-cuda python-termcolor python-astor python-gast python-numpy cuda cudnn python-pycuda python-protobuf absl-py nccl python-h5py python-keras-applications python-keras-preprocessing python-tensorflow-estimator)
+ conflicts=(python-tensorflow)
+ provides=(python-tensorflow python-tensorflow-cuda)
+
+ cd "${srcdir}"/tensorflow-${_pkgver}-opt-cuda
+ _python_package tmpoptcuda
+}
+
+# vim:set ts=2 sw=2 et:
Copied: tensorflow/repos/community-testing-x86_64/bazel1.patch (from rev 530748, tensorflow/trunk/bazel1.patch)
===================================================================
--- community-testing-x86_64/bazel1.patch (rev 0)
+++ community-testing-x86_64/bazel1.patch 2019-11-20 17:46:00 UTC (rev 530749)
@@ -0,0 +1,167 @@
+diff --git a/tensorflow/c/BUILD b/tensorflow/c/BUILD
+index f740ba66b5..6cc9003787 100644
+--- a/tensorflow/c/BUILD
++++ b/tensorflow/c/BUILD
+@@ -270,6 +270,7 @@ tf_cuda_library(
+ "//tensorflow/core/platform",
+ "@com_google_absl//absl/strings",
+ ],
++ alwayslink = 1,
+ )
+
+ exports_files(
+diff --git a/tensorflow/c/eager/BUILD b/tensorflow/c/eager/BUILD
+index 0c869f0c8b..6bb7e7512d 100644
+--- a/tensorflow/c/eager/BUILD
++++ b/tensorflow/c/eager/BUILD
+@@ -79,6 +79,7 @@ tf_cuda_library(
+ "//tensorflow/core/profiler/lib:profiler_session",
+ "//tensorflow/core:gpu_runtime",
+ ],
++ alwayslink = 1,
+ )
+
+ tf_cuda_library(
+@@ -225,6 +226,7 @@ tf_cuda_library(
+ "//tensorflow/core/profiler/rpc/client:capture_profile",
+ "//tensorflow/core:gpu_runtime",
+ ],
++ alwayslink = 1,
+ )
+
+ tf_cuda_cc_test(
+diff --git a/tensorflow/cc/saved_model/BUILD b/tensorflow/cc/saved_model/BUILD
+index 39b84922d1..b2affdd999 100644
+--- a/tensorflow/cc/saved_model/BUILD
++++ b/tensorflow/cc/saved_model/BUILD
+@@ -123,6 +123,7 @@ cc_library(
+ "//tensorflow/core/util/tensor_bundle:naming",
+ # mobile not supported yet
+ ]),
++ alwayslink = 1,
+ )
+
+ tf_cc_test(
+diff --git a/tensorflow/core/BUILD b/tensorflow/core/BUILD
+index 5194c7be65..9bd4ca5a37 100644
+--- a/tensorflow/core/BUILD
++++ b/tensorflow/core/BUILD
+@@ -355,6 +355,7 @@ cc_library(
+ ":platform_base",
+ "//third_party/eigen3",
+ ],
++ alwayslink = 1,
+ )
+
+ filegroup(
+@@ -798,6 +799,7 @@ cc_library(
+ ":lib_proto_parsing",
+ ":protos_all_cc",
+ ],
++ alwayslink = 1,
+ )
+
+ cc_library(
+@@ -2500,6 +2502,7 @@ cc_library(
+ "@com_google_protobuf//:protobuf",
+ ] + tf_protos_all_impl() + tf_protos_grappler_impl() +
+ tf_additional_numa_deps(),
++ alwayslink = 1,
+ )
+
+ # File compiled with extra flags to get cpu-specific acceleration.
+diff --git a/tensorflow/core/platform/default/build_config.bzl b/tensorflow/core/platform/default/build_config.bzl
+index 6404fde550..567a1acede 100644
+--- a/tensorflow/core/platform/default/build_config.bzl
++++ b/tensorflow/core/platform/default/build_config.bzl
+@@ -228,6 +228,7 @@ def cc_proto_library(
+ hdrs = gen_hdrs,
+ deps = cc_libs + deps,
+ includes = includes,
++ alwayslink = 1,
+ **kargs
+ )
+ native.cc_library(
+diff --git a/tensorflow/lite/kernels/BUILD b/tensorflow/lite/kernels/BUILD
+index 4d15517c30..cec349231f 100644
+--- a/tensorflow/lite/kernels/BUILD
++++ b/tensorflow/lite/kernels/BUILD
+@@ -564,6 +564,7 @@ cc_library(
+ "//tensorflow/lite:framework",
+ "//tensorflow/lite/c:c_api_internal",
+ ],
++ alwayslink = 1,
+ )
+
+ # The builtin_ops target will resolve to optimized kernels when available. This
+diff --git a/tensorflow/python/BUILD b/tensorflow/python/BUILD
+index c5fac20d38..dc77f1ab90 100644
+--- a/tensorflow/python/BUILD
++++ b/tensorflow/python/BUILD
+@@ -466,6 +466,7 @@ cc_library(
+ "//tensorflow/core:script_ops_op_lib",
+ "//third_party/python_runtime:headers",
+ ],
++ alwayslink = 1,
+ )
+
+ cc_library(
+@@ -616,6 +617,7 @@ cc_library(
+ "//tensorflow/core:op_gen_lib",
+ "//tensorflow/core:protos_all_cc",
+ ],
++ alwayslink = 1,
+ )
+
+ py_library(
+diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl
+index 97b10bf0d8..65cc206e03 100644
+--- a/tensorflow/tensorflow.bzl
++++ b/tensorflow/tensorflow.bzl
+@@ -2323,6 +2323,7 @@ def tf_generate_proto_text_sources(name, srcs_relative_dir, srcs, protodeps = []
+ hdrs = out_hdrs,
+ visibility = visibility,
+ deps = deps,
++ alwayslink = 1,
+ )
+
+ def tf_genrule_cmd_append_to_srcs(to_append):
+diff --git a/third_party/protobuf/protobuf.patch b/third_party/protobuf/protobuf.patch
+index df0648563d..18fc6cdf35 100644
+--- a/third_party/protobuf/protobuf.patch
++++ b/third_party/protobuf/protobuf.patch
+@@ -11,7 +11,15 @@ index 2fb26050..c2744d5b 100644
+
+ ################################################################################
+ # Protobuf Runtime Library
+-@@ -218,7 +218,7 @@ cc_library(
++@@ -209,6 +209,7 @@ cc_library(
++ copts = COPTS,
++ includes = ["src/"],
++ linkopts = LINK_OPTS,
+++ alwayslink = 1,
++ visibility = ["//visibility:public"],
++ deps = [":protobuf_lite"] + PROTOBUF_DEPS,
++ )
++@@ -219,7 +220,7 @@ cc_library(
+ # TODO(keveman): Remove this target once the support gets added to Bazel.
+ cc_library(
+ name = "protobuf_headers",
+@@ -20,3 +28,4 @@ index 2fb26050..c2744d5b 100644
+ includes = ["src/"],
+ visibility = ["//visibility:public"],
+ )
++
+\ No newline at end of file
+diff --git a/third_party/systemlibs/protobuf.bzl b/third_party/systemlibs/protobuf.bzl
+index 774514f3fd..1c415b018b 100644
+--- a/third_party/systemlibs/protobuf.bzl
++++ b/third_party/systemlibs/protobuf.bzl
+@@ -262,6 +262,7 @@ def cc_proto_library(
+ hdrs = gen_hdrs,
+ deps = cc_libs + deps,
+ includes = includes,
++ alwayslink = 1,
+ **kargs
+ )
+
Copied: tensorflow/repos/community-testing-x86_64/glibc-2.30.patch (from rev 530748, tensorflow/trunk/glibc-2.30.patch)
===================================================================
--- community-testing-x86_64/glibc-2.30.patch (rev 0)
+++ community-testing-x86_64/glibc-2.30.patch 2019-11-20 17:46:00 UTC (rev 530749)
@@ -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
+
Copied: tensorflow/repos/community-testing-x86_64/python-3.8.patch (from rev 530748, tensorflow/trunk/python-3.8.patch)
===================================================================
--- community-testing-x86_64/python-3.8.patch (rev 0)
+++ community-testing-x86_64/python-3.8.patch 2019-11-20 17:46:00 UTC (rev 530749)
@@ -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