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

Running configure from outside the source directory fails



    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • 0.9.3
    • Build Process
    • None
    • Thrift NOT installed
      Ubuntu 12.04 LTS


      VERY IMPORTANT - Thrift must NOT be installed to recreate this bug.

      When trying to configure and build Thrift from outside the source tree, the build fails to find thrift/config.h in <builddir>/lib/cpp/src.

      A similar problem also occurs with other languages.

      An edited log reproducing the problem follows.

      :/tmp$ git clone https://git-wip-us.apache.org/repos/asf/thrift.git thrift
      Cloning into 'thrift'...
      :/tmp$ cd thrift
      :/tmp/thrift$ git log | head
      commit ad4df16579b63a66ab95f9a01d3eb9cd1b352ebc
      Author: henrique <henrique@apache.org>
      Date:   Tue May 20 13:18:45 2014 +0200
          THRIFT-2534 Cross language test results should recorded to a status.md or status.html file automatically
          also removes go and lua from travis CI builds
      commit 4f073d8af4c7358f6956ff8f8f6eb0f227a6a695
      Author: henrique <henrique@apache.org>
      :/tmp/thrift$ ./bootstrap.sh 
      configure.ac: warning: missing AC_CHECK_FUNCS([inet_ntoa]) wanted by: lib/lua/src/usocket.c:138
      configure.ac: warning: missing AC_CHECK_FUNCS([pow]) wanted by: lib/lua/src/lualongnumber.c:150
      configure.ac:89: installing `./config.guess'
      configure.ac:89: installing `./config.sub'
      configure.ac:26: installing `./install-sh'
      configure.ac:26: installing `./missing'
      compiler/cpp/Makefile.am: installing `./depcomp'
      configure.ac: installing `./ylwrap'
      lib/cpp/test/Makefile.am:198: variable `processor_test_SOURCES' is defined but no program or
      lib/cpp/test/Makefile.am:198: library has `processor_test' as canonical name (possible typo)
      lib/cpp/test/Makefile.am:189: variable `concurrency_test_SOURCES' is defined but no program or
      lib/cpp/test/Makefile.am:189: library has `concurrency_test' as canonical name (possible typo)
      lib/cpp/test/Makefile.am:206: variable `processor_test_LDADD' is defined but no program or
      lib/cpp/test/Makefile.am:206: library has `processor_test' as canonical name (possible typo)
      lib/cpp/test/Makefile.am:195: variable `concurrency_test_LDADD' is defined but no program or
      lib/cpp/test/Makefile.am:195: library has `concurrency_test' as canonical name (possible typo)
      :/tmp/thrift$ cd ..
      :/tmp$ mkdir thrift.build
      :/tmp$ cd thrift.build/
      :/tmp/thrift.build$ ../thrift/configure --without-c_glib --without-csharp --without-python --without-ruby --without-php
      thrift 1.0.0-dev
      Building C++ Library ......... : yes
      Building C (GLib) Library .... : no
      Building Java Library ........ : yes
      Building C# Library .......... : no
      Building Python Library ...... : no
      Building Ruby Library ........ : no
      Building Haskell Library ..... : no
      Building Perl Library ........ : no
      Building PHP Library ......... : no
      Building Erlang Library ...... : no
      Building Go Library .......... : no
      Building D Library ........... : no
      Building NodeJS Library ...... : no
      Building Lua Library ......... : no
      C++ Library:
         Build TZlibTransport ...... : yes
         Build TNonblockingServer .. : yes
         Build TQTcpServer (Qt) .... : yes
      Java Library:
         Using javac ............... : javac
         Using java ................ : java
         Using ant ................. : /scratch/aswat/perforce/ct-devenv/Linux/Build/ant/bin/ant
      If something is missing that you think should be present,
      please skim the output of configure to find the missing
      component.  Details are present in config.log.
      :/tmp/thrift.build$ make
      make[4]: Entering directory `/tmp/thrift.build/lib/cpp'
      /bin/bash ../../libtool  --tag=CXX   --mode=compile g++-4.7 -DHAVE_CONFIG_H -I. -I../../../thrift/lib/cpp -I../.. -I../../lib/cpp/src/thrift  -I/scratch/aswat/perforce/19_nkwengine-devel-perforce/Framework/ThirdParty/Boost/Implementation/boost_1_55_0//include -I../../../thrift/lib/cpp/src  -Wall -g -O2 -std=c++11 -MT Thrift.lo -MD -MP -MF .deps/Thrift.Tpo -c -o Thrift.lo `test -f 'src/thrift/Thrift.cpp' || echo '../../../thrift/lib/cpp/'`src/thrift/Thrift.cpp
      libtool: compile:  g++-4.7 -DHAVE_CONFIG_H -I. -I../../../thrift/lib/cpp -I../.. -I../../lib/cpp/src/thrift -I/scratch/aswat/perforce/19_nkwengine-devel-perforce/Framework/ThirdParty/Boost/Implementation/boost_1_55_0//include -I../../../thrift/lib/cpp/src -Wall -g -O2 -std=c++11 -MT Thrift.lo -MD -MP -MF .deps/Thrift.Tpo -c ../../../thrift/lib/cpp/src/thrift/Thrift.cpp  -fPIC -DPIC -o .libs/Thrift.o
      In file included from ../../../thrift/lib/cpp/src/thrift/Thrift.h:25:0,
                       from ../../../thrift/lib/cpp/src/thrift/Thrift.cpp:20:
      ../../../thrift/lib/cpp/src/thrift/thrift-config.h:23:28: fatal error: thrift/config.h: No such file or directory
      compilation terminated.
      make[4]: *** [Thrift.lo] Error 1
      make[4]: Leaving directory `/tmp/thrift.build/lib/cpp'
      make[3]: *** [all-recursive] Error 1
      make[3]: Leaving directory `/tmp/thrift.build/lib/cpp'
      make[2]: *** [all-recursive] Error 1
      make[2]: Leaving directory `/tmp/thrift.build/lib'
      make[1]: *** [all-recursive] Error 1
      make[1]: Leaving directory `/tmp/thrift.build'
      make: *** [all] Error 2




            Unassigned Unassigned
            soyeb Soyeb Aswat
            0 Vote for this issue
            6 Start watching this issue