Skip to content

Ensure dependencies libpaths are not baked into binutils's ld - #4209

Open
Crivella wants to merge 1 commit into
easybuilders:developfrom
Crivella:fix-binutils
Open

Ensure dependencies libpaths are not baked into binutils's ld#4209
Crivella wants to merge 1 commit into
easybuilders:developfrom
Crivella:fix-binutils

Conversation

@Crivella

Copy link
Copy Markdown
Contributor

Follow up to

to make sure we are not adding unneeded search paths from the dependencies used to build binutils

Technically we could only filter build deps since runtime deps will still need to be accessible, but i think it is better to handle that through the environment variable and rpath logic only

@Crivella

Copy link
Copy Markdown
Contributor Author

Test report by @Crivella

Overview of tested easyconfigs (in order)

  • SUCCESS binutils-2.42-GCCcore-14.2.0.eb

  • SUCCESS nvidia-compilers-25.3-CUDA-12.8.0.eb

Build succeeded for 2 out of 2 (total: 8 mins 26 secs) (2 easyconfigs in total)
crivella-desktop - Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish), x86_64, 13th Gen Intel(R) Core(TM) i9-13900K (skylake), 1 x NVIDIA NVIDIA GeForce RTX 5060, 580.173.02, Python 3.11.15
See https://gist.github.com/Crivella/3809a883db4ab27f83803ad12b1f5533 for a full test report.

@Crivella

Copy link
Copy Markdown
Contributor Author

Current SEARCH_DIRS

ld -verbose | grep SEARCH | tr ';' '\n'
SEARCH_DIR("=/home/crivella/.local/easybuild/software/binutils/2.42-GCCcore-14.2.0/x86_64-pc-linux-gnu/lib64")
 SEARCH_DIR("/home/crivella/.local/easybuild/software/GCCcore/14.2.0/lib64")
 SEARCH_DIR("/lib/x86_64-linux-gnu")
 SEARCH_DIR("/lib64")
 SEARCH_DIR("/lib")
 SEARCH_DIR("=/home/crivella/.local/easybuild/software/binutils/2.42-GCCcore-14.2.0/x86_64-pc-linux-gnu/lib")

we still get the GCCcore ones but i do not think that is a problem unless we want to use ld with a different GCC than the one it was built with

@boegel boegel added the bug fix label Aug 26, 2026
@boegel boegel added this to the next release (5.4.1?) milestone Aug 26, 2026
@boegel

boegel commented Aug 26, 2026

Copy link
Copy Markdown
Member

@Crivella Do we also want to pull defining of self.search_paths out of configure_step, so --sanity-check-only works fully as expected?

@Crivella

Crivella commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

IIRC we do not have the get_software_root for the deps available yet at the __init__ so it would not be feasible if we also want the filtering?
Also not sure the GCC we get before configure would necessarily be the correct one (eg EB vs system)

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.

2 participants