* CMake build errors in modules
@ 2016-08-10 20:15 Patrick Donnelly
2016-08-10 20:30 ` Patrick Donnelly
0 siblings, 1 reply; 3+ messages in thread
From: Patrick Donnelly @ 2016-08-10 20:15 UTC (permalink / raw)
To: Ceph Development
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.
--
Patrick Donnelly
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: CMake build errors in modules
2016-08-10 20:15 CMake build errors in modules Patrick Donnelly
@ 2016-08-10 20:30 ` Patrick Donnelly
2016-08-10 21:40 ` Josh Durgin
0 siblings, 1 reply; 3+ messages in thread
From: Patrick Donnelly @ 2016-08-10 20:30 UTC (permalink / raw)
To: Ceph Development
On Wed, Aug 10, 2016 at 4:15 PM, Patrick Donnelly <pdonnell@redhat.com> 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:
# 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?
--
Patrick Donnelly
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: CMake build errors in modules
2016-08-10 20:30 ` Patrick Donnelly
@ 2016-08-10 21:40 ` Josh Durgin
0 siblings, 0 replies; 3+ messages in thread
From: Josh Durgin @ 2016-08-10 21:40 UTC (permalink / raw)
To: Patrick Donnelly, Ceph Development
On 08/10/2016 01:30 PM, Patrick Donnelly wrote:
> On Wed, Aug 10, 2016 at 4:15 PM, Patrick Donnelly <pdonnell@redhat.com> 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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-08-10 21:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-10 20:15 CMake build errors in modules Patrick Donnelly
2016-08-10 20:30 ` Patrick Donnelly
2016-08-10 21:40 ` Josh Durgin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.