diff --git a/lib/c/Makefile b/lib/c/Makefile
index f0cd5a87f1c559e1790ebd3d4a557fbe177106ef..7ada2b7c38ae4d48a59f7f0c7ae3a911cbff6ed2 100644
--- a/lib/c/Makefile
+++ b/lib/c/Makefile
@@ -8,9 +8,10 @@ ifeq ($(UNAME_S),Linux)
   MAKESHARED=gcc -o $1 -shared -Wl,-soname,$2 $3 -lc -lrt
 else ifeq ($(UNAME_S),Darwin)
   CC=clang
-  CFLAGS=-g -Wall -Werror -O3  -I. -Itest 
+  CFLAGS=-g -Wall -Werror -O3  -I. -Itest \
 	 -DLABCOMM_COMPAT=\"labcomm_compat_osx.h\" \
 	 -Wno-tautological-compare -Wno-unused-function
+  LDFLAGS=-L.
   LDLIBS=-llabcomm
   MAKESHARED=clang -o $1 -shared -Wl,-install_name,$2 $3 -lc
 else
diff --git a/lib/c/labcomm_compat_osx.h b/lib/c/labcomm_compat_osx.h
index da41c504feeaebb413178506984f090b9d187271..1219f3f54bf8864db9ecb4a4f8fd0c915916034e 100644
--- a/lib/c/labcomm_compat_osx.h
+++ b/lib/c/labcomm_compat_osx.h
@@ -13,7 +13,7 @@
 #include <mach/mach.h>
 
 #define CLOCK_REALTIME 0
-static void clock_gettime(int garbage, struct timespec *ts)
+static inline void clock_gettime(int garbage, struct timespec *ts)
 {
   (void) garbage;
   clock_serv_t cclock;
diff --git a/lib/c/liblabcomm.so b/lib/c/liblabcomm.so
deleted file mode 100755
index 71242575ad23b579b6360d665418fcf2f87fe1cc..0000000000000000000000000000000000000000
--- a/lib/c/liblabcomm.so
+++ /dev/null
@@ -1 +0,0 @@
-INPUT(liblabcomm.so.1)
diff --git a/lib/c/liblabcomm.so b/lib/c/liblabcomm.so
new file mode 120000
index 0000000000000000000000000000000000000000..8b0c62db6ec8988f94eb48024bd122aa1da2406e
--- /dev/null
+++ b/lib/c/liblabcomm.so
@@ -0,0 +1 @@
+liblabcomm.so.1
\ No newline at end of file