Skip to content

Instantly share code, notes, and snippets.

@colematt
Last active November 15, 2023 19:26
Show Gist options
  • Save colematt/9c67b749b30d4b5cb76c63677aa8225e to your computer and use it in GitHub Desktop.
Save colematt/9c67b749b30d4b5cb76c63677aa8225e to your computer and use it in GitHub Desktop.
[Get LLVM-10 prebuilt binaries and libraries] #llvm
export PROJ_ROOT=$(pwd)
mkdir -p llvm && cd llvm

# Using Ubuntu 18.04 Prebuild Toolchain from https://releases.llvm.org/download.html
wget https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz \
     https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz.sig \
     https://releases.llvm.org/10.0.0/hans-gpg-key.asc
gpg --import hans-gpg-key.asc
gpg --verify clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz.sig clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
tar xf clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz

⚠ Warning

Note that this doesn't seem to include everything needed to build out-of-source passes or plugins:

export Clang_DIR="$PROJ_ROOT/llvm/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04"
export LLVM_DIR="$PROJ_ROOT/llvm/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04"
cd $PROJ_ROOT && mkdir -p build && cd build
cmake .. -G "Ninja" \
  -DCMAKE_BUILD_TYPE=Debug \
  -DCMAKE_EXPORT_COMPILE_COMMANDS=On \
  -DIRN_Clang_INSTALL_DIR=$LLVM_DIR \
  -DIRN_LLVM_INSTALL_DIR=$LLVM_DIR \
  -DIRN_BUILD_LIBS=On \
  -DIRN_BUILD_TESTS=Off
cmake --build .
-- Using LLVMConfig.cmake in: /home/matthew/git/bingseclab/IRN/downloads/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04
LLVM STATUS:
  Definitions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
  Includes    /usr/lib/llvm-14/include
  Libraries   /usr/lib/llvm-14/lib
  Targets     AArch64;AMDGPU;ARM;AVR;BPF;Hexagon;Lanai;Mips;MSP430;NVPTX;PowerPC;RISCV;Sparc;SystemZ;VE;WebAssembly;X86;XCore;M68k
CMake Error at CMakeLists.txt:145 (find_package):
  Found package configuration file:

    /home/matthew/git/bingseclab/IRN/downloads/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/cmake/clang/ClangConfig.cmake

  but it set Clang_FOUND to FALSE so package "Clang" is considered to be NOT
  FOUND.  Reason given by package:

  The following imported targets are referenced, but are missing:
  LLVMRISCVUtils LLVMX86Utils
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment