Index: haskell-glut/GLUT.cabal
===================================================================
--- haskell-glut.orig/GLUT.cabal	2016-05-12 12:47:38.000000000 -0400
+++ haskell-glut/GLUT.cabal	2017-05-06 16:55:16.164611101 -0400
@@ -103,6 +103,7 @@
   else
     cpp-options: "-DCALLCONV=ccall"
     cc-options: "-DUSE_DLSYM"
+    extra-libraries: glut
 
 executable BOGLGP01-OnYourOwn1
   if !flag(BuildExamples)
Index: haskell-glut/cbits/HsGLUT.c
===================================================================
--- haskell-glut.orig/cbits/HsGLUT.c	2016-05-12 12:47:38.000000000 -0400
+++ haskell-glut/cbits/HsGLUT.c	2017-05-06 16:56:30.898637798 -0400
@@ -66,7 +66,7 @@
       handle = dlopen("/System/Library/Frameworks/GLUT.framework/GLUT", RTLD_LAZY | RTLD_GLOBAL);
     }
 #else
-    handle = dlopen("libglut.so", RTLD_LAZY | RTLD_GLOBAL);
+    handle = dlopen(NULL, RTLD_LAZY | RTLD_GLOBAL);
 #endif
   }
 
