Ubuntu – “skype: symbol lookup error: skype: undefined symbol”


Upgraded to 11.10 and Skype is no longer working. I get the following error:

skype: symbol lookup error: skype: undefined symbol: _ZN5QFile3mapExxNS_14MemoryMapFlagsE

Tried both downloading from Skype and from the Ubuntu Software Center.

Best Answer

I've had the same problem and I resolved as I explained in this link:

Ubuntu 11.10 + Skype = symbol lookup error

In my case some libQt were found in the wrong version in /usr/lib32 instead of /usr/lib/i386-linux-gnu.

I suppose the reason is some very old skype installation that requires forcing the installation of some 32bit libraries To verify that it also apply to you, do the following in the terminal

ldd /usr/bin/skype | grep Qt

libQtDBus.so.4 => /usr/lib/i386-linux-gnu/libQtDBus.so.4 (0xf7569000)
libQtGui.so.4 => /usr/lib/i386-linux-gnu/libQtGui.so.4 (0xf6aa3000)
libQtNetwork.so.4 => /usr/lib/i386-linux-gnu/libQtNetwork.so.4 (0xf6967000)
libQtCore.so.4 => /usr/lib/i386-linux-gnu/libQtCore.so.4 (0xf66c5000)
libQtXml.so.4 => /usr/lib/i386-linux-gnu/libQtXml.so.4 (0xf626d000)

Verify that all qt libraries are found in /usr/lib/i386-linux-gnu/ and not in /usr/lib32. If you found some libraries in /usr/lib32 I suggest you to backup them and remove them from /usr/lib32 and verify that the results of

 ldd /usr/bin/skype | grep Qt  

now find them in /usr/lib/i386-linux-gnu/

Briefly, the problem was that skype found some stale and old libQt* libraries in /usr/lib32 insted of those installed with i386 version of libQt. Those old libraries were probably installed for old skypes to work