Missing file in Sink manual build?
Closed, ResolvedPublic

Description

Hey Kube folks! I'm trying to build Kube from source. Got all the dependencies installed - even FlatBuffers! - but hit a problem trying to build Sink. It looks like there might be a header file missing.

/driveb/KDE-Dev/src/playground/pim/sink/common/domain/typeimplementations.h:23:10: fatal   error: mail_generated.h: No such file or directory
#include "mail_generated.h"

I'm on Kubuntu 18.04 and pulled the sources using kdesrc-build, if that helps your troubleshooting.

sharvey created this task.Apr 5 2018, 11:26 AM

Hey Scott, that file should be generated by the sink build system and ends up in the common subdirectory of the sink build directory for me. So I'm not sure why that isn't working.
To track development please build the develop branch on both the sink and kube repository, but that file should be generated on all branches...

Will do. I'll pull fresh copies and give it another shot.

I think I've had this problem when enabling parallel building, it would sometimes compile files that uses thing_generated.h before it is created, but I haven't looked into it. Can you try building with 1 job, or building in parallel several times in a row?

Hard to believe that my puny Core i5 1.6gHz chip can be too fast ;)

But here's proof:

Built with fresh copies from git and compiled with a single core.

As a side note, can I pass along some notes about what I needed to do in order to get FlatBuffers set up? It might help others.

Great =)
Yeah, I'd be interested in what problems you were facing. Normally you shouldn't have to do anything else than installing it from your distro.

sharvey added a comment.EditedApr 5 2018, 12:41 PM

If there's an apt package for Ubuntu, I couldn't find it. Even searched on Launchpad to see if it was for an older version, since I'm on Kubuntu 18.04 Beta. No luck.

I cloned it from Google's git: https://github.com/google/flatbuffers

It comes with a premade CMake makefile, so I followed directions from here: http://google.github.io/flatbuffers/flatbuffers_guide_building.html

and ran cmake -G "Unix Makefiles"

That generated executables flatc and flathash and library libflatbuffers.a

I sudo-copied flatc and flathash into /usr/bin and shoved libflatbuffers.a into /usr/lib.

With that, CMake configuration of Sink succeeded and all was good in the world.

In other words, it wasn't difficult in any way - just a little more manual than usual.

You can file this note away somewhere in the event someone else has the same problem.

Thanks for Kube - going to experiment.

Great, thanks for the info, I'll add a note to the documentation.

cmollekopf closed this task as Resolved.Apr 5 2018, 2:12 PM
cmollekopf claimed this task.

We'll track the potential cmake dependency issue in a separate ticket: T8442