Build errors incorporating libc

Norman Feske norman.feske at ...1...
Mon Mar 3 10:28:57 CET 2014

Hi Bob,

>    Library libc-regex
>      MERGE    libc-regex.lib.a
>    Library libc-compat
>      MERGE    libc-compat.lib.a
> make[3]: *** No rule to make target `_setjmp.o', needed by 
> `libc-setjmp.lib.a'.  Stop.
> make[3]: *** Waiting for unfinished jobs....
>    Library libc-setjmp
> make[2]: *** [libc-setjmp.lib] Error 2
> make[2]: *** Waiting for unfinished jobs....
>    Library ldso-startup
>    .
>    .
>    .
> What am I missing?

the error leaves me wondering. The rest of the libc seems to be ok, only
libc-setjmp does not compile? I can only think of two possible reasons
for the problem:

Maybe your build directory has some stale dependency files, which are no
longer valid after an update of the Genode source tree? Could you try to
remove the build directory for the library via

  rm -r <your-build-dir>/var/libcache/libc-setjmp

Try then to build a target that uses the libc (including libc-setjmp):

  make test/ldso

Or, alternatively, you can try to clean the whole build directory
instead of only removing the single library via

  make cleanall

The second possible cause may be an incomplete 'make prepare' of the
libc. Could you re-try this step again?

  cd <genode-dir>/libports
  make clean prepare PKG=libc

By specifying both "clean" and "prepare", the old version of the libc
will be removed before preparing the libc again.

If all that does not help, you may try starting with a fresh build
directory. If the build works with a fresh one, I'd be interested in the
difference between the old and the new build directories.

  diff -ru <broken-build-dir> <working-build-dir>

This information would help us to find out what went wrong.


Dr.-Ing. Norman Feske
Genode Labs ·

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

More information about the users mailing list