Soyeb Aswat created THRIFT-2540:
-----------------------------------

             Summary: Running configure from outside the source directory fails
                 Key: THRIFT-2540
                 URL: https://issues.apache.org/jira/browse/THRIFT-2540
             Project: Thrift
          Issue Type: Bug
          Components: Build Process
    Affects Versions: 1.0
         Environment: Thrift *NOT* installed
Ubuntu 12.04 LTS
            Reporter: Soyeb Aswat


*** 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 <henri...@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 <henri...@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
:/tmp/thrift.build$ 




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to