我正在尝试在 12.04 中打开 Matlab(32 位版本),使用
matlab -glnx86
但它又回来了
/usr/local/bin/matlab: 1: /usr/local/temp/bin/util/oscheck.sh: /lib/libc.so.6: not found
/usr/local/temp/bin/glnx86/MATLAB: error while loading shared libraries: libXpm.so.4: cannot open shared object file: No such file or directory
有什么想法吗?我见过类似的问题,结果是所需的库被移动了,必须链接到正确的位置,但我是一个相当新的用户,我不知道如何检查或修复它。
答案1
关于什么
sudo ln -s /lib/i386-linux-gnu/libc.so.6 /lib/libc.so.6
对我有用!
问候
答案2
因此,在将 ubuntu 11.10 更新到 12.04 后(均为 64 位,使用 matlab 2010a 学生版),我收到了完全相同的错误。为了解决这个问题,我遵循了以下五个步骤
sudo ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib/libc.so.6
- 安装
libXpm4:i386
。 - 安装
libXmu6:i386
。 - 安装
libXp6:i386
。 - 安装
libXtst6:i386
。
这里第一步是从终端 ( Ctrl++ ) 执行的。对于后四个步骤,我转到软件中心并搜索要安装的软件包(例如),然后单击“安装Alt” 。TlibXpm4:i386
如果有人感兴趣或遇到类似但不完全相同的问题并正在寻求见解,下面将详细描述我采取这五项行动的原因:
按照建议我遵循学生版的说明在这里。我运行了以下命令:
sudo ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib/libc.so.6
第一个错误解决后,我仍然遇到有关 的错误libXpm.so.4
。我尝试将libXpm.so.4
系统中其他地方找到的文件与 中的文件建立不同的符号链接/lib
,但出现错误wrong ELF class: ELFCLASS64
。我认为问题出在我缺少一些 32 位版本的库,而这些库是我正在运行的 32 位 Matlab 所需的。考虑到这一点,我去了软件中心,搜索libXpm
并安装了 ,libXpm4:i386
它似乎是libXpm4
已经安装的 32 位版本(i386
表示 32 位架构)。这解决了上面最后两条消息。
尝试再次运行 Matlab,然后我收到类似的错误,但未libXmu.so.6
找到。我再次返回软件中心并搜索libXmu
并安装libXmu6:i386
。此操作解决了新错误。
再次运行matlab -glnx86
,出现错误,因此我在软件中心libXp.so.6 not found
搜索并安装。这解决了最新的错误。libXp
libXp6:i386
最后,我运行matlab -glnx86
后,启动画面出现了,但很快就关闭了,并出现了错误Unable to initialize com.mathworks.mwswing.MJStartup
。在网上搜索后,我发现这一页,它建议安装libXtst
,所以最后一次,我去了软件中心并安装了libXtst6:i386
。
我只是想让我的 Matlab 工作,所以我不知道为什么这会修复它,但我的假设是更新删除了 Matlab 仍然需要的一些 32 位版本的文件,所以我只是回去手动重新安装它们。
希望这可以帮助!
答案3
您可以尝试点击此链接,我发现它很有帮助。 http://www.emmalzhang.com/robotTech/2012/05/10/matlab-starting-error-in-ubuntu-12-04-libc-so-6-not-found/ Ubuntu 12.04 中 MATLAB 启动错误:libc.so.6:未找到
答案4
对于缺失的libXp.so.6
,添加:
deb http://security.ubuntu.com/ubuntu precise-security main
到你的/etc/apt/sources.list
。
然后运行
sudo apt update
sudo apt install libxp6