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

{toolchain} GCC 10.3.0 #12521

Merged
merged 6 commits into from
Apr 13, 2021

Conversation

boegel
Copy link
Member

@boegel boegel commented Apr 5, 2021

(created using eb --new-pr)
WIP because final GCC 10.3.0 is not available yet, using first release candidate (10.2.1) for now; final 10.3 release expected later this week (cfr. https://gcc.gnu.org/pipermail/gcc/2021-April/235257.html) (all good now, final 10.3.0 release is there)

@boegel boegel added the update label Apr 5, 2021
@boegel
Copy link
Member Author

boegel commented Apr 5, 2021

@boegelbot please test @ generoso
CORE_COUNT=16

@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on generoso

PR test command 'EB_PR=12521 EB_ARGS= /apps/slurm/default/bin/sbatch --job-name test_PR_12521 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 16490

Test results coming soon (I hope)...

- notification for comment with ID 813321070 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegel boegel added this to the 4.x milestone Apr 5, 2021
@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 11 out of 11 (11 easyconfigs in total)
generoso-c1-s-1 - Linux centos linux 8.2.2004, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/be76b66f522517e33ad5996ac45dce75 for a full test report.

@boegel boegel changed the title {toolchain} GCC 10.3.0 (WIP) {toolchain} GCC 10.3.0 Apr 8, 2021
@boegel
Copy link
Member Author

boegel commented Apr 8, 2021

@boegelbot please test @ generoso
CORE_COUNT=16

@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on generoso

PR test command 'EB_PR=12521 EB_ARGS= /apps/slurm/default/bin/sbatch --job-name test_PR_12521 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 16511

Test results coming soon (I hope)...

- notification for comment with ID 816025310 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

boegelbot commented Apr 8, 2021

Test report by @boegelbot
FAILED
Build succeeded for 3 out of 11 (11 easyconfigs in total)
generoso-c1-s-1 - Linux centos linux 8.2.2004, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/c25ded996464fc08311c3bb98bae63f5 for a full test report.

edit (by @boegel): sources failed to download because mirrors haven't caught up yet, I'll seed in the sources on generoso...

@boegelbot
Copy link
Collaborator

@boegelbot: I noticed your comment, but I only dance when @akesandgren or @bartoldeman or @boegel or @branfosj or @casparvl or @Micket or @migueldiascosta or @smoors or @verdurin tells me (for now), I'm sorry...

- notification for comment with ID 816029120 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegel
Copy link
Member Author

boegel commented Apr 8, 2021

@boegelbot please test @ generoso
CORE_COUNT=16

@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on generoso

PR test command 'EB_PR=12521 EB_ARGS= /apps/slurm/default/bin/sbatch --job-name test_PR_12521 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 16512

Test results coming soon (I hope)...

- notification for comment with ID 816038162 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegel
Copy link
Member Author

boegel commented Apr 8, 2021

Test report by @boegel
SUCCESS
Build succeeded for 11 out of 11 (11 easyconfigs in total)
node3501.doduo.os - Linux RHEL 8.2, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.6.8
See https://gist.github.com/61a3b978f4186ceb8eb6c43d8d003e11 for a full test report.

@Micket
Copy link
Contributor

Micket commented Apr 8, 2021

Test report by @Micket
SUCCESS
Build succeeded for 11 out of 11 (11 easyconfigs in total)
vera-c1 - Linux centos linux 7.9.2009, x86_64, Intel Xeon Processor (Skylake), Python 2.7.5
See https://gist.github.com/71648b7fc12df8bbe8e1b32da33a9665 for a full test report.

@boegel
Copy link
Member Author

boegel commented Apr 8, 2021

Test report by @boegel
SUCCESS
Build succeeded for 11 out of 11 (11 easyconfigs in total)
node3416.kirlia.os - Linux centos linux 7.9.2009, x86_64, Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz (cascadelake), Python 3.6.8
See https://gist.github.com/b847f04fe8ed30b789cfe869acf84144 for a full test report.

Copy link
Member

@SebastianAchilles SebastianAchilles left a comment

Choose a reason for hiding this comment

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

About binutils: Is there a reason to use version 2.35 and version 2.36.1?

@boegel
Copy link
Member Author

boegel commented Apr 8, 2021

@boegelbot please test @ generoso
CORE_COUNT=16

@easybuilders easybuilders deleted a comment from boegelbot Apr 8, 2021
@boegel
Copy link
Member Author

boegel commented Apr 8, 2021

Test report by @boegel
SUCCESS
Build succeeded for 11 out of 11 (11 easyconfigs in total)
node3123.skitty.os - Linux centos linux 7.9.2009, x86_64, Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz, Python 3.6.8
See https://gist.github.com/bf746a2b5c5ac41d50d575b4c89d1d6d for a full test report.

@easybuilders easybuilders deleted a comment from boegelbot Apr 8, 2021
@easybuilders easybuilders deleted a comment from boegelbot Apr 8, 2021
@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on generoso

PR test command 'EB_PR=12521 EB_ARGS= /apps/slurm/default/bin/sbatch --job-name test_PR_12521 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 16515

Test results coming soon (I hope)...

- notification for comment with ID 816107035 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegel
Copy link
Member Author

boegel commented Apr 8, 2021

Test report by @boegel
SUCCESS
Build succeeded for 11 out of 11 (11 easyconfigs in total)
select-pika-c6gd-4xlarge-0001 - Linux centos linux 8.3.2011, AArch64, ARM UNKNOWN (graviton2), Python 3.6.8
See https://gist.github.com/6bb86938282e0812b141c85bb5c4b8f0 for a full test report.

@akesandgren
Copy link
Contributor

Test report by @akesandgren
FAILED
Build succeeded for 1 out of 9 (10 easyconfigs in total)
b-cn0235.hpc2n.umu.se - Linux Ubuntu 20.04, x86_64, Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz, Python 3.8.5
See https://gist.github.com/0164131f3a3ea695722e657f889d8388 for a full test report.

@Micket
Copy link
Contributor

Micket commented Apr 9, 2021

Test report by @Micket
SUCCESS
Build succeeded for 10 out of 10 (10 easyconfigs in total)
vera-c1 - Linux centos linux 7.9.2009, x86_64, Intel Xeon Processor (Skylake), Python 2.7.5
See https://gist.github.com/4b7e15eae493ed00caf80c455aaf096f for a full test report.

@akesandgren
Copy link
Contributor

akesandgren commented Apr 10, 2021

GCCcore itself requires perl during install phase !!

mkdir -p -- /home/a/ake/Public/easybuild/software/GCCcore/10.3.0/nvptx-none/bin
rel=$(perl -MFile::Spec -e 'print File::Spec->abs2rel(@ARGV)' /home/a/ake/Public/easybuild/software/GCCcore/10.3.0/bin /home/a/ake/Public/easybuild/software/GCCcore/10.3.0/nvptx-none/bin) && \
for p in ar as ld ranlib; do \
  rm -f /home/a/ake/Public/easybuild/software/GCCcore/10.3.0/nvptx-none/bin/"$p" && \
  ln -s "$rel"/nvptx-none-"$p" /home/a/ake/Public/easybuild/software/GCCcore/10.3.0/nvptx-none/bin/"$p"; \
done
/bin/sh: 1: perl: not found
make: *** [Makefile:103: install] Error 127

So we do need Perl-base at SYSTEM level

Or a patch that removes the perl usage there. It simply wants to make relative symlinks, and we know what they should be instead...

@boegel
Copy link
Member Author

boegel commented Apr 10, 2021

@akesandgren Is it worth blocking this PR over that? Is this a problem new to GCC 10.3?

If not, I suggest we open an issue to follow up on this...
On most systems, perl will be there as an OS package, so this is unlikely to cause trouble very often?

@Flamefire
Copy link
Contributor

@boegel If perl is already required, I'd suggest to include makeinfo again to avoid the "hack". In which case I'd say this is a blocker.
How hard is it to get a core-perl at system level? So just the absolut minimum to decrease size and dependencies, maybe just the perl interpreter or so?

Alternatively: Add perl to the system-dependencies as we do with other packages already.

And to be blunt: What does Spack do? Always good to see how others handle the problem ;)

@boegel
Copy link
Member Author

boegel commented Apr 10, 2021

@boegel If perl is already required, I'd suggest to include makeinfo again to avoid the "hack". In which case I'd say this is a blocker.

Hmm, yeah, I guess we can add back makeinfo then too. Except if Perl requires makeinfo... ;)

How hard is it to get a core-perl at system level? So just the absolut minimum to decrease size and dependencies, maybe just the perl interpreter or so?

Probably not difficult, but Perl being the very first thing that gets built is going to be annoying...

Alternatively: Add perl to the system-dependencies as we do with other packages already.

That makes most sense to me, since in practice it shouldn't make much difference (because perl is usually there), and if it does happen to be missing, then you'll get a clear error.

And to be blunt: What does Spack do? Always good to see how others handle the problem ;)

No trace of perl in the Spack package for GCC, so it seems like they don't register this requirement either.

@boegel
Copy link
Member Author

boegel commented Apr 10, 2021

Actually, since makeinfo requires additional Perl modules which are not a part of the Perl standard library (see #12067), we should probably stick to the MAKEINFO=true hack?

@Micket
Copy link
Contributor

Micket commented Apr 10, 2021

I'm for just treating it as a OS dep, at least for now, so that we can get things started with GCCcore 10.3.0. And then let Åke sort this out for all the versions of GCC where we enable nvptx :)

I'm also for just keeping makeinfo out of system level packages if possible. It really doesn't add any benefit to the stuff we use to just boostrap the real stuff. In fact, I don't think the manuals/documentation in modules really serve much purpose at all in a module system. I just would look up documentation online anyway for any software, and I think users do that as well.

@justbennet
Copy link
Contributor

I think people are having trouble with including an EB-built Perl, and I certainly did not intend to try to force installation of one. I was trying to ask whether it should be done, or whether the system dependency should be documented.

I was purposely starting from a Red Hat 8 'minimal' installation to see what was required from the system packages, and this came up.

For what my opinion is worth, I think it would be fine to make the two Perl libraries a system dependency, so long as the error is detected and can be clearly stated along with the solution, or, preferably, just listed so that people can have an OS equivalent to a requirements.txt file to avoid the build error.

So far as I know, there isn't a list of what is needed from the system, and I was probably using an artificially small installation, but such a list could (should?) be made, which would render this moot. Regardless of the outcome of this, a list of system dependencies would be worth having, wouldn't it?

Sorry for creating a storm in the teacup.

@akesandgren
Copy link
Contributor

makeinfo at the basic level does not require extra perl modules, see my comment in #12067

@Micket
Copy link
Contributor

Micket commented Apr 10, 2021

I'm still in favor of not including a makeinfo at SYSTEM level if we can avoid it, even if we have a perl. It just doesn't add anything of value for bootstrapping the toolchain.

And there is plenty of time to resolve the perl-dependency for GCCcore before 4.3.5 (since the problem isn't new with 10.3, it is surely also present in 10.2 and probably several earlier versions as well).

@boegel
Copy link
Member Author

boegel commented Apr 12, 2021

I've added perl as an OS dependency for GCCcore 10.3.0, but strictly speaking that's not exactly what we need: perl is only needed when building GCC?

@boegel
Copy link
Member Author

boegel commented Apr 12, 2021

I've added perl as an OS dependency for GCCcore 10.3.0, but strictly speaking that's not exactly what we need: perl is only needed when building GCC?

Actually, I guess that doesn't matter much, since an OS dependency is really only checking during the installation, there's no runtime check added to the module file for these...

Copy link
Member

@SebastianAchilles SebastianAchilles left a comment

Choose a reason for hiding this comment

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

As far as I understood perl is only need when compiling GCCcore with nvptx support.

'0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch
]

osdependencies = ['perl']
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
osdependencies = ['perl']
# needed for nvptx
if withnvptx:
osdependencies = ['perl']

Copy link
Contributor

Choose a reason for hiding this comment

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

Isn't osdeps a () list?

Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

We use [] elsewhere, so should be [] here too, for consistency.

The if withnvptx is not going to work though, unless it's moved down below the withnvptx = True...

Copy link
Member

Choose a reason for hiding this comment

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

Yes, my idea was to move this if withnvptx below withnvptx = True. In that way it's more clear why we need perl when someone just looks at the easyconfig in the future.
Also this could make it more clear that people can choose to disable nvptx in case perl is it not available (or if they don't want to install it). Although personally I think nvptx offload support is a really nice feature 😉

Copy link
Member

@SebastianAchilles SebastianAchilles left a comment

Choose a reason for hiding this comment

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

@boegel This is what I actually had in mind.

'0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch
]

osdependencies = ['perl']
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
osdependencies = ['perl']

@boegel
Copy link
Member Author

boegel commented Apr 12, 2021

@boegelbot please test @ generoso
CORE_COUNT=16

@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on generoso

PR test command 'EB_PR=12521 EB_ARGS= /apps/slurm/default/bin/sbatch --job-name test_PR_12521 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 16525

Test results coming soon (I hope)...

- notification for comment with ID 817982484 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@SebastianAchilles
Copy link
Member

Test report by @SebastianAchilles
SUCCESS
Build succeeded for 10 out of 10 (10 easyconfigs in total)
jrlogin11.jureca - Linux centos linux 8.2.2004, x86_64, AMD EPYC 7742 64-Core Processor, Python 3.6.8
See https://gist.github.com/6188c8c2a7fbfc38547f6b80fee954d2 for a full test report.

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 10 out of 10 (10 easyconfigs in total)
generoso-c1-s-2 - Linux centos linux 8.2.2004, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/148fcc03b0654c5fa52129643045691a for a full test report.

@Micket
Copy link
Contributor

Micket commented Apr 13, 2021

Test report by @Micket
SUCCESS
Build succeeded for 10 out of 10 (10 easyconfigs in total)
vera-c1 - Linux centos linux 7.9.2009, x86_64, Intel Xeon Processor (Skylake), Python 2.7.5
See https://gist.github.com/d5d46025fa8168dedcab2ee9f18aad48 for a full test report.

Copy link
Contributor

@Micket Micket left a comment

Choose a reason for hiding this comment

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

lgtm

@Micket Micket dismissed akesandgren’s stale review April 13, 2021 13:57

@akesandgren said he had no complaints about the current state of the PR.

@Micket
Copy link
Contributor

Micket commented Apr 13, 2021

Going in, thanks @boegel!

@Micket Micket merged commit 0a3f0f3 into easybuilders:develop Apr 13, 2021
@boegel boegel deleted the 20210405120828_new_pr_GCC1021 branch April 13, 2021 18:12
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.

7 participants