diff -ur a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt 2012-11-29 04:20:24.563019830 -0600 +++ b/CMakeLists.txt 2012-11-30 01:33:57.657711148 -0600 @@ -14,9 +14,9 @@ set(CMAKE_INSTALL_PREFIX "/" CACHE PATH "e4rat install prefix" FORCE) ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) -set(Boost_USE_STATIC_LIBS ON) +set(Boost_USE_STATIC_LIBS OFF) set(Boost_USE_MULTITHREADED OFF) -add_definitions(-DBOOST_FILESYSTEM_VERSION=2) +add_definitions(-DBOOST_FILESYSTEM_VERSION=3) find_package(Boost 1.41 COMPONENTS system filesystem regex REQUIRED) set(${PROJECT_NAME}_LIBRARIES ${${PROJECT_NAME}_LIBRARIES} ${Boost_LIBRARIES}) diff -ur a/src/common.cc b/src/common.cc --- a/src/common.cc 2012-11-29 04:20:24.565019830 -0600 +++ b/src/common.cc 2012-11-30 01:37:17.203792503 -0600 @@ -157,7 +157,7 @@ p /= filesearch; } // Initialize regex filter - use * as default if nothing is given in filesearch - std::string f( p.has_filename() ? p.filename() : "*"); + std::string f( p.has_filename() ? p.filename().string() : "*"); fs::path dir(system_complete(p).parent_path()); if( is_directory(dir) ) @@ -166,8 +166,8 @@ it!=boost::filesystem::directory_iterator(); ++it ) { - if( boost::regex_match( it->leaf(), path2regex(f) ) ) - fileset.push_back(it->string()); + if( boost::regex_match( it->path().string(), path2regex(f) ) ) + fileset.push_back(it->path().string()); } return fileset; } diff -ur a/src/config.cc b/src/config.cc --- a/src/config.cc 2012-11-29 04:20:24.565019830 -0600 +++ b/src/config.cc 2012-11-30 01:37:17.205792505 -0600 @@ -71,7 +71,7 @@ return; } - tool_name = fs::path(argv[0]).filename(); + tool_name = fs::path(argv[0]).filename().string(); found = tool_name.find_last_of("-"); if(found) defaultSection = tool_name.substr(found+1); diff -ur a/src/device.cc b/src/device.cc --- a/src/device.cc 2012-11-29 04:20:24.566019831 -0600 +++ b/src/device.cc 2012-11-30 01:37:17.206792506 -0600 @@ -196,13 +196,13 @@ it != end_itr; ++it ) { - if(it->filename() == "root") + if(it->path().string() == "root") continue; - if(lstat(it->string().c_str(), &st)) + if(lstat(it->path().string().c_str(), &st)) continue; if(st.st_rdev == get()->devno) { - get()->deviceName = it->filename(); + get()->deviceName = it->path().string(); get()->devicePath = "/dev/" + get()->deviceName; return 0; } @@ -225,7 +225,7 @@ // the minor number of virtual filesystems are allocated dynamically in function set_anon_super() in fs/super.c // for convenience set deviceName and devicePath to a common name get()->deviceName = "virtual file system"; - get()->devicePath = get()->mount_point.filename(); + get()->devicePath = get()->mount_point.filename().string(); return 0; case 2: ss << "fd"; diff -ur a/src/e4rat-collect.cc b/src/e4rat-collect.cc --- a/src/e4rat-collect.cc 2012-11-29 04:20:24.564019830 -0600 +++ b/src/e4rat-collect.cc 2012-11-30 01:37:17.208792508 -0600 @@ -396,7 +396,7 @@ * Parse application list given as arguments */ for ( ; optind < argc; optind++) - project.observeApp(fs::path(argv[optind]).filename()); + project.observeApp(fs::path(argv[optind]).filename().string()); /* * Parse application list on stdin