All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.