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

[cxxmodules] Reduce the amount of header duplications in the modules. #10498

Merged
merged 1 commit into from May 4, 2022

Conversation

vgvassilev
Copy link
Member

This resolves a merging bug with libstdc++12. Fixes #10478

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, ROOT-ubuntu2004/soversion, mac1015/python3, mac11/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu2004/soversion.
Running on root-ubuntu-2004-1.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-04-30T14:33:38.244Z] stderr: error: branch 'vgvassilev-gcc12' not found.
  • [2022-04-30T14:37:22.893Z] FAILED: core/G__Core.cxx lib/Core.pcm
  • [2022-04-30T14:37:24.272Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:37:24.272Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:37:24.272Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/Interpreter/DynamicExprInfo.h:40:7: error: use of undeclared identifier 'std'
  • [2022-04-30T14:37:24.272Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:37:24.272Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/Interpreter/DynamicLookupLifetimeHandler.h:56:7: error: use of undeclared identifier 'std'
  • [2022-04-30T14:37:24.272Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:37:24.272Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:37:24.272Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/Interpreter/Value.h:93:41: error: use of undeclared identifier 'std'

And 33 more

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-04-30T14:37:42.130Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:37:42.130Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:37:42.130Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/Interpreter/DynamicExprInfo.h:40:7: error: use of undeclared identifier 'std'
  • [2022-04-30T14:37:42.130Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:37:42.130Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/Interpreter/DynamicLookupLifetimeHandler.h:56:7: error: use of undeclared identifier 'std'
  • [2022-04-30T14:37:42.130Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:37:42.130Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:37:42.130Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/Interpreter/Value.h:93:41: error: use of undeclared identifier 'std'
  • [2022-04-30T14:37:42.130Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/Interpreter/Value.h:93:56: error: use of undeclared identifier 'std'
  • [2022-04-30T14:37:42.130Z] /home/sftnight/build/workspace/root-pullrequests-build/build/etc/cling/Interpreter/Value.h:93:83: error: expected ',' or '>' in template-parameter-list

And 31 more

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-performance-centos8-multicore/default.
Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-04-30T14:33:31.243Z] stderr: error: branch 'vgvassilev-gcc12' not found.
  • [2022-04-30T14:39:28.352Z] /data/sftnight/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:39:28.353Z] /data/sftnight/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:39:28.353Z] /data/sftnight/workspace/root-pullrequests-build/build/etc/cling/Interpreter/DynamicExprInfo.h:40:7: error: use of undeclared identifier 'std'
  • [2022-04-30T14:39:28.353Z] /data/sftnight/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:39:28.353Z] /data/sftnight/workspace/root-pullrequests-build/build/etc/cling/Interpreter/DynamicLookupLifetimeHandler.h:56:7: error: use of undeclared identifier 'std'
  • [2022-04-30T14:39:28.353Z] /data/sftnight/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:39:28.353Z] /data/sftnight/workspace/root-pullrequests-build/build/etc/cling/std.modulemap:441:12: error: header 'bits/utility.h' not found
  • [2022-04-30T14:39:28.353Z] /data/sftnight/workspace/root-pullrequests-build/build/etc/cling/Interpreter/Value.h:93:41: error: use of undeclared identifier 'std'
  • [2022-04-30T14:39:28.353Z] /data/sftnight/workspace/root-pullrequests-build/build/etc/cling/Interpreter/Value.h:93:56: error: use of undeclared identifier 'std'

And 32 more

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, ROOT-ubuntu2004/soversion, mac1015/python3, mac11/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft11.dyndns.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-04-30T14:43:33.625Z] stderr: error: branch 'vgvassilev-gcc12' not found.

@phsft-bot
Copy link
Collaborator

Build failed on windows10/cxx14.
Running on null:C:\build\workspace\root-pullrequests-build
See console output.

Errors:

  • [2022-04-30T14:51:47.829Z] stderr: error: branch 'vgvassilev-gcc12' not found.

@phsft-bot
Copy link
Collaborator

Build failed on mac1015/python3.
Running on macitois21.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-04-30T20:30:11.454Z] stderr: error: branch 'vgvassilev-gcc12' not found.

@vgvassilev
Copy link
Member Author

Looks like the builds and tests are happy, not sure what that error is...

@vgvassilev vgvassilev merged commit e88d533 into root-project:master May 4, 2022
@vgvassilev vgvassilev deleted the gcc12 branch May 4, 2022 06:25
@hahnjo
Copy link
Member

hahnjo commented May 4, 2022

Hi @vgvassilev, the header bits/utility.h was apparently only introduced for libstdc++12 and is not available in older versions (8.5.0 on C8S and 11.2.0 on Arch Linux). As a result, the build currently fails in C++17 mode unless using libc++. What is the correct way to make the header entry conditional in the modulemap?

(This went unnoticed in Jenkins because we don't have a C++17 build with GCC for PRs!! FYI @Axel-Naumann)

@vgvassilev
Copy link
Member Author

@hahnjo, thanks! I hoped that will get unnoticed due to the requires clause. We don't have a good way to solve this. In theory rootcling can define modules-feature which tells us if this header exists or not. In practice, I think we can delete this entry from the modulemap again and ask the bug submitter to verify if the build works for them. I think the other two submodules have fixed the original issue.

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

Successfully merging this pull request may close these issues.

runtime_cxxmodules fails to build with GCC12
4 participants