Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-5614

invalid conversion from ‘char*’ to ‘int’ in TOutput.cpp

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 0.16.0
    • None
    • C++ - Compiler
    • None

    Description

      I want to cross compile thrift 0.16.0 for arm.

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

      Making all in cpp
      make[3]: Entering directory `/root/build/thrift-0.16.0/lib/cpp'
      Making all in .
      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
      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 -o src/thrift/TApplicationException.o >/dev/null 2>&1
      depbase=`echo src/thrift/TOutput.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/TOutput.lo -MD -MP -MF $depbase.Tpo -c -o src/thrift/TOutput.lo src/thrift/TOutput.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/TOutput.lo -MD -MP -MF src/thrift/.deps/TOutput.Tpo -c src/thrift/TOutput.cpp  -fPIC -DPIC -o src/thrift/.libs/TOutput.o
      src/thrift/TOutput.cpp: In static member function ‘static std::__cxx11::string apache::thrift::TOutput::strerror_s(int)’:
      src/thrift/TOutput.cpp:115:22: error: invalid conversion from ‘char*’ to ‘int’ [-fpermissive]
         int rv = strerror_r(errno_copy, b_errbuf, sizeof(b_errbuf));
                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      make[4]: *** [src/thrift/TOutput.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?

      Attachments

        Activity

          People

            Unassigned Unassigned
            atptour2017 chendan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: