Library dependencies missing: stdlibs in directory

Björn Döbel doebel at
Tue Feb 18 18:05:59 CET 2014

Hash: SHA1

> So building (compiling and linking + some extra glue) is that "OS
> intense" even with the same compiler (and associated tools), the
> same language, and, not the least, on the same architecture?

When you write an application on Linux, you at least implicitly use
the C library that comes with your system. The C library in turn maps
your requests to the Linux kernel's system call interface.

If you want to run the same application on Fiasco, of course you need
a C library as well. And of course this library needs to map your
calls to Fiasco/L4Re primitives. So, yes, you need a new C library for
a new OS. Same  goes for other stuff, such as C++ STL, dynamic loading
etc. This is a large part of what gets build when you compile L4Re.

The other part is L4Re-specific libraries that define all the nice L4
abstractions so that you can actually make use of those fancy L4
servers that provide system functionality.

> Also, is the "support functionality" persistent (not 
> application/source dependent), i.e., will the process be much
> faster the next time I do it? (Actually I'll try this in one
> second, but I ask anyway.)

Sure, that's what an automated build system (e.g., GNU/Make) is there
for. To only build things once and when you don't touch them, you
don't rebuild.

> What is the rationale for all those trees with Makefiles on each
> level, not seeming to do much (to the untrained eye, though I know
> the syntax) while sometimes they are *immense*?

Please read about build systems, especially the GNU/Make manual or a

> Except for the usual stuff (target, libraries, and sources), there
> are a couple of recurring things, like
> include $(L4DIR)/mk/

Yep, all the make magic in L4Re is hidden in l4/mk/*.mk. Not very nice
for the untrained eye, though. ;)

> (and more) that perhaps would make more sense (to me) if you could
> provide me with a "hit list" what must be done to build an
> application. If I know "what" must be done, I think I could
> identify the "how" by just looking at other Makefiles.

Did you already have a look at ? The
slides at might
also be of interest for you.

- -- 
Dipl.-Inf. Bjoern Doebel    Mail:  doebel at
TU Dresden, OS Chair        Phone: +49 351 463 38 799
Noethnitzer Str. 46         Fax:   +49 351 463 38 284
01187 Dresden, Germany      WWW:
- --
"When the seagulls follow the trawler, it's because they think
 sardines will be thrown into the sea." (Eric Cantona)
Version: GnuPG v1
Comment: Using GnuPG with Icedove -


More information about the l4-hackers mailing list