SOURCEINSTALL_PREREQUISITE.md

February 20, 2026 ยท View on GitHub

Prerequisites for Source Install of AOMP

1. Required Distribution Packages

ManyLinux (AlmaLinux 8)

  sudo dnf -y install bison ccache cmake elfutils-libelf-devel elfutis-devel expat-devel flex fmt-devel gcc-c++ gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-gcc-gfortran gcc-toolset-12-libatomic-devel gcc-toolset-12-libstdc++-devel gdb git gmp-devel gtest-devel libatomic libbabeltrace-devel libffi-devel libquadmath-devel libtool mesa-libGL-devel mpfr-devel msgpack-devel ncurses-devel numactl-devel openssl-devel ocl-icd-devel pciutils-devel python3-devel rpm-build rsync sqlite-devel systemd-devel texinfo vim wget xz-devel

  # Download and install Python 3.10.18
  wget https://www.python.org/ftp/python/3.10.18/Python-3.10.18.tgz; tar xf Python-3.10.18.tgz; cd Python-3.10.18; ./configure --enable-optimizations --enable-shared; make altinstall; --prefix=$HOME/local/Python-3.10.18;  ln -s $HOME/local/Python-3.10.18/bin/python3.10 $HOME/local/Python-3.10.18/bin/python3

  # Configure environemnt
  export PATH=$HOME/local/Python-3.10.18/bin:$PATH
  export LD_LIBRARY_PATH=$HOME/local/Python-3.10.18/lib:$LD_LIBRARY_PATH
  export LIBRARY_PATH=$HOME/local/Python-3.10.18/lib:$LIBRARY_PATH

  # Finally source the gcc-toolset-12
  source /opt/rh/gcc-toolset-12/enable

Debian or Ubuntu Packages

  sudo apt-get install wget gcc g++ pkg-config libpci-dev libnuma-dev libffi-dev git python3 libopenmpi-dev gawk mesa-common-dev libtool libdrm-amdgpu1 libdrm-dev ccache libdw-dev libgtest-dev libsystemd-dev cmake openssl libssl-dev libgmp-dev libmpfr-dev libelf-dev patchelf pciutils python3.10-dev libudev-dev libgtest-dev libstdc++-12-dev python3-lxml ocl-icd-opencl-dev libsystemd-dev libfmt-dev libmsgpack-dev libsqlite3-dev

  # Additional packages used by rocgdb
  sudo apt-get install texinfo libbison-dev bison flex libbabeltrace-dev python3-pip libncurses5-dev liblzma-dev python3-setuptools python3-dev libudev-dev libgmp-dev libmpfr-dev libdw-dev

  # Additional packages used by math librares (aomp-hip-libraries)
  sudo apt-get install libfmt-dev libmsgpack-dev python3-venv
  
  # Additional packages to support development and test
  sudo apt-get install shellcheck

Ubuntu 22.04 Only

  python3.10-dev

Ubuntu 24.04 Only

  python3-barectf python3-pip python3-pip-whl python3-requests python3-venv python3-yaml

SLES-15-SP6 Packages

  sudo zypper install wget libopenssl-devel elfutils libelf-devel git pciutils-devel libffi-devel gcc gcc-c++ libnuma-devel openmpi4-devel Mesa-libGL-devel libquadmath0 libtool libX11-devel systemd-devel hwdata unzip mpfr-devel ocl-icd-devel gcc7-fortran ncurses-devel gcc13-c++ gcc13 libstdc++6-devel-gcc13 libc++-devel sqlite-devel

  A symbolic link may be required at /usr/lib64: /usr/lib64/libquadmath.so -> /usr/lib64/libquadmath.so.0.

  # Additional packages used by rocgdb and rocprofiler
  sudo zypper install texinfo bison flex babeltrace-devel makeinfo ncurses-devel libexpat-devel xz-devel libgmp-devel libatomic libdwarf-devel gtest-devel libdw-devel

  # Additional packages used by math librares (aomp-hip-libraries)
  sudo zypper install libfmt-devel libmsgpack-devel

  # LLVM has a minimum python requirement of 3.8 and SLES15-SP6 comes with 3.6. Download and install Python-3.8.13.
  wget https://www.python.org/ftp/python/3.8.13/Python-3.8.13.tgz; tar xf Python-3.8.13.tgz; cd Python-3.8.13; ./configure --enable-optimizations --enable-shared; make altinstall
  export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

  # Optional: Update python3 symbolic link
  rm /usr/bin/python3; ln -s /usr/local/bin/python3.8 /usr/bin/python3

  # Additional packages to support development and test
  sudo zypper install shellcheck

  # Enable gcc-13
  sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 10
  sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 10
  sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 10
  sudo update-alternatives --set cc /usr/bin/gcc
  sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 10
  sudo update-alternatives --set c++ /usr/bin/g++

RHEL Packages

RHEL 8

  sudo yum install dnf-plugins-core gcc-c++ git wget openssl-devel elfutils-libelf-devel elfutils-devel ccache pciutils-devel numactl-devel libffi-devel mesa-libGL-devel libtool libdrm libdrm-devel gmp-devel rpm-build gcc-gfortran libdw-devel libgtest-devel systemd-devel mpfr-devel python38 python38-devel ocl-icd-devel libatomic libquadmath-devel sqlite-devel

  # Additional packages used by rocgdb and roctracer
  sudo yum install texinfo bison flex ncurses-devel expat-devel xz-devel libbabeltrace-devel libatomic libdwarf-devel gtest-devel

  # Additional packages used by math librares (aomp-hip-libraries)
  sudo yum install libfmt-devel libmsgpack-devel

  # Additional packages to support development and test
  sudo yum install shellcheck

RHEL 9

  sudo dnf install dnf-plugins-core gcc-c++ git wget openssl-devel elfutils-libelf-devel elfutils-devel ccache pciutils-devel numactl-devel libffi-devel mesa-libGL-devel libtool libdrm libdrm-devel gmp-devel rpm-build gcc-gfortran libdw-devel libgtest-devel systemd-devel mpfr-devel python3-devel ocl-icd-devel libatomic libquadmath-devel sqlite-devel

  # Additional packages used by rocgdb and roctracer
  sudo dnf install texinfo bison flex ncurses-devel expat-devel xz-devel libbabeltrace-devel libatomic libdwarf-devel gtest-devel

  # Additional packages used by math librares (aomp-hip-libraries)
  sudo dnf install libfmt-devel libmsgpack-devel

  # To build aomp with Ninja set AOMP_USE_NINJA=1 . You need this installed with dnf
  dnf install ninja-build

  # Additional packages to support development and test
  sudo dnf install shellcheck

2. User-installed Python Components

After all the required system package from section 1 are installed, there are some python packages that must be locally installed by the user building AOMP. Use this command to install these. Do not install these as root.

ManyLinux (AlmaLinux 8)

  python3 -m pip install --ignore-installed --no-cache-dir barectf==3.1.2 PyYAML==5.3.1; python3.10 -m pip install CppHeaderParser argparse wheel lit lxml pandas

Ubuntu 22.04

  python3 -m pip install --ignore-installed --no-cache-dir barectf==3.1.2 PyYAML==5.3.1; python3 -m pip install CppHeaderParser argparse wheel lit lxml pandas

Ubuntu 24.04

  python3 -m venv /opt/venv; PATH=/opt/venv/bin:$PATH python3 -m pip install CppHeaderParser argparse lxml pandas setuptools PyYAML pandas

RHEL 8/9 and SLES15

  python3 -m pip install CppHeaderParser argparse wheel lit lxml barectf termcolor pandas

3. cmake

This section is no longer required.

The requirement for a specific version of cmake is now satisfied with the build_prereq.sh script which is called by build_aomp.sh. The distribution cmake installed above is only required for the first execution of build_prereq.sh. The AOMP build scripts are found in the bin directory of the aomp repository and are described in the developwer README.

4. Verify KFD Driver

IMPORTANT: We strongly recommend installing the amdgpu-dkms from 6.3 due to bug fixes.

Please verify you have the proper software installed as AOMP needs certain support to function properly, such as the KFD driver (amdgpu-dkms) for AMD GPUs. More information can be found HERE.

Debian or Ubuntu Support

These commands are for supported Debian-based systems and target only the amdgpu_dkms core component. Install kernel headers:

  sudo apt install "linux-headers-$(uname -r)" "linux-modules-extra-$(uname -r)"
  sudo mkdir --parents --mode=0755 /etc/apt/keyrings
  wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null

Ubuntu 22.04:

  echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/6.3/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/amdgpu.list

Ubuntu 24.04:

  echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/6.3/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/amdgpu.list

Update and Install:

  sudo apt update
  sudo apt install amdgpu-dkms
  sudo reboot

SUSE SLES-15-SP5 Support

Install kernel headers:

  sudo zypper install kernel-default-devel
sudo tee /etc/zypp/repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/6.3/sle/15.5/main/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
  sudo zypper ref
  sudo zypper --gpg-auto-import-keys install amdgpu-dkms
  sudo reboot

RHEL 8 Support

Install kernel headers:

  sudo dnf install "kernel-headers-$(uname -r)" "kernel-devel-$(uname -r)"
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/6.3/el/8.10/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF

Install amdgpu-dkms:

  sudo dnf clean all
  sudo dnf install amdgpu-dkms
  sudo reboot

RHEL 9 Support

Install kernel headers:

  sudo dnf install "kernel-headers-$(uname -r)" "kernel-devel-$(uname -r)" "kernel-devel-matched-$(uname -r)"
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/6.3/el/9.4/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF

Install amdgpu-dkms:

  sudo dnf clean all
  sudo dnf install amdgpu-dkms
  sudo reboot

5. Create the Unix Video Group

Ubuntu

  sudo usermod -a -G video,render $USER

All Other Operating Systems

  sudo usermod -a -G video $USER

6. Optional Install CUDA

The Nvidia CUDA SDK is NOT required to build AOMP or install the AOMP package. However, to build AOMP from source, you SHOULD have the Nvidia CUDA SDK version 10/11 installed because AOMP may be used to build applications for NVIDIA GPUs. The current default build list of Nvidia subarchs is "30,35,50,60,61,70". For example, the default list will support application builds with --offload-arch=sm_30 and --offload-arch=sm_60 etc. This build list can be changed with the NVPTXGPUS environment variable as shown above.

See these install instructions