[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

SOLVED: Need assistance compiling package



Andrew Robinson wrote:
I'm trying to build palm-db-tools. The build used to work on FC4, but fails as you see on FC6. Is there a flag or something that would get me around this particular problem?

Thanks!

Andrew Robinson

[root proteus palm-db-tools]# make

make -C libsupport; make -C libpalm; make -C libflatfile; make -C flatfile; make[1]: Entering directory `/data/Downloads/Pilot-DB/palm-db-tools/libsupport' g++ -ansi -pedantic -g -O2 -Wall -Werror -Wno-deprecated -I. -I.. -DHAVE_CONFIG_H -c csvfile.cpp
cc1plus: warnings being treated as errors
../libsupport/infofile.h:33: warning: ‘class DataFile::InfoFile::Parser’ has virtual functions but non-virtual destructor ../libsupport/infofile.h:38: warning: ‘class DataFile::InfoFile::ConfigParser’ has virtual functions but non-virtual destructor ../libsupport/infofile.h:48: warning: ‘class DataFile::InfoFile::DatabaseParser’ has virtual functions but non-virtual destructor ../libsupport/infofile.h:58: warning: ‘class DataFile::InfoFile::TypeParser’ has virtual functions but non-virtual destructor ../libsupport/infofile.h:68: warning: ‘class DataFile::InfoFile::PDBPathParser’ has virtual functions but non-virtual destructor
make[1]: *** [csvfile.o] Error 1

Solution: I needed to add destructor's for the classes. I needed to convert this

class Parser
{
public:
    virtual void parse(int linenum, std::vector< std::string> array) = 0;
};

To this:

class Parser
{
public:
    virtual void parse(int linenum, std::vector< std::string> array) = 0;
    virtual ~Parser () {}
};

Now either the version of g++ was more forgiving in FC4 or there was a default setting that allowed this error to pass that has since changed. Anyway, adding destructors to all the complaining classes allowed the application to compile.

Andrew


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]