kdevelop build error: undefined reference to `KDevelop::EditorContext::currentWord() const'

René J.V. Bertin rjvbertin at gmail.com
Sat Jun 25 12:56:21 UTC 2016


On Saturday June 25 2016 12:01:06 Aetf wrote:

>It's marked as a T and it shows up with -g option, so I think it's there.

In that case it shouldn't be because of a wrong -fvisibility option, I think.

>I'm using gcc 6.1.1 on Arch Linux. There should be no special custom

Do you have the possibility to test with an earlier version, gcc 5.x or even 5.4? Normally I'd say this shouldn't be necessary, but gcc 6 is still new enough not to exist everywhere AFAIK, and I've been seeing a bit too many commits related to gcc-6 compatibility lately.

>Oops, actually `#include <signal.h>` also works on OS X. It must be me

The manpages for OS X are available online just like they are for Linux ;)

>A quick googling show it has something to do with different `-fvisibility`
>argument when compiling the code. What arguments are you using to compile
>midebugsession.cpp?

I'm seeing -fvisibility=hidden -fvisibility-inlines-hidden but they're set automatically and are used almost everywhere. Apparently not in debuggers/gdb, though.

That may in fact explain the issue, maybe debuggers/gdb contains something that causes it to be built with default (public?) visibility and you then moved things to debuggers/common without ensuring that part is built with the same visibility rules.
But that wouldn't explain why EditorContext::currentWord() and the EditorContext typeinfo are the only symbols concerned...

R.


More information about the KDevelop-devel mailing list