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] Don't declare strings from rootmap for modules #3043

Merged
merged 8 commits into from
Jun 2, 2019

Conversation

vgvassilev
Copy link
Member

We don't need any input_line declration from rootmap for startup time. However it may cause a failure on tests when they have custom dictionaries.

Should give 5MB improvements for modules.

Patch by Yuka Takahashi and me!

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-centos7/python3, ROOT-fedora27/noimt, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default with flags -Dccache=ON
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on windows10/default.
See console output.

@vgvassilev
Copy link
Member Author

@phsft-bot build!

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on windows10/default.
See console output.

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu16/rtcxxmod.
See console output.

Errors:

  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library THistPainter.h for THistPainter
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library TProfile.h for EErrorType
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library TString.h for TString::Rep_t
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library TString.h for TString::Rep_t
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library TString.h for TString::Rep_t
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library TString.h for TString::Rep_t
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library TString.h for TString::Rep_t
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library TString.h for TString::Rep_t
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library TString.h for TString::Rep_t
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library TString.h for TString::Rep_t

And 399 more

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu16/rtcxxmod.
See console output.

Errors:

  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library stl for shared_ptr<TObjLink>
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library stl for __shared_ptr<TObjLink>
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library stl for __shared_ptr<TObjLink>
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library stl for __shared_count<__gnu_cxx::_Lock_policy::_S_atomic>
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library stl for __shared_count<__gnu_cxx::_Lock_policy::_S_atomic>
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library stl for __shared_count<__gnu_cxx::_Lock_policy::_S_atomic>
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library stl for __shared_count<__gnu_cxx::_Lock_policy::_S_atomic>
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library stl for shared_ptr<TObjLink>
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library stl for __shared_count<__gnu_cxx::_Lock_policy::_S_atomic>
  • Error in <TInterpreter::TCling::AutoLoad>: failure loading library stl for __shared_count<__gnu_cxx::_Lock_policy::_S_atomic>

And 59 more

@vgvassilev
Copy link
Member Author

The failures seem unrelated.

@vgvassilev vgvassilev requested a review from pcanal May 5, 2019 11:41
@Axel-Naumann
Copy link
Member

@vgvassilev how so?

@Axel-Naumann
Copy link
Member

@phsft-bot build just on mac1014/cxx17

@phsft-bot
Copy link
Collaborator

Starting build on mac1014/cxx17
How to customize builds

@Axel-Naumann
Copy link
Member

Yup, @vgvassilev - build failures were unrelated! :-) And fixed!

@amadio
Copy link
Member

amadio commented May 6, 2019

What about Travis CI failure?

@vgvassilev
Copy link
Member Author

@amadio, it also seems unrelated.

@phsft-bot
Copy link
Collaborator

Starting build on mac1014/cxx17
How to customize builds

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

It gives more correct information whether we need a rootmap file.
This feature is used by clang to append the correct -l flags if a module
is used. For example if we deserialize a from module A which has a link
directive libA.so, clang will append -lA.so.

ROOT and cling has dynamic linker. We should disable the default clang
feature because it clashes with our implementation.
This patch allows given a name to deduce the library it is defined in.
It uses the information provided in by the link directive in the module
definition.

This is useful to implement the TCling::AutoLoad interface for modules.
The usecase allows users to specify the headers only as #includes in the
LinkDef file. This causes many subtleties such as incomplete modulemaps
and inaccurate cmake dependencies.
The implementation of class->library mapping makes a call to the
LookupHelper::findScope. This makes the recursive invocations to
LookupHelper::findScope -> ... -> LookupHelper::findScope happen more often.
@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@vgvassilev
Copy link
Member Author

@phsft-bot build with flags -DCTEST_TEST_EXCLUDE_NONE=On

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default with flags -DCTEST_TEST_EXCLUDE_NONE=On
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on mac1014/cxx17.
See console output.

Errors:

  • CMake Error at interpreter/llvm/src/tools/clang/tools/driver/CMakeLists.txt:120 (file):
  • CMake Error at /build/jenkins/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:850 (message):

@vgvassilev
Copy link
Member Author

@phsft-bot build with flags -DCTEST_TEST_EXCLUDE_NONE=On

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default with flags -DCTEST_TEST_EXCLUDE_NONE=On
How to customize builds

@vgvassilev vgvassilev merged commit ee767d9 into root-project:master Jun 2, 2019
@vgvassilev vgvassilev deleted the yamaguchi1024-uniqstring branch June 2, 2019 19:37
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.

5 participants