Skip to content

Commit 9b073f7

Browse files
committed
Support ubuntu 18.04
1 parent f453905 commit 9b073f7

File tree

3 files changed

+32
-19
lines changed

3 files changed

+32
-19
lines changed

README.md

+16-6
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,32 @@
44

55
Run the following command to build gcc-11/aarch64-gcc-11:
66

7-
cd amd64/gcc-11-ubuntu-20.04
8-
docker build -t gcc-11:ubuntu-20.04 .
9-
docker run --rm --entrypoint cat gcc-11:ubuntu-20.04 /gcc-11.1.0-1-ubuntu-20.04.deb > /tmp/gcc-11.1.0-1-ubuntu-20.04.deb
7+
cd amd64/gcc-11-ubuntu
8+
docker build -t gcc-11:ubuntu-20.04 --build-arg UbuntuVersion=20.04 .
9+
docker run --rm --entrypoint cat gcc-11:ubuntu-20.04 /gcc-11.1.0-2-ubuntu-20.04.deb > /tmp/gcc-11.1.0-2-ubuntu-20.04.deb
10+
11+
## Build gcc-11/aarch64-gcc-11 for Ubuntu 18.04
12+
13+
Run the following command to build gcc-11/aarch64-gcc-11:
14+
15+
cd amd64/gcc-11-ubuntu
16+
docker build -t gcc-11:ubuntu-18.04 --build-arg UbuntuVersion=18.04 .
17+
docker run --rm --entrypoint cat gcc-11:ubuntu-18.04 /gcc-11.1.0-2-ubuntu-18.04.deb > /tmp/gcc-11.1.0-2-ubuntu-18.04.deb
18+
19+
## Install
1020

1121
Now you can install it:
1222

13-
sudo apt install -y /tmp/gcc-11.1.0-0-ubuntu-20.04.deb
23+
sudo apt install -y /tmp/gcc-11.1.0-2-ubuntu-20.04.deb
1424

1525
Set gcc-11/aarch64-gcc-11 as high priority:
1626

1727
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11
18-
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 10
28+
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11
1929
sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-11 11
2030
sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-g++ aarch64-linux-gnu-g++ /usr/bin/aarch64-linux-gnu-g++-11 11
2131

2232
For convenience, add `/usr/lib64` to `LD_LIBRARY_PATH` environment:
2333

2434
export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
25-
echo "export LD_LIBRARY_PATH=\"/usr/lib64:\$LD_LIBRARY_PATH\"" >> ~/.bashrc
35+
echo "export LD_LIBRARY_PATH=\"/usr/lib64:\$LD_LIBRARY_PATH\"" >> ~/.bashrc
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
Package: gcc-11-ubuntu-20.04
1+
Package: gcc-11-ubuntu-UBUNTUVERSION
22
Version: VERSION
33
Architecture: amd64
44
Maintainer: xyb <[email protected]>
5-
Description: Gcc VERSION build for ubuntu 20.04
5+
Description: Gcc VERSION build for ubuntu UBUNTUVERSION
66
Depends: binutils, libc6-dev, binutils-aarch64-linux-gnu, libc6-dev-arm64-cross

amd64/gcc-11-ubuntu-20.04/Dockerfile amd64/gcc-11-ubuntu/Dockerfile

+14-11
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
FROM ubuntu:20.04
1+
ARG UbuntuVersion=20.04
22

3+
FROM ubuntu:$UbuntuVersion
4+
5+
ARG UbuntuVersion=20.04
36
ARG Gcc11Version=11.1.0
4-
ARG BuildVersion=1
7+
ARG BuildVersion=2
58

69
# Download gcc source code
710
RUN apt update && apt install -y wget build-essential flex libz-dev libzstd-dev
@@ -49,9 +52,9 @@ RUN /gcc-$Gcc11Version/configure \
4952
--with-build-config=bootstrap-lto-lean \
5053
--enable-link-serialization=2
5154
RUN make -j`nproc`
52-
RUN make install-strip DESTDIR=/gcc-$Gcc11Version-$BuildVersion-ubuntu-20.04
53-
RUN mkdir -p /gcc-$Gcc11Version-$BuildVersion-ubuntu-20.04/usr/share/gdb/auto-load/usr/lib64 && \
54-
mv /gcc-$Gcc11Version-$BuildVersion-ubuntu-20.04/usr/lib64/libstdc++.so.6.0.29-gdb.py /gcc-$Gcc11Version-$BuildVersion-ubuntu-20.04/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.29-gdb.py
55+
RUN make install-strip DESTDIR=/gcc-$Gcc11Version-$BuildVersion-ubuntu-$UbuntuVersion
56+
RUN mkdir -p /gcc-$Gcc11Version-$BuildVersion-ubuntu-$UbuntuVersion/usr/share/gdb/auto-load/usr/lib64 && \
57+
mv /gcc-$Gcc11Version-$BuildVersion-ubuntu-$UbuntuVersion/usr/lib64/libstdc++.so.6.0.29-gdb.py /gcc-$Gcc11Version-$BuildVersion-ubuntu-$UbuntuVersion/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.29-gdb.py
5558

5659
# Build aarch64-gcc-11
5760
RUN apt install -y g++-aarch64-linux-gnu
@@ -93,13 +96,13 @@ RUN /gcc-$Gcc11Version/configure \
9396
--with-build-config=bootstrap-lto-lean \
9497
--enable-link-serialization=2
9598
RUN make -j`nproc`
96-
RUN make install-strip DESTDIR=/gcc-$Gcc11Version-$BuildVersion-ubuntu-20.04
97-
RUN mkdir -p /gcc-$Gcc11Version-$BuildVersion-ubuntu-20.04/usr/share/gdb/auto-load/usr/aarch64-linux-gnu/lib64 && \
98-
mv /gcc-$Gcc11Version-$BuildVersion-ubuntu-20.04/usr/aarch64-linux-gnu/lib64/libstdc++.so.6.0.29-gdb.py /gcc-$Gcc11Version-$BuildVersion-ubuntu-20.04/usr/share/gdb/auto-load/usr/aarch64-linux-gnu/lib64/libstdc++.so.6.0.29-gdb.py
99+
RUN make install-strip DESTDIR=/gcc-$Gcc11Version-$BuildVersion-ubuntu-$UbuntuVersion
100+
RUN mkdir -p /gcc-$Gcc11Version-$BuildVersion-ubuntu-$UbuntuVersion/usr/share/gdb/auto-load/usr/aarch64-linux-gnu/lib64 && \
101+
mv /gcc-$Gcc11Version-$BuildVersion-ubuntu-$UbuntuVersion/usr/aarch64-linux-gnu/lib64/libstdc++.so.6.0.29-gdb.py /gcc-$Gcc11Version-$BuildVersion-ubuntu-$UbuntuVersion/usr/share/gdb/auto-load/usr/aarch64-linux-gnu/lib64/libstdc++.so.6.0.29-gdb.py
99102

100103
# Generate deb
101104
WORKDIR /
102105
COPY DEBIAN/control.m4 /
103-
RUN mkdir /gcc-$Gcc11Version-$BuildVersion-ubuntu-20.04/DEBIAN
104-
RUN m4 -P -DVERSION=$Gcc11Version-$BuildVersion control.m4 > /gcc-$Gcc11Version-$BuildVersion-ubuntu-20.04/DEBIAN/control
105-
RUN dpkg-deb --build --root-owner-group /gcc-$Gcc11Version-$BuildVersion-ubuntu-20.04
106+
RUN mkdir /gcc-$Gcc11Version-$BuildVersion-ubuntu-$UbuntuVersion/DEBIAN
107+
RUN m4 -P -DUBUNTUVERSION=$UbuntuVersion -DVERSION=$Gcc11Version-$BuildVersion control.m4 > /gcc-$Gcc11Version-$BuildVersion-ubuntu-$UbuntuVersion/DEBIAN/control
108+
RUN dpkg-deb --build --root-owner-group /gcc-$Gcc11Version-$BuildVersion-ubuntu-$UbuntuVersion

0 commit comments

Comments
 (0)