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
Run Code Online (Sandbox Code Playgroud)
2)我现在只安装了 gcc-4.1-base 和 -multilib。编译 mex 文件时:
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
libstdc++6-4.1-dev 有问题。所以我去http://packages.ubuntu.com/maverick/gcc-4.1下载 libstdc++6-4.1-dev_4.1.2-27ubuntu1_i386.deb。但是不能安装:
Dependency is not satisfiable: g++-4.1 (= 4.1.2-21ubuntu1)
谢谢
不确定如果您覆盖依赖项并推出自己的 deb,它是否能正常运行,但值得一试。
apt-get build-dep deb-name-here
apt-get source deb-name-here
cd package-dir/deb
nano control
Run Code Online (Sandbox Code Playgroud)
并将依赖项更改为 > 而不是 =
cd ..
debuild
Run Code Online (Sandbox Code Playgroud)
它可能会起作用...
另一种选择是使用更新替代方案来回滚您的版本(更安全),
另一种选择是修改
三个构建中的两个构建所需的依赖项中的版本号,但这可能会破坏您的包管理。
最后也是最好的选择是从源代码编译~/src
并安装到/opt
您需要的版本,并告诉安装程序在那里查找依赖项