首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GraalVM本地图像到AWS Graviton2(Arm64)处理器的迁移问题

GraalVM本地图像到AWS Graviton2(Arm64)处理器的迁移问题
EN

Stack Overflow用户
提问于 2022-05-25 14:24:51
回答 2查看 174关注 0票数 0

现有执行情况:

  • 为x86_64体系结构配置的所有Lambdas。
  • 这些lambdas将运行一个GraalVM编译的本机映像来执行一些功能。
  • 本机映像的编译是使用本机Maven -plugin(0.9.9)完成的&命令:mvn -B -DskipTests -Pnative洁净包
  • 在我们的构建步骤中,我们使用它作为Github操作的一部分。

要将Lambdas移动到Graviton2实例:-

  • 根据这个arm64,我们将模板中的体系结构更改为“文章”。这导致了以下错误:'./native-executable: cannot execute binary file'
  • 为了让它在基于arm64的处理器上工作,我们尝试为aarm64重新编译这个java代码。以下是我所做的几件事:-
代码语言:javascript
复制
1. Change graalvm setup on Github to arm64 base by using [DeLaGuardo/setup-graalvm](https://github.com/DeLaGuardo/setup-graalvm) and then getting the following error: `cannot execute binary file: Exec format error Error: Process completed with exit code 126.`
2. Tried Graalvm package install & install native image, getting java11-aarch64/x64/bin/gu: cannot execute `binary file: Exec format error`.
3. Tried [run-on-arch package](https://github.com/uraimo/run-on-arch-action) but it gives me an error of `'Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?'`
4. Also getting `'mvn command not found'` when I try to create a build without Graalvm.

因此,简单地改变' Arm64‘的体系结构值不足以在基于Graviton2的AWS上运行本机映像&许多与Graviton2-Java-Arm64堆栈有关的迁移问题。

如果有人能帮我摆脱这一瓶颈,我将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2022-05-25 16:11:08

GraalVM在21.0版时确实支持arm64 https://www.graalvm.org/22.0/reference-manual/native-image/ARM64/

  1. 对于只将"amd64“更改为"arm64”的github操作,还需要使用qemu仿真器
  2. 尚不清楚如何设置github操作,但您可以从这里获取一些参考https://docs.docker.com/ci-cd/github-actions/
  3. 从错误中看,没有安装mvn

对于aarch64 https://www.graalvm.org/22.0/docs/getting-started/linux-aarch64/,这里也有一些步骤

票数 0
EN

Stack Overflow用户

发布于 2022-06-13 20:05:29

从您发布的错误来看,看来停靠程序可能没有足够的资源来编译本机可执行文件。

如果可能的话,我会再次检查您的GitHub操作配置并添加更多内存。

如果您使用AWS运行时接口客户端作为解决方案的一部分,则需要2.1.1版本。这是第一个支持aarch64的版本。

代码语言:javascript
复制
<dependency>
  <groupId>com.amazonaws</groupId>
  <artifactId>aws-lambda-java-runtime-interface-client</artifactId>
  <version>2.1.1</version>
</dependency>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72379443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档