Guojianchao created THRIFT-5805:
-----------------------------------

             Summary: Compile error with gcc 4.8.5 for cpp UUID wrapper.
                 Key: THRIFT-5805
                 URL: https://issues.apache.org/jira/browse/THRIFT-5805
             Project: Thrift
          Issue Type: Bug
          Components: C++ - Library
    Affects Versions: 0.21.0
         Environment: CentOS Linux release 7.9.2009 (Core)
            Reporter: Guojianchao


My gcc compiler version is:
{code:bash}
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man 
--infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla 
--enable-bootstrap --enable-shared --enable-threads=posix 
--enable-checking=release --with-system-zlib --enable-__cxa_atexit 
--disable-libunwind-exceptions --enable-gnu-unique-object 
--enable-linker-build-id --with-linker-hash-style=gnu 
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin 
--enable-initfini-array --disable-libgcj 
--with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install
 
--with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install
 --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 
--build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
{code}

When I compile the latest version thrift I got a compiler error:

{code:bash}
libtool: compile:  g++ -std=c++11 -DHAVE_CONFIG_H 
-I/home/dev/workspace/boost/boost_1_56_0 -I./src -D__STDC_FORMAT_MACROS 
-D__STDC_LIMIT_MACROS -Wall -Wextra -pedantic -g -O2 -MT src/thrift/TUuid.lo 
-MD -MP -MF src/thrift/.deps/TUuid.Tpo -c src/thrift/TUuid.cpp  -fPIC -DPIC -o 
src/thrift/.libs/TUuid.o
src/thrift/TUuid.cpp: In constructor 'apache::thrift::TUuid::TUuid(const 
string&)':
src/thrift/TUuid.cpp:40:43: error: cannot convert 'boost::uuids::uuid' to 
'uint8_t {aka unsigned char}' in initialization
     const boost::uuids::uuid uuid{gen(str)};
{code}

I think this is a old version gcc implementation issue.

I report detail information at github:
https://github.com/apache/thrift/pull/2952








--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to