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

Update GCC 10.2 binutils to 2.35.2 to fix fatal issues on PPC #12920

Closed

Conversation

Flamefire
Copy link
Contributor

@Flamefire Flamefire commented May 21, 2021

(created using eb --new-pr)

This is required because the gold linker creates invalid asm instructions on PPC, observed with TensorFlow 2.5.0, verified with 2.35.0 and 2.35.1 and fixed in 2.35.2

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100706 for technical details

@Flamefire
Copy link
Contributor Author

Test report by @Flamefire
SUCCESS
Build succeeded for 4 out of 4 (4 easyconfigs in total)
taurusi7018 - Linux centos linux 7.7.1908, x86_64, AMD EPYC 7702 64-Core Processor (zen2), Python 2.7.5
See https://gist.github.com/65fcddeabc8965bfa5dd9df742140677 for a full test report.

@easybuilders easybuilders deleted a comment from boegelbot May 21, 2021
@easybuilders easybuilders deleted a comment from boegelbot May 21, 2021
@branfosj branfosj added this to the 4.4.0 milestone May 21, 2021
@boegelbot
Copy link
Collaborator

@Flamefire: Tests failed in GitHub Actions, see https://github.com/easybuilders/easybuild-easyconfigs/actions/runs/864681563
Output from first failing test suite run:

Found 12175 easyconfigs...
FAIL: test_conflicts (test.easyconfigs.easyconfigs.EasyConfigTest)
Failed to determine merge base (ec: 1, output: ''), falling back to specifying target branch develop
Check whether any conflicts occur in software dependency graphs.
Failed to determine merge base (ec: 1, output: ''), falling back to specifying target branch develop
----------------------------------------------------------------------

Traceback (most recent call last):
List of changed easyconfig files in this PR:
  File "test/easyconfigs/easyconfigs.py", line 159, in test_conflicts
	AOCC-2.3.0-GCCcore-10.2.0.eb
    "No conflicts detected")
	AOCC-3.0.0-GCCcore-10.2.0.eb
AssertionError: No conflicts detected
	Clang-11.0.1-GCCcore-10.2.0.eb

	Clang-11.0.1-gcccuda-2020b.eb
----------------------------------------------------------------------
	flatbuffers-python-1.12-GCCcore-10.2.0.eb
Ran 12185 tests in 368.082s
	GCC-10.2.0.eb

	Mercurial-5.7.1-GCCcore-10.2.0.eb
FAILED (failures=1)
	Python-2.7.18-GCCcore-10.2.0.eb
ERROR: Not all tests were successful.

bleep, bloop, I'm just a bot (boegelbot v20200716.01)
Please talk to my owner @boegel if you notice you me acting stupid),
or submit a pull request to https://github.com/boegel/boegelbot fix the problem.

@boegel
Copy link
Member

boegel commented May 26, 2021

@Flamefire As discussed during the EasyBuild conf call today, swapping binutils 2.35 with binutils 2.35.2 just to fix a obscure error on a relatively uncommon platform like POWER is going to be painful, especially since binutils is sometimes a runtime dependency (for example for Python).

Ideally we can figure out a patch for binutils 2.35 that fixes this issue, and add that to the binutils 2.35 easyconfig.
If that proves to be difficult, another way forward is to update the binutils 2.35 easyconfig to use the 2.35.2 source tarball instead (and only do so for POWER), along with a clear comment to clarify why that was done...

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