Build system wipes include directory

Edgar Klerks edgar.klerks at ...9...
Sun Dec 8 14:23:50 CET 2013

Hi Norman,

I just read the tutorial again and you are right, in the tutorial there
stands that the repository and build dir are separate. It was this what was
unclear to me:

In the remaining document when referring to non-absolute directories, these
are local to hello_tutorial. Now we tell the Genode build system, that
there is a new repository. Therefore we add the path to our new repository
to 'build/etc/build.conf':
I thought the build directory was relative to hello_tutorial, but you are
stating it is not.

The rest of the tutorial was very clear to me.



On Sun, Dec 8, 2013 at 11:06 AM, Norman Feske
<norman.feske at ...1...>wrote:

> Hello Edgar,
> thanks for giving Genode a try and welcome to the list!
> > I thought no problem, thus I did a make clean. This wasn't helpful. Then
> > I did a make cleanall, but now it wiped out the whole build/include
> > directory.
> >
> > Is this intended behaviour or should I not put things there? At this
> > stage it is just annoying, but I think this is a bug, because the
> > tutorial puts the headers, which define the RPC interfaces. Can I
> > prevent this behaviour?
> it looks like you somehow got the meaning of source and build
> directories mixed up. Genode's build system builds out of tree, that is,
> it keeps source codes separated from build output. From what you write,
> it seems that you placed your source code right into the build
> directory. That is not supposed to work. Instead, I recommend to place
> your code into one of the existing souce-code repositories or create a
> new source-code repository for your project. (outside the build
> directory) For more details of how a source-code repository is
> structured, let me refer you to the build-system documentation:
> Your build directly obtains the list of the source-code repositories to
> use from the '<build-dir>/etc/build.conf' file. This is the place where
> you can add additional repositories such as your project's one.
> Your post hints at a problem with the current version of the tutorial.
> Is does not seem to make perfectly clear where to place the source code.
> So you have a suggestion where and how to include this information in a
> good way?
> > And I want to use c++ features like Strings instead of char *. How can I
> > enable this? I recognize I need a library for this, but I can't find it
> > in base.
> You can use most of the standard C++ library by taking the following steps:
> 1. Download the standard C++ library into the Genode source tree by
>    issuing the following command from within the 'libports/' repository:
>    make prepare PKG=stdcxx
>    For stdcxx to work, you will also need the C runtime, which you can
>    obtain via the following command:
>    make prepare PKG=libc
> 2. Add the 'libports/' repository to the list of 'REPOSITORIES' in your
>    '<build-dir>/etc/build.conf' file. (just uncomment the corresponding
>    line)
> 3. Specify the 'stdcxx' library in your '' file by adding the
>    following declaration:
>    LIBS += stdcxx
> Now you should be able to include the usual C++ headers for strings and
> containers.
> Good luck!
> Norman
> --
> Dr.-Ing. Norman Feske
> Genode Labs
> ·
> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
> Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
> ------------------------------------------------------------------------------
> Sponsored by Intel(R) XDK
> Develop, test and display web and hybrid apps with a single code base.
> Download it for free now!
> _______________________________________________
> Genode-main mailing list
> Genode-main at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list