1688a027d8
- additional miscellaneous tweaks to workflows and docker scripts, e.g. install perfetto python bindings - improves the stability of MPI finalization - reduces some debug messages within timemory when `OMNITRACE_DEBUG=ON` - fixes issue found in RHEL where libunwind is using mutex and omnitrace was not treating this as an internal mutex call - this may have been affecting the causal profiling slightly (tests seem a bit more stable now) - fix data race in timemory * Add RedHat CI and release packaging - additional miscellaneous tweaks to workflows and docker scripts, e.g. install perfetto python bindings * Fix URL for ROCm packages in redhat workflow * Fix dnf --enable-repo for ROCm perl packages * Dockerfile.rhel and redhat.yml updates - Fix dnf repo for ROCm PERL packages - Disable python in CI (interpreter segfaults) - Exclude parallel-overhead-locks tests due to inclusion of internal locks - This needs to be remedied in the future * Exclude _dl_relocate_static_pie from instrumentation * Testing updates - OMNITRACE_SAMPLING_KEEP_INTERNAL=OFF for parallel-overhead-locks * Fix redhat workflow * redhat.yml update - remove if condition on config/build/test step * Update timemory submodule - tweaks to verbosity messages * Set thread state before unw_step - on Redhat, unw_step calls mutex * Update timemory submodule - verbosity changes - gotcha uses spin_lock/spin_mutex * Remove using gsplit-dwarf unless OMNITRACE_BUILD_NUMBER > 2 * Re-enable parallel-overhead-locks tests in redhat workflow * Always disable timemory manager metadata auto output * testing updates - tweak parallel-overhead-locks-timemory to higher instruction count min - OMNITRACE_SAMPLING_KEEP_INTERNAL=OFF for parallel-overhead-locks-perfetto * Update timemory submodule - quiet realpath queries * omnitrace exe updates - detect text files - improved bin/lib locating * cmake format * test-install.sh and redhat workflow updates - handle testing when ls is script - re-enable python testing on redhat workflow - invoke test-install.sh in redhat workflow * Misc guards for finalization * omnitrace-exe, testing updates - test-install.sh: LS_EXEC -> LS_NAME - handle /usr/bin/ls being script in source/bin/tests - improve locating the binary * Fix mpi_gotcha compile error * omnitrace-exe updates - improve file locating * formatting * Misc fixes - remove -static-libstdc++ for RHEL packaging (rocky-linux doesn't distribute static lib) * omnitrace-exe paths * Replace realpath with absolute - using absolute path to symlink fixes issues with locating libdyninstAPI_RT at runtime * omnitrace exe updates - judicious use of realpath * Update timemory submodule - fix update main hash ids/aliases data race in merge * bin tests update - change working directory of omnitrace-exe-simulate-lib-basename * omnitrace exe updates - Update resolved exe/lib messaging * bin tests update - change working directory of omnitrace-exe-simulate-lib-basename
52 satır
1.7 KiB
Docker
52 satır
1.7 KiB
Docker
ARG DISTRO=opensuse/leap
|
|
ARG VERSION=15.3
|
|
FROM ${DISTRO}:${VERSION}
|
|
|
|
ENV HOME /root
|
|
ENV SHELL /bin/bash
|
|
ENV BASH_ENV /etc/bash.bashrc
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
WORKDIR /tmp
|
|
SHELL [ "/bin/bash", "-c" ]
|
|
|
|
ENV PATH /usr/local/bin:${PATH}
|
|
|
|
ARG EXTRA_PACKAGES=""
|
|
ARG ELFUTILS_DOWNLOAD_VERSION="0.186"
|
|
ARG NJOBS="12"
|
|
|
|
RUN zypper update -y && \
|
|
zypper dist-upgrade -y && \
|
|
zypper install -y -t pattern devel_basis && \
|
|
zypper install -y python3-pip openmpi3-devel gcc-c++ git libnuma-devel dpkg-devel rpm-build papi-devel curl wget binutils-gold && \
|
|
python3 -m pip install 'cmake==3.18.4' && \
|
|
zypper clean --all
|
|
|
|
COPY ./dyninst-source /tmp/dyninst
|
|
|
|
RUN cd /tmp/dyninst && \
|
|
cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_BOOST=ON -DBUILD_TBB=ON -DBUILD_ELFUTILS=ON -DBUILD_LIBIBERTY=ON && \
|
|
cmake --build build --target all --parallel ${NJOBS} && \
|
|
cmake --build build --target install --parallel ${NJOBS} && \
|
|
cd /tmp && \
|
|
shopt -s dotglob extglob && \
|
|
rm -rf *
|
|
|
|
ARG PYTHON_VERSIONS="6 7 8 9 10"
|
|
|
|
RUN wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
|
|
bash miniconda.sh -b -p /opt/conda && \
|
|
export PATH="/opt/conda/bin:${PATH}" && \
|
|
conda config --set always_yes yes --set changeps1 no && \
|
|
conda update -c defaults -n base conda && \
|
|
for i in ${PYTHON_VERSIONS}; do conda create -n py3.${i} -c defaults python=3.${i} pip numpy; done && \
|
|
conda clean -a -y && \
|
|
for i in ${PYTHON_VERSIONS}; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done && \
|
|
cd /tmp && \
|
|
shopt -s dotglob extglob && \
|
|
rm -rf *
|
|
|
|
WORKDIR /home
|
|
SHELL [ "/bin/bash", "--login", "-c" ]
|