Hi Bryan,
I've just run through that section of the tutorial and everything seems to work as expected. Is it possible you've
omitted the leading "${SOURCE_DIR}" in front of that path? Your Makefile for the helloworld example should look like the
attached.
Thanks,
Matthew
On 09/11/15 20:04, Bryan Ching wrote:
Hi Matthew,
Thanks for all the help. I did try starting over. But when I try running "make
clean", I am now getting an error saying
that the camkes.mk <http://camkes.mk> file isn't there.
Here is the error:
Makefile:9: /../../tools/camkes/camkes.mk <http://camkes.mk>: No such file or
directory
make: *** No rule to make target `/../../tools/camkes/camkes.mk
<http://camkes.mk>'. Stop.
I've been checking everything and it looks identical to what I had previously.
I don't understand why I'm getting this
error. I checked and the file is indeed in tools/camkes/camkes.mk
<http://camkes.mk>. Please let me know what you think.
Thanks,
On Sun, Nov 8, 2015 at 9:26 PM, Matthew Fernandez
<[email protected]
<mailto:[email protected]>> wrote:
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
<[email protected]
<mailto:[email protected]>
<mailto:[email protected]
<mailto:[email protected]>>> 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>
<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> <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>
<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
[email protected]
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.
# apps/helloworld/Makefile
TARGETS := helloworld.cdl
ADL := helloworld.camkes
Client_CFILES = components/Client/src/client.c
Hello_CFILES = components/Hello/src/hello.c
include ${SOURCE_DIR}/../../tools/camkes/camkes.mk
_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel