[ https://issues.apache.org/jira/browse/DRILL-7105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sorabh Hamirwasia updated DRILL-7105: ------------------------------------- Fix Version/s: (was: 1.16.0) > Error while building the Drill native client > -------------------------------------------- > > Key: DRILL-7105 > URL: https://issues.apache.org/jira/browse/DRILL-7105 > Project: Apache Drill > Issue Type: Bug > Components: Client - C++ > Affects Versions: 1.16.0 > Reporter: Anton Gozhiy > Assignee: Anton Gozhiy > Priority: Major > Labels: ready-to-commit > Fix For: 1.17.0 > > > *Steps:* > # cd contrib/native/client > # mkdir build > # cd build && cmake -std=c++11 -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug > .. > # make > *Expected result:* > The native client is built successfully. > *Actual result:* > Error happens: > {noformat} > [ 4%] Built target y2038 > [ 7%] Building CXX object > src/protobuf/CMakeFiles/protomsgs.dir/BitControl.pb.cc.o > In file included from /usr/include/c++/5/mutex:35:0, > from /usr/local/include/google/protobuf/stubs/mutex.h:33, > from /usr/local/include/google/protobuf/stubs/common.h:52, > from > /home/agozhiy/git_repo/drill/contrib/native/client/src/protobuf/BitControl.pb.h:9, > from > /home/agozhiy/git_repo/drill/contrib/native/client/src/protobuf/BitControl.pb.cc:4: > /usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file > requires compiler and library support for the ISO C++ 2011 standard. This > support must be enabled with the -std=c++11 or -std=gnu++11 compiler options. > #error This file requires compiler and library support \ > ^ > In file included from /usr/local/include/google/protobuf/stubs/common.h:52:0, > from > /home/agozhiy/git_repo/drill/contrib/native/client/src/protobuf/BitControl.pb.h:9, > from > /home/agozhiy/git_repo/drill/contrib/native/client/src/protobuf/BitControl.pb.cc:4: > /usr/local/include/google/protobuf/stubs/mutex.h:58:8: error: 'mutex' in > namespace 'std' does not name a type > std::mutex mu_; > ^ > /usr/local/include/google/protobuf/stubs/mutex.h: In member function 'void > google::protobuf::internal::WrappedMutex::Lock()': > /usr/local/include/google/protobuf/stubs/mutex.h:51:17: error: 'mu_' was not > declared in this scope > void Lock() { mu_.lock(); } > ^ > /usr/local/include/google/protobuf/stubs/mutex.h: In member function 'void > google::protobuf::internal::WrappedMutex::Unlock()': > /usr/local/include/google/protobuf/stubs/mutex.h:52:19: error: 'mu_' was not > declared in this scope > void Unlock() { mu_.unlock(); } > ^ > /usr/local/include/google/protobuf/stubs/mutex.h: At global scope: > /usr/local/include/google/protobuf/stubs/mutex.h:61:7: error: expected > nested-name-specifier before 'Mutex' > using Mutex = WrappedMutex; > ^ > /usr/local/include/google/protobuf/stubs/mutex.h:66:28: error: expected ')' > before '*' token > explicit MutexLock(Mutex *mu) : mu_(mu) { this->mu_->Lock(); } > ^ > /usr/local/include/google/protobuf/stubs/mutex.h:69:3: error: 'Mutex' does > not name a type > Mutex *const mu_; > ^ > /usr/local/include/google/protobuf/stubs/mutex.h: In destructor > 'google::protobuf::internal::MutexLock::~MutexLock()': > /usr/local/include/google/protobuf/stubs/mutex.h:67:24: error: 'class > google::protobuf::internal::MutexLock' has no member named 'mu_' > ~MutexLock() { this->mu_->Unlock(); } > ^ > /usr/local/include/google/protobuf/stubs/mutex.h: At global scope: > /usr/local/include/google/protobuf/stubs/mutex.h:80:33: error: expected ')' > before '*' token > explicit MutexLockMaybe(Mutex *mu) : > ^ > In file included from /usr/local/include/google/protobuf/arena.h:48:0, > from > /home/agozhiy/git_repo/drill/contrib/native/client/src/protobuf/BitControl.pb.h:23, > from > /home/agozhiy/git_repo/drill/contrib/native/client/src/protobuf/BitControl.pb.cc:4: > /usr/include/c++/5/typeinfo:39:37: error: expected '}' before end of line > /usr/include/c++/5/typeinfo:39:37: error: expected unqualified-id before end > of line > /usr/include/c++/5/typeinfo:39:37: error: expected '}' before end of line > /usr/include/c++/5/typeinfo:39:37: error: expected '}' before end of line > /usr/include/c++/5/typeinfo:39:37: error: expected '}' before end of line > /usr/include/c++/5/typeinfo:39:37: error: expected declaration before end of > line > src/protobuf/CMakeFiles/protomsgs.dir/build.make:62: recipe for target > 'src/protobuf/CMakeFiles/protomsgs.dir/BitControl.pb.cc.o' failed > make[2]: *** [src/protobuf/CMakeFiles/protomsgs.dir/BitControl.pb.cc.o] Error > 1 > CMakeFiles/Makefile2:223: recipe for target > 'src/protobuf/CMakeFiles/protomsgs.dir/all' failed > make[1]: *** [src/protobuf/CMakeFiles/protomsgs.dir/all] Error 2 > Makefile:94: recipe for target 'all' failed > make: *** [all] Error 2 > {noformat} > *Note:* This is a regression caused by updating protobuf to version 3.6.1 -- This message was sent by Atlassian JIRA (v7.6.3#76005)