This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Nrf9160dk Build failed for asset tracker application.

  • No, not yet!  It gets further along the build, but now has problems with undefined types and macros.  See the undefined macro CONFIG_NET_BUF_USER_DATA_SIZE and struct pollfd.  I am still working to track down where these come from and what is missing from the build setup to properly define them.

    host/CMakeFiles/..__nrf__lib__at_host.dir/at_host.c.obj -c C:/iot/nordic/ncs/nrf/lib/at_host/at_host.c
    In file included from C:/iot/nordic/ncs/zephyr/include/net/net_l2.h:15:0,
    from C:/iot/nordic/ncs/zephyr/include/net/net_if.h:29,
    from C:/iot/nordic/ncs/zephyr/include/net/net_context.h:27,
    from C:/iot/nordic/ncs/zephyr/include/net/dns_resolve.h:17,
    from C:/iot/nordic/ncs/zephyr/include/net/socket.h:27,
    from C:/iot/nordic/ncs/nrf/lib/at_host/at_host.c:15:
    C:/iot/nordic/ncs/zephyr/include/net/buf.h:528:17: error: 'CONFIG_NET_BUF_USER_DATA_SIZE' undeclared here (not in a function); did you mean 'CONFIG_AT_HOST_UART_BUF_SIZE'?
    u8_t user_data[CONFIG_NET_BUF_USER_DATA_SIZE] __net_buf_align;
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    CONFIG_AT_HOST_UART_BUF_SIZE
    C:/iot/nordic/ncs/nrf/lib/at_host/at_host.c:57:22: error: array type has incomplete element type 'struct pollfd'
    static struct pollfd fds[1];
                                 ^~~

  • But why should I build the at_client sample?. I want to debug errors for the asset tracker application. 

  • Hi,

     

    The procedure is equal for the asset_tracker, you just need to replace the paths.

     

    Kind regards,

    Håkon

  • But there are no errors while building the at_client sample.

  • I was using this issue to get familiar with the Zephyr build system.  I have to say, it feels like massive overkill, coming from far simpler makefile-based build systems, even mbed is much simpler.  I still can not figure out how the "at_host" library is being linked into the asset_tracker application.  It appears to be needed, because when removing it from the zerhyr/.config file (which is a key end result of the configuration process), there are unresolved symbols during linking.  I can only conclude that another configuration option is missing to properly setup the sockets library and that at_host is needed.

    So, all that said, the build problems go away if the master branch of https://github.com/NordicPlayground/fw-nrfconnect-nrf is checked out.  The difference is that a prj.conf file is added to the asset tracker application, which I assume sets the missing configuration options.  I think - but I might be wrong - that a 'ninja menuconfig' was needed in the 0.4.0 version of the project to set the options - but we don't know what they are as users of the project.

    To summarize, tag 0.4.0 is broken  and branch master builds with respect to the asset tracker.  I only checked out tag 0.4.0 because the getting started assistant suggested to use the latest tag for a more stable starting point!

    Go into nrf/ and run:

    • git checkout master
    • west update
Related