If a header file references erasurecode_backend.h structures, it ought to include the header file. Note that the already-present #ifndef _ERASURECODE_BACKEND_H_ #define _ERASURECODE_BACKEND_H_ ... #endif // _ERASURECODE_BACKEND_H_ guards ensure we don't get multiple definitions. Change-Id: I5b8b63452b5751295cf89236693f98378f949e18