在GraalVM docker容器上无法运行C ++的LLVM-oracle / graalvm-ce:19.1.1

时间:2019-08-07 18:38:23

标签: graalvm

我尝试从graalvm文档https://www.graalvm.org/docs/getting-started/#running-llvm-interpreter执行简单的cpp代码,它给出了以下错误。

bash-4.2# lli --version
LLVM (GraalVM CE Native 19.1.1)
bash-4.2# clang++ -c -O1 -emit-llvm -stdlib=libc++ hello1.cpp
bash-4.2# lli hello1.bc
Global variable _ZNSt3__15ctypeIcE2idE is declared but not defined.
        at <llvm> null(Unknown) 

下面是我在graalvm网站上使用的代码。

bash-4.2# cat hello1.cpp
#include <iostream>

int main() {
    std::cout << "Hello, C++ World!" << std::endl;
}

Docker映像详细信息:-

GRAALVM_PKG = https://github.com/oracle/graal/releases/download/vm-19.1.1/graalvm-ce-linux-amd64-19.1.1.tar.gz

1 个答案:

答案 0 :(得分:0)

我认为您需要使用LLVM_TOOLCHAIN可安装程序中的clang++,而不是系统clang。

$ gu install llvm-toolchain
$ export LLVM_TOOLCHAIN=$(lli --print-toolchain-path)
$ $LLVM_TOOLCHAIN/clang++ hello1.cpp -o hello1
$ lli hello1
Hello, C++ World!

我认为原因是默认情况下符号是乱码或类似的东西。