@@ -9,13 +9,19 @@ ARG GCC_VERSION=15.2.0 \
9
9
BINUTILS_VERSION=2.42 \
10
10
GBLIC_VERSION=2.39
11
11
12
+ COPY ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources
13
+
12
14
RUN set -ex ;\
15
+ dpkg --add-architecture armhf ;\
16
+ dpkg --add-architecture arm64 ;\
13
17
apt update ;\
14
18
apt upgrade -y ;\
15
19
DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \
16
20
curl ca-certificates tzdata build-essential gcc-multilib \
17
- file flex bison texinfo libc6-dev-i386 debootstrap \
21
+ file flex bison texinfo libc6-dev-i386 \
18
22
;\
23
+ echo 'APT::Sandbox::User "root";' > /etc/apt/apt.conf.d/10sandbox ;\
24
+ \
19
25
cd /tmp ;\
20
26
curl -fL https://ftpmirror.gnu.org/gcc/gcc-$GCC_VERSION/gcc-$GCC_VERSION.tar.xz -o gcc.tar.xz ;\
21
27
curl -fL https://ftpmirror.gnu.org/gnu/binutils/binutils-$BINUTILS_VERSION.tar.xz -o binutils.tar.xz
@@ -44,7 +50,15 @@ RUN set -ex ;\
44
50
# update-alternatives --install /usr/bin/g++ g++ /opt/x86_64-linux-gnu/bin/x86_64-linux-gnu-g++ 100
45
51
46
52
RUN set -ex ;\
47
- debootstrap --include libc6-dev --arch arm64 --variant minbase --no-check-gpg noble /opt/arm64-sysroot ;\
53
+ mkdir -p /opt/arm64-sysroot ;\
54
+ cd /opt/arm64-sysroot ;\
55
+ apt-get download libc6-dev:arm64 libc6:arm64 linux-libc-dev:arm64 ;\
56
+ for pkg in *.deb; do \
57
+ dpkg-deb -x $pkg /opt/arm64-sysroot ;\
58
+ done ;\
59
+ { rm -f *.deb || true; }; \
60
+ ln -s /opt/arm64-sysroot/usr/lib /opt/arm64-sysroot/lib ;\
61
+ \
48
62
mkdir -p /usr/src/binutils/build ;\
49
63
tar -xf /tmp/binutils.tar.xz -C /usr/src/binutils --strip-components=1 ;\
50
64
cd /usr/src/binutils/build ;\
@@ -60,6 +74,7 @@ RUN set -ex ;\
60
74
;\
61
75
make -j$(nproc) ;\
62
76
make install-strip ;\
77
+ \
63
78
rm -rf /usr/src/gcc ;\
64
79
mkdir -p /usr/src/gcc/build ;\
65
80
tar -xf /tmp/gcc.tar.xz -C /usr/src/gcc --strip-components=1 ;\
@@ -83,7 +98,15 @@ RUN set -ex ;\
83
98
make install-strip
84
99
85
100
RUN set -ex ;\
86
- debootstrap --include libc6-dev --arch armhf --variant minbase --no-check-gpg noble /opt/armhf-sysroot ;\
101
+ mkdir -p /opt/armhf-sysroot ;\
102
+ cd /opt/armhf-sysroot ;\
103
+ apt-get download libc6-dev:armhf libc6:armhf linux-libc-dev:armhf ;\
104
+ for pkg in *.deb; do \
105
+ dpkg-deb -x $pkg /opt/armhf-sysroot ;\
106
+ done ;\
107
+ { rm -f *.deb || true; }; \
108
+ ln -s /opt/armhf-sysroot/usr/lib /opt/armhf-sysroot/lib ;\
109
+ \
87
110
rm -rf /usr/src/binutils ;\
88
111
mkdir -p /usr/src/binutils/build ;\
89
112
tar -xf /tmp/binutils.tar.xz -C /usr/src/binutils --strip-components=1 ;\
@@ -100,6 +123,7 @@ RUN set -ex ;\
100
123
;\
101
124
make -j$(nproc) ;\
102
125
make install-strip ;\
126
+ \
103
127
rm -rf /usr/src/gcc ;\
104
128
mkdir -p /usr/src/gcc/build ;\
105
129
tar -xf /tmp/gcc.tar.xz -C /usr/src/gcc --strip-components=1 ;\
0 commit comments