64位Linux运行skype出错

skype本身只有32位的版本,因此它缺少的库要安装32位版本的。

首先 ldd /usr/bin/skype

可以看到

linux-gate.so.1 => (0x00eab000)
libasound.so.2 => not found
libXv.so.1 => not found
libXss.so.1 => not found
librt.so.1 => /lib/librt.so.1 (0x009ff000)
libQtDBus.so.4 => not found
libQtGui.so.4 => not found
libQtNetwork.so.4 => not found
libQtCore.so.4 => not found
libpthread.so.0 => /lib/libpthread.so.0 (0x007a8000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x006ad000)
libm.so.6 => /lib/libm.so.6 (0x00853000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00230000)
libc.so.6 => /lib/libc.so.6 (0x0024e000)
libdl.so.2 => /lib/libdl.so.2 (0x00110000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00ada000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00cf6000)
/lib/ld-linux.so.2 (0x005a7000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x008eb000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x008c5000)

你可以在 /lib64 中找到 libasound.so.2 , 尝试修改 $LD_LIBRARY_PATH, 在  .bashrc 中加入 

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/lib:/lib64

但是运行后会出现

skype: error while loading shared libraries: libasound.so.2: wrong ELF class: ELFCLASS64

就是因为安装的库是64位版本的

参考这个帖子,安装32位的版本即可。

http://forums.opensuse.org/english/get-technical-help-here/applications/424579-skype-shared-libraries-libasound-so-2-a.html

yum search alsa,会找到 

alsa-lib.i686
alsa-lib.x86_64

如果直接 yum install alsa-lib 的话,就会安装64位的库,因此要指定库的全名,即  yum install alsa-lib.i686

然后就把 libasound 解决了,剩下的库也按照相同方法解决即可。

原文地址:https://www.cnblogs.com/dabaopku/p/2356207.html