Sorry, Bryan, this is another issue caused by the out-of-date tutorial instructions on
sel4.systems.
The contents of the Kbuild file for the helloworld example is missing a dependency on
libsel4bench.
I suspect at the time the original wording was put together, libsel4bench was not a
dependency of
this application. Again, the upstream tutorial doc has the correct dependencies:
apps-$(CONFIG_APP_HELLOWORLD) += helloworld
helloworld: libsel4 libmuslc libsel4platsupport \
libsel4muslccamkes libsel4sync libsel4debug libsel4bench
If you're at this point in the tutorial, I would suggest perhaps starting again from
the beginning
and following the Github instructions, as I'm unsure offhand what other latent
differences may be
present.
On 09/11/15 16:11, Bryan Ching wrote:
Thank you Matthew! That clear up so much for me! But
now I'm getting another error. Here is the message:
In file included from
/home/bryan/camkes-project/build/arm/imx31/helloworld/src/c/generated/iface_seL4RPC.c:13:0:
/home/bryan/camkes-project/stage/arm/imx31/include/camkes/timing.h:16:33: fatal error:
sel4bench/sel4bench.h: No such file or directory
#include <sel4bench/sel4bench.h>
^
compilation terminated.
make[1]: ***
[/home/bryan/camkes-project/build/arm/imx31/helloworld/src/c/generated/iface_seL4RPC.o]
Error 1
make: *** [helloworld] Error 2
Please let me know what you think.
Thanks,
On Sun, Nov 8, 2015 at 3:55 PM, Matthew Fernandez <matthew.fernandez(a)nicta.com.au
<mailto:matthew.fernandez@nicta.com.au>> wrote:
Hi Bryan,
Thanks for your questions. My answers inline below.
On 09/11/15 10:29, Bryan Ching wrote:
Hi,
I am following the tutorial for CAmkES and had a few questions.
There is a part in the tutorial that says to "create a dependency entry in
|apps/helloworld/Kbuild| for your application". How exactly do you go about
creating a
dependency?
Do you just add it to the first line of the Kconfig file?
Kbuild and Kconfig are two separate elements of the build system infrastructure. The
Kconfig files
determine the menu options and build system configuration available. The Kbuild files
express the
dependencies that GNU Make understands while building a seL4 project.
In this case, that line refers to adding the text below it to a new file,
apps/helloworld/Kbuild:
apps-$(CONFIG_APP_HELLOWORLD) += helloworld
helloworld: libsel4 libmuslc libsel4platsupport libsel4muslccamkes libsel4sync
libsel4debug
Also, for the Makefile, I needed to include the camkes.mk
<http://camkes.mk>
<http://camkes.mk> file. However, it was
not found in the specified directory. This is the command that I included in the
Makefile:
include
${SOURCE_DIR}/../../tools/common/camkes.mk <http://camkes.mk>
<http://camkes.mk> Where could
I get that file? Or if
someone had the contents of that file, I could create it myself.
This looks like a typo in the tutorial. The actual path to that file is
"${SOURCE_DIR}/../../tools/camkes/camkes.mk <http://camkes.mk>". This
is correct upstream in the
markdown source this
page is derived from, so perhaps this page has not been synchronized recently.
I'll see if I can get
that rectified. In the meantime, you could try following the upstream version of this
tutorial:
https://github.com/seL4/camkes-tool/blob/master/docs/index.md#tutorial
If you're part way through the tutorial note that the sel4.systems version has
another typo in the
setting of the ADL variable in that app's Makefile. Apologies for the
confusion.
Thanks,
Bryan
_______________________________________________
Devel mailing list
Devel(a)sel4.systems
https://sel4.systems/lists/listinfo/devel
________________________________
The information in this e-mail may be confidential and subject to legal professional
privilege
and/or copyright. National ICT Australia Limited accepts no liability for any damage
caused by
this email or its attachments.
________________________________
The information in this e-mail may be confidential and subject to legal professional
privilege and/or copyright. National ICT Australia Limited accepts no liability for any
damage caused by this email or its attachments.