You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "chendan (Jira)" <ji...@apache.org> on 2022/08/25 01:27:00 UTC

[jira] [Created] (THRIFT-5613) ::realloc has not been declared

chendan created THRIFT-5613:
-------------------------------

             Summary: ::realloc has not been declared
                 Key: THRIFT-5613
                 URL: https://issues.apache.org/jira/browse/THRIFT-5613
             Project: Thrift
          Issue Type: Bug
          Components: C++ - Compiler
    Affects Versions: 0.16.0
            Reporter: chendan


I want to compile thrift for arm by my company's cross compiler.

After running bootstrap and configure with proper parameters, then run make. An error occured:

make[4]: Entering directory `/root/build/thrift-0.16.0/lib/cpp'
depbase=`echo src/thrift/TApplicationException.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ../../libtool  --tag=CXX   --mode=compile aarch64-kedacom-linux-gnu-g++ -std=c++11 -DHAVE_CONFIG_H     -I./src -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -march=armv8-a -Wall -Wextra -pedantic -march=armv8-a -MT src/thrift/TApplicationException.lo -MD -MP -MF $depbase.Tpo -c -o src/thrift/TApplicationException.lo src/thrift/TApplicationException.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  aarch64-kedacom-linux-gnu-g++ -std=c++11 -DHAVE_CONFIG_H -I./src -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -march=armv8-a -Wall -Wextra -pedantic -march=armv8-a -MT src/thrift/TApplicationException.lo -MD -MP -MF src/thrift/.deps/TApplicationException.Tpo -c src/thrift/TApplicationException.cpp  -fPIC -DPIC -o src/thrift/.libs/TApplicationException.o
In file included from /opt/aarch64-kedacom-linux/aarch64-kedacom-linux-gnu/include/c++/8.3.0/ext/string_conversions.h:41,
                 from /opt/aarch64-kedacom-linux/aarch64-kedacom-linux-gnu/include/c++/8.3.0/bits/basic_string.h:6400,
                 from /opt/aarch64-kedacom-linux/aarch64-kedacom-linux-gnu/include/c++/8.3.0/string:52,
                 from ./src/thrift/Thrift.h:37,
                 from ./src/thrift/TApplicationException.h:23,
                 from src/thrift/TApplicationException.cpp:20:
/opt/aarch64-kedacom-linux/aarch64-kedacom-linux-gnu/include/c++/8.3.0/cstdlib:164:11: error: ‘::realloc’ has not been declared
   using ::realloc;
           ^~~~~~~
make[4]: *** [src/thrift/TApplicationException.lo] Error 1
make[4]: Leaving directory `/root/build/thrift-0.16.0/lib/cpp'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/root/build/thrift-0.16.0/lib/cpp'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/build/thrift-0.16.0/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/build/thrift-0.16.0'
make: *** [all] Error 2

 

How to solve it?

Some people show the solution below. But that's for version 0.9.0. Not suitable for 0.16.0 as no such lines in config.h.

To delete two lines in config.h:

*#define {color:#3333ff}malloc {color}rpl_malloc*
*#define realloc rpl_realloc*



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