memalign is Linux-specific, so use C11 aligned_alloc instead In file included from decode_hybrid_vp9.cpp:67: In file included from ./cmrt_api.h:35: In file included from /usr/local/include/cm_rt.h:41: In file included from /usr/local/include/cm_rt_linux.h:51: /usr/include/malloc.h:3:2: error: " has been replaced by " #error " has been replaced by " ^ /usr/local/include/cm_rt_linux.h:337:9: error: use of undeclared identifier 'memalign' return memalign(alignment, size); ^ In file included from os_utilities.c:43: /usr/include/malloc.h:3:2: error: " has been replaced by " #error " has been replaced by " ^ os_utilities.c:66:8: warning: implicit declaration of function 'memalign' is invalid in C99 [-Wimplicit-function-declaration] ptr = _aligned_malloc(size, alignment); ^ os_utilities.c:59:43: note: expanded from macro '_aligned_malloc' #define _aligned_malloc(size, alignment) memalign(alignment, size) ^ os_utilities.c:66:6: warning: incompatible integer to pointer conversion assigning to 'PVOID' (aka 'void *') from 'int' [-Wint-conversion] ptr = _aligned_malloc(size, alignment); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- src/cm_rt_linux.h.orig 2016-09-07 23:51:38 UTC +++ src/cm_rt_linux.h @@ -48,7 +48,6 @@ extern "C" { #include #include #include -#include #include #include #include @@ -334,7 +333,7 @@ template <> inline const char *CM_TYPE_NAME_UNMANGLED inline void *CM_ALIGNED_MALLOC(size_t size, size_t alignment) { - return memalign(alignment, size); + return aligned_alloc(alignment, size); } inline void CM_ALIGNED_FREE(void *memory) --- src/os_utilities.c.orig 2016-09-07 23:51:38 UTC +++ src/os_utilities.c @@ -40,7 +40,6 @@ #include #include #include -#include #include "string.h" #include @@ -56,7 +55,7 @@ INT32 GenOsMemAllocCounter; GENOS_OS_VERBOSEMESSAGE("GenOsMemAllocCounter = %d, Addr = 0x%x.", GenOsMemAllocCounter, ptr); \ GENOS_OS_VERBOSEMESSAGE(".", ptr); -#define _aligned_malloc(size, alignment) memalign(alignment, size) +#define _aligned_malloc(size, alignment) aligned_alloc(alignment, size) #define _aligned_free(ptr) free(ptr) PVOID GENOS_AlignedAllocMemory(SIZE_T size, SIZE_T alignment)