-
Notifications
You must be signed in to change notification settings - Fork 180
Description
Problem Description
After PR #2095
When doing a fresh install of TheRock I stumbled with some linker errors when compiling the subproject rocmrtst.
Mentioned PR changes how the hwloc lib is found, where system one is preferred over the bundled one.
Bundled version of libhwloc is 1.x, whereas my system wide version is 2.10.0-1build1. System wide version deprecated some functions that some performance test of rocmrtsr depends on (*_nodeset functions).
In the README.md, it is explained that libhwloc-dev is required. I wonder if we should stop bundling old 1.X lib version and start using the API version of the suggested system package.
I managed to bypass it by manually modifying the path of the libhwloc library from <TheRock_Dir>/rocm-systems/projects/rocr-runtime/rocrtst/thirdparty/lib/libhwloc.so.5:
//Path to a library.
pkgcfg_lib_HWLOC_hwloc:FILEPATH=<TheRockPath>/rocm-systems/projects/rocr-runtime/rocrtst/thirdparty/lib/libhwloc.so.5
Operating System
Ubuntu 22.04
CPU
AMD EPYC 9684X 96-Core Processor
GPU
ROCm Version
ROCm main branch
ROCm Component
No response
Steps to Reproduce
No response
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
No response
Additional Information
Error message:
$ ninja -C build rocrtst
ninja: Entering directory `build'
[0/2] Re-checking globbed directories...
[1/3] Building sub-project rocrtst (in background)
FAILED: [code=1] core/rocrtst/stamp/build.stamp /scratch/repos/TheRock/build/core/rocrtst/stamp/build.stamp
cd /scratch/repos/TheRock/build/core/rocrtst/build && /scratch/repos/TheRock/.venv/bin/python3.12 /scratch/repos/TheRock/build_tools/teatime.py --log-timestamps --label rocrtst --interactive /scratch/repos/TheRock/build/logs/rocrtst_build.log -- /scratch/repos/TheRock/.venv/lib/python3.12/site-packages/cmake/data/bin/cmake -E env --unset=ROCM_PATH --unset=ROCM_DIR --unset=HIP_PATH --unset=HIP_DIR -- /scratch/repos/TheRock/.venv/lib/python3.12/site-packages/cmake/data/bin/cmake --build /scratch/repos/TheRock/build/core/rocrtst/build && /scratch/repos/TheRock/.venv/lib/python3.12/site-packages/cmake/data/bin/cmake -E touch /scratch/repos/TheRock/build/core/rocrtst/stamp/build.stamp
[rocrtst] [1/325] Linking CXX executable rocrtst64
[rocrtst] FAILED: [code=1] rocrtst64
[rocrtst] : && /scratch/repos/TheRock/build/compiler/amd-llvm/dist/lib/llvm/bin/clang++ -Wno-documentation-unknown-command -Wno-documentation-pedantic -Wno-unused-command-line-argument -Wno-explicit-specialization-storage-class -fexceptions -fno-rtti -fno-math-errno -fno-threadsafe-statics -fmerge-all-constants -fms-extensions -Wall -Wno-unused -ggdb -O0 -g -L/scratch/repos/TheRock/build/base/rocprofiler-register/stage/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/base/rocprofiler-register/stage/lib -L/scratch/repos/TheRock/build/third-party/sysdeps/linux/bzip2/build/stage/lib/rocm_sysdeps/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/third-party/sysdeps/linux/bzip2/build/stage/lib/rocm_sysdeps/lib -L/scratch/repos/TheRock/build/third-party/sysdeps/linux/liblzma/build/stage/lib/rocm_sysdeps/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/third-party/sysdeps/linux/liblzma/build/stage/lib/rocm_sysdeps/lib -L/scratch/repos/TheRock/build/third-party/sysdeps/linux/zlib/build/stage/lib/rocm_sysdeps/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/third-party/sysdeps/linux/zlib/build/stage/lib/rocm_sysdeps/lib -L/scratch/repos/TheRock/build/third-party/sysdeps/linux/zstd/build/stage/lib/rocm_sysdeps/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/third-party/sysdeps/linux/zstd/build/stage/lib/rocm_sysdeps/lib -L/scratch/repos/TheRock/build/third-party/sysdeps/linux/elfutils/build/stage/lib/rocm_sysdeps/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/third-party/sysdeps/linux/elfutils/build/stage/lib/rocm_sysdeps/lib -L/scratch/repos/TheRock/build/third-party/sysdeps/linux/libdrm/build/stage/lib/rocm_sysdeps/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/third-party/sysdeps/linux/libdrm/build/stage/lib/rocm_sysdeps/lib -L/scratch/repos/TheRock/build/third-party/sysdeps/linux/numactl/build/stage/lib/rocm_sysdeps/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/third-party/sysdeps/linux/numactl/build/stage/lib/rocm_sysdeps/lib -L/scratch/repos/TheRock/build/compiler/amd-llvm/stage/lib/llvm/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/compiler/amd-llvm/stage/lib/llvm/lib -L/scratch/repos/TheRock/build/core/ROCR-Runtime/stage/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/core/ROCR-Runtime/stage/lib -L/scratch/repos/TheRock/build/compiler/amd-comgr/stage/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/compiler/amd-comgr/stage/lib -L/scratch/repos/TheRock/build/compiler/amd-comgr-stub/stage/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/compiler/amd-comgr-stub/stage/lib -L/scratch/repos/TheRock/build/core/opencl/icd/stage/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/core/opencl/icd/stage/lib -L/scratch/repos/TheRock/build/core/ocl-clr/stage/lib -Wl,-rpath-link,/scratch/repos/TheRock/build/core/ocl-clr/stage/lib -L/scratch/repos/TheRock/build/core/ocl-clr/stage/lib/opencl -Wl,-rpath-link,/scratch/repos/TheRock/build/core/ocl-clr/stage/lib/opencl -Wl,--enable-new-dtags -Xlinker --dependency-file=CMakeFiles/rocrtst64.dir/link.d CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/performance/dispatch_time.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/performance/enqueueLatency.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/performance/memory_async_copy.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/performance/memory_async_copy_numa.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/performance/memory_async_copy_on_engine.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/agent_props.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/aql_barrier_bit.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/concurrent_init.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/concurrent_init_shutdown.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/concurrent_shutdown.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/cu_masking.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/deallocation_notifier.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/debug_basic.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/filter_devices.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/ipc.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/memory_access.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/memory_alignment.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/memory_allocation.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/memory_atomics.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/memory_basic.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/reference_count.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/signal_concurrent.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/signal_kernel.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/svm_memory.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/virtual_memory.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/negative/memory_allocate_negative_tests.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/negative/queue_validation.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/stress/memory_concurrent_tests.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/stress/queue_write_index_concurrent_tests.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/common/base_rocr.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/common/base_rocr_utils.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/common/common.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/common/concurrent_utils.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/common/helper_funcs.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/common/hsatimer.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/common/os.cc.o CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/common/rocr.cc.o CMakeFiles/rocrtst64.dir/main.cc.o CMakeFiles/rocrtst64.dir/test_base.cc.o CMakeFiles/rocrtst64.dir/test_case_template.cc.o CMakeFiles/rocrtst64.dir/test_common.cc.o -o rocrtst64 -Wl,-rpath,"\$ORIGIN/../lib:\$ORIGIN/../lib/rocm_sysdeps/lib" gtest/libgoogle-test-frwk64.a /scratch/repos/TheRock/build/core/ROCR-Runtime/dist/lib/libhsa-runtime64.so.1.18.0 /scratch/repos/TheRock/build/base/amdsmi/dist/lib/libamd_smi.so.26.2.1 -lc -lstdc++ -ldl -lpthread -lrt /scratch/repos/TheRock/build/third-party/sysdeps/linux/numactl/build/dist/lib/rocm_sysdeps/lib/libnuma.so /usr/lib/x86_64-linux-gnu/libhwloc.so && :
[rocrtst] ld.lld: error: undefined symbol: hwloc_set_membind_nodeset
[rocrtst] >>> referenced by memory_async_copy_numa.cc:127 (/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/performance/memory_async_copy_numa.cc:127)
[rocrtst] >>> CMakeFiles/rocrtst64.dir/scratch/repos/TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/performance/memory_async_copy_numa.cc.o:(MemoryAsyncCopyNUMA::Run())
[rocrtst] clang++: error: linker command failed with exit code 1 (use -v to see invocation)
[rocrtst] [2/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1100/test_case_template_kernels.hsaco
[rocrtst] [3/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1036/vector_add_debug_trap_kernels.hsaco
[rocrtst] [4/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1036/vector_copy_kernels.hsaco
[rocrtst] [5/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1100/gpuReadWrite_kernels.hsaco
[rocrtst] [6/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1100/vector_copy_kernels.hsaco
[rocrtst] [7/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1100/dispatch_time_kernels.hsaco
[rocrtst] [8/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1100/vector_add_debug_trap_kernels.hsaco
[rocrtst] [9/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1036/vector_add_memory_fault_kernels.hsaco
[rocrtst] [10/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1101/cu_mask_kernels.hsaco
[rocrtst] [11/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1100/groupMemoryDynamic_kernels.hsaco
[rocrtst] [12/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1100/signal_operations_kernels.hsaco
[rocrtst] [13/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1100/atomicOperations_kernels.hsaco
[rocrtst] [14/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1100/vector_add_memory_fault_kernels.hsaco
[rocrtst] [15/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1036/test_case_template_kernels.hsaco
[rocrtst] [16/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1101/atomicOperations_kernels.hsaco
[rocrtst] [17/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1101/dispatch_time_kernels.hsaco
[rocrtst] [18/325] BUILDING /scratch/repos/TheRock/build/core/rocrtst/build/gfx1100/cu_mask_kernels.hsaco
[rocrtst] ninja: build stopped: subcommand failed.
[rocrtst FAILED WITH CODE 1 in 0 seconds]
ninja: build stopped: subcommand failed.