diff --git a/modules/base/pymod/export_logger.cc b/modules/base/pymod/export_logger.cc
index 91eccbdec2922ab4b5c1167ef48c3ef6d1d8e301..446d041166e3695c7a63578ff223ef966e78f2fb 100644
--- a/modules/base/pymod/export_logger.cc
+++ b/modules/base/pymod/export_logger.cc
@@ -18,6 +18,10 @@
 //------------------------------------------------------------------------------
 #include <boost/python.hpp>
 #include <boost/python/raw_function.hpp>
+#if BOOST_VERSION<103400
+#include <boost/python/detail/api_placeholder.hpp>
+#endif
+
 using namespace boost::python;
 
 #include <ost/log.hh>
@@ -178,7 +182,7 @@ void export_Logger()
   // the "ost" command-line interpreter. If we don't remove all the sinks from
   // the sink stack, we will get "Fatal Python error: PyEval_SaveThread: 
   // NULL tstate" upon exiting ost. I don't completely understand why, though.
-  scope().attr("__dict__")["atexit"]=import("atexit");
+  scope().attr("__dict__")["atexit"]=handle<>(PyImport_ImportModule("atexit"));
 
   def("_reset_sinks", &reset_sinks);
   object r=scope().attr("_reset_sinks");
diff --git a/modules/base/pymod/wrap_base.cc b/modules/base/pymod/wrap_base.cc
index 40ad33717f79c38e58c21624b87736f387016f3c..e1a74154acc8cd264166c732533c63f9adcd9556 100644
--- a/modules/base/pymod/wrap_base.cc
+++ b/modules/base/pymod/wrap_base.cc
@@ -102,7 +102,7 @@ BOOST_PYTHON_MODULE(_ost_base)
   ;
   
   class_<std::vector<String> >("StringList", init<>())
-    .def(vector_indexing_suite<std::vector<String> >())
+    .def(vector_indexing_suite<std::vector<String>, true>())
   ;
   
   typedef std::vector<int> IntList;
diff --git a/modules/base/src/platform.cc b/modules/base/src/platform.cc
index 492a6a4a5810acf8b6bd8a8034ca142b08f82d86..52e75870f0caf9da34d3980983c0a83253557e86 100644
--- a/modules/base/src/platform.cc
+++ b/modules/base/src/platform.cc
@@ -16,7 +16,7 @@
 // along with this library; if not, write to the Free Software Foundation, Inc.,
 // 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 //------------------------------------------------------------------------------
-#include <boost/filesystem.hpp>
+#include <boost/filesystem/path.hpp>
 #include <ost/platform.hh>
 using boost::filesystem::path;
 namespace ost {
diff --git a/modules/base/tests/test_generic_property.cc b/modules/base/tests/test_generic_property.cc
index 754d5ead4438d6c8a9c5780170e625bf65983c72..025630e08b34606d8aae547cca63d3ae8db8ba52 100644
--- a/modules/base/tests/test_generic_property.cc
+++ b/modules/base/tests/test_generic_property.cc
@@ -16,15 +16,17 @@
 // along with this library; if not, write to the Free Software Foundation, Inc.,
 // 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 //------------------------------------------------------------------------------
-#include <ost/mol/mol.hh>
 #define BOOST_TEST_DYN_LINK
+
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
+#include <ost/mol/mol.hh>
 
 using namespace ost;
 using namespace ost::mol;
 
-BOOST_AUTO_TEST_SUITE( base )
+BOOST_AUTO_TEST_SUITE( base );
 
 BOOST_AUTO_TEST_CASE( test_generic_property )
 {
@@ -62,4 +64,4 @@ BOOST_AUTO_TEST_CASE( test_generic_property )
   BOOST_CHECK(atomv.GetBoolProp("d")==true);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/base/tests/test_pod_vector.cc b/modules/base/tests/test_pod_vector.cc
index f5dd2003f2eda686e031119204159725b2380a28..0e7225cedd522e89e527b0ea643932b80ae37beb 100644
--- a/modules/base/tests/test_pod_vector.cc
+++ b/modules/base/tests/test_pod_vector.cc
@@ -22,6 +22,7 @@
 #include <ost/pod_vector.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 using namespace ost;
 
@@ -31,7 +32,7 @@ struct Payload {
   int x;  
 };
 
-BOOST_AUTO_TEST_SUITE(base)
+BOOST_AUTO_TEST_SUITE(base);
 
 BOOST_AUTO_TEST_CASE(pod_vector_trivia)
 {
@@ -59,4 +60,4 @@ BOOST_AUTO_TEST_CASE(pod_vector_push_pop)
   BOOST_CHECK_EQUAL(vec.capacity(), size_t(4));  
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/base/tests/test_string_ref.cc b/modules/base/tests/test_string_ref.cc
index 05ea7701ec963d2d89f0c6098c9272e2cd59d3f2..8d69f0ce80ff297a7dd27149fdffad9548982cbe 100644
--- a/modules/base/tests/test_string_ref.cc
+++ b/modules/base/tests/test_string_ref.cc
@@ -20,13 +20,15 @@
 /*
   Author: Marco Biasini
  */
-#include <ost/string_ref.hh>
+
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
-
+#include <boost/test/auto_unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
+#include <ost/string_ref.hh>
 using namespace ost;
 
-BOOST_AUTO_TEST_SUITE( base )
+BOOST_AUTO_TEST_SUITE( base );
 
 BOOST_AUTO_TEST_CASE( test_string_ref)
 {
@@ -135,4 +137,4 @@ BOOST_AUTO_TEST_CASE( test_string_ref)
   BOOST_CHECK(r3.first==false);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/base/tests/tests.cc b/modules/base/tests/tests.cc
index 2d38b16a54f1835134efdc927bf1c59b30a106b6..9d9646b9f8ead978584f0a48da4af3c58a671fad 100644
--- a/modules/base/tests/tests.cc
+++ b/modules/base/tests/tests.cc
@@ -18,5 +18,7 @@
 //------------------------------------------------------------------------------
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_MODULE ost_base
+#define BOOST_AUTO_TEST_MAIN
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
diff --git a/modules/conop/tests/test_builder.cc b/modules/conop/tests/test_builder.cc
index b557b76f30fb44e72131650960d8314bcb7d6519..0d5d6537145ea27dc63cbe2960afe7f9e6b293a2 100644
--- a/modules/conop/tests/test_builder.cc
+++ b/modules/conop/tests/test_builder.cc
@@ -21,6 +21,7 @@
 #include <ost/conop/heuristic_builder.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 
 // using boost::unit_test_framework::test_suite;
@@ -28,7 +29,7 @@ using namespace ost;
 using namespace ost::conop;
 using namespace ost::mol;
 
-BOOST_AUTO_TEST_SUITE( conop )
+BOOST_AUTO_TEST_SUITE( conop );
 
 BOOST_AUTO_TEST_CASE(test_guess_chem_class)
 {
@@ -72,4 +73,4 @@ BOOST_AUTO_TEST_CASE( test_builder )
   BOOST_CHECK_EQUAL(Builder::GuessAtomElement("11", false), "");  
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/conop/tests/test_heuristic_builder.cc b/modules/conop/tests/test_heuristic_builder.cc
index 0e3a811ae922d0d8375fe98ab96163765f5766f4..bca1b67ee9e4e5ed9b9a9784031ba6fd57918370 100644
--- a/modules/conop/tests/test_heuristic_builder.cc
+++ b/modules/conop/tests/test_heuristic_builder.cc
@@ -22,6 +22,7 @@
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 #include <ost/log.hh>
 using boost::unit_test_framework::test_suite;
@@ -155,7 +156,7 @@ void verify_connectivity(const ResidueHandle& res)
   }
 }
 
-BOOST_AUTO_TEST_SUITE( conop )
+BOOST_AUTO_TEST_SUITE( conop );
 
 
 BOOST_AUTO_TEST_CASE(name_based_connect) 
@@ -218,4 +219,4 @@ BOOST_AUTO_TEST_CASE(test_assign_torsions){
   BOOST_CHECK(a2.GetPsiTorsion().IsValid());
 }
 
-BOOST_AUTO_TEST_SUITE_END( )
\ No newline at end of file
+BOOST_AUTO_TEST_SUITE_END( );
diff --git a/modules/conop/tests/test_rule_based_builder.cc b/modules/conop/tests/test_rule_based_builder.cc
index 50e34860a606912aa978fc3429dc1b1f87c2656a..364ebf387be1b5bd6cd10bd4b721a56e85a1ceef 100644
--- a/modules/conop/tests/test_rule_based_builder.cc
+++ b/modules/conop/tests/test_rule_based_builder.cc
@@ -23,6 +23,7 @@
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 #include <ost/log.hh>
 using boost::unit_test_framework::test_suite;
@@ -231,7 +232,7 @@ void verify_nucleotide_nolink(const ResidueHandle& p3, const ResidueHandle& p5)
                           p5.FindAtom("P")));
 }
 
-BOOST_AUTO_TEST_SUITE( conop )
+BOOST_AUTO_TEST_SUITE( conop );
 
 
 BOOST_AUTO_TEST_CASE(nucleotide_based_connect) 
@@ -296,4 +297,4 @@ BOOST_AUTO_TEST_CASE(nucleotide_based_connect)
   
 }
 
-BOOST_AUTO_TEST_SUITE_END( )
+BOOST_AUTO_TEST_SUITE_END( );
diff --git a/modules/conop/tests/tests.cc b/modules/conop/tests/tests.cc
index aa255bcd2314b7829ade4c01c1ed0b2052da75fd..7a6d17c40b6332d2185913263122eb86e91d3df6 100644
--- a/modules/conop/tests/tests.cc
+++ b/modules/conop/tests/tests.cc
@@ -18,4 +18,6 @@
 //------------------------------------------------------------------------------
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_MODULE ost_conop
-#include <boost/test/unit_test.hpp>
\ No newline at end of file
+#define BOOST_AUTO_TEST_MAIN
+#include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
diff --git a/modules/geom/src/composite3.hh b/modules/geom/src/composite3.hh
index ae5f56ba61771f6ff41cb9de2a9fb2b2f3106744..e780f8deb4d126042ae60e5ed41ee51d97f902d6 100644
--- a/modules/geom/src/composite3.hh
+++ b/modules/geom/src/composite3.hh
@@ -21,7 +21,7 @@
 
 #include <iostream>
 #include <vector>
-#include <boost/filesystem.hpp>
+#include <boost/filesystem/path.hpp>
 
 #include "vec3.hh"
 #include "mat3.hh"
diff --git a/modules/geom/src/vec_mat_predicates.hh b/modules/geom/src/vec_mat_predicates.hh
index 5827c60cc81b1266288794ff284fa9519cac3645..e294efdbfc23a0938d72c35e98653231e9f0a3b7 100644
--- a/modules/geom/src/vec_mat_predicates.hh
+++ b/modules/geom/src/vec_mat_predicates.hh
@@ -18,8 +18,9 @@
 //------------------------------------------------------------------------------
 #ifndef OST_GEOM_VEC_MAT_PREDICATES_HH
 #define OST_GEOM_VEC_MAT_PREDICATES_HH
-
+#include <boost/version.hpp>
 #include <boost/test/unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
 #include <ost/geom/geom.hh>
 
 
@@ -38,7 +39,11 @@ boost::test_tools::predicate_result vec_is_close(const V& v1, const V& v2,
   std::string labels[]={"x","y","z","w"};
   bool flag=true;
   boost::test_tools::predicate_result res( false );
-  boost::test_tools::close_at_tolerance<Real> close_test(::boost::test_tools::percent_tolerance(tolerance));
+#if BOOST_VERSION<103400
+  boost::test_tools::close_at_tolerance<Real> close_test(tolerance);
+#else
+  boost::test_tools::close_at_tolerance<Real> close_test(boost::test_tools::percent_tolerance(tolerance));
+#endif
   for(unsigned int i=0;i<dim;++i){
     if(v1[i]==0.0){
       if(!boost::test_tools::check_is_small(v2[i],tolerance)){
@@ -92,7 +97,11 @@ boost::test_tools::predicate_result mat_is_close(const M& m1, const M& m2,
 {
   bool flag=true;
   boost::test_tools::predicate_result res( false );
-  boost::test_tools::close_at_tolerance<Real> close_test(::boost::test_tools::percent_tolerance(tolerance));
+#if BOOST_VERSION<103400
+  boost::test_tools::close_at_tolerance<Real> close_test(tolerance);
+#else
+  boost::test_tools::close_at_tolerance<Real> close_test(boost::test_tools::percent_tolerance(tolerance));
+#endif
   for(unsigned int i=0;i<dim;++i){
     for(unsigned int j=0;j<dim;++j){
       if(m1(i,j)==0.0){
diff --git a/modules/geom/tests/test_composite2.cc b/modules/geom/tests/test_composite2.cc
index eccafec8a5e543f0e2c6709e25b9c9d3b06b27a6..5e437a730a79a0c9ccaa0f6066210f70c22c6d94 100644
--- a/modules/geom/tests/test_composite2.cc
+++ b/modules/geom/tests/test_composite2.cc
@@ -24,10 +24,11 @@
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 using namespace geom;
 
-BOOST_AUTO_TEST_SUITE( geom )
+BOOST_AUTO_TEST_SUITE( geom );
 
 
 BOOST_AUTO_TEST_CASE(line_init2)
@@ -54,4 +55,4 @@ BOOST_AUTO_TEST_CASE(is_on_line2)
   BOOST_CHECK(!IsOnLine(line, geom::Vec2(3,2.1)));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/geom/tests/test_composite3.cc b/modules/geom/tests/test_composite3.cc
index f5cd5cf6bfbe0f411490361103e9bf0e13b5c0b9..092a2a354cf95ba55a303b0dcc6e64decb4a65a1 100644
--- a/modules/geom/tests/test_composite3.cc
+++ b/modules/geom/tests/test_composite3.cc
@@ -25,8 +25,10 @@ using namespace geom;
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
 
-BOOST_AUTO_TEST_SUITE( geom )
+BOOST_AUTO_TEST_SUITE( geom );
 
 BOOST_AUTO_TEST_CASE(init_composite3)
 {
@@ -204,4 +206,4 @@ BOOST_AUTO_TEST_CASE(rotation3)
   BOOST_CHECK_CLOSE(Real(-sin(30.0*M_PI/180.0)), Real(vrot[2]), Real(1e-5));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/geom/tests/test_mat2.cc b/modules/geom/tests/test_mat2.cc
index af119e96500ababed360545a73178b4c2c263bbe..c7da1125e3edef8c78e4f1304f535199be6618cd 100644
--- a/modules/geom/tests/test_mat2.cc
+++ b/modules/geom/tests/test_mat2.cc
@@ -24,8 +24,9 @@ using namespace geom;
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
-BOOST_AUTO_TEST_SUITE( geom )
+BOOST_AUTO_TEST_SUITE( geom );
 
 
 BOOST_AUTO_TEST_CASE(init_mat2)
@@ -61,4 +62,4 @@ BOOST_AUTO_TEST_CASE(access_mat2)
   BOOST_CHECK_THROW( m(2,2), std::out_of_range);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/geom/tests/test_mat3.cc b/modules/geom/tests/test_mat3.cc
index 742ba05ed1b270d47bf50f12e0501fe4e5ff9b1c..8a8b40e53c7749832c8143379950a6ee66cc9670 100644
--- a/modules/geom/tests/test_mat3.cc
+++ b/modules/geom/tests/test_mat3.cc
@@ -24,8 +24,9 @@ using namespace geom;
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
-BOOST_AUTO_TEST_SUITE( geom )
+BOOST_AUTO_TEST_SUITE( geom );
 
 BOOST_AUTO_TEST_CASE(init_mat3)
 {
@@ -89,4 +90,4 @@ BOOST_AUTO_TEST_CASE(mult_mat3)
   BOOST_CHECK(Equal(m1*m5,m3*m4));  
 }
 
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/geom/tests/test_mat4.cc b/modules/geom/tests/test_mat4.cc
index 343a68ffe6a3850b997dafc46d69839cfe6daeea..36ea668c19a2ffa7483a98bc1a2c697afc57bc8e 100644
--- a/modules/geom/tests/test_mat4.cc
+++ b/modules/geom/tests/test_mat4.cc
@@ -24,8 +24,9 @@ using namespace geom;
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
-BOOST_AUTO_TEST_SUITE( geom )
+BOOST_AUTO_TEST_SUITE( geom );
 
 BOOST_AUTO_TEST_CASE(init_mat4)
 {
@@ -101,4 +102,4 @@ BOOST_AUTO_TEST_CASE(access_mat4)
   BOOST_CHECK_THROW( m(0,4), std::out_of_range);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/geom/tests/test_op2.cc b/modules/geom/tests/test_op2.cc
index 62774a650dc0067efac60c5be2869d1fb33d3f45..2815b3e65d3e99d74ea6ee780c240bd552ab1d25 100644
--- a/modules/geom/tests/test_op2.cc
+++ b/modules/geom/tests/test_op2.cc
@@ -24,8 +24,9 @@ using namespace geom;
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
-BOOST_AUTO_TEST_SUITE( geom )
+BOOST_AUTO_TEST_SUITE( geom );
 
 BOOST_AUTO_TEST_CASE(vecmat_mult2)
 {
@@ -47,4 +48,4 @@ BOOST_AUTO_TEST_CASE(vecmat_mult2)
   BOOST_CHECK(Equal(v3*m2,v2*m3));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/geom/tests/test_op3.cc b/modules/geom/tests/test_op3.cc
index a2e30db8bd92aadeaa90818d6834ef86b45ec589..de7e74843e536b2b635d111752e1142c6cd7dcb2 100644
--- a/modules/geom/tests/test_op3.cc
+++ b/modules/geom/tests/test_op3.cc
@@ -24,8 +24,9 @@ using namespace geom;
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
-BOOST_AUTO_TEST_SUITE( geom )
+BOOST_AUTO_TEST_SUITE( geom );
 
 BOOST_AUTO_TEST_CASE(vecmat_mult3)
 {
@@ -62,4 +63,4 @@ BOOST_AUTO_TEST_CASE(vec3list_op)
   BOOST_CHECK(MinDistance(l1,l2)==5.0);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/geom/tests/test_op4.cc b/modules/geom/tests/test_op4.cc
index 19eaaaa12ed879b8fefe7dde95df3b49ee395d49..df5995eca4b06298cd400111b6a4b46b952d9ee0 100644
--- a/modules/geom/tests/test_op4.cc
+++ b/modules/geom/tests/test_op4.cc
@@ -24,8 +24,9 @@ using namespace geom;
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
-BOOST_AUTO_TEST_SUITE( geom )
+BOOST_AUTO_TEST_SUITE( geom );
 
 BOOST_AUTO_TEST_CASE(vecmat_mult4)
 {
@@ -43,4 +44,4 @@ BOOST_AUTO_TEST_CASE(vecmat_mult4)
   BOOST_CHECK(match(CompDivide(v2,v1),2.0,3.0,3.0,2.0));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/geom/tests/test_quat.cc b/modules/geom/tests/test_quat.cc
index ccaf9ab2dd4aa7d4730cfd511dcdd7d0ad9fe811..209d129c7880a613d7af62a4d993e44e2a257b9c 100644
--- a/modules/geom/tests/test_quat.cc
+++ b/modules/geom/tests/test_quat.cc
@@ -24,8 +24,10 @@ using namespace geom;
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
 
-BOOST_AUTO_TEST_SUITE( geom )
+BOOST_AUTO_TEST_SUITE( geom );
 
 BOOST_AUTO_TEST_CASE(init_quat)
 {
@@ -54,5 +56,5 @@ BOOST_AUTO_TEST_CASE(quat_rotate)
 }
 
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
 
diff --git a/modules/geom/tests/test_vec2.cc b/modules/geom/tests/test_vec2.cc
index 77ec6f0b57293e67ab2980bb5846969454c04a8e..87cc3aba086dbd08cd72409859175713cbf81616 100644
--- a/modules/geom/tests/test_vec2.cc
+++ b/modules/geom/tests/test_vec2.cc
@@ -24,8 +24,9 @@ using namespace geom;
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
-BOOST_AUTO_TEST_SUITE( geom )
+BOOST_AUTO_TEST_SUITE( geom );
   
 BOOST_AUTO_TEST_CASE(init_vec2)
 {
@@ -107,4 +108,4 @@ BOOST_AUTO_TEST_CASE(operators_vec2)
   BOOST_CHECK(match(v2,0.3,0.55));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/geom/tests/test_vec3.cc b/modules/geom/tests/test_vec3.cc
index a02bc8c5bdc8fa585668e05d43b1996e5bf682c7..9e3e4d9485c379293b59bf454d0befce87181737 100644
--- a/modules/geom/tests/test_vec3.cc
+++ b/modules/geom/tests/test_vec3.cc
@@ -24,8 +24,9 @@ using namespace geom;
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
-BOOST_AUTO_TEST_SUITE( geom )
+BOOST_AUTO_TEST_SUITE( geom );
   
 BOOST_AUTO_TEST_CASE(init_vec3)
 {
@@ -124,4 +125,4 @@ BOOST_AUTO_TEST_CASE(operators_vec3)
   BOOST_CHECK(match(v2,0.01,-0.02,0.01));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/geom/tests/test_vec4.cc b/modules/geom/tests/test_vec4.cc
index c0f0163d369512c10fe45ee77e6439976b0fcee7..25276e4f33e55055ce3a75383e724bbb8f4ab8ee 100644
--- a/modules/geom/tests/test_vec4.cc
+++ b/modules/geom/tests/test_vec4.cc
@@ -24,8 +24,9 @@ using namespace geom;
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
-BOOST_AUTO_TEST_SUITE( geom )
+BOOST_AUTO_TEST_SUITE( geom );
 
 BOOST_AUTO_TEST_CASE(init_vec4)
 {
@@ -109,4 +110,4 @@ BOOST_AUTO_TEST_CASE(operators_vec4)
   BOOST_CHECK(match(v2,-0.2,0.3,0.55,0.8));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/geom/tests/tests.cc b/modules/geom/tests/tests.cc
index fbce7b185d7ce437b2832e5468bba0226a4da83b..87ec85ccf0cf850e2307d22223343055c59eb17f 100644
--- a/modules/geom/tests/tests.cc
+++ b/modules/geom/tests/tests.cc
@@ -18,5 +18,7 @@
 //------------------------------------------------------------------------------
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_MODULE geom
+#define BOOST_AUTO_TEST_MAIN
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
diff --git a/modules/io/src/mol/entity_io_crd_handler.cc b/modules/io/src/mol/entity_io_crd_handler.cc
index 58fdcb910d7346f8564be8dcc68fa3e64d34b8a2..0f08c72e08ab95460e5552770706bd3c54d3a002 100644
--- a/modules/io/src/mol/entity_io_crd_handler.cc
+++ b/modules/io/src/mol/entity_io_crd_handler.cc
@@ -244,12 +244,12 @@ CRDWriter::CRDWriter(std::ostream& ostream, bool ext) :
 {}
 
 CRDWriter::CRDWriter(const boost::filesystem::path& filename, bool ext) :
-#if BOOST_FILESYSTEM_VERSION==3
-  outfile_(filename.string().c_str()), outstream_(outfile_),
+#if BOOST_FILESYSTEM_VERSION==3 || BOOST_VERSION<103400
+  outfile_(filename.string().c_str()),
 #else
-  outfile_(filename.file_string().c_str()), outstream_(outfile_),
+  outfile_(filename.file_string().c_str()),
 #endif
-  ext_(ext), atom_count_(0), res_count_(0)
+  outstream_(outfile_), ext_(ext), atom_count_(0), res_count_(0)
 {}
 
 CRDWriter::CRDWriter(const String& filename, bool ext) :
diff --git a/modules/io/src/mol/pdb_writer.cc b/modules/io/src/mol/pdb_writer.cc
index fdae17a5110b741790e5c4c4c791b78cb67edbe6..3be9390b7d7a3763345364004cbe39853de4579c 100644
--- a/modules/io/src/mol/pdb_writer.cc
+++ b/modules/io/src/mol/pdb_writer.cc
@@ -347,7 +347,7 @@ PDBWriter::PDBWriter(std::ostream& stream, const IOProfile& profile):
 
 PDBWriter::PDBWriter(const boost::filesystem::path& filename, 
                      const IOProfile& profile):
-#if BOOST_FILESYSTEM_VERSION==3                     
+#if BOOST_FILESYSTEM_VERSION==3  || BOOST_VERSION<103400
   outfile_(filename.string().c_str()), outstream_(outfile_), 
 #else
   outfile_(filename.file_string().c_str()), outstream_(outfile_), 
diff --git a/modules/io/src/mol/sdf_writer.cc b/modules/io/src/mol/sdf_writer.cc
index f38f953f68c31dca8c6378958734589607a68ad1..973224e48aff879b099aacd5fbd0f85002071b1b 100644
--- a/modules/io/src/mol/sdf_writer.cc
+++ b/modules/io/src/mol/sdf_writer.cc
@@ -140,7 +140,7 @@ SDFWriter::SDFWriter(const String& filename)
 }
 
 SDFWriter::SDFWriter(const boost::filesystem::path& filename): 
-#if BOOST_FILESYSTEM_VERSION==3
+#if BOOST_FILESYSTEM_VERSION==3 || BOOST_VERSION<103400
   outfile_(filename.string().c_str()), 
 #else
   outfile_(filename.file_string().c_str()), 
diff --git a/modules/io/tests/test_clustal.cc b/modules/io/tests/test_clustal.cc
index 682dc60bb47edde6388ce5dfbaa9772cb11d6e09..0f8b4d63bd56e0aa4f51acba6dcb18c64b273bd6 100644
--- a/modules/io/tests/test_clustal.cc
+++ b/modules/io/tests/test_clustal.cc
@@ -25,6 +25,7 @@
 #include <ost/io/seq/load.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 using namespace ost;
 using namespace ost::io;
@@ -32,7 +33,7 @@ const static String MOUSE="MFQAFPGDYDSGSRCSSSPSAESQYLSSVDSFGSPPTAAASQECAGLGEMPGS
 const static String HUMAN="MFQAFPGDYDSGSRCSSSPSAESQYLSSVDSFGSPPTAAASQECAGLGEMPGSFVPTVTAITTSQDLQWLVQPTLISSMAQSQGQPLASQPPVVDPYDMPGTSYSTPGMSGYSSGGASGS";
 
 
-BOOST_AUTO_TEST_SUITE( io )
+BOOST_AUTO_TEST_SUITE( io );
 
 
 BOOST_AUTO_TEST_CASE(clustal) 
@@ -49,4 +50,4 @@ BOOST_AUTO_TEST_CASE(clustal)
   BOOST_CHECK_EQUAL(aln.GetSequence(1).GetString(), HUMAN);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/io/tests/test_io_crd.cc b/modules/io/tests/test_io_crd.cc
index 82126d10f1fb9d9298e68a035340396df58dd57e..5fa943c87bd1cc942c0cf5b9dc1053ce15099a42 100644
--- a/modules/io/tests/test_io_crd.cc
+++ b/modules/io/tests/test_io_crd.cc
@@ -22,12 +22,13 @@
 #include <ost/io/save_entity.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 using namespace ost;
 using namespace ost::io;
 
 
-BOOST_AUTO_TEST_SUITE( io )
+BOOST_AUTO_TEST_SUITE( io );
 
 BOOST_AUTO_TEST_CASE(test_io_crd_import_handler)
 {
@@ -154,4 +155,4 @@ BOOST_AUTO_TEST_CASE(test_io_crd_default_format)
 }
 
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/io/tests/test_io_dcd.cc b/modules/io/tests/test_io_dcd.cc
index 5bfd0161f354155527dff2d79e7b24a02fb9ca8e..b326d381b68d15f4bf61c80df65ddc06f5446f11 100644
--- a/modules/io/tests/test_io_dcd.cc
+++ b/modules/io/tests/test_io_dcd.cc
@@ -26,6 +26,7 @@
 #include <ost/mol/coord_group.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 using namespace ost;
 using namespace ost::io;
@@ -36,7 +37,7 @@ namespace {
   boost::uniform_01<boost::mt19937> UniformRandom(RandomGenerator);
 }
 
-BOOST_AUTO_TEST_SUITE( io )
+BOOST_AUTO_TEST_SUITE( io );
 
 BOOST_AUTO_TEST_CASE(test_io_dcd_charmm_frames)
 {
@@ -85,4 +86,4 @@ BOOST_AUTO_TEST_CASE(test_io_dcd_charmm_frames)
   }
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/io/tests/test_io_pdb.cc b/modules/io/tests/test_io_pdb.cc
index 47f858f8eb26f61b3e7e775c201fbbfd2d73f160..0deef37f1912ad07c256c8fa32c9f58fade28179 100644
--- a/modules/io/tests/test_io_pdb.cc
+++ b/modules/io/tests/test_io_pdb.cc
@@ -32,12 +32,14 @@
 #include <ost/io/io_exception.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
 using boost::unit_test_framework::test_suite;
 
 using namespace ost;
 using namespace ost::io;
 
-BOOST_AUTO_TEST_SUITE( io )
+BOOST_AUTO_TEST_SUITE( io );
 
 BOOST_AUTO_TEST_CASE(test_pdb_import_handler) 
 {
@@ -1059,4 +1061,4 @@ BOOST_AUTO_TEST_CASE(test_pqr_write_atom)
   BOOST_CHECK_EQUAL(fwriter.IsPQR(), true);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/io/tests/test_io_sdf.cc b/modules/io/tests/test_io_sdf.cc
index bd62e05280eff093f51133ad7f26a9fa8cdc602a..dcf7df6daf7afb4d5ea08bd6a19b1236f9128d91 100644
--- a/modules/io/tests/test_io_sdf.cc
+++ b/modules/io/tests/test_io_sdf.cc
@@ -23,6 +23,8 @@
 #include <ost/io/io_exception.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/auto_unit_test.hpp>
 #include <boost/lexical_cast.hpp>
 #include <boost/algorithm/string.hpp>
 using boost::unit_test_framework::test_suite;
@@ -30,7 +32,7 @@ using boost::unit_test_framework::test_suite;
 using namespace ost;
 using namespace ost::io;
 
-BOOST_AUTO_TEST_SUITE( io )
+BOOST_AUTO_TEST_SUITE( io );
 
 BOOST_AUTO_TEST_CASE(test_sdf_import_handler)
 {
@@ -252,4 +254,4 @@ BOOST_AUTO_TEST_CASE(empty_dataheader_error_sdf)
 }
 
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/io/tests/test_iomanager.cc b/modules/io/tests/test_iomanager.cc
index 47a7e628ec0cabacfb20334413bca4073ed53949..fc4cc0366b2a640aafbd8f569951886b78adef9f 100644
--- a/modules/io/tests/test_iomanager.cc
+++ b/modules/io/tests/test_iomanager.cc
@@ -19,13 +19,14 @@
 #include <ost/io/io_manager.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
 
 using namespace ost;
 using namespace ost::io;
 
-BOOST_AUTO_TEST_SUITE( io )
+BOOST_AUTO_TEST_SUITE( io );
 
 
 BOOST_AUTO_TEST_CASE(io_manager) 
@@ -36,4 +37,4 @@ BOOST_AUTO_TEST_CASE(io_manager)
   BOOST_CHECK(iom.FindEntityImportHandler("model.ent"));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/io/tests/test_mmcif_info.cc b/modules/io/tests/test_mmcif_info.cc
index 23a28205ea74f2e15eb9cd793e16113d137da425..b47b90951543c82d03af168681e3fcb4c02b8d0d 100644
--- a/modules/io/tests/test_mmcif_info.cc
+++ b/modules/io/tests/test_mmcif_info.cc
@@ -22,7 +22,8 @@
 
 #define BOOST_AUTO_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
-
+#include <boost/test/auto_unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
 
 using namespace ost;
 using namespace ost::io;
diff --git a/modules/io/tests/test_mmcif_reader.cc b/modules/io/tests/test_mmcif_reader.cc
index fff6bbb2e6d6d2596f69f6a223aeeb957f84a50d..e5c415f6df503c1866d9a43caf0709d5a2a248b9 100644
--- a/modules/io/tests/test_mmcif_reader.cc
+++ b/modules/io/tests/test_mmcif_reader.cc
@@ -26,6 +26,8 @@
 
 #define BOOST_AUTO_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
 
 
 using namespace ost;
diff --git a/modules/io/tests/test_pir.cc b/modules/io/tests/test_pir.cc
index 00482c0647ae31e254aa2c487c394379f3ee32c1..946d113bab6f8781be733582e45bfe15f65dc7f7 100644
--- a/modules/io/tests/test_pir.cc
+++ b/modules/io/tests/test_pir.cc
@@ -23,6 +23,7 @@
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 #include <ost/seq/invalid_sequence.hh>
 #include <ost/io/seq/pir_io_handler.hh>
 #include <ost/io/seq/load.hh>
@@ -33,7 +34,7 @@ using namespace ost;
 using namespace ost::io;
 
 
-BOOST_AUTO_TEST_SUITE( io )
+BOOST_AUTO_TEST_SUITE( io );
 
 
 BOOST_AUTO_TEST_CASE(pir_filetypes) 
@@ -70,4 +71,4 @@ BOOST_AUTO_TEST_CASE(pir_no_star)
                     seq::InvalidSequence);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/io/tests/test_star_parser.cc b/modules/io/tests/test_star_parser.cc
index d9a100dfa40ec1a32168cdefe13734e8d6a35194..5561dd89203f14d29c45c0ba3655c1fb15919aed 100644
--- a/modules/io/tests/test_star_parser.cc
+++ b/modules/io/tests/test_star_parser.cc
@@ -27,6 +27,8 @@
 
 #define BOOST_AUTO_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
 
 
 using namespace ost;
@@ -131,7 +133,7 @@ public:
                          const std::vector<StringRef>& columns) 
   {
     BOOST_CHECK_EQUAL(columns[0][0], cur_char_);
-    BOOST_CHECK_EQUAL(columns[0].size(), 1);
+    BOOST_CHECK_EQUAL(columns[0].size(), static_cast<size_t>(1));
     ++cur_char_;
     BOOST_CHECK_EQUAL(columns[1][0], cur_char_);
     BOOST_CHECK_EQUAL(columns[1].size(), 1);
diff --git a/modules/io/tests/tests.cc b/modules/io/tests/tests.cc
index faa6774fc478a3bf696a7105461792447f9fff7a..85c0f12e22ce3afe219d727fcd687ee35d33a7a6 100644
--- a/modules/io/tests/tests.cc
+++ b/modules/io/tests/tests.cc
@@ -18,4 +18,6 @@
 //------------------------------------------------------------------------------
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_MODULE ost_io
+#define BOOST_AUTO_TEST_MAIN
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
diff --git a/modules/mol/alg/src/ldt.cc b/modules/mol/alg/src/ldt.cc
index 48dfc9a6ca3e08762a8356be905867bd3c868678..709adeb9909ecf5dd0b7187155ed7e74272b0113 100644
--- a/modules/mol/alg/src/ldt.cc
+++ b/modules/mol/alg/src/ldt.cc
@@ -235,8 +235,8 @@ int main (int argc, char **argv)
     EntityView v1=model2.Select("not (rname==GLY and aname==CB)");
     boost::filesystem::path pathstring(files[i]);
     
-    #if BOOST_FILESYSTEM_VERSION==3
-    String filestring=pathstring.filename().string();
+    #if BOOST_FILESYSTEM_VERSION==3 || BOOST_VERSION<103400
+    String filestring=pathstring.string();
     #else
     String filestring=pathstring.file_string();
     #endif      
diff --git a/modules/mol/alg/tests/test_superposition.cc b/modules/mol/alg/tests/test_superposition.cc
index a0d4d230914fe6842c50b670af67ad82044ed70b..83bc902b383800cd348f646d146a41e807de368b 100644
--- a/modules/mol/alg/tests/test_superposition.cc
+++ b/modules/mol/alg/tests/test_superposition.cc
@@ -23,6 +23,7 @@
 #include <ost/mol/alg/svd_superpose.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 #include <ost/mol/mol.hh>
 
 using namespace ost;
@@ -77,7 +78,7 @@ struct Fixture {
 
 };
 
-BOOST_AUTO_TEST_SUITE( mol_alg )
+BOOST_AUTO_TEST_SUITE( mol_alg );
 
 BOOST_AUTO_TEST_CASE(superposition_svd) 
 {
@@ -101,4 +102,4 @@ BOOST_AUTO_TEST_CASE(superposition_svd)
   BOOST_CHECK(abs(res.rmsd)<0.0001);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/alg/tests/tests.cc b/modules/mol/alg/tests/tests.cc
index 4308786c168fa90c76c2b7e0417e86407509efe8..fb9a32714d45fb72999e591145120f97a809923d 100644
--- a/modules/mol/alg/tests/tests.cc
+++ b/modules/mol/alg/tests/tests.cc
@@ -22,4 +22,6 @@
  */
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_MODULE ost_mol_alg
+#define BOOST_AUTO_TEST_MAIN
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
diff --git a/modules/mol/base/pymod/export_entity_view.cc b/modules/mol/base/pymod/export_entity_view.cc
index e0b4c9b097097d4dbfd7dcf50ae7b6f8c8d9c184..5169ded4a4927fbc4dbcaee4a59ab77545361b53 100644
--- a/modules/mol/base/pymod/export_entity_view.cc
+++ b/modules/mol/base/pymod/export_entity_view.cc
@@ -18,6 +18,9 @@
 //------------------------------------------------------------------------------
 #include <boost/python.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
+#if BOOST_VERSION<103400
+#include <boost/python/detail/api_placeholder.hpp>
+#endif
 using namespace boost::python;
 
 #include <ost/export_helper/pair_to_tuple_conv.hh>
diff --git a/modules/mol/base/tests/test_atom_groups.cc b/modules/mol/base/tests/test_atom_groups.cc
index 01377b5f5ee7458bf8d360e6b463643eecec4ace..fd55845fe2fb550df4545842f0ac92bdf53f3b1c 100644
--- a/modules/mol/base/tests/test_atom_groups.cc
+++ b/modules/mol/base/tests/test_atom_groups.cc
@@ -23,15 +23,16 @@
 #include <ost/message.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 #include "dummy_ent.hh"
 
 
 using namespace ost;
 using namespace ost::mol;
 
-BOOST_AUTO_TEST_SUITE(mol_base)
+BOOST_AUTO_TEST_SUITE(mol_base);
 
-BOOST_AUTO_TEST_CASE(switch_pos) 
+BOOST_AUTO_TEST_CASE(switch_pos)
 {
   test::DummyEnt ent;
   geom::Vec3 y=geom::Vec3(0.0, 1.0, 0.0);
@@ -85,4 +86,4 @@ BOOST_AUTO_TEST_CASE(atom_group_triv)
   BOOST_CHECK_EQUAL(names[0], "B");
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/base/tests/test_chain.cc b/modules/mol/base/tests/test_chain.cc
index 3b7bbd85b15bee45ec61832548dfc97541893257..e6587c2992be6486d31bb173625db9e9dbc670ac 100644
--- a/modules/mol/base/tests/test_chain.cc
+++ b/modules/mol/base/tests/test_chain.cc
@@ -24,6 +24,7 @@
 #include <ost/integrity_error.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 using namespace ost;
 using namespace ost::mol;
@@ -72,7 +73,7 @@ void test_res_pos() {
   find_and_check_res(ch1, ResNum(13));  
 }
 
-BOOST_AUTO_TEST_SUITE( mol_base )
+BOOST_AUTO_TEST_SUITE( mol_base );
 
 BOOST_AUTO_TEST_CASE(test_comparison) 
 {
@@ -334,4 +335,4 @@ BOOST_AUTO_TEST_CASE(chain_description)
   BOOST_CHECK(ch1.GetDescription() == description);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/base/tests/test_conn.cc b/modules/mol/base/tests/test_conn.cc
index e908f8f89ef59e30edd382d25f82b053ac23dbda..e9c5bcfe10b2fd7196fbcd0c1f4ed5a178587bb0 100644
--- a/modules/mol/base/tests/test_conn.cc
+++ b/modules/mol/base/tests/test_conn.cc
@@ -22,11 +22,12 @@
 #include <ost/mol/mol.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 using namespace ost;
 using namespace ost::mol;
 
-BOOST_AUTO_TEST_SUITE( mol_base )
+BOOST_AUTO_TEST_SUITE( mol_base );
 
 BOOST_AUTO_TEST_CASE(connect) 
 {
@@ -56,4 +57,4 @@ BOOST_AUTO_TEST_CASE(connect)
   BOOST_CHECK(n.GetBondCount()==1);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/base/tests/test_coord_group.cc b/modules/mol/base/tests/test_coord_group.cc
index 1fc365ad0382a256ee781c0cf69f0c93afc8a4fa..7e3d385982636a346a6b88ea6b143b410352d64d 100644
--- a/modules/mol/base/tests/test_coord_group.cc
+++ b/modules/mol/base/tests/test_coord_group.cc
@@ -21,6 +21,7 @@
  */
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 #include <ost/mol/mol.hh>
 #include <ost/mol/coord_group.hh>
@@ -28,7 +29,7 @@
 using namespace ost;
 using namespace ost::mol;
 
-BOOST_AUTO_TEST_SUITE( io )
+BOOST_AUTO_TEST_SUITE( io );
 
 BOOST_AUTO_TEST_CASE(coord_group) 
 {
@@ -81,4 +82,4 @@ BOOST_AUTO_TEST_CASE(coord_group)
   BOOST_CHECK(ad.GetPos()==geom::Vec3(9,10,11));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/base/tests/test_delete.cc b/modules/mol/base/tests/test_delete.cc
index ccbce7045a54980a158f07ffe5afb3babc631671..20799d4ddff3c07b9cf5cd2d72dd55f828d340a0 100644
--- a/modules/mol/base/tests/test_delete.cc
+++ b/modules/mol/base/tests/test_delete.cc
@@ -23,6 +23,7 @@
 #include <ost/log.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 #include <ost/message.hh>
 #include <ost/geom/geom.hh>
 
@@ -66,7 +67,7 @@ struct Fixture {
   TorsionHandle t;
 };
 
-BOOST_AUTO_TEST_SUITE( mol_base )
+BOOST_AUTO_TEST_SUITE( mol_base );
 
 BOOST_AUTO_TEST_CASE(atom_delete) 
 {
@@ -77,4 +78,4 @@ BOOST_AUTO_TEST_CASE(atom_delete)
   BOOST_CHECK_NO_THROW(f.e.Apply(ev));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/base/tests/test_entity.cc b/modules/mol/base/tests/test_entity.cc
index 944dd6809d1eab014a0dc34d1a4d90fddbb4da46..1b8b195bd22307710b72c77f377475e2aa5d3ffc 100644
--- a/modules/mol/base/tests/test_entity.cc
+++ b/modules/mol/base/tests/test_entity.cc
@@ -26,6 +26,7 @@
 #include <cmath>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 #define CHECK_TRANSFORMED_ATOM_POSITION(ATOM,TARGET) \
    BOOST_CHECK(vec3_is_close(ATOM.GetPos(), TARGET))
@@ -72,7 +73,7 @@ EntityHandle make_test_entity()
   return eh;
 }
 
-BOOST_AUTO_TEST_SUITE( mol_base )
+BOOST_AUTO_TEST_SUITE( mol_base );
 
 
 BOOST_AUTO_TEST_CASE(throw_invalid_ent_handle)
@@ -412,4 +413,4 @@ BOOST_AUTO_TEST_CASE(rename_atom)
    BOOST_CHECK_EQUAL(atom.GetName(), "B");
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/base/tests/test_ics.cc b/modules/mol/base/tests/test_ics.cc
index 4f84f6a78bf0882302f9d5edce87ed13656b6064..77be8d680f5b1623067e02c3ef172bbf84152961 100644
--- a/modules/mol/base/tests/test_ics.cc
+++ b/modules/mol/base/tests/test_ics.cc
@@ -23,6 +23,8 @@
 #include <ost/log.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/auto_unit_test.hpp>
 #include <ost/message.hh>
 #include <ost/geom/geom.hh>
 
@@ -101,7 +103,7 @@ bool test_angle(Real a, Real e) {
   return std::abs(fmod(float(a-e), float(M_PI/2)))<EPSILON;
 }
 
-BOOST_AUTO_TEST_SUITE( mol_base )
+BOOST_AUTO_TEST_SUITE( mol_base );
 
 BOOST_AUTO_TEST_CASE(ics_update_icsbondlength)
 {
@@ -290,4 +292,4 @@ BOOST_AUTO_TEST_CASE(ics_get_angle)
                       << " found");
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/base/tests/test_iterators.cc b/modules/mol/base/tests/test_iterators.cc
index 46c33e4d5b2bbe665ea1b71aec244f8f8b6891fb..829b15c96c218bb6630b013f9be1584edd48bc6c 100644
--- a/modules/mol/base/tests/test_iterators.cc
+++ b/modules/mol/base/tests/test_iterators.cc
@@ -23,6 +23,7 @@
 #include <ost/message.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 #include <iostream>
 
 using namespace ost;
@@ -135,7 +136,7 @@ void test_atom_handle_iterator_b(HANDLE rr) {
   BOOST_CHECK(a1==a2); 
 }
 
-BOOST_AUTO_TEST_SUITE( mol_base )
+BOOST_AUTO_TEST_SUITE( mol_base );
 
 BOOST_AUTO_TEST_CASE(chain_handle_iterator) 
 {
@@ -254,4 +255,4 @@ BOOST_AUTO_TEST_CASE(test_atom_handle_iterator)
 
   test_atom_handle_iterator_c<EntityView, AtomViewIter>(v);
 }
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/base/tests/test_query.cc b/modules/mol/base/tests/test_query.cc
index 815e597f7bf0e68b7d94ba0396b901988daa1d02..52fece59d284408ef8e5e7cdc2adda6d1f48f836 100644
--- a/modules/mol/base/tests/test_query.cc
+++ b/modules/mol/base/tests/test_query.cc
@@ -21,6 +21,7 @@
  */
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 #include <ost/mol/query.hh>
 #include <ost/mol/mol.hh>
 #include <ost/mol/entity_view.hh>
@@ -101,7 +102,7 @@ void ensure_counts_v(EntityView src, const String& qs,
                       " for query String " << qs);
 }
 
-BOOST_AUTO_TEST_SUITE( mol_base )
+BOOST_AUTO_TEST_SUITE( mol_base );
 
 BOOST_AUTO_TEST_CASE(test_query_parse_properties) 
 {
@@ -296,4 +297,4 @@ BOOST_AUTO_TEST_CASE(test_glob)
   ensure_counts(e, "rname=LEU and aname=?D?", 1, 1, 2);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/base/tests/test_residue.cc b/modules/mol/base/tests/test_residue.cc
index 6cc900c621c840e4814b8a106f8fe6b7901f6ad6..7dca39081915d4e7f49a29765a98920e4926ae00 100644
--- a/modules/mol/base/tests/test_residue.cc
+++ b/modules/mol/base/tests/test_residue.cc
@@ -24,12 +24,13 @@
 #include <ost/message.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 
 using namespace ost;
 using namespace ost::mol;
 
-BOOST_AUTO_TEST_SUITE( mol_base )
+BOOST_AUTO_TEST_SUITE( mol_base );
 
 BOOST_AUTO_TEST_CASE(test_in_sequence) 
 {
@@ -124,4 +125,4 @@ BOOST_AUTO_TEST_CASE(rename_res)
    BOOST_CHECK_EQUAL(rA2B.GetName(), "B");
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/base/tests/test_surface.cc b/modules/mol/base/tests/test_surface.cc
index 2a077d867ad48060987b049a3561b76e726aa2f0..18ab12a8887993bad36afcc5fabe0df2a447f6b9 100644
--- a/modules/mol/base/tests/test_surface.cc
+++ b/modules/mol/base/tests/test_surface.cc
@@ -21,11 +21,12 @@
 #include <cmath>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 using namespace ost;
 using namespace ost::mol;
 
-BOOST_AUTO_TEST_SUITE( mol_base )
+BOOST_AUTO_TEST_SUITE( mol_base );
 
 
 BOOST_AUTO_TEST_CASE(test_throw_invalid_surface)
@@ -37,4 +38,4 @@ BOOST_AUTO_TEST_CASE(test_throw_invalid_surface)
   BOOST_CHECK_NO_THROW(CheckHandleValidity(surf));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/base/tests/test_view.cc b/modules/mol/base/tests/test_view.cc
index cfe3a395c5cbaae2e2390c95609874afcdf55233..9a72c9d16dcf879f2fa4fe2bb569e4156aa847c9 100644
--- a/modules/mol/base/tests/test_view.cc
+++ b/modules/mol/base/tests/test_view.cc
@@ -21,6 +21,7 @@
  */
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 #include <ost/mol/mol.hh>
 
 
@@ -50,7 +51,7 @@ struct FixtureView {
   AtomHandle ad;
 };
 
-BOOST_AUTO_TEST_SUITE( mol_base )
+BOOST_AUTO_TEST_SUITE( mol_base );
 
 BOOST_AUTO_TEST_CASE(gen_full_view) 
 {
@@ -90,4 +91,4 @@ BOOST_AUTO_TEST_CASE(gen_full_view)
   BOOST_CHECK_EQUAL(av1.GetHashCode(), av3.GetHashCode());  
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/base/tests/test_view_op.cc b/modules/mol/base/tests/test_view_op.cc
index 7d084e6fbb2816a8e49b73727160e79b4c6e845a..bd48a74094ab155e7aad1198fcdba10e91f51eb6 100644
--- a/modules/mol/base/tests/test_view_op.cc
+++ b/modules/mol/base/tests/test_view_op.cc
@@ -21,6 +21,7 @@
  */
  #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 #include <ost/mol/mol.hh>
 #include <ost/mol/view_op.hh>
 
@@ -62,7 +63,7 @@ bool find_bond(AtomHandle a, AtomHandle b, const BondHandleList& bonds)
   return std::find(bonds.begin(), bonds.end(), a.FindBondToAtom(b))!=bonds.end();
 }
 
-BOOST_AUTO_TEST_SUITE( mol_base )
+BOOST_AUTO_TEST_SUITE( mol_base );
 
 BOOST_AUTO_TEST_CASE(test_difference)
 {
@@ -397,5 +398,4 @@ BOOST_AUTO_TEST_CASE(ent_from_view_atom_props)
   BOOST_CHECK_EQUAL(atom2.GetRadius(), Real(500.0));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
-
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/mol/base/tests/tests.cc b/modules/mol/base/tests/tests.cc
index 87994767bc96550f154133301645b1fc1727672a..8fb5bbd47707615b1702765ff363cf8525716942 100644
--- a/modules/mol/base/tests/tests.cc
+++ b/modules/mol/base/tests/tests.cc
@@ -18,5 +18,7 @@
 //------------------------------------------------------------------------------
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_MODULE ost_mol_base
+#define BOOST_AUTO_TEST_MAIN
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
diff --git a/modules/seq/alg/tests/test_merge_pairwise_alignments.cc b/modules/seq/alg/tests/test_merge_pairwise_alignments.cc
index 25f9b836bd361560531922e2215bd3001cc909f0..5c23b1f65873aefba0cb99c9dbf1a6ca2cc89708 100644
--- a/modules/seq/alg/tests/test_merge_pairwise_alignments.cc
+++ b/modules/seq/alg/tests/test_merge_pairwise_alignments.cc
@@ -22,6 +22,7 @@
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 #include <ost/seq/alg/merge_pairwise_alignments.hh>
 #include <ost/integrity_error.hh>
@@ -30,7 +31,7 @@
 using namespace ost;
 using namespace ost::seq;
 
-BOOST_AUTO_TEST_SUITE(ost_seq_alg)
+BOOST_AUTO_TEST_SUITE(ost_seq_alg);
 
 BOOST_AUTO_TEST_CASE(merge_pairwise_alignments_one) 
 {
@@ -192,4 +193,4 @@ BOOST_AUTO_TEST_CASE(merge_pairwise_alignments_six)
 }
 
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/seq/alg/tests/test_sequence_identity.cc b/modules/seq/alg/tests/test_sequence_identity.cc
index 0b275d99bfb12dfe8a5087522a35e2b2b7244f76..7173ff8c2920ce4665fbe379a8e35c204bca79b2 100644
--- a/modules/seq/alg/tests/test_sequence_identity.cc
+++ b/modules/seq/alg/tests/test_sequence_identity.cc
@@ -22,7 +22,8 @@
 
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
-
+#include <boost/test/auto_unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
 #include <ost/seq/alg/sequence_identity.hh>
 
 
@@ -30,7 +31,7 @@
 using namespace ost;
 using namespace ost::seq;
 
-BOOST_AUTO_TEST_SUITE(ost_seq_alg)
+BOOST_AUTO_TEST_SUITE(ost_seq_alg);
 
 BOOST_AUTO_TEST_CASE(seqid_one) 
 {
@@ -129,4 +130,4 @@ BOOST_AUTO_TEST_CASE(seqid_empty)
 }
 
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/seq/alg/tests/tests.cc b/modules/seq/alg/tests/tests.cc
index 1a5815a6a29d48ddab94798837eb62cee081f936..6203808c24decbbfc2ebe5aee2ce74cdf78ad659 100644
--- a/modules/seq/alg/tests/tests.cc
+++ b/modules/seq/alg/tests/tests.cc
@@ -18,5 +18,7 @@
 //------------------------------------------------------------------------------
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_MODULE ost_seq_alg
+#define BOOST_AUTO_TEST_MAIN
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
diff --git a/modules/seq/base/tests/test_aligned_column.cc b/modules/seq/base/tests/test_aligned_column.cc
index 17e1ec6f0d2a23c01ce010026038a864228538ee..d934cefb0d930ed167367d583ced4e9dcf6f4b3c 100644
--- a/modules/seq/base/tests/test_aligned_column.cc
+++ b/modules/seq/base/tests/test_aligned_column.cc
@@ -18,6 +18,7 @@
 //------------------------------------------------------------------------------
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 #include <ost/mol/mol.hh>
 
@@ -59,7 +60,7 @@ struct Fixture {
   ResidueHandle res3;
 };
 
-BOOST_AUTO_TEST_SUITE( aligned_column )
+BOOST_AUTO_TEST_SUITE( aligned_column );
 
 BOOST_AUTO_TEST_CASE(aligned_column_triv)
 {
@@ -130,4 +131,4 @@ BOOST_AUTO_TEST_CASE(aligned_get_residue_index)
   BOOST_CHECK_THROW(ac.GetResidueIndex(-1),std::out_of_range);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/seq/base/tests/test_aligned_region.cc b/modules/seq/base/tests/test_aligned_region.cc
index cc408f41c51bcdb22e6548e48e2f2b369be5109e..118c8d09fd843b94c4cec8551d50ac968892e961 100644
--- a/modules/seq/base/tests/test_aligned_region.cc
+++ b/modules/seq/base/tests/test_aligned_region.cc
@@ -18,6 +18,7 @@
 //------------------------------------------------------------------------------
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 #include <ost/mol/mol.hh>
 
@@ -38,7 +39,7 @@ using namespace ost::seq;
 using namespace ost::mol;
 
 
-BOOST_AUTO_TEST_SUITE( aligned_region )
+BOOST_AUTO_TEST_SUITE( aligned_region );
 
 BOOST_AUTO_TEST_CASE(aligned_region_triv)
 {
@@ -183,4 +184,4 @@ BOOST_AUTO_TEST_CASE(aligned_region_shift)
   BOOST_CHECK_THROW(ar.ShiftRight(1),IntegrityError);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/seq/base/tests/test_alignment.cc b/modules/seq/base/tests/test_alignment.cc
index d4d1aca4eb92a25fc2dd9d0a4770710422dc4a3c..2a70c90a75c9b22fec5c340b15da7c1bf6d92e92 100644
--- a/modules/seq/base/tests/test_alignment.cc
+++ b/modules/seq/base/tests/test_alignment.cc
@@ -18,6 +18,7 @@
 //------------------------------------------------------------------------------
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 #include <ost/invalid_handle.hh>
 #include <ost/mol/mol.hh>
@@ -54,7 +55,7 @@ struct Fixture {
   ResidueHandle res3;
 };
 
-BOOST_AUTO_TEST_SUITE( alignment )
+BOOST_AUTO_TEST_SUITE( alignment );
 
 BOOST_AUTO_TEST_CASE(alignment_triv)
 {
@@ -229,4 +230,4 @@ BOOST_AUTO_TEST_CASE(alignment_aligned_region)
   BOOST_CHECK_NO_THROW(ar = a.MakeRegion(3,3,0));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/seq/base/tests/test_sequence.cc b/modules/seq/base/tests/test_sequence.cc
index 3c418443503c2d94552e2571f85c9037d2821df7..462747784933dcc25dd36689c3a0d0df5a5f2de2 100644
--- a/modules/seq/base/tests/test_sequence.cc
+++ b/modules/seq/base/tests/test_sequence.cc
@@ -18,6 +18,7 @@
 //------------------------------------------------------------------------------
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
 
 #include <ost/mol/mol.hh>
 
@@ -50,7 +51,7 @@ struct Fixture {
   ResidueHandle res3;
 };
 
-BOOST_AUTO_TEST_SUITE( seq )
+BOOST_AUTO_TEST_SUITE( seq );
 
 BOOST_AUTO_TEST_CASE(seq_triv) 
 {
@@ -246,4 +247,4 @@ BOOST_AUTO_TEST_CASE(seq_attach_view)
   BOOST_CHECK_EQUAL(s.GetResidue(0),ResidueHandle());
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END();
diff --git a/modules/seq/base/tests/tests.cc b/modules/seq/base/tests/tests.cc
index 4d3b8b161269ae40f50241b4d1643f03117d9ddd..8d2205011a3c18953a65922d8a8e851ef6f6fd52 100644
--- a/modules/seq/base/tests/tests.cc
+++ b/modules/seq/base/tests/tests.cc
@@ -18,4 +18,6 @@
 //------------------------------------------------------------------------------
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_MODULE ost_seq_base
+#define BOOST_AUTO_TEST_MAIN
 #include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>