diff --git a/cmake_support/FindBoost.cmake b/cmake_support/FindBoost.cmake
index 68064ebf3c40c42cd6d29630b3c7009c6ed35350..e784de62ff5b451435a10116c3b8ea2c196a4191 100644
--- a/cmake_support/FindBoost.cmake
+++ b/cmake_support/FindBoost.cmake
@@ -271,9 +271,9 @@ else(Boost_FIND_VERSION_EXACT)
   # The user has not requested an exact version.  Among known
   # versions, find those that are acceptable to the user request.
   set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
-    "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0"
-    "1.37" "1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0"
-    "1.34" "1.33.1" "1.33.0" "1.33")
+    "1.46" "1.45" "1.44" "1.43" "1.42" "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0"
+    "1.39" "1.38.0" "1.38" "1.37.0" "1.37" "1.36.1" "1.36.0" "1.36" "1.35.1" 
+    "1.35.0" "1.35" "1.34.1" "1.34.0" "1.34" "1.33.1" "1.33.0" "1.33")
   set(_boost_TEST_VERSIONS)
   if(Boost_FIND_VERSION)
     set(_Boost_FIND_VERSION_SHORT "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
diff --git a/modules/io/src/mol/entity_io_crd_handler.cc b/modules/io/src/mol/entity_io_crd_handler.cc
index bee473f9dd1f7b573c067cb0e4c92f07c9e34a80..eb905dc7029d680cb717577383b221dfa5574a06 100644
--- a/modules/io/src/mol/entity_io_crd_handler.cc
+++ b/modules/io/src/mol/entity_io_crd_handler.cc
@@ -223,7 +223,11 @@ CRDWriter::CRDWriter(std::ostream& ostream) :
 {}
 
 CRDWriter::CRDWriter(const boost::filesystem::path& filename) :
+#if BOOST_FILESYSTEM_VERSION==3
+  outfile_(filename.filename().string().c_str()), outstream_(outfile_),
+#else
   outfile_(filename.file_string().c_str()), outstream_(outfile_),
+#endif
   atom_count_(0)
 {}
 
diff --git a/modules/io/src/mol/pdb_writer.cc b/modules/io/src/mol/pdb_writer.cc
index 6f180688d94603f5096aff7a1e046f2c32633658..31359bbae761d3eb18b57f3feaad71a2133c1d5d 100644
--- a/modules/io/src/mol/pdb_writer.cc
+++ b/modules/io/src/mol/pdb_writer.cc
@@ -329,7 +329,11 @@ PDBWriter::PDBWriter(std::ostream& stream, const IOProfile& profile):
 
 PDBWriter::PDBWriter(const boost::filesystem::path& filename, 
                      const IOProfile& profile):
+#if BOOST_FILESYSTEM_VERSION==3                     
+  outfile_(filename.filename().string().c_str()), outstream_(outfile_), 
+#else
   outfile_(filename.file_string().c_str()), outstream_(outfile_), 
+#endif  
   mol_count_(0), line_(80), multi_model_(false), 
   charmm_style_(profile.dialect=="CHARMM"), is_pqr_(false),
   profile_(profile)
diff --git a/modules/io/src/mol/sdf_writer.cc b/modules/io/src/mol/sdf_writer.cc
index 01b1381b070dc16255cf04975e9605cc9fb68425..5f03e13376c594e812efc18540fd65afa869541b 100644
--- a/modules/io/src/mol/sdf_writer.cc
+++ b/modules/io/src/mol/sdf_writer.cc
@@ -95,8 +95,13 @@ SDFWriter::SDFWriter(const String& filename)
   : outfile_(filename.c_str()), ostr_(outfile_), counter_(0) {
 }
 
-SDFWriter::SDFWriter(const boost::filesystem::path& filename)
-  : outfile_(filename.file_string().c_str()), ostr_(outfile_), counter_(0) {
+SDFWriter::SDFWriter(const boost::filesystem::path& filename): 
+#if BOOST_FILESYSTEM_VERSION==3
+  outfile_(filename.filename().string().c_str()), 
+#else
+  outfile_(filename.file_string().c_str()), 
+#endif
+  ostr_(outfile_), counter_(0) {
 }
 
 void SDFWriter::Write(const mol::EntityView& ent) {