Skip to content

{2025.06-001}[2025b] Dyninst 13.0.0 (Extrae dependency)#109

Closed
julianmorillo wants to merge 4 commits intoEESSI:mainfrom
julianmorillo:Dyninst
Closed

{2025.06-001}[2025b] Dyninst 13.0.0 (Extrae dependency)#109
julianmorillo wants to merge 4 commits intoEESSI:mainfrom
julianmorillo:Dyninst

Conversation

@julianmorillo
Copy link
Copy Markdown
Contributor

This build is needed in #107

@julianmorillo
Copy link
Copy Markdown
Contributor Author

bot: build repo:dev.eessi.io-riscv-2025.06-001 instance:eessi-bot-riscv for:arch=riscv64/generic

@riscv-eessi-io-bot
Copy link
Copy Markdown

riscv-eessi-io-bot Bot commented Apr 15, 2026

New job on instance eessi-bot-riscv for repository dev.eessi.io-riscv-2025.06-001
Building on: generic
Building for: riscv64/generic
Job dir: /home/eessibot/shared/jobs/2026.04/pr_109/305177

date job status comment
Apr 15 09:21:29 UTC 2026 submitted job id 305177 awaits release by job manager
Apr 15 09:21:55 UTC 2026 released job awaits launch by Slurm scheduler
Apr 15 09:40:48 UTC 2026 running job 305177 is running
Apr 15 10:00:53 UTC 2026 finished
😢 FAILURE (click triangle for details)
Details
✅ job output file slurm-305177.out
✅ no message matching FATAL:
❌ found message matching ERROR:
❌ found message matching FAILED:
❌ found message matching required modules missing:
❌ no message matching No missing installations
✅ found message matching .tar.* created!
Artefacts
eessi-2025.06-software-linux-riscv64-generic-riscv-1776247127.tar.zstsize: 0 MiB (22 bytes)
entries: 0
modules under 2025.06-001/software/linux/riscv64/generic/modules/all
no module files in tarball
software under 2025.06-001/software/linux/riscv64/generic/software
no software packages in tarball
reprod directories under 2025.06-001/software/linux/riscv64/generic/reprod
no reprod directories in tarball
other under 2025.06-001/software/linux/riscv64/generic
no other files in tarball
Apr 15 10:00:53 UTC 2026 test result
🤷 UNKNOWN (click triangle for detailed information)
  • Job test file _bot_job305177.test does not exist in job directory, or parsing it failed.

@julianmorillo
Copy link
Copy Markdown
Contributor Author

julianmorillo commented Apr 15, 2026

This is the error:

CMake Error at /cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/CMake/4.0.3-GCCcore-14.3.0/share/cmake-4.0/Modules/FindPackageHandleStandardArgs.cmake:227 (message):
  Could NOT find LibIberty (missing: LibIberty_LIBRARIES
  LibIberty_INCLUDE_DIRS)
Call Stack (most recent call first):
  /cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/CMake/4.0.3-GCCcore-14.3.0/share/cmake-4.0/Modules/FindPackageHandleStandardArgs.cmake:591 (_FPHSA_FAILURE_MESSAGE)
  cmake/Modules/FindLibIberty.cmake:55 (find_package_handle_standard_args)
  cmake/tpls/DyninstLibIberty.cmake:35 (find_package)
  CMakeLists.txt:46 (include)


-- Configuring incomplete, errors occurred!

== 2026-04-15 11:51:23,161 easyblock.py:4939 WARNING shell command 'unset CXXFLAGS && unset CFLAGS &&  cmake  -DCMAKE_INSTALL_PREFIX=/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/Dyninst/13.0.0-GCC-14.3.0 -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_LIBDIR:PATH=lib -DCMAKE_SYSROOT=/cvmfs/software.eessi.io/versions/2025.06/compat/linux/riscv64 -DCMAKE_C_COMPILER=/tmp/eb-a5015tab/eb-xr2s2bej/tmp3zl85emx/rpath_wrappers/gcc_wrapper/gcc -DCMAKE_CXX_COMPILER=/tmp/eb-a5015tab/eb-xr2s2bej/tmp3zl85emx/rpath_wrappers/gxx_wrapper/g++ -DCMAKE_Fortran_COMPILER=/tmp/eb-a5015tab/eb-xr2s2bej/tmp3zl85emx/rpath_wrappers/gfortran_wrapper/gfortran -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DBOOST_ROOT=/cvmfs/dev.eessi.io/riscv/versions/2025.06-001/software/linux/riscv64/generic/software/Boost/1.88.0-GCC-14.3.0 -DBoost_NO_SYSTEM_PATHS=ON  /tmp/eessibot/easybuild/build/Dyninst/13.0.0/GCC-14.3.0/dyninst-13.0.0' failed with exit code 1 in configure step for Dyninst-13.0.0-GCC-14.3.0.eb

The library and the header file should be provided by the compat layer and are located here:

jmorillo@BSC-848810547:/cvmfs/software.eessi.io/versions/2025.06/compat/linux/riscv64$ find . -name "libiberty*"
...
./usr/lib64/binutils/riscv64-pc-linux-gnu/2.44/include/libiberty.h
./usr/lib64/binutils/riscv64-pc-linux-gnu/2.44/libiberty.a

@bedroge
Copy link
Copy Markdown
Contributor

bedroge commented Apr 15, 2026

Libiberty should be part of binutils, but we filter that in EESSI, and it's provided by the compat layer. We may need a similar hook as we have for e.g. Score-P: https://github.com/EESSI/software-layer-scripts/blob/main/eb_hooks.py#L1090.

@julianmorillo
Copy link
Copy Markdown
Contributor Author

I see, will try that. Thanks for the pointer (honestly, I was about to ask you for help :) )

@julianmorillo
Copy link
Copy Markdown
Contributor Author

Implemented the hook, let's try again

@julianmorillo
Copy link
Copy Markdown
Contributor Author

bot: build repo:dev.eessi.io-riscv-2025.06-001 instance:eessi-bot-riscv for:arch=riscv64/generic

@riscv-eessi-io-bot
Copy link
Copy Markdown

riscv-eessi-io-bot Bot commented Apr 15, 2026

New job on instance eessi-bot-riscv for repository dev.eessi.io-riscv-2025.06-001
Building on: generic
Building for: riscv64/generic
Job dir: /home/eessibot/shared/jobs/2026.04/pr_109/305195

date job status comment
Apr 15 14:13:38 UTC 2026 submitted job id 305195 awaits release by job manager
Apr 15 14:13:49 UTC 2026 released job awaits launch by Slurm scheduler
Apr 15 14:15:02 UTC 2026 running job 305195 is running
Apr 15 14:35:09 UTC 2026 finished
😢 FAILURE (click triangle for details)
Details
✅ job output file slurm-305195.out
✅ no message matching FATAL:
❌ found message matching ERROR:
❌ found message matching FAILED:
❌ found message matching required modules missing:
❌ no message matching No missing installations
✅ found message matching .tar.* created!
Artefacts
eessi-2025.06-software-linux-riscv64-generic-riscv-1776263558.tar.zstsize: 0 MiB (22 bytes)
entries: 0
modules under 2025.06-001/software/linux/riscv64/generic/modules/all
no module files in tarball
software under 2025.06-001/software/linux/riscv64/generic/software
no software packages in tarball
reprod directories under 2025.06-001/software/linux/riscv64/generic/reprod
no reprod directories in tarball
other under 2025.06-001/software/linux/riscv64/generic
no other files in tarball
Apr 15 14:35:09 UTC 2026 test result
🤷 UNKNOWN (click triangle for detailed information)
  • Job test file _bot_job305195.test does not exist in job directory, or parsing it failed.

@julianmorillo
Copy link
Copy Markdown
Contributor Author

bot: build repo:dev.eessi.io-riscv-2025.06-001 instance:eessi-bot-riscv for:arch=riscv64/generic

@riscv-eessi-io-bot
Copy link
Copy Markdown

riscv-eessi-io-bot Bot commented Apr 15, 2026

New job on instance eessi-bot-riscv for repository dev.eessi.io-riscv-2025.06-001
Building on: generic
Building for: riscv64/generic
Job dir: /home/eessibot/shared/jobs/2026.04/pr_109/305199

date job status comment
Apr 15 15:11:19 UTC 2026 submitted job id 305199 awaits release by job manager
Apr 15 15:11:49 UTC 2026 released job awaits launch by Slurm scheduler
Apr 15 15:13:03 UTC 2026 running job 305199 is running
Apr 15 15:33:25 UTC 2026 finished
😢 FAILURE (click triangle for details)
Details
✅ job output file slurm-305199.out
✅ no message matching FATAL:
❌ found message matching ERROR:
❌ found message matching FAILED:
❌ found message matching required modules missing:
❌ no message matching No missing installations
✅ found message matching .tar.* created!
Artefacts
eessi-2025.06-software-linux-riscv64-generic-riscv-1776267029.tar.zstsize: 0 MiB (22 bytes)
entries: 0
modules under 2025.06-001/software/linux/riscv64/generic/modules/all
no module files in tarball
software under 2025.06-001/software/linux/riscv64/generic/software
no software packages in tarball
reprod directories under 2025.06-001/software/linux/riscv64/generic/reprod
no reprod directories in tarball
other under 2025.06-001/software/linux/riscv64/generic
no other files in tarball
Apr 15 15:33:25 UTC 2026 test result
🤷 UNKNOWN (click triangle for detailed information)
  • Job test file _bot_job305199.test does not exist in job directory, or parsing it failed.

@julianmorillo
Copy link
Copy Markdown
Contributor Author

@bedroge , I implemented the hook (https://github.com/julianmorillo/software-layer-scripts/blob/eb48ca4886cef9bf92cca25f5b635725de08b2e1/eb_hooks.py#L1112), but I do not see anything in the logs that indicate that it is being executed. Probably I'm missing something very basic but can not figure out what. Any hint is welcome :)

@julianmorillo
Copy link
Copy Markdown
Contributor Author

Ok, I see in the log:

EASYBUILD_HOOKS = /cvmfs/software.eessi.io/versions/2025.06/init/easybuild/eb_hooks.py

So the eb_hooks in my software-layer-scripts branch is not being used at all in this case. At this time I do not really know how to hack this, so probably it is not worth wasting more time on this and better wait for PR being accepted and merged.

@bedroge
Copy link
Copy Markdown
Contributor

bedroge commented Apr 16, 2026

bot: build repo:dev.eessi.io-riscv-2025.06-001 instance:eessi-bot-riscv for:arch=riscv64/generic

@riscv-eessi-io-bot
Copy link
Copy Markdown

riscv-eessi-io-bot Bot commented Apr 16, 2026

New job on instance eessi-bot-riscv for repository dev.eessi.io-riscv-2025.06-001
Building on: generic
Building for: riscv64/generic
Job dir: /home/eessibot/shared/jobs/2026.04/pr_109/305295

date job status comment
Apr 16 15:19:26 UTC 2026 submitted job id 305295 awaits release by job manager
Apr 16 15:20:28 UTC 2026 released job awaits launch by Slurm scheduler
Apr 16 15:21:40 UTC 2026 running job 305295 is running
Apr 16 15:43:16 UTC 2026 finished
😢 FAILURE (click triangle for details)
Details
✅ job output file slurm-305295.out
✅ no message matching FATAL:
❌ found message matching ERROR:
❌ found message matching FAILED:
✅ no message matching required modules missing:
❌ no message matching No missing installations
✅ found message matching .tar.* created!
Artefacts
eessi-2025.06-software-linux-riscv64-generic-riscv-1776354083.tar.zstsize: 0 MiB (22 bytes)
entries: 0
modules under 2025.06-001/software/linux/riscv64/generic/modules/all
no module files in tarball
software under 2025.06-001/software/linux/riscv64/generic/software
no software packages in tarball
reprod directories under 2025.06-001/software/linux/riscv64/generic/reprod
no reprod directories in tarball
other under 2025.06-001/software/linux/riscv64/generic
no other files in tarball
Apr 16 15:43:16 UTC 2026 test result
🤷 UNKNOWN (click triangle for detailed information)
  • Job test file _bot_job305295.test does not exist in job directory, or parsing it failed.

@bedroge
Copy link
Copy Markdown
Contributor

bedroge commented Apr 16, 2026

bot: build repo:dev.eessi.io-riscv-2025.06-001 instance:eessi-bot-riscv for:arch=riscv64/generic

@riscv-eessi-io-bot
Copy link
Copy Markdown

riscv-eessi-io-bot Bot commented Apr 16, 2026

New job on instance eessi-bot-riscv for repository dev.eessi.io-riscv-2025.06-001
Building on: generic
Building for: riscv64/generic
Job dir: /home/eessibot/shared/jobs/2026.04/pr_109/305308

date job status comment
Apr 16 17:50:21 UTC 2026 submitted job id 305308 awaits release by job manager
Apr 16 17:50:45 UTC 2026 released job awaits launch by Slurm scheduler
Apr 16 17:51:54 UTC 2026 running job 305308 is running
Apr 16 18:28:34 UTC 2026 finished
😢 FAILURE (click triangle for details)
Details
✅ job output file slurm-305308.out
✅ no message matching FATAL:
❌ found message matching ERROR:
❌ found message matching FAILED:
❌ found message matching required modules missing:
❌ no message matching No missing installations
✅ found message matching .tar.* created!
Artefacts
eessi-2025.06-software-linux-riscv64-generic-riscv-1776363996.tar.zstsize: 0 MiB (22 bytes)
entries: 0
modules under 2025.06-001/software/linux/riscv64/generic/modules/all
no module files in tarball
software under 2025.06-001/software/linux/riscv64/generic/software
no software packages in tarball
reprod directories under 2025.06-001/software/linux/riscv64/generic/reprod
no reprod directories in tarball
other under 2025.06-001/software/linux/riscv64/generic
no other files in tarball
Apr 16 18:28:34 UTC 2026 test result
🤷 UNKNOWN (click triangle for detailed information)
  • Job test file _bot_job305308.test does not exist in job directory, or parsing it failed.

@bedroge
Copy link
Copy Markdown
Contributor

bedroge commented Apr 16, 2026

New error:

/tmp/eessibot/easybuild/build/Dyninst/13.0.0/GCC-14.3.0/dyninst-13.0.0/dyninstAPI_RT/src/RTlinux.c: In function ‘dyninstTrapHandler’:
/tmp/eessibot/easybuild/build/Dyninst/13.0.0/GCC-14.3.0/dyninst-13.0.0/dyninstAPI_RT/src/RTlinux.c:381:23: error: implicit declaration of function ‘UC_PC’ [-Wimplicit-function-declaration]
  381 |    orig_ip = (void *) UC_PC(context);
      |                       ^~~~~
/tmp/eessibot/easybuild/build/Dyninst/13.0.0/GCC-14.3.0/dyninst-13.0.0/dyninstAPI_RT/src/RTlinux.c:381:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  381 |    orig_ip = (void *) UC_PC(context);
      |              ^
/tmp/eessibot/easybuild/build/Dyninst/13.0.0/GCC-14.3.0/dyninst-13.0.0/dyninstAPI_RT/src/RTlinux.c:404:19: error: lvalue required as left operand of assignment
  404 |    UC_PC(context) = (long) trap_to;
      |                   ^
/tmp/eessibot/easybuild/build/Dyninst/13.0.0/GCC-14.3.0/dyninst-13.0.0/dyninstAPI_RT/src/RTlinux.c: In function ‘dyninstTrapHandler’:
/tmp/eessibot/easybuild/build/Dyninst/13.0.0/GCC-14.3.0/dyninst-13.0.0/dyninstAPI_RT/src/RTlinux.c:381:23: error: implicit declaration of function ‘UC_PC’ [-Wimplicit-function-declaration]
  381 |    orig_ip = (void *) UC_PC(context);
      |                       ^~~~~
/tmp/eessibot/easybuild/build/Dyninst/13.0.0/GCC-14.3.0/dyninst-13.0.0/dyninstAPI_RT/src/RTlinux.c:381:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  381 |    orig_ip = (void *) UC_PC(context);
      |              ^
/tmp/eessibot/easybuild/build/Dyninst/13.0.0/GCC-14.3.0/dyninst-13.0.0/dyninstAPI_RT/src/RTlinux.c:404:19: error: lvalue required as left operand of assignment
  404 |    UC_PC(context) = (long) trap_to;
      |                   ^

@bedroge
Copy link
Copy Markdown
Contributor

bedroge commented Apr 16, 2026

Looks like we need a patch for RISC-V here: https://github.com/dyninst/dyninst/blob/v13.0.0/dyninstAPI_RT/src/RTlinux.c#L326

@julianmorillo
Copy link
Copy Markdown
Contributor Author

Submitted such patch in easybuilders/easybuild-easyconfigs@6c5e57e
Trying it...

@julianmorillo
Copy link
Copy Markdown
Contributor Author

bot: build repo:dev.eessi.io-riscv-2025.06-001 instance:eessi-bot-riscv for:arch=riscv64/generic

@riscv-eessi-io-bot
Copy link
Copy Markdown

riscv-eessi-io-bot Bot commented Apr 17, 2026

New job on instance eessi-bot-riscv for repository dev.eessi.io-riscv-2025.06-001
Building on: generic
Building for: riscv64/generic
Job dir: /home/eessibot/shared/jobs/2026.04/pr_109/305330

date job status comment
Apr 17 09:17:31 UTC 2026 submitted job id 305330 awaits release by job manager
Apr 17 09:17:40 UTC 2026 released job awaits launch by Slurm scheduler
Apr 17 09:18:44 UTC 2026 running job 305330 is running
Apr 17 09:32:08 UTC 2026 finished
😢 FAILURE (click triangle for details)
Details
✅ job output file slurm-305330.out
✅ no message matching FATAL:
❌ found message matching ERROR:
❌ found message matching FAILED:
❌ found message matching required modules missing:
❌ no message matching No missing installations
✅ found message matching .tar.* created!
Artefacts
Details
No artefacts were created or found.
Apr 17 09:32:08 UTC 2026 test result
🤷 UNKNOWN (click triangle for detailed information)
  • Job test file _bot_job305330.test does not exist in job directory, or parsing it failed.

@julianmorillo
Copy link
Copy Markdown
Contributor Author

Forgot to add the patch file itself in easybuilders/easybuild-easyconfigs@6c5e57e

@julianmorillo
Copy link
Copy Markdown
Contributor Author

bot: build repo:dev.eessi.io-riscv-2025.06-001 instance:eessi-bot-riscv for:arch=riscv64/generic

@riscv-eessi-io-bot
Copy link
Copy Markdown

riscv-eessi-io-bot Bot commented Apr 17, 2026

New job on instance eessi-bot-riscv for repository dev.eessi.io-riscv-2025.06-001
Building on: generic
Building for: riscv64/generic
Job dir: /home/eessibot/shared/jobs/2026.04/pr_109/305335

date job status comment
Apr 17 09:46:53 UTC 2026 submitted job id 305335 awaits release by job manager
Apr 17 09:47:49 UTC 2026 released job awaits launch by Slurm scheduler
Apr 17 09:48:56 UTC 2026 running job 305335 is running
Apr 17 10:25:33 UTC 2026 finished
😢 FAILURE (click triangle for details)
Details
✅ job output file slurm-305335.out
✅ no message matching FATAL:
❌ found message matching ERROR:
❌ found message matching FAILED:
❌ found message matching required modules missing:
❌ no message matching No missing installations
✅ found message matching .tar.* created!
Artefacts
eessi-2025.06-software-linux-riscv64-generic-riscv-1776421415.tar.zstsize: 0 MiB (22 bytes)
entries: 0
modules under 2025.06-001/software/linux/riscv64/generic/modules/all
no module files in tarball
software under 2025.06-001/software/linux/riscv64/generic/software
no software packages in tarball
reprod directories under 2025.06-001/software/linux/riscv64/generic/reprod
no reprod directories in tarball
other under 2025.06-001/software/linux/riscv64/generic
no other files in tarball
Apr 17 10:25:33 UTC 2026 test result
🤷 UNKNOWN (click triangle for detailed information)
  • Job test file _bot_job305335.test does not exist in job directory, or parsing it failed.

@julianmorillo
Copy link
Copy Markdown
Contributor Author

Same error. Looks like the added define UC_PC(x) is not being executed because arch_riscv64 is not defined.
Searching for arch_aarch64 in the source code gives the impression that Dyninst totally lacks of support for RISCV and that a lot of implementation work needs to be done:

/dyninst-13.0.0$ grep -ri "arch_aarch64" *
cmake/DyninstPlatform.cmake.ORIG:  set(DYNINST_ARCH_aarch64 TRUE)
cmake/DyninstPlatform.cmake:  set(DYNINST_ARCH_aarch64 TRUE)
cmake/DyninstCapArchDef.cmake:elseif(DYNINST_ARCH_aarch64)
cmake/DyninstCapArchDef.cmake:  set(ARCH_DEFINES -Darch_aarch64 -Darch_64bit)
cmake/DyninstCapArchDef.cmake:  elseif(DYNINST_ARCH_aarch64)
common/h/Architecture.h:    Arch_aarch64 = 0x48000000,
common/h/Architecture.h:      case Arch_aarch64:
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                x0,   0 |   FULL |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                w0,   0 |  D_REG |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                x1,   1 |   FULL |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                w1,   1 |  D_REG |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                x2,   2 |   FULL |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                w2,   2 |  D_REG |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                x3,   3 |   FULL |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                w3,   3 |  D_REG |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                x4,   4 |   FULL |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                w4,   4 |  D_REG |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                x5,   5 |   FULL |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                w5,   5 |  D_REG |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                x6,   6 |   FULL |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                w6,   6 |  D_REG |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                x7,   7 |   FULL |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                w7,   7 |  D_REG |    GPR | Arch_aarch64, "aarch64");
common/h/registers/aarch64_regs.h:  DEF_REGISTER(                x8,   8 |   FULL |    GPR | Arch_aarch64, "aarch64");
...

So I will close this PR, the one in easyconfigs (easybuilders/easybuild-easyconfigs#25765) and add the configopt --without-dyninst to Extrae.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants