Skip to content

Instantly share code, notes, and snippets.

@aseetharam
Created June 20, 2025 16:58
Show Gist options
  • Save aseetharam/2a8ff23e26664e4d129bb952ecfc1d43 to your computer and use it in GitHub Desktop.
Save aseetharam/2a8ff23e26664e4d129bb952ecfc1d43 to your computer and use it in GitHub Desktop.
Bootstrap: docker
From: ubuntu:22.04 # Ubuntu-based for compatibility with older GLIBC
%labels
Author Geoffrey Lentner and Arun Seetharam
Description "Apptainer image for NeuPIMs with Rocky 8, custom CMake, Conan 1.57.0"
%environment
export LANG=C
export PATH=/usr/local/bin:/opt/conan/bin:$PATH
export WORKDIR=/workspace
%post
export DEBIAN_FRONTEND=noninteractive
apt-get -yqq update && apt-get -yqq upgrade
apt-get -yqq install tzdata locales
dpkg-reconfigure tzdata locales
sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
echo 'LANG="en_US.UTF-8"' >/etc/default/locale
dpkg-reconfigure locales
update-locale LANG=en_US.UTF-8
apt-get -yqq update && apt-get -yqq upgrade
apt-get -yqq install python3 python3-pip python3-venv git wget gcc g++ build-essential libssl-dev
rm -rf /var/lib/apt/lists/*
python3 -m venv /opt/conan
export PIP_CONSTRAINT=/opt/conan/constraints.txt
echo "cython<3" > $PIP_CONSTRAINT
/opt/conan/bin/pip install conan==1.57.0
export PATH=/opt/conan/bin:$PATH
mkdir -p /workspace
cd /workspace
wget https://github.com/Kitware/CMake/releases/download/v3.22.0/cmake-3.22.0.tar.gz
tar -xvzf cmake-3.22.0.tar.gz
cd cmake-3.22.0
./bootstrap
make -j$(nproc)
make install
cd /workspace
rm -rf cmake-3.22.0*
cd /workspace
git clone https://github.com/casys-kaist/NeuPIMs.git neupims-sim
cd neupims-sim
git submodule update --recursive --init
./build.sh
%runscript
cd /workspace/neupims-sim && ./brun.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment