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.
Cheers Norman