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
Fix error from apple-clang-8.0 because of missing #include <functional> #17155
Fix error from apple-clang-8.0 because of missing #include <functional> #17155
Conversation
While compiling with apple-clang-8.0 many error were the result of a missing include in DataFormats/Provenenace/interface/Hash.h. The gcc header <string> includes <functional> but the apple clang's version does not. This is the error. /private/var/folders/hm/7pxrf4vx4_g4f_nkfrcwqq8m0000gp/T/gartung/spack-stage/spack-stage-_shPan/spack-build/CMSSW_9_0_0_pre2/src/DataFormats/Provenance/interface/Hash.h:165:43: error: no m ember named 'greater' in namespace 'std' return this->compareUsing(other, std::greater<std::string>()); ~~~~~^ /private/var/folders/hm/7pxrf4vx4_g4f_nkfrcwqq8m0000gp/T/gartung/spack-stage/spack-stage-_shPan/spack-build/CMSSW_9_0_0_pre2/src/DataFormats/Provenance/interface/Hash.h:165:62: error: expe cted '(' for function-style cast or type construction return this->compareUsing(other, std::greater<std::string>()); ~~~~~~~~~~~^ /private/var/folders/hm/7pxrf4vx4_g4f_nkfrcwqq8m0000gp/T/gartung/spack-stage/spack-stage-_shPan/spack-build/CMSSW_9_0_0_pre2/src/DataFormats/Provenance/interface/Hash.h:165:64: error: expe cted expression return this->compareUsing(other, std::greater<std::string>()); ^ /private/var/folders/hm/7pxrf4vx4_g4f_nkfrcwqq8m0000gp/T/gartung/spack-stage/spack-stage-_shPan/spack-build/CMSSW_9_0_0_pre2/src/DataFormats/Provenance/interface/Hash.h:172:43: error: no t emplate named 'equal_to' in namespace 'std'; did you mean '__equal_to'? return this->compareUsing(other, std::equal_to<std::string>()); ~~~~~^~~~~~~~ __equal_to /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:653:8: note: '__equal_to' declared here struct __equal_to ^
A new Pull Request was created by @gartung (Patrick Gartung) for CMSSW_9_0_X. It involves the following packages: DataFormats/Provenance @cmsbuild, @smuzaffar, @Dr15Jones, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are listed here #13028 |
please test |
The tests are being triggered in jenkins. |
+1 |
This pull request is fully signed and it will be integrated in one of the next CMSSW_9_0_X IBs after it passes the integration tests. This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @smuzaffar |
Comparison job queued. |
+1 |
While compiling with apple-clang-8.0 many error were the result of a missing include
in DataFormats/Provenenace/interface/Hash.h. The gcc header includes
but the apple clang's version does not.
This is the error.
/private/var/folders/hm/7pxrf4vx4_g4f_nkfrcwqq8m0000gp/T/gartung/spack-stage/spack-stage-_shPan/spack-build/CMSSW_9_0_0_pre2/src/DataFormats/Provenance/interface/Hash.h:165:43: error: no m
ember named 'greater' in namespace 'std'
return this->compareUsing(other, std::greaterstd::string());
~~~~~^
/private/var/folders/hm/7pxrf4vx4_g4f_nkfrcwqq8m0000gp/T/gartung/spack-stage/spack-stage-_shPan/spack-build/CMSSW_9_0_0_pre2/src/DataFormats/Provenance/interface/Hash.h:165:62: error: expe
cted '(' for function-style cast or type construction
return this->compareUsing(other, std::greaterstd::string());
~~~~~~~~~~~^
/private/var/folders/hm/7pxrf4vx4_g4f_nkfrcwqq8m0000gp/T/gartung/spack-stage/spack-stage-_shPan/spack-build/CMSSW_9_0_0_pre2/src/DataFormats/Provenance/interface/Hash.h:165:64: error: expe
cted expression
return this->compareUsing(other, std::greaterstd::string());
^
/private/var/folders/hm/7pxrf4vx4_g4f_nkfrcwqq8m0000gp/T/gartung/spack-stage/spack-stage-_shPan/spack-build/CMSSW_9_0_0_pre2/src/DataFormats/Provenance/interface/Hash.h:172:43: error: no t
emplate named 'equal_to' in namespace 'std'; did you mean '__equal_to'?
return this->compareUsing(other, std::equal_tostd::string());
~~~~~^~~~~~~~
__equal_to
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:653:8: note: '__equal_to' declared here
struct __equal_to
^