When compiling, I get this error:
createArchiveThread.cpp: In member function ‘virtual void createArchiveThread::run()’:
createArchiveThread.cpp:81: error: cannot declare variable ‘userInteractionDialog’ to be of abstract type ‘KDarInteraction’
KDarInteraction.h:31: note: because the following virtual functions are pure within ‘KDarInteraction’:
/usr/include/dar/user_interaction.hpp:300: note: virtual void libdar::user_interaction::inherited_warning(const std::string&)
createArchiveThread.cpp:136: error: no matching function for call to ‘libdar::archive::archive(KDarInteraction&, libdar::path&, libdar::path, NULL, libdar::et_mask, libdar::et_mask, std::string, const char* const&, bool, bool, bool, bool, bool, libdar::compression, libdar::U_I, libdar::infinint, libdar::infinint, bool, bool, std::string, libdar::crypto_algo, const char [1], libdar::U_32, libdar::et_mask, libdar::U_I, bool, bool, libdar::infinint, bool, bool&, bool&, libdar::statistics&)’
/usr/include/dar/archive.hpp:293: note: candidates are: libdar::archive::archive(libdar::user_interaction&, const libdar::path&, libdar::archive*, libdar::archive*, const libdar::mask&, const libdar::mask&, const std::string&, const std::string&, bool, bool, bool, const libdar::infinint&, bool, libdar::compression, libdar::U_I, const libdar::infinint&, const libdar::infinint&, const libdar::mask&, const std::string&, libdar::crypto_algo, const std::string&, libdar::U_32, const libdar::mask&, const libdar::infinint&, bool, bool, bool, libdar::statistics*)
/usr/include/dar/archive.hpp:223: note: libdar::archive::archive(libdar::user_interaction&, const libdar::path&, libdar::archive*, const std::string&, const std::string&, bool, bool, bool, const libdar::infinint&, libdar::compression, libdar::U_I, const libdar::infinint&, const libdar::infinint&, const std::string&, libdar::crypto_algo, const std::string&, libdar::U_32, bool)
/usr/include/dar/archive.hpp:183: note: libdar::archive::archive(libdar::user_interaction&, const libdar::path&, const libdar::path&, libdar::archive*, const libdar::mask&, const libdar::mask&, const std::string&, const std::string&, bool, bool, bool, const libdar::infinint&, bool, libdar::compression, libdar::U_I, const libdar::infinint&, const libdar::infinint&, const libdar::mask&, const std::string&, libdar::crypto_algo, const std::string&, libdar::U_32, const libdar::mask&, const libdar::infinint&, bool, libdar::inode::comparison_fields, const libdar::infinint&, bool, bool, bool, bool, bool, bool, const libdar::infinint&, libdar::statistics*)
/usr/include/dar/archive.hpp:98: note: libdar::archive::archive(libdar::user_interaction&, const libdar::path&, const std::string&, const std::string&, libdar::crypto_algo, const std::string&, libdar::U_32, const std::string&, const std::string&, const std::string&, bool)
/usr/include/dar/archive.hpp:51: note: libdar::archive::archive(const libdar::archive&)
createArchiveThread.cpp:178: error: no matching function for call to ‘libdar::archive::archive(KDarInteraction&, libdar::path&, libdar::path, libdar::archive*&, libdar::et_mask, libdar::et_mask, std::string, const char* const&, bool, bool, bool, bool, bool, libdar::compression, libdar::U_I, libdar::infinint, libdar::infinint, bool, bool, std::string, libdar::crypto_algo, const char [1], libdar::U_32, libdar::et_mask, libdar::U_I, bool, bool, libdar::infinint, bool, bool&, bool&, libdar::statistics&)’
/usr/include/dar/archive.hpp:293: note: candidates are: libdar::archive::archive(libdar::user_interaction&, const libdar::path&, libdar::archive*, libdar::archive*, const libdar::mask&, const libdar::mask&, const std::string&, const std::string&, bool, bool, bool, const libdar::infinint&, bool, libdar::compression, libdar::U_I, const libdar::infinint&, const libdar::infinint&, const libdar::mask&, const std::string&, libdar::crypto_algo, const std::string&, libdar::U_32, const libdar::mask&, const libdar::infinint&, bool, bool, bool, libdar::statistics*)
/usr/include/dar/archive.hpp:223: note: libdar::archive::archive(libdar::user_interaction&, const libdar::path&, libdar::archive*, const std::string&, const std::string&, bool, bool, bool, const libdar::infinint&, libdar::compression, libdar::U_I, const libdar::infinint&, const libdar::infinint&, const std::string&, libdar::crypto_algo, const std::string&, libdar::U_32, bool)
/usr/include/dar/archive.hpp:183: note: libdar::archive::archive(libdar::user_interaction&, const libdar::path&, const libdar::path&, libdar::archive*, const libdar::mask&, const libdar::mask&, const std::string&, const std::string&, bool, bool, bool, const libdar::infinint&, bool, libdar::compression, libdar::U_I, const libdar::infinint&, const libdar::infinint&, const libdar::mask&, const std::string&, libdar::crypto_algo, const std::string&, libdar::U_32, const libdar::mask&, const libdar::infinint&, bool, libdar::inode::comparison_fields, const libdar::infinint&, bool, bool, bool, bool, bool, bool, const libdar::infinint&, libdar::statistics*)
/usr/include/dar/archive.hpp:98: note: libdar::archive::archive(libdar::user_interaction&, const libdar::path&, const std::string&, const std::string&, libdar::crypto_algo, const std::string&, libdar::U_32, const std::string&, const std::string&, const std::string&, bool)
/usr/include/dar/archive.hpp:51: note: libdar::archive::archive(const libdar::archive&)
make[2]: *** [createArchiveThread.o] Error 1
make[2]: Leaving directory `/home/luke/tmpstore/build/kdar-2.0.7/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/luke/tmpstore/build/kdar-2.0.7'
make: *** [all] Error 2
I'm guessing its to do with improvements in gcc (although possibly a bug in gcc, but seems unlikely).
My system, for reference, is Ubuntu Feisty, with libdar64-4 installed (the only version available), and a symlink for /usr/lib/libdar.so pointing to /usr/lib/libdar64.so to get it to compile).