如何在 ubuntu 20.04 中安装编译器 g++-4.8.5
How to Install compiler g++-4.8.5 in ubuntu 20.04
正如标题所说,我无法在当前的 ubuntu (20.04( 中安装该特定版本的 g++。
我一直在尝试通常的事情:sudo apt install g++-(并显示所有可能性,但只有从 8 到 10 的版本(。寻找 gcc 可能性也发生了同样的事情。
还尝试了这个:gist.github.com/application2000/73fd6f4bf1be6600a2cf9f56315a2d91(同样的问题(
在寻找一段时间后,我放弃了我的研究,最终来到了这里。希望比我更有智慧的人能帮我一把。
这些步骤应该有效:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt upgrade
sudo apt-get install gcc-multilib libstdc++6:i386
wget https://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.bz2 --no-check-certificate
tar xf gcc-4.8.5.tar.bz2
# cd gcc-4.8.5
# ./contrib/download_prerequisites
# cd ..
sed -i -e 's/__attribute__///__attribute__/g' gcc-4.8.5/gcc/cp/cfns.h
sed -i 's/struct ucontext/ucontext_t/g' gcc-4.8.5/libgcc/config/i386/linux-unwind.h
mkdir xgcc-4.8.5
pushd xgcc-4.8.5
$PWD/../gcc-4.8.5/configure --enable-languages=c,c++ --prefix=/usr --enable-shared --enable-plugin --program-suffix=-4.8.5
make MAKEINFO="makeinfo --force" -j
sudo make install -j
请注意,您必须在某些平台上取消注释.../download_prerequisites
。对我来说,它无需在安装了强制性软件包的 Centos 7 或 Ubuntu 20 上工作:
Ubuntu/Debian:
sudo apt install make wget git gcc g++ lhasa libgmp-dev libmpfr-dev libmpc-dev flex bison gettext texinfo ncurses-dev autoconf rsync
森托斯:
sudo yum install wget gcc gcc-c++ python git perl-Pod-Simple gperf patch autoconf automake make makedepend bison flex ncurses-devel gmp-devel mpfr-devel libmpc-devel gettext-devel texinfo
几秒钟后(/咯咯笑(,gcc-4.8.5
已安装并可用。 笔记:
- 如果您没有资源来运行
make -j
省略-j
或使用-j4
(或适合您的系统的其他数字( - 您的 milage 可能会有所不同,您可能需要安装更多 i386 软件包
由于我无法发表评论,我将添加到@bebbo解决方案中,在 Ubuntu 20.04 上,我必须添加到修补以下补丁的步骤中:
-
将包含添加到 signal.h 到 libsanitizer/asan/asan_linux.cc https://patchwork.ozlabs.org/project/gcc/patch/6824253.3U2boEivI2@devpool21/
-
更改 libsanitizer/tsan/tsan_platform_linux.cc 中的一行 如图所示。行号可能不是修补程序中规定的行号,因此请搜索已更改的行。无需将修补程序应用于其他文件
https://git.pantherx.org/mirror/guix/commit/0b93d04ac537d6413999349ebe7cdcb1e961700e
添加到 kpeace的答案...
sed -i '/#include <pthread.h>/a #include <signal.h>' path_to_gcc4.8.5src/libsanitizer/asan/asan_linux.cc
sed -i 's/__res_state \*statp = (__res_state\*)state\;/struct __res_state \*statp = (struct __res_state\*)state\;/g' path_to_gcc4.8.5src/libsanitizer/tsan/tsan_platform_linux.cc
只需添加几行 sed 即可内联修补它们。
另外,我一直在编写一些Ruby脚本来安装一些软件(当然是为了好玩(。我最近成功地在LinuxMint 20.1(基于Ubuntu 20.04,编译器是系统gcc:9.3.0,安装sudo apt install build-essential
(下使用此脚本编译了gcc-4.8.5。此外,在运行此脚本之前,我已经安装了 Bebbo 建议的所有软件包,包括gcc-multilib
和libstdc++6:i386
。检查代码底部的 InstGcc4 类。
install_gcc.rb
几个月后,它们最终可能会成为"不可安装"状态。但至少 gcc-4.8.5 现在可以工作了。
附言。由于 CUDA,我已经开始编译这个旧的 gcc......我的硬件是十年前的GeForce 9600/9400(是的,2008 MBP(,CUDA 6.5是该机器的最佳选择。
.pps。无论如何,奇怪的是,我不得不为 CXXFLAGS 给出"-std=gnu++11"以避免错误。
- 安装MinGW后C++编译器不起作用?
- 无法安装 R 包 "nloptr"(Ubuntu 16.04 上的 R3.6.2) - C++编译器问题
- C++:如何在Windows 10上使用编译器MinGW 9.2.0安装OpenCV
- 如何允许编译器查找通过 brew 安装的库
- 如何将 Eigen 库安装到 IAR c/c++ 编译器
- 在没有C++编译器的情况下安装 python 包
- 如何在 ubuntu 20.04 中安装编译器 g++-4.8.5
- 如何在 Ubuntu 上安装 Rose 编译器?
- 是否可以在 Azure 应用服务中安装 C++ 编译器
- 如何在没有编译器的情况下在 Linux 上安装 gcc
- 如何在何处获取 MSVS 2008(32 位)编译器工具链的编译器,而无需安装 MSVS2008
- 如何确保 Visual Studio 在安装编译器时更新注册表
- QT离线安装程序和兼容的C 编译器安装
- C++编译器在安装了Visual Studios和代码块的cmd中不起作用
- 在没有管理员权限的情况下安装C++编译器
- 我可以在不安装Visual Studio [Windows]的情况下使用Intel C 编译器
- 在Ubuntu上安装G 编译器13.04
- 已安装的Intel C 编译器,缺失 /位 /C 配置
- 通过 Git Bash 在 Windows 7 上安装 GCC 编译器
- 使用编译器安装库