如何从源代码在 ubuntu 24.04 上构建和安装编译器 g++-4.8.5?

问题描述 投票:0回答:1

我在 ubuntu 24.04 上构建 gcc-4.8.5 时遇到错误

我已按照页面如何在 ubuntu 20.04 中安装编译器 g++-4.8.5 中提到的步骤进行操作

sudo dpkg --add-architecture i386
sudo dpkg --add-architecture i386
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
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"
sudo make install

但是,我得到了如下错误:

gcc/reload1.c:89:24:错误:在 C++17 89 中禁止在“operator++”中使用“bool”类型的操作数 | (this_target_reload->x_spill_indirect_levels) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ../.. /gcc/reload1.c:443:7:注意:在宏“spill_indirect_levels”的扩展中 443 | 溢出_间接_级别++;

linux ubuntu gcc build g++
1个回答
0
投票

最后,我能够按照以下步骤在 Ubuntu 上构建 gcc-4.8.5:

在 Ubuntu 24.04 机器上从源代码构建 gcc-4.8.5 的步骤:

  1. sudo apt update

  2. sudo apt升级

  3. sudo apt install build-essential libgmp-dev libmpfr-dev libmpc-dev texinfo wget

  4. sudo apt install make wget git gcc g++ lhasa libgmp-dev libmpfr-dev libmpc-dev flex bison gettext texinfo ncurses-dev autoconf rsync

  5. wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz

  6. tar -xzvf gcc-4.8.5.tar.gz

  7. cd gcc-4.8.5

  8. vi gcc/reload1.c //打开reload1.c文件并 //搜索“spill_indirect_levels++”并将“spill_indirect_levels++”替换为“spill_indirect_levels = 1”

  9. sed -i -e 's/属性///属性/g' gcc/cp/cfns.h

  10. sed -i 's/struct ucontext/ucontext_t/g' libgcc/config/i386/linux-unwind.h

  11. sed -i '/#include /a #include ' libsanitizer/asan/asan_linux.cc

  12. vi libsanitizer/tsan/tsan_platform_linux.cc //打开 tsan_platform_linux.cc 文件 // 搜索“statp”并替换以下行:“__res_state statp = ( __res_state)state;” AS“结构 __res_state statp = (struct __res_state)state;” 13) vi libitm/config/linux/rwlock.cc //打开rwlock.cc文件 // 搜索“typeof”并替换“typeof” 整个文件中的 AS“typeof

  13. mkdir 构建

  14. cd 构建

  15. ../configure --prefix=/usr/local/gcc-4.8.5 --enable-languages=c,c++ --disable-multilib --disable-bootstrap

  16. sudo make -j 24

  17. sudo make install

© www.soinside.com 2019 - 2024. All rights reserved.