Какие шаги для сборки LLVM из исходного кода для Ubuntu Bionic Beaver? - PullRequest
0 голосов
/ 10 февраля 2019

Не все примеры калейдоскопа компилируются.Некоторые делают.

В процессе сборки LLVM Cmake жалуется "- Не удалось найти LLVM FileCheck"

Меня интересует разработка игрушечного компилятора с использованием LLVM - на ноутбуке Ubuntu Bionic Beaver, 64немного.Поэтому мне нужно было скомпилировать 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 голосов
/ 28 апреля 2019

Вам также необходим googletest как общая библиотека с текущим исходным кодом (27-04-2019) для его компиляции.Это не заявлено как требование, которое очень расстраивало, когда у меня были ошибки при сборке дополнительных инструментов llvm, clang, lld и clang.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...