diff --git a/CMakeLists.txt b/CMakeLists.txt
index fe174b1ac1c96db0d949e1974832e4adcb791a50..97e74f430d1ac5bdc96ac7f38a32464788fad033 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -191,6 +191,9 @@ endif()
 
 
 if (ENABLE_STATIC)
+  if (UNIX AND NOT APPLE)
+     find_package(DL REQUIRED)
+  endif()
   set(Boost_LIBRARIES)
   set(Boost_USE_STATIC_LIBS ON)
   find_package(Boost ${_BOOST_MIN_VERSION} 
@@ -261,4 +264,5 @@ message(STATUS
         "   Compound Lib                   (-DCOMPOUND_LIB) : ${_COMP_LIB}\n"
         "   TMAlign and TMScore         (-DCOMPILE_TMTOOLS) : ${_TM_TOOLS}\n"
         "   Static Libraries              (-DENABLE_STATIC) : ${ENABLE_STATIC}\n"
-        "   Debian-style 'libexec' (-DDEBIAN_STYLE_LIBEXEC) : ${_DEBIAN_STYLE_LIBEXEC}" )
\ No newline at end of file
+        "   Debian-style 'libexec' (-DDEBIAN_STYLE_LIBEXEC) : ${_DEBIAN_STYLE_LIBEXEC}" )
+
diff --git a/cmake_support/OST.cmake b/cmake_support/OST.cmake
index 89c0f0973438df94ecf1bb98897432557f9cf637..b178b221bb9a65939f7ebfa1d2f6ef169cb2715d 100644
--- a/cmake_support/OST.cmake
+++ b/cmake_support/OST.cmake
@@ -211,7 +211,7 @@ macro(module)
       foreach(_DEPENDENCY ${_ARG_DEPENDS_ON})
         target_link_libraries(${_LIB_NAME}_static ${_DEPENDENCY}_static)
       endforeach()
-      target_link_libraries(${_LIB_NAME}_static ${ZLIB_LIBRARIES} ${_ARG_LINK})
+      target_link_libraries(${_LIB_NAME}_static ${ZLIB_LIBRARIES} ${_ARG_LINK} ${DL_LIBRARIES})
     endif()
     if (APPLE)
       set_target_properties(${_LIB_NAME} PROPERTIES
@@ -304,11 +304,13 @@ macro(executable)
   endif()
   if (ENABLE_STATIC AND _ARG_STATIC)
     set(TARGET_SUFFIX _static)
-    target_link_libraries(${_ARG_NAME} ${STATIC_LIBRARIES})
   endif()
   foreach(_DEP ${_ARG_DEPENDS_ON})
     target_link_libraries(${_ARG_NAME} ${_DEP}${TARGET_SUFFIX})
   endforeach()
+  if (ENABLE_STATIC AND _ARG_STATIC)
+    target_link_libraries(${_ARG_NAME} ${STATIC_LIBRARIES})
+  endif()
   install(TARGETS ${_ARG_NAME} DESTINATION bin)
 endmacro()
 
diff --git a/modules/io/tests/CMakeLists.txt b/modules/io/tests/CMakeLists.txt
index c4b3486d52aeb26db1865488f61e42c750f9c67c..34bcff5cdcfda1264d94d34a1d11c377400123ac 100644
--- a/modules/io/tests/CMakeLists.txt
+++ b/modules/io/tests/CMakeLists.txt
@@ -22,3 +22,4 @@ ost_unittest(MODULE io
 add_executable(test_mae_standalone test_mae_standalone.cc)
 target_link_libraries(test_mae_standalone ost_mol)
 target_link_libraries(test_mae_standalone ost_io)
+target_link_libraries(test_mae_standalone ${Boost_REGEX_LIBRARY})
diff --git a/modules/mol/alg/src/CMakeLists.txt b/modules/mol/alg/src/CMakeLists.txt
index 3c295068bf65bc99dba45e1cd2796a4a07073117..99c1cd6778bbf5781f06f5079a32ad9e06d8016d 100644
--- a/modules/mol/alg/src/CMakeLists.txt
+++ b/modules/mol/alg/src/CMakeLists.txt
@@ -38,8 +38,7 @@ if (ENABLE_IMG)
 endif()
 
 executable(NAME ldt SOURCES ldt.cc 
-           DEPENDS_ON ost_io ost_mol_alg STATIC)
-target_link_libraries(ldt ${BOOST_PROGRAM_OPTIONS})
+           DEPENDS_ON  ost_mol ost_mol_alg ost_io STATIC)
 
 module(NAME mol_alg SOURCES ${OST_MOL_ALG_SOURCES}
        HEADERS ${OST_MOL_ALG_HEADERS}
diff --git a/modules/mol/base/src/CMakeLists.txt b/modules/mol/base/src/CMakeLists.txt
index 47a5eed91ae8a53a511509b68abd1ca5674aed1f..134eb4e25691507a50039077bdf58099b57ae9ea 100644
--- a/modules/mol/base/src/CMakeLists.txt
+++ b/modules/mol/base/src/CMakeLists.txt
@@ -102,10 +102,11 @@ endforeach()
 
 if(ENABLE_INFO)
   set (INFO_DEPS ost_info)
+else()
+  list(APPEND LINK ${Boost_REGEX_LIBRARY})
 endif()
 
-
 module(NAME mol SOURCES ${OST_MOL_SOURCES}
        HEADERS ${OST_MOL_IMPL_HEADERS} IN_DIR impl
        ${OST_MOL_HEADERS} HEADER_OUTPUT_DIR ost/mol
-       DEPENDS_ON ost_geom ost_base ${BOOST_REGEX_LIBRARIES} ${INFO_DEPS})
+       DEPENDS_ON ost_geom ost_base ${INFO_DEPS})