diff --git a/demo/lib/mk/scout_widgets.mk b/demo/lib/mk/scout_widgets.mk
index cd54fd6feb..4863926aba 100644
--- a/demo/lib/mk/scout_widgets.mk
+++ b/demo/lib/mk/scout_widgets.mk
@@ -1,4 +1,4 @@
-LIBS = cxx env ipc server blit
+LIBS = cxx env ipc server blit signal
SRC_CC = sky_texture.cc startup.cc \
elements.cc widgets.cc \
diff --git a/libports/run/moon.run b/libports/run/moon.run
index 4f5267c8b9..7e05d5d5e6 100644
--- a/libports/run/moon.run
+++ b/libports/run/moon.run
@@ -17,6 +17,7 @@ install_config {
+
diff --git a/os/lib/mk/dde_kit.mk b/os/lib/mk/dde_kit.mk
index 284ddf99ff..e449c08f1c 100644
--- a/os/lib/mk/dde_kit.mk
+++ b/os/lib/mk/dde_kit.mk
@@ -1,7 +1,7 @@
SRC_C = lock.cc semaphore.cc panic.cc printf.cc interrupt.cc pgtab.cc \
memory.cc thread.cc pci_tree.cc pci.cc resources.cc timer.cc \
dde_kit.cc spin_lock.cc
-LIBS = thread alarm lock
+LIBS = thread alarm lock signal
#
# Enable 'spin_lock.cc' to reuse the spinlock implementation of the base
diff --git a/os/lib/mk/timed_semaphore.mk b/os/lib/mk/timed_semaphore.mk
index a6ee604be8..6cc27d7867 100644
--- a/os/lib/mk/timed_semaphore.mk
+++ b/os/lib/mk/timed_semaphore.mk
@@ -1,4 +1,4 @@
SRC_CC = timed_semaphore.cc
-LIBS = thread alarm
+LIBS = thread alarm signal
vpath timed_semaphore.cc $(REP_DIR)/src/lib/timed_semaphore
diff --git a/os/src/drivers/framebuffer/omap4/target.mk b/os/src/drivers/framebuffer/omap4/target.mk
index 378aa2c82a..8334c1a179 100644
--- a/os/src/drivers/framebuffer/omap4/target.mk
+++ b/os/src/drivers/framebuffer/omap4/target.mk
@@ -7,7 +7,7 @@
TARGET = omap4_fb_drv
REQUIRES = omap4
SRC_CC = main.cc
-LIBS = cxx env server
+LIBS = cxx env server signal
INC_DIR += $(PRG_DIR)
vpath main.cc $(PRG_DIR)
diff --git a/os/src/test/alarm/target.mk b/os/src/test/alarm/target.mk
index 3171a25341..c63dedd442 100644
--- a/os/src/test/alarm/target.mk
+++ b/os/src/test/alarm/target.mk
@@ -1,3 +1,3 @@
TARGET = test-alarm
-LIBS = cxx env thread alarm
+LIBS = cxx env thread alarm signal
SRC_CC = main.cc
diff --git a/os/src/test/bomb/target.mk b/os/src/test/bomb/target.mk
index 0e8b3c97e9..284d910d89 100644
--- a/os/src/test/bomb/target.mk
+++ b/os/src/test/bomb/target.mk
@@ -1,3 +1,3 @@
TARGET = bomb
-LIBS = cxx env thread child server
+LIBS = cxx env thread child server signal
SRC_CC = main.cc
diff --git a/os/src/test/chroot_loader/target.mk b/os/src/test/chroot_loader/target.mk
index 0c2900720e..cf7798f971 100644
--- a/os/src/test/chroot_loader/target.mk
+++ b/os/src/test/chroot_loader/target.mk
@@ -1,4 +1,4 @@
TARGET = test-chroot_loader
REQUIRES += linux
SRC_CC = main.cc
-LIBS += cxx env
+LIBS += cxx env signal
diff --git a/os/src/test/dynamic_config/loader/target.mk b/os/src/test/dynamic_config/loader/target.mk
index 590d773130..5ae37307f4 100644
--- a/os/src/test/dynamic_config/loader/target.mk
+++ b/os/src/test/dynamic_config/loader/target.mk
@@ -1,3 +1,3 @@
TARGET = test-dynamic_config_loader
SRC_CC = main.cc
-LIBS = env
+LIBS = env signal
diff --git a/os/src/test/input/target.mk b/os/src/test/input/target.mk
index 5b24b82432..71af820da4 100644
--- a/os/src/test/input/target.mk
+++ b/os/src/test/input/target.mk
@@ -1,3 +1,3 @@
TARGET = test-input
SRC_CC = test.cc
-LIBS = cxx env
+LIBS = cxx env signal
diff --git a/os/src/test/thread_join/target.mk b/os/src/test/thread_join/target.mk
index b0f7525069..18fbdacec0 100644
--- a/os/src/test/thread_join/target.mk
+++ b/os/src/test/thread_join/target.mk
@@ -1,3 +1,3 @@
TARGET = test-thread_join
SRC_CC = main.cc
-LIBS = cxx env thread
+LIBS = cxx env thread signal
diff --git a/os/src/test/timer_accuracy/target.mk b/os/src/test/timer_accuracy/target.mk
index 70062213ce..cfd3732215 100644
--- a/os/src/test/timer_accuracy/target.mk
+++ b/os/src/test/timer_accuracy/target.mk
@@ -1,4 +1,4 @@
TARGET = test-timer_accuracy
REQUIRES = linux
SRC_CC = main.cc
-LIBS = env cxx syscall
+LIBS = env cxx syscall signal