Arquivos
rocm-systems/projects/rocprofiler-compute/docker/Dockerfile.standalone
T
vedithal-amd c5bfb37289 Improve documentation for standalone binary creation (#2446)
* Add cmake based instructions to create standalone binary

* Specify standalone binary extraction path in doc.

* Add documentation to explain how to specify self-extraction path
  when building the standalone binary where contents of the binary
  are extracted during execution

* Pin Nuitka to version 2.6 for consistency in building standalone binary
2026-01-09 17:40:47 -05:00

47 linhas
2.1 KiB
Docker

FROM redhat/ubi8:8.10
WORKDIR /app/projects/rocprofiler-compute
RUN yum install -y curl git cmake gcc-c++
# Allows running git commands in /app
RUN git config --global --add safe.directory /app
RUN yum install -y python39 python39-devel && \
yum clean all && \
rm -rf /var/cache/yum && \
curl -sS https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
python3 get-pip.py
# Should be absolute path to where the standalone binary will extract its contents
ARG STANDALONEBINARY_EXTRACT_DIR=/tmp
ENV STANDALONEBINARY_EXTRACT_DIR=${STANDALONEBINARY_EXTRACT_DIR}
CMD ["/bin/bash", "-c", "\
python3 -m pip install -r requirements.txt \
&& python3 -m pip install nuitka==2.6 patchelf \
&& git rev-parse HEAD > VERSION.sha \
&& python3 -m nuitka --mode=onefile --no-deployment-flag=self-execution \
--product-name=${STANDALONEBINARY_EXTRACT_DIR} \
--onefile-tempdir-spec=/{PRODUCT}/rocprof_compute_standalonebinary_{PID} \
--enable-plugin=no-qt \
--include-data-files=VERSION*=./ \
--include-data-files=src/lib/rocprofiler_compute_tool.cpp=lib/rocprofiler_compute_tool.cpp \
--include-data-files=src/lib/helper.cpp=lib/helper.cpp \
--include-data-files=src/lib/helper.hpp=lib/helper.hpp \
--include-package=dash_svg --include-package-data=dash_svg \
--include-package=dash_bootstrap_components \
--include-package-data=dash_bootstrap_components \
--include-package=plotly --include-package-data=plotly \
--include-package=rocprof_compute_analyze \
--include-package-data=rocprof_compute_analyze \
--include-package=rocprof_compute_profile \
--include-package-data=rocprof_compute_profile \
--include-package=rocprof_compute_tui --include-package-data=rocprof_compute_tui \
--include-package=rocprof_compute_soc --include-package-data=rocprof_compute_soc \
--include-package=utils --include-package-data=utils \
--include-package=hip --include-package-data=hip \
src/rocprof-compute \
&& patchelf --remove-rpath rocprof-compute.bin \
"]