Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #6778

Closed (moved)
(moved)
Open
Created Sep 06, 2012 by Linus Nordberg@linus

Out-of-tree builds broken

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.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking