While trying
to compile koffice I ran into these fatal
errors:
../../.libs/libkexidb.so: undefined reference to
`KexiDB::Parser::~Parser()' ../../.libs/libkexidb.so:
undefined
reference to `KexiDB::Parser::statement()
const' ../../.libs/libkexidb.so: undefined reference
to
`KexiDB::Parser::parse(QString const&)'
../../.libs/libkexidb.so:
undefined reference to `tname(int)'
../../.libs/libkexidb.so:
undefined reference to
`KexiDB::Parser::Parser(KexiDB::Connection*)'
../../.libs/libkexidb.so:
undefined reference to
`KexiDB::Parser::query()'
If the g++ error lists a line in a *.cpp file, then
usually the
"undefined reference to" error means a
missing header
file that
declares the namespace or function.
In this particular error, g++ listed a static library.
From what I've
read, this means something is awry in the linking
process and not in
the code itself. Am I on the right track?
If not then please set me straight. :)
If yes, then how do I fix the error? I presume
something in the
Makefiles? Does the error provide me clues as to
where
I need to fix
> the problem?
You need to add the library containing the missing
symbols
to the linker flags.
Thanks so much for helping. This is causing headaches. :)
I more or less figured out there is a linking problem, but I don't know what needs to
be linked, what files to edit, or what command line parameters to pass.
The undefined reference to "KexiDB::" implies a class or namespace (still
learning terminology!), but in which *.cpp or *.h file? My guess is I don't need to
edit any *.cpp or *.h file but the problem is caused by the stricter compiling standards
of the newer GCCs.
How do I read my build log to know which library is the one that needs to be linked? The
way I read the errors (and I could be way wrong :) ), is the linker sees libkexidb.so with
some references that the linker can't find. Does the build log provide me that
information?
If koffice could be built in separate packages chasing this bug would not be so
demoralizing. Building koffice takes about 1 hour 49 minutes on my system. The failure
occurs at about 1 hour 30 minutes. I have posted list questions how to build koffice
differently but received no responses yet.
I want to build koffice mostly to have access to KWord, but I want like to know how to
build kofffice with any component removed. There also is a configure statement in the
build log about building kexi separately, but I don't know how to set my configure
options to do that. If I could then I would save much time by just building kexi because
that is where the failure lies.
Darrell