--- rak/allocators.h.old 2012-01-19 11:18:01.000000000 +0100
+++ rak/allocators.h 2014-01-06 14:05:02.353536095 +0100
@@ -44,6 +44,40 @@
#include <stdlib.h>
#include <sys/types.h>
+#ifdef __sun__
+// #ifndef HAVE_POSIX_MEMALIGN
+// # ifdef HAVE_MEMALIGN
+
+// Solaris 10 has no posix_memalign so we have to emulate it
+// My know how is very limited, so this is a hack
+// most of the code got from https://www.redhat.com/archives/open-scap-list/2011-April/msg00035.html
+// Pitz 12. Jan 2014
+
+/* Implementing posix_memalign using memalign */
+inline int posix_memalign(void **memptr, size_t alignment, size_t size)
+{
+ if ((alignment % sizeof(void *)) != 0)
+ {
+// return EINVAL;
+ return 1;
+ }
+
+ *memptr = memalign(alignment, size);
+
+ /* The spec for posix_memalign requires that alignment be a power
+ of 2. Memalign checks for that case, and returns NULL on failure. */
+ if (*memptr == NULL)
+ {
+ /* posix_memalign must return an appropriate error code */
+// return EINVAL;
+ return 1;
+ }
+ return 0;
+}
+// # endif /* HAVE_MEMALIGN */
+// #endif /* HAVE_POSIX_MEMALIGN */
+#endif
+
namespace rak {
template <class T = void*>