Agile-IoT / agile-iotivity

AGILE IoTivity Support (APIv2)
Eclipse Public License 2.0
6 stars 1 forks source link

Compile RIOT server example on native #2

Open biboc opened 7 years ago

biboc commented 7 years ago

RIOT iotivity server on native does not compile with gcc version 5.4.0

RIOT/examples/iotivity_examples/server$ make
Building application "ocf_server" for "native" with MCU "native".

"make" -C RIOT/pkg/iotivity
In file included from deps/tinycbor/src/cborencoder.c:31:0:
deps/tinycbor/src/cbor.h:154:28: error: ISO C restricts enumerator values to range of ‘int’ [-Werror=pedantic]
     CborErrorOutOfMemory = ~0U / 2 + 1,
                            ^
deps/tinycbor/src/cbor.h:155:30: error: ISO C restricts enumerator values to range of ‘int’ [-Werror=pedantic]
     CborErrorInternalError = ~0U
                              ^
deps/tinycbor/src/cbor.h:166:6: error: ISO C99 doesn’t support unnamed structs/unions [-Werror=pedantic]
     };
      ^
In file included from deps/tinycbor/src/cborencoder.c:32:0:
deps/tinycbor/src/cborconstants_p.h:47:31: error: ISO C restricts enumerator values to range of ‘int’ [-Werror=pedantic]
     MajorTypeMask           = ~0U << MajorTypeShift,
                               ^
In file included from deps/tinycbor/src/cborencoder.c:33:0:
deps/tinycbor/src/cborencoder.c: In function ‘create_container’:
deps/tinycbor/src/compilersupport_p.h:53:41: error: ISO C99 does not support ‘_Static_assert’ [-Werror=pedantic]
 #  define cbor_static_assert(x)         _Static_assert(x, #x)
                                         ^
deps/tinycbor/src/cborencoder.c:459:5: note: in expansion of macro ‘cbor_static_assert’
     cbor_static_assert(((MapType << MajorTypeShift) & CborIteratorFlag_Containe
     ^
deps/tinycbor/src/compilersupport_p.h:53:41: error: ISO C99 does not support ‘_Static_assert’ [-Werror=pedantic]
 #  define cbor_static_assert(x)         _Static_assert(x, #x)
                                         ^
deps/tinycbor/src/cborencoder.c:460:5: note: in expansion of macro ‘cbor_static_assert’
     cbor_static_assert(((ArrayType << MajorTypeShift) & CborIteratorFlag_Contai
     ^
cc1: all warnings being treated as errors
Makefile:36 : la recette pour la cible « deps/tinycbor/src/cborencoder.o » a échouée
make[2]: *** [deps/tinycbor/src/cborencoder.o] Erreur 1
Makefile:17 : la recette pour la cible « all » a échouée
make[1]: *** [all] Erreur 2
RIOT/examples/iotivity_examples/server/../../../Makefile.include:317 : la recette pour la cible « RIOT/examples/iotivity_examples/server/bin/native/iotivity.a » a échouée

I had also some problem with sys/cdefs.h file not found on ubuntu 16.04 that I solved by installing libc6-dev-i386

mattiantonini commented 7 years ago

Hi! About this problem there is an open issue on the RIOT repo RIOT-OS/RIOT#6241 . We are investigating. maybe can you try with an older version of GCC like 4.9.3?