LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Compile Problem - KDAR (https://www.linuxquestions.org/questions/linux-newbie-8/compile-problem-kdar-422769/)

ArthurDent 03-08-2006 04:58 AM

Compile Problem - KDAR
 
Hello folks...

I have been using KDAR (Gui front-end to DAR - Disk ARchiver) very happily for a couple of years. I run Fedora Core 4 and (initially) there were no rpm's available so I compiled from source. Recently however the archiver stopped working because of FC4's SELinux policies. The solution to this was to upgrade to the latest version of DAR (from 2.2.5 to 2.3.0 - which works just fine now - as a command line tool). However, I still want the convenience of the GUI KDAR.

There is no later version of KDAR than the one I am was currently using (2.0.7) and when I tried to recompile that with the new version of DAR the process failed.

I am running FC4 on an x86 PC
I have GCC version 4.0.2 20051125 (Red Hat 4.0.2-8)

I ran /sbin/ldconfig.
./configure worked just fine.
On make the process fails...

Code:

make  all-recursive
make[1]: Entering directory `/home/mark/Installs/kdar-2.0.7'
Making all in src
make[2]: Entering directory `/home/mark/Installs/kdar-2.0.7/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/kde -I/usr/lib/qt-3.3/include -I/usr/X11R6/include  -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -fexceptions -MT createArchiveThread.o -MD -MP -MF ".deps/createArchiveThread.Tpo" \
  -c -o createArchiveThread.o `test -f 'createArchiveThread.cpp' || echo './'`createArchiveThread.cpp; \
then mv -f ".deps/createArchiveThread.Tpo" ".deps/createArchiveThread.Po"; \
else rm -f ".deps/createArchiveThread.Tpo"; exit 1; \
fi
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/local/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/local/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/local/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/local/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/local/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/local/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/local/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/local/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/local/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/local/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/local/include/dar/archive.hpp:51: note:                libdar::archive::archive(const libdar::archive&)
make[2]: *** [createArchiveThread.o] Error 1
make[2]: Leaving directory `/home/mark/Installs/kdar-2.0.7/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/mark/Installs/kdar-2.0.7'
make: *** [all] Error 2

Now, usually I can see what's gone wrong - missing file - wrong libs etc. On this one however I am clueless...

Any ideas anyone?

Mark

foo_bar_foo 03-09-2006 01:48 AM

my guess is it has to do with the cast to std::string& but that's justa guess


libdar uses std::string kdar uses QString

gcc is seeing std::string as so undefined it sees the whole class as abstract and cant be instantiated ?

it's one of those mysteries.
might be gcc4
might be your libdar headers on your qt headers arent right ?
you are using the headers to the new libdar yes ?
/usr/local/include/dar is the new ones ?

try asking on the kdar-users on sourceforge

ArthurDent 03-15-2006 04:53 AM

Quote:

try asking on the kdar-users on sourceforge
Thanks foo_bar_foo,

In case anyone else is experiencing the same problem, here is Johnathan Burchill's (KDar's developer) reply to my question on that mailing list...

Quote:

KDar 2.x does not compile with dar 2.3.x. The dar library underwent
some big and impressive changes from 2.2 to 2.3, and I have not
finished upgrading the KDar source code.

Check out the latest svn source code on sf.net/projects/kdar or you
can download the alpha release on the downloads site for a preview of
kdar-3.x. Not much works, but you can open, browse and test archives.
It is not yet a replacement for 2.0.7, so try it at your own risk. I
welcome all suggestions for development.
I think he is aiming for a more complete version some time around the summer of this year...

Best Regards

Mark


All times are GMT -5. The time now is 08:23 PM.