[ 
https://issues.apache.org/jira/browse/DRILL-7105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anton Gozhiy updated DRILL-7105:
--------------------------------
    Description: 
*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

  was:
*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}



> 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
>    Affects Versions: 1.16.0
>            Reporter: Anton Gozhiy
>            Assignee: Anton Gozhiy
>            Priority: Major
>             Fix For: 1.16.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)

Reply via email to