[tor-bugs] #6778 [Tor Client]: Out-of-tree builds broken

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Thu Sep 6 10:29:39 UTC 2012


#6778: Out-of-tree builds broken
------------------------+---------------------------------------------------
 Reporter:  ln5         |          Owner:                    
     Type:  defect      |         Status:  new               
 Priority:  normal      |      Milestone:                    
Component:  Tor Client  |        Version:  Tor: 0.2.4.1-alpha
 Keywords:  build       |         Parent:                    
   Points:              |   Actualpoints:                    
------------------------+---------------------------------------------------
 {{{
 make  all-am
   CC       src/common/address.o
   CC       src/common/compat.o
   CC       src/common/container.o
   CC       src/common/di_ops.o
   CC       src/common/log.o
   CC       src/common/memarea.o
   CC       src/common/mempool.o
   CC       src/common/procmon.o
   CC       src/common/util.o
   GEN      src/common/common_sha1.i
 micro-revision.i: No such file or directory
   CC       src/common/util_codedigest.o
   AR       src/common/libor.a
   CC       src/common/aes.o
   CC       src/common/crypto.o
 gcc: src/common/crypto.c: No such file or directory
 gcc: No input files specified
 }}}

 The micro-revision.i issue is related to buildling SHA sums of lots of
 files and store them in other files. The problem with this is that we
 cd into a subdirectory and use makefile variables (in this case
 noinst_HEADERS) which might refer to files with paths relative to the
 top builddir:

 {{{
     (cd "$(srcdir)" && "@SHA1SUM@" $(src_common_libor_SOURCES)
 $(src_common_libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n
 's/^\(.*\)$$/"\1\\n"/p' > $@; \
 }}}

 Commit 90d1c857 moves micro-revision.i from src/or/ to the root of the
 build directory. Might be related.


 The missing src/common/crypto.c issue is related to
 src/common/crypto.c not being prepended by the build directory. For a
 comparison with tortls.c:

 {{{
 depbase=`echo src/common/crypto.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; gcc
 -DHAVE_CONFIG_H -I. -I../tor-master  -I../tor-master/src/common
 -Isrc/common -I../tor-master/src/or  -Isrc/or
 -DSHARE_DATADIR="\"/home/linus/usr/tor/share\""
 -DLOCALSTATEDIR="\"/home/linus/usr/tor/var\""
 -DBINDIR="\"/home/linus/usr/tor/bin\""  -I../tor-master/src/common
 -I/usr/local/include -I/usr/local/include  -g -I /usr/local/include/event2
 -Wall -fno-strict-aliasing -W -Wfloat-equal -Wundef -Wpointer-arith
 -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls
 -Wchar-subscripts -Wcomment -Wformat=2 -Wwrite-strings -Wmissing-
 declarations -Wredundant-decls -Wnested-externs -Wbad-function-cast
 -Wswitch-enum -Werror -Winit-self -Wmissing-field-initializers
 -Wdeclaration-after-statement -Wold-style-definition -Waddress -Wmissing-
 noreturn -Wstrict-overflow=1 -Wnormalized=id -Woverride-init -MT
 src/common/crypto.o -MD -MP -MF $depbase.Tpo -c -o src/common/crypto.o
 src/common/crypto.c && mv -f $depbase.Tpo $depbase.Po
 depbase=`echo src/common/tortls.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; gcc
 -DHAVE_CONFIG_H -I. -I../tor-master  -I../tor-master/src/common
 -Isrc/common -I../tor-master/src/or  -Isrc/or
 -DSHARE_DATADIR="\"/home/linus/usr/tor/share\""
 -DLOCALSTATEDIR="\"/home/linus/usr/tor/var\""
 -DBINDIR="\"/home/linus/usr/tor/bin\""  -I../tor-master/src/common
 -I/usr/local/include -I/usr/local/include  -g -I /usr/local/include/event2
 -Wall -fno-strict-aliasing -W -Wfloat-equal -Wundef -Wpointer-arith
 -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls
 -Wchar-subscripts -Wcomment -Wformat=2 -Wwrite-strings -Wmissing-
 declarations -Wredundant-decls -Wnested-externs -Wbad-function-cast
 -Wswitch-enum -Werror -Winit-self -Wmissing-field-initializers
 -Wdeclaration-after-statement -Wold-style-definition -Waddress -Wmissing-
 noreturn -Wstrict-overflow=1 -Wnormalized=id -Woverride-init -MT
 src/common/tortls.o -MD -MP -MF $depbase.Tpo -c -o src/common/tortls.o
 ../tor-master/src/common/tortls.c && mv -f $depbase.Tpo $depbase.Po
 }}}

 Hunting this down further unless someone knows off hand.

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/6778>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list