linux之旅 与 matlab2009a

因为有个程序,要在linux上的matlab上运算,因此不得不安装linux,以前在虚似机上安装过红帽子,这次因为程序的运算的时间要长(至少3天),因此考虑效率问题,安装双系统。

没想到这一安,就浪费了好几天,我尝试在我的机器上,安装过fedora 10.0和redhat enterprise 5.0 的硬盘与光盘安装,结果都无果而终。

在光盘安装fedora失败后,虽然之前试装了两个光盘,但首先的第一反应是,还是在怀疑是否光盘坏掉,所以在别人的机器上,试了一遍,发现也没装上,甚至在选择安装语言与键盘类型后,都无法前进了,在我自己的机器上,好歹能安装顺利,只是不能正常启动fedora,因此,自己又在网上下了fedora 10.0的镜像,刻了张新光盘,再装,同样的效果。在这里,回想起,开始在自己机器上用光盘安装时,用外驱不能进入安装界面的情况,可能是我的SATA2串口硬盘要设置成增强模式,才能读取到外驱的镜像文件,这在我进行硬盘安装fedora时,无法读取到fat32上的镜像文件是一个道理。

因此,我开始了硬盘安装fedora,出现的问题和光盘安装fedora一样,能顺利安装,但无法正常启动,我在想是不是显卡驱动的问题,也许fedora与我机器上的驱动不兼容,顺然 为了简单化处理,我开始了,redhat 5.0的安装,先是刻成光盘,安装之,在选择skip光盘检查时,紧接着--黑屏,无法安装下去了,无奈之下,我又在别人的机器上用刚才的光盘安装redhat 5.0,成功了,接着就是这别人的机器上安装matlab.

我安装的是matlab2009a,搞笑的是,matlab的镜像文件都是从师兄那里拷的,从网上下的matlab有三个镜像文件,第一个和第三个很快的网速就下完了,遗憾的是第二个死都不动了,无奈之下,只能问别人拷了。而一般情况下,用镜像文件安装是最省事的,只要打开光盘--在当前目录建立终端--./install,就可以了,也许这次注定是一次痛苦的安装之旅,首先shell捍示:拒绝访问,权限不够。后查原因,是因为存储介质的原因,要把光盘里的镜像文件内容,拷到ex3文件格式里,全部拷入一个目录后,再./install,又提示权限不够,查看install的权限设置:ls -l install   果然root用户没有执行权限.修改之chmod 555 install,再次./install,再次提醒权限不够,不过这次不是install文件,而是安装文件里面的另一个文件,原因与处理都是和install一样,再次./install 再次提示无共享库文件libXp.so.6,因为没有这个库文件,matlab 的图形安装界面无法调出来,找到matlab2009a里的server文件夹下的libXp.1.0*包(不同的linux版本可能名称不一样),切换到此目录下,打开新的终端,rpm -xvh libxp.1.0* 安装之。再次./install,顺利安装。

另外当SElinux没有禁用的时侯,也许会存在无法启动matlab2009的情况,我就碰到了这个问题,在终端执行  matlab的安装目录/bin/matlab 

提示:usr/local/matlab/bin/glnx86/MATLAB:error while         loading     shared      libraries: /usr/local/matlab/bin/glnx86/../../bin/glnx86/../../bin/glnx86/../../bin/glnx86/../../bin/glnx86/libmwrookfastbp.so: cannot restore segment prot after reloc: Permission denied

以上问题的出现是因为 SELinux 禁用了某些动态链接库的加载。先把 SELinux 禁用看一下能不能正常运行,如下:

# /usr/sbin/setenforce 0

# /usr/local/matlab/bin/matlab

SELinux 打开,可以用如下命令:

# /usr/sbin/setenforce 1

如果可以正常运行,可以按照下面的几种方法解决。

1 )、把 Matlab 加入到 texrel_shlib_t context ,在执行这一步骤之前要把 allow_execheap boolean 打开。

# setsebool -P allow_execheap=1

然后就可以添加了。如下:

#chcon -t texrel_shlib_t /usr/local/matlab/bin/glnx86/*.so

# chcon -t texrel_shlib_t /usr/local/matlab/sys/java/jre/glnx86/jre/lib/i386/*.so

# chcon -t texrel_shlib_t /usr/local/matlab/bin/glnx86/*.so.*

# chcon -t texrel_shlib_t /usr/local/matlab/sys/java/jre/glnx86/jre/lib/i386/client/*.so

如果对应的是 x86_64 的, i386 替换为 amd64 以及 glnx86 替换为 glnxa64 那里相应替换一下就够了。更加保险的就是一步一步参照你的 Matlab 安装目录。按照以上方法,基本上就可以解决了。如果不行可以用第二种方法。

 

2 )、设置 SELinux 的禁止模式。

这样子 SELinux 有警告的消息,但是不阻止你正常运行。

改变 /etc/sysconfig 中关于 selinux 的内容,由原来的 "selinux=enforcing" 改为 "selinux=permissive" 重启即可。如果此法还不行,那就采用第三种方法。

3 )、禁止启动 SELinux

这种方法 SELinux 已经不在你的系统中运行了。同样是改变 /etc/sysconfig 的内容中关于 selinux ”selinux=diable” 。重启之后就可以了。

上面的解决方法,来源于:http://blog.chinaunix.net/u3/116748/showart_2270238.html  

另参考: http://www.mathworks.com/support/solutions/en/data/1-2SGOXN/index.html?solution=1-2SGOXN


我承认,我不该愚蠢的浪费时间在安装这些简单把戏上,在我的机器上经历这么多次的安装失败后,我很肯定是我的硬件或驱动的问题,找了很久的资料,没有查到原因。正在下fedora 13.0,想再次安装之,反正,结果只有一个,一定要把程序在我自己的机器上,跑起来!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值