You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Joe McDonnell (Jira)" <ji...@apache.org> on 2020/10/19 23:18:00 UTC

[jira] [Created] (IMPALA-10263) Native toolchain support for cross compiling to produce ARM binaries

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)