如何编译 gcc 4.3.4?

如何编译 gcc 4.3.4?

可能重复:
如何安装 gcc-4.3?

如何在我的 Ubuntu 11.10 上编译(或安装)gcc 4.3.4?

我尝试按照以下说明下载并编译它:http://whowhywhathow.blogspot.com/2011/01/compile-gcc-from-souce-on-ubuntu-10041.html

但它在编译过程中最终出现错误:

http://pastebin.ca/2092965

希望这里有人可以帮助我

答案1

我认为这应该安装您需要的所有内容,以及其他一些部分。

apt-get build-dep gcc-4.6

你可能会发现有些工具太新的虽然可以构建 gcc 4.3(也许是 autoconf、automake?)但我怀疑是否有任何适用于这些旧东西的软件包。

答案2

嘿,GCC 需要安装许多其他软件,例如 bison 等。首先请确保您是否已预先安装了所有必需的软件。

答案3

绝对没有必要使用 gcc-4.3。

当然,在创建 mex 文件时您总会收到警告消息:

警告:您正在使用 gcc 版本“4.6.xx)”。MEX 当前支持的版本是“4.3.4”。有关当前支持的编译器列表,请参阅:http://www.mathworks.com/support/compilers/current_release/

但这是一个警告——MEX 函数仍然会编译!!!

唯一要做的事情libc.so.6改变的是图书馆的新链接

因此对于 64 位:删除旧链接

sudo rm /lib64/libc.so.6

(删除旧链接时要小心。这对于 Linux 启动至关重要。因此,如果你在用新版本替换链接之前重新启动,那么就该挖出一个活动磁盘了。如果你很谨慎,那么你可以先复制到libc.so.6类似libc.so.6.backup

cp /lib64/libc.so.6 /lib64/libc.so.6.backup

用新链接替换

sudo ln -s /lib/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6

对于 32 位:(我没有测试过,因为我只运行 x64 系统,但从评论来看我认为它应该可以工作)

删除旧链接(再次小心使用此命令)

sudo rm /lib32/libc.so.6

用新链接替换

sudo ln -s /lib/i386-linux-gnu/libc-2.13.so /lib/libc.so.6

当然,如果这是全新安装的 Ubuntu,那么您可能不需要 rm(删除)命令。

答案4

相关错误是../../.././mpfr/src/mulders.c:208:3: error: unknown type name 'gmp_pi1_t'。我猜你没有安装GMP开发库。

为什么你又需要 gcc 4.3.4?无论如何,最简单的做法是下载 4.3.4 的 Ubuntu 源代码(如果需要,可以从早期版本的 Ubuntu 下载)并在系统上重建,当然,确保首先安装了构建依赖项。这应该很简单。

如果您需要,我可以添加更多详细信息。

相关内容