FROM joshuawarner32/avian-build MAINTAINER Joshua Warner, joshuawarner32@gmail.com RUN dpkg --add-architecture arm64 && \ apt-get update && \ mkdir -p /opt/arm64 && \ apt-get download libc6-dev:arm64 \ linux-headers-3.16.0-4-all-arm64:arm64 \ linux-libc-dev:arm64 \ libc6:arm64 \ zlib1g-dev:arm64 \ zlib1g:arm64 && \ for x in *.deb; do \ dpkg -x $x /opt/arm64; \ done && \ rm *.deb && \ apt-get install -y \ wget \ libgmp-dev \ libmpfr-dev \ libmpc-dev \ libisl-dev && \ apt-get clean all && \ for x in $(find /opt/arm64 -type l); do \ r=$(readlink "$x" | sed 's,^/,/opt/arm64/,g'); \ rm "$x"; \ ln -s "$r" "$x"; \ done RUN mkdir -p /var/src # Build & install binutils RUN wget ftp://sourceware.org/pub/binutils/snapshots/binutils-2.23.91.tar.bz2 -O /var/src/binutils.tar.bz2 && \ cd /var/src/ && tar -xjf binutils.tar.bz2 && rm binutils.tar.bz2 && \ cd /var/src/binutils* && \ mkdir build && \ cd build && \ ../configure \ --target=aarch64-linux-gnu \ --prefix=/opt/arm64 \ --disable-multilib \ --program-prefix=aarch64-linux-gnu- \ --with-sysroot=/opt/arm64 \ --with-headers=/opt/arm64/usr/include \ --disable-werror && \ make && \ make install && \ cd /var/src && \ rm -rf * # build & install gcc RUN wget http://www.netgull.com/gcc/releases/gcc-4.8.2/gcc-4.8.2.tar.bz2 -O /var/src/gcc.tar.bz2 && \ cd /var/src/ && tar -xjf gcc.tar.bz2 && rm gcc.tar.bz2 && \ cd /var/src/gcc* && \ mkdir build && \ cd build && \ ../configure \ --target=aarch64-linux-gnu \ --enable-languages=c,c++ \ --prefix=/opt/arm64 \ --disable-multilib \ --program-prefix=aarch64-linux-gnu- \ --with-sysroot=/opt/arm64 \ --with-headers=/opt/arm64/usr/include \ --disable-werror && \ make && \ make install && \ cd /var/src && \ rm -rf * ENV PATH $PATH:/opt/arm64/bin