Skip to content

make AOCC compiler wrappers aware of keepsymlinks option#3659

Merged
branfosj merged 4 commits intoeasybuilders:5.0.xfrom
lexming:fix-aocc-symlinks
Mar 12, 2025
Merged

make AOCC compiler wrappers aware of keepsymlinks option#3659
branfosj merged 4 commits intoeasybuilders:5.0.xfrom
lexming:fix-aocc-symlinks

Conversation

@lexming
Copy link
Contributor

@lexming lexming commented Mar 12, 2025

AOCC easyblock is broken since the recent change enabling keepsymlinks by default. More information: easybuilders/easybuild-framework#4794

This PR makes AOCC aware of keepsymlinks. Wrappers will only be made for real executables and the wrapper is updated to forward whatever command is used to execute the compiler (i.e. the wrapper forwards $0).

@lexming
Copy link
Contributor Author

lexming commented Mar 12, 2025

Test report by @lexming

Overview of tested easyconfigs (in order)

  • SUCCESS AOCC-4.0.0-GCCcore-12.3.0.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
obelia - Linux Fedora Linux 41 (KDE Plasma), x86_64, 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz, Python 3.9.21
See https://gist.github.com/lexming/749936570fcf2937b0bed0992a8fa1c9 for a full test report.

@boegel boegel added the bug fix label Mar 12, 2025
@Thyre
Copy link
Collaborator

Thyre commented Mar 12, 2025

Test report by @Thyre

Overview of tested easyconfigs (in order)

Build succeeded for 0 out of 2 (2 easyconfigs in total)
ZAM054 - Linux Zorin OS 17, x86_64, 12th Gen Intel(R) Core(TM) i7-1260P, 1 x NVIDIA NVIDIA GeForce MX550, 565.57.01, Python 3.10.12
See https://gist.github.com/Thyre/59443810b64d9a3ecb8d61301e18f23f for a full test report.


Ah.. fixed with #3648. I need to test this with another machine...
I'll do that later.

AOCC 4.2.0 and lower (and 'flang' for AOCC 5.0.0) use compiler wrappers
to include the GCC toolchain in the compiler command. The original
compilers are renamed, and a shell script is created running 'exec'
which passes the original compiler name as an argument.

This however can fail if '/bin/sh' is used. On Ubuntu 22.04 LTS, using
'exec -a' causes the following error message, which then causes the
sanity check to fail:

```
$ exec -a "echo" echo "Hello World"
sh: 1: exec: -a: not found
```

To work around this, use '/bin/bash' instead.

Signed-off-by: Jan André Reuter <j.reuter@fz-juelich.de>
@lexming
Copy link
Contributor Author

lexming commented Mar 12, 2025

@Thyre thanks for the tests! updated with your fix to the wrapper

@Thyre
Copy link
Collaborator

Thyre commented Mar 12, 2025

Test report by @Thyre

Overview of tested easyconfigs (in order)

  • SUCCESS AOCC-5.0.0-GCCcore-14.2.0.eb
  • SUCCESS AOCC-4.2.0-GCCcore-13.3.0.eb

Build succeeded for 2 out of 2 (2 easyconfigs in total)
Linux - Linux Arch Linux UNKNOWN, x86_64, AMD Ryzen 7 7800X3D 8-Core Processor, 1 x AMD Navi 48 [RX 9070/9070 XT] (device id: 0x7550, gfx: gfx1201, driver: 6.13.6-arch1-1), 1 x AMD Raphael (device id: 0x164e, gfx: gfx1036, driver: 6.13.6-arch1-1), Python 3.13.2
See https://gist.github.com/Thyre/4a1591c259bbec4d4ccda6543bebdd7c for a full test report.

@Thyre
Copy link
Collaborator

Thyre commented Mar 12, 2025

Test report by @Thyre

Overview of tested easyconfigs (in order)

  • SUCCESS AOCC-5.0.0-GCCcore-14.2.0.eb
  • SUCCESS AOCC-4.2.0-GCCcore-13.3.0.eb

Build succeeded for 2 out of 2 (2 easyconfigs in total)
ZAM054 - Linux Zorin OS 17, x86_64, 12th Gen Intel(R) Core(TM) i7-1260P, 1 x NVIDIA NVIDIA GeForce MX550, 565.57.01, Python 3.10.12
See https://gist.github.com/Thyre/567ad93833ecc558471730045d94bfb9 for a full test report.

@lexming
Copy link
Contributor Author

lexming commented Mar 12, 2025

Test report by @lexming

Overview of tested easyconfigs (in order)

  • SUCCESS AOCC-4.0.0-GCCcore-12.3.0.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
obelia - Linux Fedora Linux 41 (KDE Plasma), x86_64, 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz, Python 3.9.21
See https://gist.github.com/lexming/4a1a3580775117af5ae97b407ab58df6 for a full test report.

@Thyre
Copy link
Collaborator

Thyre commented Mar 12, 2025

@Thyre thanks for the tests! updated with your fix to the wrapper

Thanks a lot! Tests look fine on my machines as far as I can tell.

@branfosj branfosj merged commit bbaf280 into easybuilders:5.0.x Mar 12, 2025
17 checks passed
@lexming lexming deleted the fix-aocc-symlinks branch March 12, 2025 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants