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.
I've had the same problem and I resolved as I explained in this link:
In my case some libQt were found in the wrong version in
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
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
This is not a complete answer, but at least a workaround:
Run skype from the commandline, manually making sure it is pointed to the i386 libraries:
This is assuming you have the skype:i386 package installed (it sounds like you do).
The real solution still eludes me, but may be different depending on the machine...
The problem has to do with the current transition to multiarch (which allows libraries of different architectures on the same install - such as i386 and amd64.)
The skype installed from Ubuntu Software Centre is skype:i386 and needs to link against i386 versions of libaries. What I suspect is that somewhere along the line it loads an amd64 library instead of the i386 version. (Perhaps a broken install left over from an old package, or badly-packaged 3rd party product?)
That solved the problem for me too. I am running Ubuntu 11.10 64 bit and installed the Skype deb package for 64-bit. When querying the Qt libraries used by Skype, I noticed some 3 libraries where used from a Google Earth installation in /opt/google/earth:
$ ldd /usr/bin/skype | grep Qt libQtDBus.so.4 => /usr/lib/i386-linux-gnu/libQtDBus.so.4 (0xf7564000) libQtGui.so.4 => /opt/google/earth/free/libQtGui.so.4 (0xf6af9000) libQtNetwork.so.4 => /opt/google/earth/free/libQtNetwork.so.4 (0xf69cd000) libQtCore.so.4 => /opt/google/earth/free/libQtCore.so.4 (0xf66d2000) libQtXml.so.4 => /usr/lib/i386-linux-gnu/libQtXml.so.4 (0xf627a000)
Running from the command line
forced use of the libraries in the
i-386-linux-gnu directory and successfuly launched Skype.
In order to have the Unity / Dash launcher working I modified the Exec line accordingly. This spare the use of a terminal to launch the application.
Edit the Skype launcher in
/usr/share/applications in a gedit window launched from the command line
$ gksu gedit [superuser mode]
Exec=env LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ /usr/bin/skype
This way Skype can be launched from the Unity / Dash in Ubuntu 11.10
on the http://www.skype.com/en/download-skype/skype-for-computer/ choose "Dynamic" as your distribution this should give you a file similar to "skype-22.214.171.124.tar.bz2". Use the following commands to extract and start skype:
tar -xvf skype-126.96.36.199.tar.bz2 mv skype-188.8.131.52 skype ./skype/skype &
I fixed the skype launch and audio issue on Ubuntu 14.04 LTS the following way:
To run Skype from Terminal: Point it to the i386 libraries like shown below
LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ PULSE_LATENCY_MSEC=30 /usr/bin/skype To Launch the Skype from Dash: Edit the file '/usr/share/applications/skype.desktop'
sudo YOUR_FAVORITE_EDITOR_HERE /usr/share/applications/skype.desktop
Change this line
Exec=env PULSE_LATENCY_MSEC=60 skype %U to
Exec=env PULSE_LATENCY_MSEC=30 LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ skype %U Note: I changed the pulse latency to 30 from 60 to make the audio work and added the LD_LIBRARY_PATH
This was reported to still work with Ubuntu 14.04.