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

configure failed on CentOS 6

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • 0.9.3
    • None
    • Build Process
    • None

    Description

      Reproduce Steps

      # https://github.com/apache/thrift/archive/0.9.3.tar.gz
      $ sh bootstrap.sh
      $ ./configure --prefix=/data/thrift-0.9.3 --with-boost=/data/boost-1.61.0 --with-libevent=/data/libevent-2.0.22-stable --with-openssl=/data/openssl-1.0.2h --with-zlib=/data/zlib-1.2.8 --enable-shared=no --enable-static=yes --with-cpp --without-qt4 --without-qt5 --without-c_glib --without-csharp --without-java --without-erlang --without-nodejs --without-lua --without-python --without-perl --without-php --without-php_extension --without-ruby --without-haskell --without-go --without-haxe --without-d --disable-tests --disable-tutorial CFLAGS="-m64 -fPIC -g0 -O3" CXXFLAGS="-m64 -fPIC -g0 -O3"
      

      Errors

      checking for a BSD-compatible install... /usr/bin/install -c
      checking whether build environment is sane... yes
      checking for a thread-safe mkdir -p... /bin/mkdir -p
      checking for gawk... gawk
      checking whether make sets $(MAKE)... yes
      checking whether make supports nested variables... yes
      checking whether UID '0' is supported by ustar format... yes
      checking whether GID '0' is supported by ustar format... yes
      checking how to create a ustar tar archive... gnutar
      ./configure: line 3894: PKG_PROG_PKG_CONFIG: command not found
      checking for gcc... gcc
      checking whether the C compiler works... yes
      checking for C compiler default output file name... a.out
      checking for suffix of executables... 
      checking whether we are cross compiling... no
      checking for suffix of object files... o
      checking whether we are using the GNU C compiler... yes
      checking whether gcc accepts -g... yes
      checking for gcc option to accept ISO C89... none needed
      checking whether gcc understands -c and -o together... yes
      checking for style of include used by make... GNU
      checking dependency style of gcc... gcc3
      checking how to run the C preprocessor... gcc -E
      checking for g++... g++
      checking whether we are using the GNU C++ compiler... yes
      checking whether g++ accepts -g... yes
      checking dependency style of g++... gcc3
      checking build system type... x86_64-unknown-linux-gnu
      checking host system type... x86_64-unknown-linux-gnu
      checking for a sed that does not truncate output... /bin/sed
      checking for grep that handles long lines and -e... /bin/grep
      checking for egrep... /bin/grep -E
      checking for fgrep... /bin/grep -F
      checking for ld used by gcc... /data/binutils-2.26/bin/ld
      checking if the linker (/data/binutils-2.26bin/ld) is GNU ld... yes
      checking for BSD- or MS-compatible name lister (nm)... /data/binutils-2.26/bin/nm -B
      checking the name lister (/data/binutils-2.26/bin/nm -B) interface... BSD nm
      checking whether ln -s works... yes
      checking the maximum length of command line arguments... 3458764513820540925
      checking whether the shell understands some XSI constructs... yes
      checking whether the shell understands "+="... yes
      checking for /data/binutils-2.26/bin/ld option to reload object files... -r
      checking for objdump... objdump
      checking how to recognize dependent libraries... pass_all
      checking for ar... ar
      checking for strip... strip
      checking for ranlib... ranlib
      checking command to parse /data/binutils-2.26/bin/nm -B output from gcc object... ok
      checking for ANSI C header files... yes
      checking for sys/types.h... yes
      checking for sys/stat.h... yes
      checking for stdlib.h... yes
      checking for string.h... yes
      checking for memory.h... yes
      checking for strings.h... yes
      checking for inttypes.h... yes
      checking for stdint.h... yes
      checking for unistd.h... yes
      checking for dlfcn.h... yes
      checking whether we are using the GNU C++ compiler... (cached) yes
      checking whether g++ accepts -g... (cached) yes
      checking dependency style of g++... (cached) gcc3
      checking how to run the C++ preprocessor... g++ -E
      checking for objdir... .libs
      checking if gcc supports -fno-rtti -fno-exceptions... no
      checking for gcc option to produce PIC... -fPIC -DPIC
      checking if gcc PIC flag -fPIC -DPIC works... yes
      checking if gcc static flag -static works... no
      checking if gcc supports -c -o file.o... yes
      checking if gcc supports -c -o file.o... (cached) yes
      checking whether the gcc linker (/data/binutils-2.26/bin/ld -m elf_x86_64) supports shared libraries... yes
      checking dynamic linker characteristics... GNU/Linux ld.so
      checking how to hardcode library paths into programs... immediate
      checking whether stripping libraries is possible... yes
      checking if libtool supports shared libraries... yes
      checking whether to build shared libraries... no
      checking whether to build static libraries... yes
      checking for ld used by g++... /data/binutils-2.26/bin/ld -m elf_x86_64
      checking if the linker (/data/binutils-2.26/bin/ld -m elf_x86_64) is GNU ld... yes
      checking whether the g++ linker (/data/binutils-2.26/bin/ld -m elf_x86_64) supports shared libraries... yes
      checking for g++ option to produce PIC... -fPIC -DPIC
      checking if g++ PIC flag -fPIC -DPIC works... yes
      checking if g++ static flag -static works... no
      checking if g++ supports -c -o file.o... yes
      checking if g++ supports -c -o file.o... (cached) yes
      checking whether the g++ linker (/data/binutils-2.26/bin/ld -m elf_x86_64) supports shared libraries... yes
      checking dynamic linker characteristics... GNU/Linux ld.so
      checking how to hardcode library paths into programs... immediate
      checking whether make sets $(MAKE)... (cached) yes
      checking for bison... yes
      checking for bison version >= 2.5... yes
      checking for bison... bison -y
      checking for flex... flex
      checking lex output file root... lex.yy
      checking lex library... none needed
      checking whether yytext is a pointer... no
      checking whether ln -s works... yes
      checking for gawk... (cached) gawk
      checking for ranlib... (cached) ranlib
      checking whether g++ supports C++11 features by default... yes
      ./configure: line 17096: syntax error near unexpected token `QT,'
      ./configure: line 17096: `    PKG_CHECK_MODULES(QT, QtCore >= 4.3, QtNetwork >= 4.3, have_qt=yes, have_qt=no)'
      

      Workarounds

      diff --git a/configure.ac b/configure.ac
      index 18e3233..bd03b30 100755
      --- a/configure.ac
      +++ b/configure.ac
      @@ -155,7 +155,8 @@ if test "$with_cpp" = "yes";  then
         AX_THRIFT_LIB(qt4, [Qt], yes)
         have_qt=no
         if test "$with_qt4" = "yes";  then
      -    PKG_CHECK_MODULES([QT], [QtCore >= 4.3, QtNetwork >= 4.3], have_qt=yes, have_qt=no)
      +    cd .
      +#    PKG_CHECK_MODULES([QT], [QtCore >= 4.3, QtNetwork >= 4.3], have_qt=yes, have_qt=no)
         fi
         if test "$have_qt" = "yes"; then
           AC_PATH_PROGS([QT_MOC], [moc-qt4 moc], "fail")
      @@ -168,9 +169,10 @@ if test "$with_cpp" = "yes";  then
         have_qt5=no
         qt_reduce_reloc=""
         if test "$with_qt5" = "yes";  then
      -    PKG_CHECK_MODULES([QT5], [Qt5Core >= 5.0, Qt5Network >= 5.0],
      -                      [have_qt5=yes;qt_reduce_reloc=`$PKG_CONFIG --variable=qt_config Qt5Core | grep "reduce_relocations"`],
      -                      [have_qt5=no])
      +    cd .
      +#    PKG_CHECK_MODULES([QT5], [Qt5Core >= 5.0, Qt5Network >= 5.0],
      +#                      [have_qt5=yes;qt_reduce_reloc=`$PKG_CONFIG --variable=qt_config Qt5Core | grep "reduce_relocations"`],
      +#                      [have_qt5=no])
         fi
         if test "$have_qt5" = "yes"; then
           AC_PATH_PROGS([QT5_MOC], [moc-qt5 moc], "fail")
      @@ -188,8 +190,8 @@ AM_CONDITIONAL([QT5_REDUCE_RELOCATIONS], [test "x$qt_reduce_reloc" != "x"])
       
       AX_THRIFT_LIB(c_glib, [C (GLib)], yes)
       if test "$with_c_glib" = "yes"; then
      -  PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.0], have_glib2=yes, have_glib2=no)
      -  PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.0], have_gobject2=yes, have_gobject2=no)
      +#  PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.0], have_glib2=yes, have_glib2=no)
      +#  PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.0], have_gobject2=yes, have_gobject2=no)
         if test "$have_glib2" = "yes" -a "$have_gobject2" = "yes" ; then
           have_c_glib="yes"
         fi
      @@ -198,15 +200,15 @@ AM_CONDITIONAL(WITH_C_GLIB, [test "$have_glib2" = "yes" -a "$have_gobject2" = "y
       
       AX_THRIFT_LIB(csharp, [C#], yes)
       if test "$with_csharp" = "yes";  then
      -  PKG_CHECK_MODULES(MONO, mono >= 2.11.0, mono_2_11=yes, mono_2_11=no)
      +#  PKG_CHECK_MODULES(MONO, mono >= 2.11.0, mono_2_11=yes, mono_2_11=no)
         if test "$mono_2_11" == "yes"; then
           AC_PATH_PROG([MCS], [mcs])
           if test "x$MCS" != "x"; then
             mono_mcs="yes"
           fi
         fi
      -  PKG_CHECK_MODULES(MONO, mono >= 2.0.0, net_3_5=yes, net_3_5=no)
      -  PKG_CHECK_MODULES(MONO, mono >= 1.2.4, have_mono=yes, have_mono=no)
      +#  PKG_CHECK_MODULES(MONO, mono >= 2.0.0, net_3_5=yes, net_3_5=no)
      +#  PKG_CHECK_MODULES(MONO, mono >= 1.2.4, have_mono=yes, have_mono=no)
         if test "$have_mono" = "yes" ; then
           have_csharp="yes"
         fi
      

      By the way, http://www-us.apache.org/dist/thrift/0.9.3/thrift-0.9.3.tar.gz is not the same as https://github.com/apache/thrift/archive/0.9.3.tar.gz. The former includes configure file while the latter requires users to run bootstrap.sh first.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              in-chief Xiaoshuang LU
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: