从源代码为Ubuntu Bionic Beaver构建LLVM的步骤是什么?

时间:2019-02-10 18:35:15

标签: llvm

并非所有万花筒示例都可以编译。有些。

在LLVM的构建过程中,Cmake抱怨“-找不到LLVM FileCheck”

我的兴趣是使用LLVM在64位的Ubuntu Bionic Beaver笔记本电脑上开发玩具编译器。因此,我需要从源代码编译LLVM。文档说Cmake,gcc / g ++,clang和zlib是构建所必需的。是的,那是真的。我发现此列表不完整的困难方式。

sudo apt update
sudo apt upgrade
sudo apt install -y cmake gcc g++ python build-essential opam ocaml
sudo apt install -y checkinstall python-pygments python-yaml llvm

opam init /* and say yes to creating a profile
opam config env
opam install ctypes ctypes-foreign 
opam depext conf-llvm.6.0.0     /* and said Y to install
opam depext conf-m4.1           /* and said Y to install
opam depext conf-pkg-config.1.1 /* and said Y to install

sudo apt install libxml2-dev libplist-dev
sudo apt install llvm-7-tools

/*the z3 package is outdated, need to build from source:
mkdir z3 /*somewhere
git clone https://github.com/Z3Prover/z3
python scripts/mk_make.py
cd build
make 
sudo checkinstall /* y and enter

cd <to sourceroot of llvm>
git clone https://github.com/llvm/llvm-project.git
cd llvm-project
mkdir build; cd build
cmake -DLLVM_TARGETS_TO_BUILD="X86" -DCMAKE_BUILD_TYPE=Release ../llvm
make -j2

第3章和第8章中的万花筒示例可以很好地进行编译。从第8章得到的玩具编译器的输出甚至可以编译并链接到工作程序。第2、4、5、6、7和9章中的示例未编译。

1 个答案:

答案 0 :(得分:0)

您还需要googletest作为具有当前源代码(27-04-2019)的共享库才能进行编译。当我在构建llvm,clang,lld和clang额外工具时遇到错误时,这并不是很令人沮丧的要求。