方舟编译器的环境配置-docker环境编译
Tofloor
poster avatar
TLT
deepin
2019-09-04 23:16
Author
提前告知:不知编译的问题还是开源文件缺失,最后无法编译jar文件,结果失败.原因在最后
前提条件:
安装docker
1. docker pull dorowu/ubuntu-desktop-lxde-vnc:xenial
2. docker run --name docker-ubuntu  -p 6080:80 -v ${local}/shm:/var/shm -v ${local}/data:/data -d dorowu/ubuntu-desktop-lxde-vnc:xenial
3. 容器启动后,访问localhost:6080
4. 按照方舟的文档步骤进行环境配置,这里如将命令切分图,顺序安装 我这里并未安装linux-libc-dev:i386
5. 后续按部就班的进行,参考文档.可能需要修改的是:
    clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04 -> clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04
    gn的路径,ninja的路径都是加入文件夹
6. 然后进行:
    source build/envsetup.sh
    make
7. 等待完成后:
    新建java文件
        public class HelloWorld{
                    public static void main(String[] args){
                            System.out.println("????");
                    }
        }

    - javac HelloWorld.java --> HelloWorld.class
    - jar cvf HelloWorld.jar HelloWorld.class --> HelloWorld.jar
    - 新建MANIFEST.MF文件,加入内容
        Manifest-Version: 1.0
        Created-By: 1.4.2 (Sun Microsystems Inc.)
        Main-Class: HelloWorld
    - jar umf MANIFEST.MF  HelloWorld.jar
    - java -jar HelloWorld.jar --> ????
    - 很好没啥大问题,开始操作吧
8. 使用方舟编译器
    -  ../openarkcompiler/out/bin/maple --mplt libjava-core/libjava-core.mplt -O0 HelloWorld.jar
        -->
            Starting jbc2mpl
            Starting:../openarkcompiler/out/bin/jbc2mpl -mplt libjava-core/libjava-core.mplt  HelloWorld.jar
            Tid(6913): CHECK/CHECK_FATAL failure: f != nullptr at [../../../mapleall/maple_ir/src/bin_mpl_import.cpp:63] Error while reading the binary file: libjava-core/libjava-core.mplt
            Error while Exe, cmd: ../openarkcompiler/out/bin/jbc2mpl args:  -mplt libjava-core/libjava-core.mplt  HelloWorld.jar
            Error 40: Compile Fail!
    - 缺失了libjava-core/libjava-core.mplt 文件
9.结论如开头,可能需要等待后续的开源内容了.

开发环境:deepin 15.11 docker  镜像:dorowu/ubuntu-desktop-lxde-vnc:xenial  --> (16.04)
Reply Favorite View the author
All Replies

No replies yet