diff options
author | AdriĆ Arrufat | 2020-12-24 12:38:16 +0900 |
---|---|---|
committer | AdriĆ Arrufat | 2020-12-24 12:38:16 +0900 |
commit | 463eb0e50d3dc165efe230440e200265dd75f804 (patch) | |
tree | f58dc02331130f490d7ea95e55e368ac3d8beb4e | |
parent | 834cae81338c1f4c2d1cd3d63d7e6ae84b46c6d8 (diff) | |
download | aur-463eb0e50d3dc165efe230440e200265dd75f804.tar.gz |
fix build
-rw-r--r-- | .SRCINFO | 45 | ||||
-rw-r--r-- | PKGBUILD | 75 |
2 files changed, 95 insertions, 25 deletions
@@ -1,18 +1,16 @@ pkgbase = tensorflow-git pkgdesc = Library for computation using data flow graphs for scalable machine learning - pkgver = 1.15.0+rc1+582+g71cc471b2d + pkgver = 1.12.1+48078+gfe0dcca7437 pkgrel = 1 url = https://tensorflow.org/ arch = x86_64 license = APACHE - makedepends = git makedepends = bazel makedepends = python-numpy makedepends = cuda makedepends = nvidia-utils makedepends = nccl makedepends = git - makedepends = gcc8 makedepends = cudnn makedepends = python-pip makedepends = python-wheel @@ -20,7 +18,18 @@ pkgbase = tensorflow-git makedepends = python-h5py makedepends = python-keras-applications makedepends = python-keras-preprocessing + makedepends = cython depends = c-ares + depends = intel-mkl + depends = onednn + depends = pybind11 + depends = openssl-1.0 + depends = lmdb + depends = libpng + depends = curl + depends = giflib + depends = icu + depends = libjpeg-turbo optdepends = tensorboard: Tensorflow visualization toolkit source = git+https://github.com/tensorflow/tensorflow md5sums = SKIP @@ -33,6 +42,16 @@ pkgname = tensorflow-git pkgname = tensorflow-cuda-git pkgdesc = Library for computation using data flow graphs for scalable machine learning (with CUDA) depends = c-ares + depends = intel-mkl + depends = onednn + depends = pybind11 + depends = openssl-1.0 + depends = lmdb + depends = libpng + depends = curl + depends = giflib + depends = icu + depends = libjpeg-turbo depends = cuda depends = cudnn depends = nccl @@ -41,6 +60,16 @@ pkgname = tensorflow-cuda-git pkgname = python-tensorflow-git depends = c-ares + depends = intel-mkl + depends = onednn + depends = pybind11 + depends = openssl-1.0 + depends = lmdb + depends = libpng + depends = curl + depends = giflib + depends = icu + depends = libjpeg-turbo depends = tensorflow depends = python-termcolor depends = python-astor @@ -56,6 +85,16 @@ pkgname = python-tensorflow-git pkgname = python-tensorflow-cuda-git pkgdesc = Library for computation using data flow graphs for scalable machine learning (with CUDA) depends = c-ares + depends = intel-mkl + depends = onednn + depends = pybind11 + depends = openssl-1.0 + depends = lmdb + depends = libpng + depends = curl + depends = giflib + depends = icu + depends = libjpeg-turbo depends = tensorflow-cuda depends = python-termcolor depends = python-astor @@ -3,39 +3,60 @@ pkgbase=tensorflow-git pkgname=(tensorflow-git tensorflow-cuda-git python-tensorflow-git python-tensorflow-cuda-git) -pkgver=1.15.0+rc1+582+g71cc471b2d +pkgver=1.12.1+48078+gfe0dcca7437 pkgrel=1 pkgdesc="Library for computation using data flow graphs for scalable machine learning" url="https://tensorflow.org/" license=('APACHE') arch=('x86_64') -depends=('c-ares') -makedepends=('git' 'bazel' 'python-numpy' 'cuda' 'nvidia-utils' 'nccl' 'git' 'gcc8' +depends=('c-ares' 'intel-mkl' 'onednn' 'pybind11' 'openssl-1.0' 'lmdb' 'libpng' 'curl' 'giflib' 'icu' 'libjpeg-turbo') +makedepends=('bazel' 'python-numpy' 'cuda' 'nvidia-utils' 'nccl' 'git' 'cudnn' 'python-pip' 'python-wheel' 'python-setuptools' 'python-h5py' - 'python-keras-applications' 'python-keras-preprocessing') + 'python-keras-applications' 'python-keras-preprocessing' + 'cython') optdepends=('tensorboard: Tensorflow visualization toolkit') source=("git+https://github.com/tensorflow/tensorflow") md5sums=('SKIP') +get_pyver () { + python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))' +} + +check_dir() { + if [ -d "${1}" ]; then + return 0 + else + >&2 echo Directory "${1}" does not exist or is a file! Exiting... + exit 1 + fi +} + pkgver() { cd ${srcdir}/tensorflow git describe --tags | sed 's/-/+/g;s/v//;' } prepare() { + # Allow any bazel version + echo "*" > tensorflow/.bazelversion + [ -d ${srcdir}/tensorflow-cuda ] && rm -rf ${srcdir}/tensorflow-cuda cp -r ${srcdir}/tensorflow ${srcdir}/tensorflow-cuda + # make sure the proxy variables are in all caps, otherwise bazel ignores them + export HTTP_PROXY=`echo $http_proxy | sed -e 's/\/$//'` + export HTTPS_PROXY=`echo $https_proxy | sed -e 's/\/$//'` + # 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_KAFKA=1 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_NEED_AWS=1 + export TF_NEED_GCP=1 + export TF_NEED_HDFS=1 + export TF_NEED_S3=1 export TF_ENABLE_XLA=1 export TF_NEED_GDR=0 export TF_NEED_VERBS=0 @@ -45,32 +66,42 @@ prepare() { export TF_NEED_NGRAPH=0 export TF_NEED_IGNITE=0 export TF_NEED_ROCM=0 + # See https://github.com/tensorflow/tensorflow/blob/master/third_party/systemlibs/syslibs_configure.bzl + export TF_SYSTEM_LIBS="boringssl,curl,cython,gif,icu,libjpeg_turbo,lmdb,nasm,pcre,png,pybind11,zlib" export TF_SET_ANDROID_WORKSPACE=0 export TF_DOWNLOAD_CLANG=0 - export TF_NCCL_VERSION=2.4 + export TF_NCCL_VERSION=2.7 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-8 - export HOST_CXX_COMPILER_PATH=/usr/bin/gcc-8 + 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.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 - export CC_OPT_FLAGS="-march=native" + 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 - # make sure the proxy variables are in all caps, otherwise bazel ignores them - export HTTP_PROXY=`echo $http_proxy | sed -e 's/\/$//'` - export HTTPS_PROXY=`echo $https_proxy | sed -e 's/\/$//'` + # Required until https://github.com/tensorflow/tensorflow/issues/39467 is fixed. + 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" + + # Workaround for gcc 10+ warnings related to upb. + # See https://github.com/tensorflow/tensorflow/issues/39467 + export BAZEL_ARGS="$BAZEL_ARGS --host_copt=-Wno-stringop-truncation" } build() { cd ${srcdir}/tensorflow + export CC_OPT_FLAGS="-march=native -O3" export TF_NEED_CUDA=0 ./configure bazel \ - build --config=opt --incompatible_no_support_tools_in_action_inputs=false \ + build ${BAZEL_ARGS[@]} \ //tensorflow:libtensorflow.so \ //tensorflow:libtensorflow_cc.so \ //tensorflow:install_headers \ @@ -81,18 +112,18 @@ build() { export TF_NEED_CUDA=1 ./configure bazel \ - build --config=opt --incompatible_no_support_tools_in_action_inputs=false \ + build ${BAZEL_ARGS[@]} \ //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 + bazel-bin/tensorflow/tools/pip_package/build_pip_package --gpu "${srcdir}"/tmpcuda } _package() { # install headers first install -d "${pkgdir}"/usr/include/tensorflow - cp -r bazel-genfiles/tensorflow/include/* "${pkgdir}"/usr/include/tensorflow/ + cp -r bazel-bin/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 |