Hi Matthew,

I actually got it to work. Some things got messed up in between trials, but everything's fine now. I got it to display "hello world".

Thanks,
Bryan

On Tue, Nov 10, 2015 at 12:59 PM, Matthew Fernandez <matthew.fernandez@nicta.com.au> wrote:
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 <matthew.fernandez@nicta.com.au
<mailto:matthew.fernandez@nicta.com.au>> 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 <matthew.fernandez@nicta.com.au
        <mailto:matthew.fernandez@nicta.com.au>
        <mailto:matthew.fernandez@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>
                 <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
                 Devel@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.