diff --git a/src/lib/core/fiber.c b/src/lib/core/fiber.c
index 243a73bf810b969f52398d45caa7c9ce369f3e18..c55b3ab3996b598ab0281b78dfb1a56a82695309 100644
--- a/src/lib/core/fiber.c
+++ b/src/lib/core/fiber.c
@@ -855,6 +855,12 @@ fiber_stack_watermark_create(struct fiber *fiber)
 	stack_put_watermark(fiber->stack_watermark);
 }
 #else
+static void
+fiber_stack_recycle(struct fiber *fiber)
+{
+	(void)fiber;
+}
+
 static void
 fiber_stack_watermark_create(struct fiber *fiber)
 {
@@ -1076,7 +1082,10 @@ cord_create(struct cord *cord, const char *name)
 	cord->sched.stack = NULL;
 	cord->sched.stack_size = 0;
 #endif
+
+#ifdef HAVE_MADV_DONTNEED
 	cord->sched.stack_watermark = NULL;
+#endif
 }
 
 void