-
Notifications
You must be signed in to change notification settings - Fork 284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ensure correct compiler command/flags are used for SAMtools #966
Conversation
@wpoely86 please review tested with all 29 existing SAMtools easyconfigs, works like a charm |
entertaining how long this escaped under the radar; do we have any means to verify when icc compiler was really picked up? is there any kind of stamp? |
"""Ensure correct compiler command & flags are used via arguments to 'make' build command""" | ||
for var in ['CC', 'CFLAGS']: | ||
if var in os.environ: | ||
self.cfg.update('buildopts', '%s="%s"' % (var, os.getenv(var))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, btw
@wpoely86 feels a warm glow of happiness |
Going in, thanks for the review @fgeorgatos an @wpoely86! @fgeorgatos I think @pforai knows of a way to check with which compiler stuff was built, so we could look into a generic detection mechanism in framework to catch occurrences like this... |
I submitted the original ticket in Sep 10, 2015 already (https://github.com/hpcugent/easybuild-easyconfigs/issues/1959)… I don’t recall whether we’ve discussed this somewhere, but I do recall thinking “how many other easyconfigs will also have this issue”? Anyway, thanks for the fix, Kenneth… — Franky
|
I've played around parsing ELF structures where compilers insert identification strings (usually .comment) and the basic approach was to generate a dummy ELF with the toolchain that is selected and check the ELF for whatever string was inserted by the compiler, then go through all of the generated binaries and do string comparison there. The problem is that some compilers insert very precise infos and you can easily do comparisons while others are just inserting strings like "Intel Corporation" by default but compilation settings can be changed to get better visibility (-sox for ICC etc.). GCC for example inserts additional ELF sections regarding ABI compatibility etc. I guess we can make this work as part of sanity checking. |
If we're going to do compiler wrappers for rpath, we might as well use them for this too? |
@wpoely86 where do compilers wrappers come into play here? |
with the compiler wrappers, we know if |
fix for easybuilders/easybuild-easyconfigs#1959
cc @backelj