Patch for BOOST_FILESYSTEM_VERSION 3 --- ./kcollectd/gui.cc +++ ./kcollectd/gui.cc @@ -127,21 +127,36 @@ static void get_rrds(const boost::filesystem::path rrdpath, const directory_iterator end_itr; for (directory_iterator host(rrdpath); host != end_itr; ++host ) { if (is_directory(*host)) { +#if (BOOST_FILESYSTEM_VERSION == 3) + QTreeWidgetItem *hostitem = mkItem(listview, host->path().filename().string()); +#else // v2 QTreeWidgetItem *hostitem = mkItem(listview, host->leaf()); +#endif hostitem->setFlags(hostitem->flags() & ~Qt::ItemIsSelectable); for (directory_iterator sensor(*host); sensor != end_itr; ++sensor ) { if (is_directory(*sensor)) { +#if (BOOST_FILESYSTEM_VERSION == 3) + QTreeWidgetItem *sensoritem = mkItem(hostitem, sensor->path().filename().string()); +#else // v2 QTreeWidgetItem *sensoritem = mkItem(hostitem, sensor->leaf()); +#endif sensoritem->setFlags(sensoritem->flags() & ~Qt::ItemIsSelectable); for (directory_iterator rrd(*sensor); rrd != end_itr; ++rrd ) { if (is_regular(*rrd) && extension(*rrd) == ".rrd") { QTreeWidgetItem *rrditem = mkItem(sensoritem, basename(*rrd)); rrditem->setFlags(rrditem->flags() & ~Qt::ItemIsSelectable); std::ostringstream info; +#if (BOOST_FILESYSTEM_VERSION == 3) + info << host->path().filename().string() << delimiter + << sensor->path().filename().string() << delimiter + << basename(*rrd); + get_datasources(rrd->path().string(), info.str(), rrditem); +#else // v2 info << host->leaf() << delimiter << sensor->leaf() << delimiter << basename(*rrd); get_datasources(rrd->string(), info.str(), rrditem); +#endif } } } --- ./kcollectd/kcollectd.cc +++ ./kcollectd/kcollectd.cc @@ -73,7 +73,11 @@ int main(int argc, char **argv) gui->show(); } } +#if (BOOST_FILESYSTEM_VERSION == 3) + catch(filesystem_error) { +#else // v2 catch(basic_filesystem_error &e) { +#endif KMessageBox::error(0, i18n("Failed to read collectd-structure at \'%1\'\n" "Terminating.", QString(RRD_BASEDIR))); exit(1);