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)