Skip to content

Commit 9817f96

Browse files
committed
update cross-compile toolchain installation
install arm gcc-5 on the new base image as there seems to be a possible ICE when using the default version of gcc possibly caused by eigen source (a c++ linear algebra template library used by tensorflow)
1 parent cb94f64 commit 9817f96

File tree

3 files changed

+26
-26
lines changed

3 files changed

+26
-26
lines changed

tensorflow_serving/tools/docker/install_arm_toolchain.sh

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,20 @@
1616
# install ubuntu arm port repos for crossbuild dependencies
1717
dpkg --add-architecture armhf
1818
dpkg --add-architecture arm64
19-
echo 'deb [arch=armhf,arm64] http://ports.ubuntu.com/ xenial main restricted universe multiverse' >> /etc/apt/sources.list.d/arm.list
20-
echo 'deb [arch=armhf,arm64] http://ports.ubuntu.com/ xenial-updates main restricted universe multiverse' >> /etc/apt/sources.list.d/arm.list
21-
echo 'deb [arch=armhf,arm64] http://ports.ubuntu.com/ xenial-security main restricted universe multiverse' >> /etc/apt/sources.list.d/arm.list
22-
echo 'deb [arch=armhf,arm64] http://ports.ubuntu.com/ xenial-backports main restricted universe multiverse' >> /etc/apt/sources.list.d/arm.list
19+
echo 'deb [arch=armhf,arm64] http://ports.ubuntu.com/ bionic main restricted universe multiverse' >> /etc/apt/sources.list.d/arm.list
20+
echo 'deb [arch=armhf,arm64] http://ports.ubuntu.com/ bionic-updates main restricted universe multiverse' >> /etc/apt/sources.list.d/arm.list
21+
echo 'deb [arch=armhf,arm64] http://ports.ubuntu.com/ bionic-security main restricted universe multiverse' >> /etc/apt/sources.list.d/arm.list
22+
echo 'deb [arch=armhf,arm64] http://ports.ubuntu.com/ bionic-backports main restricted universe multiverse' >> /etc/apt/sources.list.d/arm.list
2323
# isolate host repos to host arch
2424
sed -i 's#deb http://archive.ubuntu.com/ubuntu/#deb [arch=amd64] http://archive.ubuntu.com/ubuntu/#g' /etc/apt/sources.list
2525
sed -i 's#deb http://security.ubuntu.com/ubuntu/#deb [arch=amd64] http://security.ubuntu.com/ubuntu/#g' /etc/apt/sources.list
26-
# install arm toolchains
26+
# install arm cross-compile toolchains
2727
apt-get update
28-
apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libpython-all-dev:armhf
29-
apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libpython-all-dev:arm64
28+
apt-get install -y \
29+
gcc-5-arm-linux-gnueabihf g++-5-arm-linux-gnueabihf \
30+
gcc-5-aarch64-linux-gnu g++-5-aarch64-linux-gnu
3031
apt-get clean
3132
rm -rf /var/lib/apt/lists/*
33+
# set up symlinks for arm gcc-5
34+
update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-5 90 --slave /usr/bin/aarch64-linux-gnu-g++ aarch64-linux-gnu-g++ /usr/bin/aarch64-linux-gnu-g++-5
35+
update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-5 90 --slave /usr/bin/arm-linux-gnueabihf-g++ arm-linux-gnueabihf-g++ /usr/bin/arm-linux-gnueabihf-g++-5

tools/cpp/arm/BUILD

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
package(default_visibility = ["//visibility:public"])
2+
filegroup(name = "empty", srcs = [])
23

34
cc_toolchain_suite(
4-
name = 'toolchain',
5+
name = "toolchain",
56
toolchains = {
6-
'armeabi|compiler':':gcc-linux-arm',
7-
'aarch64|compiler':':gcc-linux-aarch64',
7+
"armeabi":":gcc-linux-arm",
8+
"aarch64":":gcc-linux-aarch64",
89
},
910
)
1011

11-
filegroup(
12-
name = "empty",
13-
srcs = [],
14-
)
15-
1612
cc_toolchain(
1713
name = 'gcc-linux-arm',
1814
all_files = ':empty',

tools/cpp/arm/CROSSTOOL

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ toolchain {
1616
abi_version: "aarch64"
1717
abi_libc_version: "aarch64"
1818
builtin_sysroot: ""
19-
compiler: "compiler"
19+
compiler: "gcc-5"
2020
host_system_name: "aarch64"
2121
needsPic: true
2222
supports_gold_linker: true
@@ -30,16 +30,16 @@ toolchain {
3030
target_system_name: "aarch64"
3131
toolchain_identifier: "aarch64-linux-gnu"
3232

33-
tool_path { name: "ld" path: "/usr/bin/aarch64-linux-gnu-ld" }
34-
tool_path { name: "cpp" path: "/usr/bin/aarch64-linux-gnu-cpp" }
33+
tool_path { name: "ar" path: "/usr/bin/aarch64-linux-gnu-ar" }
34+
tool_path { name: "cpp" path: "/usr/bin/aarch64-linux-gnu-cpp-5" }
3535
tool_path { name: "dwp" path: "/usr/bin/aarch64-linux-gnu-dwp" }
36-
tool_path { name: "gcov" path: "/usr/bin/aarch64-linux-gnu-gcov" }
36+
tool_path { name: "gcc" path: "/usr/bin/aarch64-linux-gnu-gcc" }
37+
tool_path { name: "gcov" path: "/usr/bin/aarch64-linux-gnu-gcov-5" }
38+
tool_path { name: "ld" path: "/usr/bin/aarch64-linux-gnu-ld" }
3739
tool_path { name: "nm" path: "/usr/bin/aarch64-linux-gnu-nm" }
3840
tool_path { name: "objcopy" path: "/usr/bin/aarch64-linux-gnu-objcopy" }
3941
tool_path { name: "objdump" path: "/usr/bin/aarch64-linux-gnu-objdump" }
4042
tool_path { name: "strip" path: "/usr/bin/aarch64-linux-gnu-strip" }
41-
tool_path { name: "gcc" path: "/usr/bin/aarch64-linux-gnu-gcc" }
42-
tool_path { name: "ar" path: "/usr/bin/aarch64-linux-gnu-ar" }
4343

4444
cxx_builtin_include_directory: "/usr/aarch64-linux-gnu/include/c++/5/"
4545
cxx_builtin_include_directory: "/usr/aarch64-linux-gnu/include/c++/5/backward"
@@ -112,7 +112,7 @@ toolchain {
112112
abi_version: "armeabi"
113113
abi_libc_version: "armeabi"
114114
builtin_sysroot: ""
115-
compiler: "compiler"
115+
compiler: "gcc-5"
116116
host_system_name: "armeabi"
117117
needsPic: true
118118
supports_gold_linker: false
@@ -126,16 +126,16 @@ toolchain {
126126
target_system_name: "armeabi"
127127
toolchain_identifier: "arm-linux-gnueabihf"
128128

129+
tool_path { name: "ar" path: "/usr/bin/arm-linux-gnueabihf-ar" }
129130
tool_path { name: "ld" path: "/usr/bin/arm-linux-gnueabihf-ld" }
130-
tool_path { name: "cpp" path: "/usr/bin/arm-linux-gnueabihf-cpp" }
131+
tool_path { name: "cpp" path: "/usr/bin/arm-linux-gnueabihf-cpp-5" }
131132
tool_path { name: "dwp" path: "/usr/bin/arm-linux-gnueabihf-dwp" }
132-
tool_path { name: "gcov" path: "/usr/bin/arm-linux-gnueabihf-gcov" }
133+
tool_path { name: "gcc" path: "/usr/bin/arm-linux-gnueabihf-gcc" }
134+
tool_path { name: "gcov" path: "/usr/bin/arm-linux-gnueabihf-gcov-5" }
133135
tool_path { name: "nm" path: "/usr/bin/arm-linux-gnueabihf-nm" }
134136
tool_path { name: "objcopy" path: "/usr/bin/arm-linux-gnueabihf-objcopy" }
135137
tool_path { name: "objdump" path: "/usr/bin/arm-linux-gnueabihf-objdump" }
136138
tool_path { name: "strip" path: "/usr/bin/arm-linux-gnueabihf-strip" }
137-
tool_path { name: "gcc" path: "/usr/bin/arm-linux-gnueabihf-gcc" }
138-
tool_path { name: "ar" path: "/usr/bin/arm-linux-gnueabihf-ar" }
139139

140140
cxx_builtin_include_directory: "/usr/arm-linux-gnueabihf/include/c++/5/"
141141
cxx_builtin_include_directory: "/usr/arm-linux-gnueabihf/include/c++/5/backward"

0 commit comments

Comments
 (0)