--- src/support/path.h	Mon Oct  6 11:43:21 2003
+++ src/support/path.h	Fri Jul  6 14:23:38 2007
@@ -55,5 +55,5 @@
 // we add this macro:
 ///
-#ifndef PATH_C
+#if 0
 #define Path(x) unnamed_Path;
 #endif
--- src/support/fs_extras.C	Sat May  7 10:31:16 2005
+++ src/support/fs_extras.C	Fri Jul  6 14:39:58 2007
@@ -94,11 +94,20 @@
 
 #ifdef BOOST_POSIX
+#include <boost/version.hpp>
 	int const infile = ::open(source.string().c_str(), O_RDONLY);
         if (infile == -1) {
 		boost::throw_exception(
+#if BOOST_VERSION < 103400
 			filesystem_error(
 				"boost::filesystem::copy_file",
 				source, target,
-				fs::detail::system_error_code()));
+				fs::detail::system_error_code())
+#else
+			filesystem_path_error(
+				"boost::filesystem::copy_file",
+				source, target,
+				fs::lookup_errno(errno))
+#endif
+			);
 	}
 
@@ -108,8 +117,16 @@
                 ::close(infile);
 		boost::throw_exception(
+#if BOOST_VERSION < 103400
 			filesystem_error(
 				"boost::filesystem::copy_file",
 				source, target,
-				fs::detail::system_error_code()));
+				fs::detail::system_error_code())
+#else
+			filesystem_path_error(
+				"boost::filesystem::copy_file",
+				source, target,
+				fs::lookup_errno(errno))
+#endif
+			);
         }
 
@@ -120,8 +137,16 @@
                 ::close(infile);
 		boost::throw_exception(
+#if BOOST_VERSION < 103400
 			filesystem_error(
 				"boost::filesystem::copy_file",
 				source, target,
-				fs::detail::system_error_code()));
+				fs::detail::system_error_code())
+#else
+			filesystem_path_error(
+				"boost::filesystem::copy_file",
+				source, target,
+				fs::lookup_errno(errno))
+#endif
+			);	
         }
 
@@ -150,8 +175,16 @@
         if (in == -1 || out == -1)
 		boost::throw_exception(
+#if BOOST_VERSION < 103400
 			filesystem_error(
 				"boost::filesystem::copy_file",
 				source, target,
-				fs::detail::system_error_code()));
+				fs::detail::system_error_code())
+#else
+			filesystem_path_error(
+				"boost::filesystem::copy_file",
+				source, target,
+				fs::lookup_errno(errno))
+#endif
+			);	
 #endif
 #ifdef BOOST_WINDOWS
--- src/client/client.C	Wed Apr 12 05:37:33 2006
+++ src/client/client.C	Fri Jul  6 15:47:26 2007
@@ -94,5 +94,10 @@
 	for (; beg != end; ++beg) {
 		if (prefixIs(beg->leaf(), "lyx_tmpdir" + pid)) {
+#include <boost/version.hpp>
+#if BOOST_VERSION < 103400
 			fs::path lyxsocket = *beg / "lyxsocket";
+#else
+			fs::path lyxsocket = beg->path() / "lyxsocket";
+#endif
 			if (fs::exists(lyxsocket)) {
 				dirlist.push_back(lyxsocket);
