Install this version:
emerge -a =dev-util/roctracer-10.1.0
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-util/roctracer-10.1.0
Or alternatively:
emerge --autounmask-write -a =dev-util/roctracer-10.1.0
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 10.1.0 | 8 | ~amd64 | 0/$(ver_cut 1-2) |
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..14} )
ROCM_VERSION=${PV}
inherit cmake flag-o-matic prefix python-any-r1 rocm toolchain-funcs
DESCRIPTION="Callback/Activity Library for Performance tracing AMD GPU's"
HOMEPAGE="https://github.com/ROCm/rocm-systems/tree/develop/projects/roctracer"
SRC_URI="https://github.com/ROCm/rocm-systems/releases/download/therock-10.1/${PN}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}"
LICENSE="MIT"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/rocr-runtime:${SLOT}
dev-libs/rocm-comgr:${SLOT}
"
DEPEND="
${RDEPEND}
dev-util/hip:${SLOT}
"
BDEPEND="
$(python_gen_any_dep "
dev-python/cppheaderparser[\${PYTHON_USEDEP}]
dev-python/ply[\${PYTHON_USEDEP}]
")
"
python_check_deps() {
python_has_version "dev-python/cppheaderparser[${PYTHON_USEDEP}]" \
"dev-python/ply[${PYTHON_USEDEP}]"
}
pkg_setup() {
python-any-r1_pkg_setup
}
src_prepare() {
cmake_src_prepare
hprefixify script/*.py
# Install plugins directly into /usr/$(get_libdir)
sed -e "s:\${CMAKE_INSTALL_LIBDIR}/\${PROJECT_NAME}:\${CMAKE_INSTALL_LIBDIR}:g" \
-i plugin/file/CMakeLists.txt || die
# Remove all install commands for tests
sed -E '/^ *install\(.+/d' -i test/CMakeLists.txt || die
# Test fails: https://github.com/ROCm/roctracer/issues/109
sed '/load_unload_reload_test/d' -i test/run.sh || die
# Fix search path for HIP cmake
sed -e "s,\${ROCM_PATH}/lib/cmake,/usr/$(get_libdir)/cmake,g" -i test/CMakeLists.txt || die
# bug #892732
sed -e 's/-Werror//' -i CMakeLists.txt || die
# libc++ has no experimental/filesystem
sed -e 's|experimental/||' -e 's|experimental::||' \
-i plugin/file/file.cpp src/hip_stats/hip_stats.cpp \
src/roctracer/loader.h src/tracer_tool/tracer_tool.cpp || die
# modern libstdc++ ships <filesystem> in the main library
sed -e 's/ stdc++fs//' -i src/CMakeLists.txt || die
# Use clang set by rocm_use_clang instead of any clang
sed -e "s/COMMAND clang/COMMAND \${CMAKE_CXX_COMPILER}/" \
-e "s/DEPENDS \${INPUT_FILE} clang/DEPENDS \${INPUT_FILE}/" \
-i test/CMakeLists.txt || die
sed -e "s/COMPONENT asan/COMPONENT asan EXCLUDE_FROM_ALL/" \
-i CMakeLists.txt src/CMakeLists.txt plugin/file/CMakeLists.txt || die
}
src_configure() {
rocm_use_clang
if [[ $(tc-get-cxx-stdlib) == "libc++" ]] ; then
# https://releases.llvm.org/9.0.0/projects/libcxx/docs/UsingLibcxx.html#using-filesystem
append-libs "-lc++fs"
fi
local mycmakeargs=(
-DCMAKE_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/cmake/hip"
-DPython3_EXECUTABLE="${PYTHON}"
)
use test && mycmakeargs+=(
-DHIP_ROOT_DIR="${EPREFIX}/usr"
-DGPU_TARGETS="$(get_amdgpu_flags)"
)
cmake_src_configure
}
src_test() {
check_amdgpu
cd "${BUILD_DIR}" || die
# if LD_LIBRARY_PATH not set, dlopen cannot find correct lib
LD_LIBRARY_PATH="${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" bash run.sh || die
}
Manage flags for this package:
euse -i <flag> -p dev-util/roctracer |
euse -E <flag> -p dev-util/roctracer |
euse -D <flag> -p dev-util/roctracer
dev-libs/rocr-runtime:0/$(ver_cut 1-2) dev-libs/rocm-comgr:0/$(ver_cut 1-2) dev-util/hip:0/$(ver_cut 1-2)
dev-libs/rocr-runtime:0/$(ver_cut 1-2) dev-libs/rocm-comgr:0/$(ver_cut 1-2)
$(python_gen_any_dep
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | roctracer-10.1.0.tar.gz | 380796 bytes | https://github.com/ROCm/rocm-systems/releases/download/therock-10.1/roctracer.tar.gz |