Joe McDonnell created IMPALA-10263:
--------------------------------------

             Summary: Native toolchain support for cross compiling to produce 
ARM binaries
                 Key: IMPALA-10263
                 URL: https://issues.apache.org/jira/browse/IMPALA-10263
             Project: IMPALA
          Issue Type: Improvement
          Components: Infrastructure
    Affects Versions: Impala 4.0
            Reporter: Joe McDonnell


With support for ARM added to upstream Impala, it would be useful to be able to 
build the ARM native toolchain from an x86 machine. This would allow it to be 
built and uploaded to s3 using the same infrastructure that currently builds 
the x86 binaries. Having the ARM binaries in s3 opens up possibilities to 
incorporate an ARM build into GVO.

QEMU has the ability to emulate ARM on an x86 machine, and it is surprisingly 
simple to get an ARM docker container running on x86. This article provides 
some depth:

[https://ownyourbits.com/2018/06/27/running-and-building-arm-docker-containers-in-x86/]

The basic story is that the steps are:
 # Install qemu-user/qemu-user-static (which installs appropriate hooks in the 
kernel)
 # Make qemu-aarch64-static available in the context for building the docker 
container
 # In the Dockerfile, copy qemu-aarch64-static into /usr/bin

For example, here is the start of the ubuntu1804 Dockerfile:
{noformat}
FROM arm64v8/ubuntu:18.04

COPY qemu-aarch64-static /usr/bin/qemu-aarch64-static

# The rest of the dockerfile{noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to