Skip to content

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

Merged
vgvassilev merged 1 commit intoroot-project:masterfrom
vgvassilev:gcc12
May 4, 2022
Merged

[cxxmodules] Reduce the amount of header duplications in the modules.#10498
vgvassilev merged 1 commit intoroot-project:masterfrom
vgvassilev:gcc12

Conversation

@vgvassilev
Copy link
Copy Markdown
Member

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

@phsft-bot
Copy link
Copy Markdown

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
Copy Markdown

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
Copy Markdown

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
Copy Markdown

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
Copy Markdown

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
Copy Markdown

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
Copy Markdown

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
Copy Markdown

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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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