Porting Zenoh Protocol to RIOT

Hi guys, I managed to do a port for the Zenoh protocol (ZHe and Zenoh-C) (https://github.com/atolab/zenoh-c) (https://github.com/atolab/zhe). It works on native, however when I try to compile it for a board it fails during the CMAKE build phase. Note, I used RIOTs package system.

When i compile using native, the (gcc and g++) compilers are used. When i compile for a board the arm-none-eabi-gcc compiler is used.

For compiling ZHe, i receive the following error “fatal error: netinet/in.h: No such file or directory, #include <netinet/in.h>”

For compiling Zenoh-C, i receive the following error “Looking for pthread_create - not found”… “-- Check if compiler accepts -pthread - no”…Note, that pthread.h was found.

Also note, ZHe does not use threads, whilst Zenoh-C does use threads.

Any advice on how I can solve these issues, would be appreciated?

With thanks Brenton

Hi Brenton,

For compiling ZHe, i receive the following error "fatal error: netinet/in.h: No such file or directory, #include <netinet/in.h>" **

The <netinet/in.h> header is available:

To use it you must add "posix_headers" to USEMODULE.

For compiling Zenoh-C, i receive the following error "Looking for pthread_create - not found".... "-- Check if compiler accepts -pthread - no"....Note, that pthread.h was found.

The error you are receiving seems to come from the configure phase. AFAIK Riot's pthread support does not use the "-pthread" compiler flag so you should find a way to skip that check.

Keep in mind Riot's Posix compatibility module is incomplete. There is a "pthread" module (add it to USEMODULE), but don't expect it to behave exactly like Posix mandates or to support everything. It all depends on how much of the functionality Zenoh-C needs (it may even compile but not work as intended).

Also note, ZHe does not use threads, whilst Zenoh-C does use threads.

Then I predict you might have more success with ZHe.

Regards,

Juan.