I just tried building tor from git (f3ed5ec0cac4719e249e629760756314d7cfecba) from scratch with 'make -j10' and got:
--- src/common/src_common_libor_testing_a-log.o ---
src/common/log.c:272:28: fatal error: micro-revision.i: No such file or directory
#include "micro-revision.i"
^
Seems there are some dependencies missing.
Trac: Username: wiz
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related.
Learn more.
Does this work with out-of-tree builds? It reverts a commit that says that it's necessary in order to fix out-of-tree builds.
FWICT the problem here is really that there are other object files besides log.o. Specifically, I believe that Makefile.in will now also potentially include:
Does this work with out-of-tree builds?
It should work with out-of-tree builds because i only use those and it worked fine. Also make distcheck ran successfully.
It reverts a commit that says that it's necessary in order to fix out-of-tree builds.
The changes file of the reverted commit mentions something about under some circumstances but all i could find was ticket:6778#comment:3 which is about src/or/tor_main.c itself and not micro-revision.i.
FWICT the problem here is really that there are other object files besides log.o. Specifically, I believe that Makefile.in will now also potentially include:
src/common/log.obj
src/common/src_common_libor_testing_a-log.o
src/common/src_common_libor_testing_a-log.obj
These targets (expect for src/common/log.obj which i can't find in Makefile.in or Makefile) all have src/common/log.c as their prerequisite. With the patches this will make make search for rules with src/common/log.c as its target, find it, look at its prerequisite (which is micro-revision.i) and rebuild it.
BTW, the problem is reproducible by trying to make src/or/src_or_tor_cov-tor_main.o or make src/common/src_common_libor_testing_a-log.o on a fresh build (clean directory with only ./configure called). It won't build micro-revision.i. These patches fix the problem.
BTW, the problem is reproducible by trying to make src/or/src_or_tor_cov-tor_main.o or make src/common/src_common_libor_testing_a-log.o on a fresh build (clean directory with only ./configure called). It won't build micro-revision.i. These patches fix the problem.
I've tried to follow these instructions on OSX and Fedora, and they didn't reproduce the problem.
I've tried the other approach as branch 17826_redux in my public repository. Does it work for you? Unlike the patches above, it passes "make distcheck" for me.
Still looks good to me. Merging. Please reopen if it doesn't work for you.
Sorry for the late response. After testing my patches with make distcheck again i got the same error message as in comment:6. Your fix solves that issue.
Reopening the ticket because your fix can be simplified by using the OBJEXT variable which is automatically adjusted to be o or obj, depending on the platform. A patch for this is coming.
Trac: Resolution: fixed toN/A Status: closed to reopened