Skip to content
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

define 'system' toolchain, deprecate 'dummy' toolchain (WIP) #1233

Closed
wants to merge 6 commits into from

Conversation

boegel
Copy link
Member

@boegel boegel commented Mar 18, 2015

TODO:

  • make sure all unit tests pass (at least one still fails, because of pulling in easyconfigs using dummy via --from-pr)
  • add dedicated test to ensure that using dummy still works (and will keep working until v3.0)

@hpcugentbot
Copy link
Contributor

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1524/
Test FAILed.


# deliberately not picking particular compilers
COMPILER_CC = '%sCC' % TC_CONSTANT_SYSTEM
COMPILER_CXX = '%sCXX' % TC_CONSTANT_SYSTEM
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, EB will not set $CC or $CXX right? The user can choose which system compiler to use?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, and I'm not sure if we shouldn't add a SystemGCC TC to specifically pick GCC and populate $CC and friends and set them to the same values as for the GCC TC.
But I would tend to leave it as it here. This basically reflects what people have been using dummy for.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With this, EB will set $CC to SYSTEMCC, which mimics with dummy was doing. Maybe we shouldn't set it at all.

Introducing a separate SystemGCC may be interesting, but wouldn't buy us much I think (people have no trouble in using dummy even though EB sets $CC to DUMMYCC, so in practice setting $CC makes little difference, apparently).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would expect that the system toolchain doesn't define $CC or $CXX at all. Any code build with it, should try to find it's own compiler using whatever build system it has. The end user should be able to choose what to do by setting $CC (choosing between clang and gcc for example) and EB will not touch that.

I'm not a fan of having a SystemGCC.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could have the system TC expose a module that a site can customize to fit the needs to set $CC et al. ?

@hpcugentbot
Copy link
Contributor

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1525/
Test FAILed.

@hpcugentbot
Copy link
Contributor

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1526/
Test FAILed.

@boegel boegel added this to the v2.2 milestone Jun 24, 2015
@boegel boegel modified the milestones: v2.2, v2.3 Jul 3, 2015
@boegel boegel modified the milestones: v2.4.0, v2.5.0 Oct 28, 2015
@boegel boegel modified the milestones: v2.5.0, v2.6.0 Dec 14, 2015
@boegel boegel modified the milestones: v2.6.0, v2.7.0 Jan 22, 2016
@boegel boegel modified the milestones: v2.7.0, v2.8.0 Mar 9, 2016
@boegel boegel modified the milestones: v2.8.0, v2.7.0 Mar 9, 2016
@boegel boegel modified the milestones: v2.8.0, v2.x May 10, 2016
@damianam
Copy link
Member

While you are at it, I'd argue too that the new system toolchain should load dependencies too (or have a mechanism to allow it). Example: Java packages that need to be compiled with javac and nothing else. Those depend on Java, but Java is not being loaded for dummy, which pushes the dependency up to GCCcore, which is not too bad, but not really necessary.

@boegel
Copy link
Member Author

boegel commented Apr 10, 2017

@damianam To get dependencies loaded when using the dummy toolchain, use an empty version rather than dummy as version, see also http://easybuild.readthedocs.io/en/latest/Concepts_and_Terminology.html#dummy-toolchain

@damianam
Copy link
Member

That's very intuitive, I don't know how I missed that ;-P. Thanks!

@boegel
Copy link
Member Author

boegel commented May 13, 2019

replaced by #2877

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

Successfully merging this pull request may close these issues.

5 participants