Tensorflow-gpu源码linux-gcc编译

1. gcc 4.8.0 下载地址

安装gcc 4.8 指定版本需要先行安装 gcc

yum install gcc

yum install gcc-c++

这两个命令步骤还是很快的。之后我们可以查看我们的gcc版本

gcc –version

下载完成后,我们将其放到linux中的/usr/local路径下进行解压

下载编译所需依赖项

cd /usr/local/

cd gcc-4.8.0

./contrib/download_prerequisites

cd ..

建立编译后文件存放目录

mkdir gcc-build-6.4.0

cd gcc-build-6.4.0

../gcc-6.4.0/configure –enable-checking=release –enable-languages=c,c++ –disable-multilib

编译

make

安装

make install

查看版本号

gcc –version

2. 安装bazel 0.19.2

3. 编译过程中可能会报错”no such package ‘@png_archive//“,建议在编译之前运行如下命令

yum install -y patch

4. no such package ‘@icu//‘

csdn

这是从github上下载icu-release-62-1.tar.gz时超时,报错。

自行从github上下载icu包,放到自己搭建的服务器上,如

https://www.xxxxxx.com/uPic/icu-release-62-1.tar.gz

修改third_party/icu/workspace.bzl

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
"""Loads a lightweight subset of the ICU library for Unicode processing."""

load("//third_party:repo.bzl", "third_party_http_archive")

def repo():
third_party_http_archive(
name = "icu",
strip_prefix = "icu-release-62-1",
sha256 = "86b85fbf1b251d7a658de86ce5a0c8f34151027cc60b01e1b76f167379acf181",
urls = [
"https://www.xxxxxx.com/uPic/icu-release-62-1.tar.gz",
"https://mirror.bazel.build/github.com/unicode-org/icu/archive/release-62-1.tar.gz",
"http://10.32.97.118/share/icu-release-62-1.tar.gz",
],
build_file = "//third_party/icu:BUILD.bazel",
)
  • 错误提示checksum和需要的不一致
1
2
3
4
5
6
7
8
9
10
文件中写的是

86b85fbf1b251d7a658de86ce5a0c8f34151027cc60b01e1b76f167379acf181

但是需要的是

e15ffd84606323cbad5515bf9ecdf8061cc3bf80fb883b9e6aa162e485aa9761

将需要的checksum替换掉workspace.bzl中的sha256即可

5. 编译时突然退出 C++ compilation of rule ‘@aws//:aws’ failed (Exit 4): gcc failed: error executing command

status 4表示内存不足,

所以限制bazel线程数,在bazel build命令中添加:

–local_resources=2048,.5,1.0\

简单粗暴换电脑、加内存

目前看16G内存比较好。

6. pip 8.0更新 22.1 失败

  • 20年1月,已停止对python 2.7 更新与支持

因为夸版本较大,所以先升级到指定版本如

python -m pip install –user –upgrade pip==20.2.4

/usr/bin/python -m pip install –upgrade pip

pip –version

7.