On 08/10/2016 01:30 PM, Patrick Donnelly wrote:
On Wed, Aug 10, 2016 at 4:15 PM, Patrick Donnelly <pdonnell@xxxxxxxxxx> wrote:
I sometimes get build errors for modules (not always the same module)
about missing headers:
$ (cd build && make)
[...]
[ 25%] rocksdb building
GEN util/build_version.cc
make[3]: *** No rule to make target `db/writebuffer.h', needed by
`db/column_family.o'. Stop.
make[2]: *** [src/CMakeFiles/build_rocksdb] Error 2
make[1]: *** [src/CMakeFiles/build_rocksdb.dir/all] Error 2
make: *** [all] Error 2
What's the right way to fix this? I already tried `git submodule
update` and my working copy was sterile (`git clean -xfd`) before the
build.
Hmm, I think this is because the submodules are not being cleaned as
well by `git clean -xfd`? So perhaps the right way to achieve a
sterile build is:
Yeah, that's the problem.
# COPY PASTE DANGER: this nukes all of your local modifications
git submodule deinit --force
git clean -xfd
git checkout .
git submodule init
Is there something else that is preferable?
A little more general, and avoids removing the submodule trees:
git clean -fdx
git submodule foreach 'git clean -fdx'
git submodule sync --recursive
git submodule update --force --init --recursive
Josh
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html