bug:"package gcc-4.4 is not available, but is referred to by another package", 安装g++4,gcc4.4时出错的解决方法

为解决此问题:make: *** No rule to make target `out/host/linux-x86/bin/mkfs_ubifs',

 bug: make: *** No rule to make target `out/host/linux-x86/bin/mkfs_ubifs'

试了安装其他一些依赖包,但是没解决:

sudo apt-get install liblzo2-2:i386

 

所以尝试降g++版本:

 

解决"package gcc-4.4 is not available, but is referred to by another package"方法:

1.sudo vim /etc/apt/sources.list

在最后添加:

# stable add by , in order to install g++4.4
deb http://dk.archive.ubuntu.com/ubuntu/ trusty main universe

2.history 如下:


 2046  sudo vim /etc/apt/sources.list
 2047  sudo apt update 
 2048  sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib

 2050  g++ -v

 2057  cd ../bin/
 2058  ls g++*
 2059  ls g++* -l
 2060  sudo mv g++ g++.bak
 2061  ls g++* -l
 2062  ls gcc* -l
 2063  sudo mv gcc gcc.bak
 2064  ls gcc* -l
 2065  sudo ln -s g++-4.4 g++
 2066  ls g++* -l
 2067  sudo ln -s gcc-4.4 gcc
 2068  ls gcc* -l

 

降版本成功:

 

 

参考:

...-4.4 is not available, but is referred to by ano..._

此博提供的源已无效,需要修改成上面这个,

此方法参考上面链接的二楼,

 

其他:

gcc-4.6变为gcc-4.4的方法

 

 

<think>好的,我现在需要解决用户在Ubuntu系统中安装gcc-7和g++-7遇到的“没有安装候选包”的问题。首先,我应该回忆一下之前处理类似问题的经验。比如,用户之前安装gcc-8的候是通过添加PPA仓库解决的[^1],而处理gcc-4.4的问题则是通过修改源列表添加旧版本的仓库地址[^2]。这可能说明,对于不同版本的GCC解决方法可能不同,需要找到对应的仓库或源。 用户现在的问题是关于gcc-7和g++-7的安装。Ubuntu的官方源可能已经不再维护这些较旧的版本,所以需要添加包含这些版本的第三方仓库。首先,我应该检查是否有可用的PPA。比如,Ubuntu Toolchain的测试仓库可能包含这些版本,但需要确认是否支持用户当前的Ubuntu版本。假设用户使用的是Ubuntu 16.04(Xenial),我需要查看该PPA是否支持Xenial的gcc-7。 另外,如果PPA中没有可用的包,可能需要手动下载deb包或者从其他源添加。例如,参考用户之前处理gcc-4.4的问题,他们修改了sources.list文件,添加了特定的deb行[^2]。对于gcc-7,可能需要找到对应的仓库地址。比如,Ubuntu的旧版本仓库可能还保留着这些包,或者使用其他镜像站点。 接下来,可能的步骤包括: 1. 检查是否有可用的PPA,例如ubuntu-toolchain-r/test,这个PPA可能包含较新或较旧的GCC版本。 2. 如果PPA中没有,尝试手动添加适用于Ubuntu 16.04的特定仓库,比如focal的仓库,但需要注意兼容性。 3. 更新软件源列表,然后尝试安装4. 如果上述方法都失败,可能需要下载deb包手动安装,或者使用其他方法如编译源码。 同,需要提醒用户注意依赖关系和可能出现的兼容性问题。例如,安装不同版本的GCC可能需要相应的依赖库,如果源中没有这些依赖,可能会导致安装失败。此外,安装完成后,用户可能需要使用update-alternatives来切换默认的GCC版本。 在生成相关问题的候,可以围绕如何管理多个GCC版本、如何添加PPA、如何处理依赖问题等方面展开。</think>### 解决Ubuntu中gcc-7/g++-7安装候选缺失问题的方法 #### 1. 添加包含gcc-7的PPA仓库 对于Ubuntu 16.04/18.04等版本,可尝试添加专门维护旧版本编译器的仓库: ```bash sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-7 g++-7 ``` 该PPA长期维护多版本GCC工具链,成功率较高。 #### 2. 手动配置官方归档仓库 若PPA不可用,可尝试在`/etc/apt/sources.list`末尾添加官方归档源: ```bash deb http://archive.ubuntu.com/ubuntu/ bionic main universe deb http://archive.ubuntu.com/ubuntu/ bionic-updates main universe ``` 随后执行: ```bash sudo apt-get update sudo apt-get install gcc-7 g++-7 ``` 此方法适用于Ubuntu 18.04(bionic)用户[^2]。 #### 3. 验证安装结果 ```bash gcc-7 --version # 应显示7.x.x版本 g++-7 --version # 应显示7.x.x版本 ``` #### 4. 设置默认版本(可选) ```bash sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 70 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值