Monday, 26 October 2020

[gccsdk] Cross-compiling header issues

Hello

I'm embarking on my first attempt to cross-compile something for riscos. I have the environment all set up and figured out how to make the project, but i'm not sure what the appropriate fix is for an issue:

The project in question (https://github.com/google/benchmark) runs a check at build time to see which regex engine is available (std::regix, posix regex, or gnu posix regex). It does this by compiling some test programs and seeing which succeeds. The issue is that none do for riscos (yet).

The closest I get is with the posix regex version, which includes `regex.h`. This fails with the error:

$ $CXX posix_regex.cpp
In file included from posix_regex.cpp:1:0:
/home/dominic/gccsdk/cross/lib/gcc/arm-unknown-riscos/4.7.4/../../../../arm-unknown-riscos/include/regex.h:56:2: error: 'size_t' does not name a type

I believe I could fix this by including <sys/types.h> in the crosslib's regex.h (linux does this https://code.woboq.org/linux/include/regex.h.html#23) but is this appropriate? It seems like the right fix to me as regex.h shouldn't be using types that haven't been declared.

Would this change be acceptable?

Thanks
- dominic

No comments:

Post a Comment