--- /dev/null
+++ b/include/signal_compat.h
@@ -0,0 +1,4 @@
+#define SIGEV_SIGNAL    0       /* notify via signal */
+#define SIGEV_NONE      1       /* other notification: meaningless */
+#define SIGEV_THREAD    2       /* deliver via thread creation */
+#define SIGEV_THREAD_ID 4       /* deliver to thread */
--- a/criu/pie/restorer.c
+++ b/criu/pie/restorer.c
@@ -50,6 +50,10 @@
 #include "shmem.h"
 #include "restorer.h"
 
+#ifndef __GLIBC__
+#include "signal_compat.h"
+#endif
+
 #ifndef PR_SET_PDEATHSIG
 #define PR_SET_PDEATHSIG 1
 #endif
@@ -1067,7 +1071,7 @@
 #ifdef __GLIBC__
 		sev._sigev_un._tid = args->posix_timers[i].spt.notify_thread_id;
 #else
-		sev.sigev_notify_thread_id = args->posix_timers[i].spt.notify_thread_id;
+		sev.sigev_notify_function = args->posix_timers[i].spt.notify_thread_id;
 #endif
 		sev.sigev_value.sival_ptr = args->posix_timers[i].spt.sival_ptr;
 
