获得;无法使用的Erlang运行时系统&引用;尝试在Amazon Linux 2上运行时

获得;无法使用的Erlang运行时系统&引用;尝试在Amazon Linux 2上运行时,erlang,elixir,amazon-ecs,github-actions,Erlang,Elixir,Amazon Ecs,Github Actions,我正在github actions中在Ubuntu18.04上编译一个elixir应用程序,并试图在Amazon Linux 2系统中运行它,结果出现错误“无法使用Erlang运行时系统!这可能是因为编译的系统不是主机正在运行的系统” 我检查了一下,以确保两者都在x86_64系统上运行,并且看起来确实如此。 Github操作Ubuntu uname:Linux fv-az21-804 5.4.0-1036-azure#38~18.04.1-Ubuntu SMP周三1月6日18:26:30 UTC

我正在github actions中在Ubuntu18.04上编译一个elixir应用程序,并试图在Amazon Linux 2系统中运行它,结果出现错误“无法使用Erlang运行时系统!这可能是因为编译的系统不是主机正在运行的系统”

我检查了一下,以确保两者都在x86_64系统上运行,并且看起来确实如此。 Github操作Ubuntu uname:Linux fv-az21-804 5.4.0-1036-azure#38~18.04.1-Ubuntu SMP周三1月6日18:26:30 UTC 2021 x86_64 x86_64 GNU/Linux

Amazon Linux 2 uname:Linux ip-172-10-201-177.ec2.internal 4.14.209-160.339.amzn2.x86_64#1 SMP Wed Dec 16 22:44:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

OTP版本:23.2.1 长生不老药版本:1.11.3


我不知道会发生什么事。有什么想法吗?

当Erlang版本不匹配时,通常会出现这种情况

情景:

  • 建造
  • 搭配阿尔卑斯山:最新版本
试试看Erlang版本是否一致

OP在评论中询问:

问题是否可能出在使用glibc的ubuntu和使用musl的alpine之间的libc不匹配上


这确实是一个可能的根本原因。测试将是使用相同的libc编译它。

哦,很有趣。这是有道理的。我正在使用上面列出的版本构建它,但是在alpine:latest中运行它。我会努力匹配它们。非常感谢。所以版本匹配,但仍然无法工作。我想我可能知道发生了什么,但不知道一个好办法。我用Ubuntu18.04在github actions上编译这个,但是在docker容器中运行它,目前使用的是alpine:3.9,我也尝试过用elixir容器运行它,但仍然会出现同样的错误。问题是否可能在于ubuntu使用glibc和alpine使用musl的libc不匹配?如果是这样,有没有办法用静态库构建elixir应用程序?(类似于Go中的CGO_ENABLED标志)@user2731197“问题是否可能在于ubuntu使用glibc和alpine使用musl之间的libc不匹配?”:我怀疑这是根本原因。尝试用相同的libc编译它。