https://aur.archlinux.org/packages/python-tensorflow/
하... 힘들다. 컴파일 기다리기.
우선 yaourt를 안 쓰길 권장한다. 왜냐? 도중에 에러가나면 makepkg를 다시 해야 하거든.
... Dependency를 다 수동으로 설치하길 권장한다.
얘네들도 컴파일하는데 오지게 오래 걸리기 때문이다.
bazel, protobuf 모두 오래걸린다.
그리고 본게임인 python-tensorflow 패키지는 컴파일 시간도 오래 걸리고, AUR에 제시된 컴파일 방법도 버그가 있어서 아래와 같이 고쳐야 한다.
https://aur.archlinux.org/packages/python-tensorflow/
2016-05-26 05:46
이 때 된 PKGBUILD 를 기준으로 하면,
diff --git a/PKGBUILD b/PKGBUILD
index 2b0bb75..adc3173 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -27,9 +27,13 @@ _build_opts=''
prepare() {
cd ${srcdir}
- ln -s tensorflow-${pkgver} tensorflow
+ if [ ! -L tensorflow ] ; then
+ ln -s tensorflow-${pkgver} tensorflow
+ fi
cd tensorflow/google
- git clone https://github.com/google/protobuf/
+ if [ ! -d protobuf ] ; then
+ git clone https://github.com/google/protobuf/
+ fi
cd protobuf
git reset --hard ${protobuf_commit}
@@ -55,6 +59,7 @@ build() {
cd "$srcdir/tensorflow"
./configure
bazel build -c opt ${_build_opts} //tensorflow/tools/pip_package:build_pip_package
+ cp -a bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/__main__/* bazel-
bin/tensorflow/tools/pip_package/build_pip_package.runfiles/
bazel-bin/tensorflow/tools/pip_package/build_pip_package $srcdir/tmp
}
이런 차이가 있다... 위의 if문은 뭐냐면, 빌드가 실패했을 때를 대비해서 clone, soft link 작업을 못 하게 하는 것이다. 그래야 실패를 해도 makepkg를 하면 다시 하던 데부터 빌드가 되는 것이다.
아래의 cp -a 는 AUR에 접속해보면 있는 코멘트를 보고 넣었다... 저거 안 해서 빌드가 실패함.
cp: cannot stat 'bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/tensorflow': No such file or directory
cp: cannot stat 'bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/external': No such file or directory
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Makepkg was unable to build .
이런 비슷한 에러가 날 것이다.