From 23695fbd79d84d39dd804ad00a733a082d657cf3 Mon Sep 17 00:00:00 2001 From: gobhardw Date: Fri, 30 Jun 2023 13:15:37 +0530 Subject: [PATCH] Fixing RPM build errors for roctracer Change-Id: I55e67c5c31e266fe187bb28712a0c616ebe68107 --- CMakeLists.txt | 7 +++++++ build.sh | 8 +++++++- test/CMakeLists.txt | 11 ++++++++++- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d6aebaef94..0b8cdc7bf0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -154,6 +154,13 @@ message("CPACK_RPM_PACKAGE_RELEASE: ${CPACK_RPM_PACKAGE_RELEASE}") set(CPACK_RPM_ASAN_PACKAGE_NAME "${PROJECT_NAME}-asan" ) set(CPACK_RPM_ASAN_PACKAGE_REQUIRES "rocm-core-asan" ) +#Disable build id for rocprofiler as its creating transaction error +set ( CPACK_RPM_SPEC_MORE_DEFINE "%define _build_id_links none + %global __strip ${CPACK_STRIP_EXECUTABLE} + %global __objdump ${CPACK_OBJDUMP_EXECUTABLE} + %global __objcopy ${CPACK_OBJCOPY_EXECUTABLE} + %global __readelf ${CPACK_READELF_EXECUTABLE}") + if(NOT ROCM_DEP_ROCMCORE) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_RUNTIME_PACKAGE_REQUIRES ${CPACK_RPM_RUNTIME_PACKAGE_REQUIRES}) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_DEV_PACKAGE_REQUIRES ${CPACK_RPM_DEV_PACKAGE_REQUIRES}) diff --git a/build.sh b/build.sh index 8013f5adfb..81ac862933 100755 --- a/build.sh +++ b/build.sh @@ -45,6 +45,7 @@ if [ -z "$PACKAGE_PREFIX" ] ; then PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi if [ -z "$PREFIX_PATH" ] ; then PREFIX_PATH=$PACKAGE_ROOT; fi if [ -z "$HIP_VDI" ] ; then HIP_VDI=0; fi if [ -n "$ROCM_RPATH" ] ; then LD_RUNPATH_FLAG=" -Wl,--enable-new-dtags -Wl,--rpath,${ROCM_RPATH}"; fi +if [ -z "$GPU_LIST" ] ; then GPU_LIST="gfx900 gfx906 gfx908 gfx90a gfx940 gfx1030 gfx1100 gfx1101 gfx1102"; fi ROCTRACER_ROOT=$(cd $ROCTRACER_ROOT && echo $PWD) @@ -60,7 +61,12 @@ cmake \ -DCPACK_PACKAGING_INSTALL_PREFIX=$PACKAGE_PREFIX \ -DCPACK_GENERATOR="${CPACKGEN:-"DEB;RPM"}" \ -DCMAKE_SHARED_LINKER_FLAGS="$LD_RUNPATH_FLAG" \ - $ROCTRACER_ROOT + -DGPU_TARGETS="$GPU_LIST" \ + -DCPACK_OBJCOPY_EXECUTABLE="${PACKAGE_ROOT}/llvm/bin/llvm-objcopy" \ + -DCPACK_READELF_EXECUTABLE="${PACKAGE_ROOT}/llvm/bin/llvm-readelf" \ + -DCPACK_STRIP_EXECUTABLE="${PACKAGE_ROOT}/llvm/bin/llvm-strip" \ + -DCPACK_OBJDUMP_EXECUTABLE="${PACKAGE_ROOT}/llvm/bin/llvm-objdump" \ + $ROCTRACER_ROOT make make mytest diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index f8c5e8238d..b0a4cf0a54 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -98,7 +98,16 @@ function(generate_hsaco TARGET_ID INPUT_FILE OUTPUT_FILE) set(HSACO_TARGET_LIST ${HSACO_TARGET_LIST} ${PROJECT_BINARY_DIR}/${OUTPUT_FILE} PARENT_SCOPE) endfunction(generate_hsaco) -foreach(target_id ${GPU_TARGETS}) +separate_arguments(GPU_TARGETS) +list(LENGTH GPU_TARGETS list_count) +if (${list_count} LESS_EQUAL 1) + string(REPLACE " " ";" GPU_LIST "${GPU_TARGETS}") + string(REPLACE "," ";" GPU_LIST "${GPU_TARGETS}") +else() + set(GPU_LIST ${GPU_TARGETS}) +endif() + +foreach(target_id ${GPU_LIST}) ## generate kernel bitcodes generate_hsaco(${target_id} ${CMAKE_CURRENT_SOURCE_DIR}/hsa/copy.cl ${target_id}_copy.hsaco) endforeach(target_id)