Let’s build!

Unless I’ve forgotten anything, we should almost be ready to go. So let’s go back to our article and find the first problem. Unlike most yocto builds where you build all at once, this is done in two stages. This seems to be because of the final part, “rootfs” where it populates the root file system, in my experience, NI safemode is an init RAM version of the kernel that isn’t built the typical way. There’s even a warning that this is to be deprecated in future by yocto, at some stage I’ll address this in future articles, for now, I’m just going to say for an experienced yocto developer… yes, it looks weird to me too if you think so.

So following our instructions (pre-build our packages) I get going and run:

bitbake packagegroup-ni-coreimagerepo

So here’s where we start to learn some interesting things. We hit our first error and start to be able to do some proper work.

Our first error which we'll run through and fix

Your first error could be different as it doesn’t always build in the exact same order, it will however build in a dependency chain if established for certain packages (very common). So, you’ll see via this error it gives us a log file, let’s go take a look. The first trick here is that once you have opened this log file, run Ctrl+F and search from the bottom upwards. This is because the first instances where it might say error might be “compiling error.h” which is more referencing an error handling file, so your first error will be somewhere at the end. Let’s go find it:

The error for glib-native itself
The error itself

Note: if you have multiple builds, that number at the end of your file will be relevant to your current build and should be where you look.

Tags:

One thought on “Compiling the NI Linux RT with Yocto

  1. Thank you for every other informative website.
    The place else could I get that kind of info written in such
    an ideal approach? I’ve a project that I am simply now running
    on, and I’ve been at the look out for such info.

Leave a Reply

All fields marked with an asterisk (*) are required