Buildroot 2021.06 - i.MX8MM - Not compile

  • Host PC: Ubuntu 22.04 AMD64

    Toolchain: fs-toolchain-9.3-armv8ahf - Provided by fs


    I've been trying to solve this for several days but I haven't succeeded yet.

    Buildroot fails in compilation. Fails in original fs config.

    How to reproduce the problem:

    • ./setup-buildroot output
    • cd fsimx8mm-B2021.06/output
    • make fsimx8mm_wayland_defconfig
    • make

    I think that if no one on the forum is aware of this it is because everyone uses Yocto except us. I don't like this situation and I 'm thinking of switching to Yocto.

  • Maybe no one in the forum is aware of this problem because they all use our predefined Development Machine where this problem does not exist. :-)

    Choosing the right distribution release and setting up the build machine is not as easy as it may look like. First of all, the compilers and other tools must neither be too old, nor too young. They must more or less match the time of the software that is to be compiled. For example the buildroot-2021.02 stuff may be targeted for at most GCC-9.x. So having GCC-10 or even GCC-11 may cause unexpected warnings and errors. Ubuntu 22.04 is rather new and may cause exactly such problems. And yes, I'm also talking of x86-tools on the build machine. The build process also builds some x86 tools and intermediate steps that are needed for the final cross-compilation process.

    The next thing is that the build process may need some additional packages installed on the build machine. For example you typically need some devel-packages, i.e. packages that provide the header files for the main package. And you also need additional packages for some tools (e.g. bison, ncurses, etc). This often depends on the configuration that you want to build. On our development machine, we have already installed all the tools and packages that we know are needed for our given configurations. Of course when using your own development machine, you are responsible for installing all these packages.

    Unfortunately, the screenshot does not give enough information to locate the problem. The compiler complains about a stray backslash, and we see that the backslash is at the beginning of a line with an #include command. This is strange. Is this already part of the original code or is this the result of some pre-processing, like the C-preprocessor inserting all macros or some code generation step that was run earlier? If this is really in the code, maybe this part of the code is not supposed to be compiled, e.g. because an earlier #if condition should not be true. This could be again the result of some different behavior of newer development tools. Or it is only the result of an earlier error that is the main reason for the build failure.

    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.