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

Explicitly use the GNU binutils ld.bfd linker #8382

Conversation

fwyzard
Copy link
Contributor

@fwyzard fwyzard commented Mar 14, 2023

As we configure them, gcc and clang already use the GNU bfd linker by default (ld or ld.bfd, they are the same in our externals).

Instead hipcc uses its version of ld.lld by default.

This can cause inker problems in some corner cases, for example when linking objects with weak V symbols with objects with unique u symbols: ld.bfd and ld.gold seem to handle that, while ld.lld fails with a duplicate symbol error.

Rather than changing how gcc and clang generate symbols, it looks like the problem can be fixed instructing hipcc to use the GNU bfd linker.
This improves consistency with the rest of our build system, possibly avoiding other corner cases.

Setting the flag for gcc should propagate automatically to clang and hipcc, making sure all compilers consistently use the same linker.

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @fwyzard (Andrea Bocci) for branch IB/CMSSW_13_1_X/master.

@cmsbuild, @smuzaffar, @aandvalenzuela, @iarspider can you please review it and eventually sign? Thanks.
@perrotta, @dpiparo, @rappoccio you are the release manager for this.
cms-bot commands are listed here

@fwyzard
Copy link
Contributor Author

fwyzard commented Mar 14, 2023

test parameters:

  • full_cmssw = true

@fwyzard
Copy link
Contributor Author

fwyzard commented Mar 14, 2023

please test

@cmsbuild
Copy link
Contributor

-1

Failed Tests: UnitTests
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-5cf563/31263/summary.html
COMMIT: 9f3d328
CMSSW: CMSSW_13_1_X_2023-03-13-2300/el8_amd64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmsdist/8382/31263/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-5cf563/31263/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-5cf563/31263/git-merge-result

Unit Tests

I found errors in the following unit tests:

---> test DRNTest had ERRORS

Comparison Summary

Summary:

  • You potentially removed 176 lines from the logs
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 49
  • DQMHistoTests: Total histograms compared: 3550756
  • DQMHistoTests: Total failures: 4
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3550730
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 48 files compared)
  • Checked 213 log files, 164 edm output root files, 49 DQM output files
  • TriggerResults: no differences found

@fwyzard
Copy link
Contributor Author

fwyzard commented Mar 14, 2023

---> test DRNTest had ERRORS

The error is

%MSG-e TritonService:  AfterSourceConstruction 14-Mar-2023 16:17:33 CET  pre-events
CMS_TRITON_GRPC_PORT: 8001
WARNING: While bind mounting '/data:/data': destination is already in the mount point list
INFO:    underlay of /etc/grid-security required more than 50 (105) bind mounts
ERROR:   container cleanup failed: no instance found with name triton_server_instance_13a406f3-14ac-481f-b210-3ad414afec99
FATAL:   container creation failed: mount hook function failure: mount /etc/tnsnames.ora->/etc/tnsnames.ora error: while mounting /etc/tnsnames.ora: destination /etc/tnsnames.ora doesn't exist in container

FATAL:   failed to start instance: while running /usr/libexec/apptainer/bin/starter: exit status 255
Error for command "stop": no instance found

so I assume it is unrelated to this PR.

@smuzaffar
Copy link
Contributor

+externals
we have seen this unit test randomly fails or random nodes.

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next IB/CMSSW_13_1_X/master IBs (but tests are reportedly failing). This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @rappoccio (and backports should be raised in the release meeting by the corresponding L2)

@smuzaffar
Copy link
Contributor

please test for el8_ppc64le_gcc11

@smuzaffar
Copy link
Contributor

please test for el8_aarch64_gcc11

lets tests this change for non-x86_64 archs too

@cmsbuild
Copy link
Contributor

-1

Failed Tests: UnitTests
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-5cf563/31284/summary.html
COMMIT: 9f3d328
CMSSW: CMSSW_13_1_X_2023-03-14-2300/el8_aarch64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmsdist/8382/31284/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-5cf563/31284/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-5cf563/31284/git-merge-result

Unit Tests

I found errors in the following unit tests:

---> test CalibCalorimetryEcalLaserSortingRunStreamer had ERRORS
---> test DQMServicesStreamerIORunStreamer had ERRORS

@cmsbuild
Copy link
Contributor

-1

Failed Tests: UnitTests
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-5cf563/31286/summary.html
COMMIT: 9f3d328
CMSSW: CMSSW_13_1_X_2023-03-14-2300/el8_ppc64le_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmsdist/8382/31286/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-5cf563/31286/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-5cf563/31286/git-merge-result

Unit Tests

I found errors in the following unit tests:

---> test testONNXRuntime had ERRORS

@smuzaffar
Copy link
Contributor

this looks good

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.

None yet

3 participants