如何在Ubuntu 10.10上安装gcc-4.1

时间:2010-11-12 05:55:21

标签: gcc ubuntu

1)我需要gcc-4.1用于Matlab mex的使用,但我无法通过apt-get install完全安装它:

The following packages have unmet dependencies:
libstdc++6-4.1-dev : Depends: gcc-4.1-base (= 4.1.2-27ubuntu1) but 4.1.2-29ubuntu1 is to be installed
Depends: g++-4.1 (= 4.1.2-27ubuntu1) but it is not going to be installed
E: Broken packages

2)我现在只安装了gcc-4.1-base和-multilib。编译mex文件时:

/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status

libstdc ++ 6-4.1-dev出了点问题。 那么比自己编译更容易解决?

由于

2 个答案:

答案 0 :(得分:2)

我假设您使用x64版本的Ubuntu,而您的Matlab版本也是64位。有两种方法可以解决2)中提到的问题:

  1. 打开mexopts.sh(位于yourhome / .matlab / MATLAB VERSION /目录中), 和评论CLIBS =" CLIBS -lstdc ++"对于glnxa64。
  2. 检查是否libstdc ++。所以。存在于/ usr / lib目录中。如果没有,请创建一个符号链接/usr/lib/libstdc++.so到MATLABROOT / sys / os / glnxa64 / libstdc ++。so.6.0.xx(xx是一个可能随matlab版本而变化的数字)。

答案 1 :(得分:0)

我不会自己编译。我记得 花了多长时间(这是构建任何Linux系统最长的部分)......

所以我认为你现在没有一个功能齐全的GCC?我从Ubuntu 10.10 x64中的apt-get安装了这个...

好的,所以你破坏了依赖关系,是吗?我知道这不是很优雅,但尝试手动下载deb文件(http://packages.ubuntu.com/maverick/gcc-4.1 10.10 http://packages.ubuntu.com/lucid/gcc-4.1 10.04 ),将它们保存到文件夹,从终端进入文件夹,然后为每个包运行:

dpkg -i package.deb

有一种更优雅的方法可以做到这一点,但我只是不知道......