Hi Hongxu, that was my initial thought as well. Using namespaces is ideal. I was able to reproduce the same on centos7 environment as well, after upgrading protobuf to 3.4. Will scope the changes tomorrow. Also, will be opening a JIRA parallely to the PR.
On Wed, Aug 30, 2017 at 8:15 PM, Hongxu Ma <[email protected]> wrote: > I noted this issue yesterday and haven't find how to fix it yet... > Thanks Shubham & Ed! > > But I think solution2 is better: > The root cause is code issue (low version protobuf make it passed by > coincidence), let's open a PR to fix it, not many work. > > Thanks. > > 在 31/08/2017 11:00, stanly sheng 写道: > > Hi Shubham, > > > > I prefer solution 1 for the longer stable status and this can avoid > > frequently updating code due to library changes. > > > > Thanks. > > > > 2017-08-31 8:51 GMT+08:00 Shubham Sharma <[email protected]>: > > > >> Hi, > >> > >> The current Travis CI build is failing as seen from > >> https://travis-ci.org/apache/incubator-hawq?branch=master > >> > >> Ed and I discussed about it, he found out that this might have happened > due > >> to a recent protobuf update in brew. The last successful build had a > >> protobuf version of 3.2 and the latest(failing) is 3.4 > >> > >> Am working on setting up a local dev branch on my mac to test the > failure > >> due to upgrade(till now I have been using centos). > >> > >> From the travis CI error message it looks like it is a problem with > >> namespace resolution while declaring stringstream and ostringstream > >> > >> Error message - > >> > >> /Users/travis/build/apache/incubator-hawq/depends/ > >> libyarn/src/libyarnclient/LibYarnClient.cpp:248:9: > >> error: unknown type name 'stringstream'; did you mean > >> 'std::stringstream'? > >> > >> stringstream ss; > >> > >> ^~~~~~~~~~~~ > >> > >> std::stringstream > >> > >> /Applications/Xcode.app/Contents/Developer/Toolchains/ > >> XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:153:38: > >> note: 'std::stringstream' declared here > >> > >> typedef basic_stringstream<char> stringstream; > >> > >> /Users/travis/build/apache/incubator-hawq/depends/ > >> libyarn/src/libyarnclient/LibYarnClient.cpp:299:13: > >> error: unknown type name 'ostringstream'; did you mean > >> 'std::ostringstream'? > >> > >> ostringstream key; > >> > >> ^~~~~~~~~~~~~ > >> > >> std::ostringstream > >> > >> /Applications/Xcode.app/Contents/Developer/Toolchains/ > >> XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:152:38: > >> note: 'std::ostringstream' declared here > >> > >> typedef basic_ostringstream<char> ostringstream; > >> > >> > >> > >> Here are the possible solutions - > >> > >> 1 - To update travis.yml to use protobuf 3.2 only > >> 2 - Use namespace while declaring stringstream or ostringstream > >> > >> Also, trying to get to the root cause of the problem, if it is due to > >> protobuf upgrade, the only change that I see in protobuf regarding std > >> namespace is, in the recent version they moved it out of common/stubs.h > - > >> https://github.com/google/protobuf/blob/master/CHANGES.txt#L61, not > sure > >> if > >> this is the problem but only thing I could find relative. > >> > >> Will appreciate your input on this. > >> > >> -- > >> Regards, > >> Shubham > >> > > > > > > -- > Regards, > Hongxu. > > -- Regards, Shubham Sharma Staff Customer Engineer Pivotal Global Support Services [email protected] Direct Tel: +1(510)-304-8201 Office Hours: Mon-Fri 9:00 am to 5:00 pm PDT Out of Office Hours Contact +1 877-477-2269
