Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

symbol lookup error: ./executableName: undefined symbol: _ZN18QXmlDefaultHandlerC2Ev

I am trying to run an executable on Linux Mint 16 x64 that was compiled for Ubuntu 12 x64. The executable uses Qt 5.1.1 dynamically during runtime. I get the error:

loaded the dummy plugin 
loaded the Linux plugin 
updating server status 
./executableName: symbol lookup error: ./executableName: undefined symbol: _ZN18QXmlDefaultHandlerC2Ev

When I run

ldd executableName | grep "not found"

searching for missing dependencies I get no result; all dynamic dependencies seem to be found, but the undefined symbol error above persists.

Thoughts?

like image 770
Daniel Arnett Avatar asked Aug 08 '14 15:08

Daniel Arnett


2 Answers

A quick help:

$ echo _ZN18QXmlDefaultHandlerC2Ev|c++filt
QXmlDefaultHandler::QXmlDefaultHandler()

Thus, you don't have a constructor for QXmlDefaultHandler. Googling for that we can found here, that at least Qt-4.8 and Qt-5.3 contains this library.

I think, there is some type of incompatibility between your actual running Qt library and between for which the executable was compiled for. My suggestion were to recompile that executable from source, but on your mint.

It is not impossible, that porting the source package from ubuntu will be a little bit hard for you, in this case I suggest a simple upstream source recompilation (or even binary download, if there is one).

like image 80
peterh Avatar answered Sep 24 '22 15:09

peterh


You can't run Ubuntu binaries on Mint like that; binaries are generally not binary-compatible between distributions. Can you find a Mint build? If not, you'll have to build it yourself.

like image 29
Chris Jester-Young Avatar answered Sep 24 '22 15:09

Chris Jester-Young