Pierre de Freminville created HAWQ-1762:
-------------------------------------------

             Summary: Problem running make test caused by with -Dprivate=public
                 Key: HAWQ-1762
                 URL: https://issues.apache.org/jira/browse/HAWQ-1762
             Project: Apache HAWQ
          Issue Type: Bug
          Components: libhdfs
            Reporter: Pierre de Freminville
            Assignee: Ruilong Huo


Hello,

I noticed a compilation problem with libhdfs3 when running "make test"
{code:java}
[  8%] Building CXX object 
test/unit/CMakeFiles/unit.dir/__/__/src/client/CryptoCodec.cpp.o
cd /.../hawq/depends/libhdfs3/build/test/unit && /../bin/g++  
-DBOOST_ALL_NO_LIB -DDATA_DIR=\"/.../hawq/depends/libhdfs3/test/data//\" 
-DGTEST_LANG_CXX11=0 -DMOCK -DTEST_HDFS_PREFIX=\"./\" -D_GNU_SOURCE 
-D__STDC_FORMAT_MACROS -Dprivate=public -Dprotected=public 
-I/.../hawq/depends/libhdfs3/src -I/.../hawq/depends/libhdfs3/src/common 
-I/.../hawq/depends/libhdfs3/build/test/unit 
-I/.../hawq/depends/libhdfs3/build/src -I/.../hawq/depends/libhdfs3/mock 
-isystem /.../boost/include -isystem /.../protobuf/include -isystem 
/usr/include/libxml2 -isystem /.../libgsasl/include -isystem 
/.../hawq/depends/thirdparty/googletest/googletest/include -isystem 
/.../hawq/depends/thirdparty/googletest/googlemock/include  
-fno-strict-aliasing -fno-omit-frame-pointer -msse4.2 -Wl,--export-dynamic 
-std=c++0x -D_GLIBCXX_USE_NANOSLEEP -Wall -O2 -g -DNDEBUG   -o 
CMakeFiles/unit.dir/__/__/src/client/CryptoCodec.cpp.o -c 
/.../hawq/depends/libhdfs3/src/client/CryptoCodec.cpp
In file included from 
/.../hawq/depends/libhdfs3/src/common/ExceptionInternal.h:33,
                 from /.../hawq/depends/libhdfs3/src/client/HttpClient.h:29,
                 from 
/.../hawq/depends/libhdfs3/src/client/KmsClientProvider.h:32,
                 from /.../hawq/depends/libhdfs3/src/client/CryptoCodec.h:31,
                 from /.../hawq/depends/libhdfs3/src/client/CryptoCodec.cpp:23:
/.../gcc-9.1.0/include/c++/9.1.0/sstream:312:7: error: ‘struct 
std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>::__xfer_bufptrs’ 
redeclared with different access
  312 |       struct __xfer_bufptrs
      |       ^~~~~~
In file included from /.../hawq/depends/libhdfs3/src/client/CryptoCodec.cpp:23:
/.../hawq/depends/libhdfs3/src/client/CryptoCodec.h: In constructor 
‘Hdfs::CryptoCodec::CryptoCodec(Hdfs::FileEncryptionInfo*, 
std::shared_ptr<Hdfs::KmsClientProvider>, int32_t)’:
/.../hawq/depends/libhdfs3/src/client/CryptoCodec.h:98:23: warning: 
‘Hdfs::CryptoCodec::encryptionInfo’ will be initialized after [-Wreorder]
   98 |   FileEncryptionInfo* encryptionInfo;
      |                       ^~~~~~~~~~~~~~
/.../hawq/depends/libhdfs3/src/client/CryptoCodec.h:97:33: warning:   
‘std::shared_ptr<Hdfs::KmsClientProvider> Hdfs::CryptoCodec::kcp’ [-Wreorder]
   97 |   shared_ptr<KmsClientProvider> kcp;
      |                                 ^~~
/.../hawq/depends/libhdfs3/src/client/CryptoCodec.cpp:51:2: warning:   when 
initialized here [-Wreorder]
   51 |  CryptoCodec::CryptoCodec(FileEncryptionInfo *encryptionInfo, 
shared_ptr<KmsClientProvider> kcp, int32_t bufSize) :

{code}
I'm using "gcc-9.1.0".

One fix could be to use
{code:java}
#undef private
{code}
before including <sstream>



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to