ubuntu 11.04上安装matlab r2011b

来源:互联网 发布:hpv报告单怎么看数据 编辑:程序博客网 时间:2024/06/04 23:04

由于实验要使用版本较早的ubuntu 11.04,在上面装matlab整整折腾了一天。主要是ubuntu 11.04上的matlab版本比较难下载。学校的睿思上只有较新版本的matlab,而且linux 32位的更是都没种子了(2012b之后matlab只支持64为linux)。无奈只能到网上找matlab。
matlab版本和ubuntu版本一般都有个对应的关系,较新的matlab在较老的ubuntu上是无法使用的。多方查找,发现ubuntu 11.04上合适的matlab版本为r2011b, r2012a/b (r2010a/b,r2011a也可能可以,但是官网上提到的就是之前的三个)。
主要的时间都花在找和下载matlab上了。多方查找,终于在百度网盘上找到了一个r2011b版本的matlab for linux(同时支持32和64位linux)。 6.27G下载了整整一个晚上,我的CMCC-EDU~~~。
安装还是比较顺利的,这个网上教程都比较多。
使用的时候遇到两个问题,着重说一下:
1. libc.so.6 not found
其实这个共享库是存在的,软链接到系统的共享库即可

    sudo ln -s /lib/i386-linux-gnu/libc-2.13.so /lib/libc.so.6
  1. mex用于c/c++和matlab的混合编程,将c/c++程序编译成matlab可以运行的程序。首先调用mex -setup选择所用的c/c++编译器。然后mex c源程序,例如mex read_bfee.c。此时可能会出现如下问题:
Warning: You are using gcc version "4.5.2-8ubuntu4)".  The version         currently supported with MEX is "4.3.4".         For a list of currently supported compilers see:          http://www.mathworks.com/support/compilers/current_release//usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/cc1plus: /usr/local/MATLAB/R2011a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/lib/libppl_c.so.2)/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/cc1plus: /usr/local/MATLAB/R2011a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/libppl_c.so.2)/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/cc1plus: /usr/local/MATLAB/R2011a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/lib/libppl.so.7)/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/cc1plus: /usr/local/MATLAB/R2011a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/libppl.so.7)/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/cc1plus: /usr/local/MATLAB/R2011a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/libgmpxx.so.4)

这是因为mex使用的gcc编译器的版本和matlab用于编译c/c++等共享库的gcc版本不一致导致的。最直观的当然是更改系统的gcc版本到matlab指定的gcc版本上。但这个比较麻烦而且没有必要。最好的解决方法是删除掉matlab自身的共享库,让matlab去使用系统的共享库。具体做法如下:

 cd $MATLAB cd sys/os/glnx86 mkdir old mv libstdc++.* libg2c.* libgcc_s* old

大功告成~

0 0
原创粉丝点击