首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将工具链测试GCC5替换为股票GCC5的最简单方法是什么?

将工具链测试GCC5替换为股票GCC5的最简单方法是什么?
EN

Ask Ubuntu用户
提问于 2018-04-04 16:33:50
回答 1查看 182关注 0票数 3

我将工具链测试构建ppa添加到我的Xenial系统中,以便我可以使用GCC 7进行开发。在某种程度上,它也更新GCC 5到5.4.1-2ubuntu1~16.04,最新版本可在PPA。然而,这个版本的GCC 5并没有最近的幽灵/熔毁补丁。所以,上一次我做内核更新(用这些补丁进行编译)时,我的DKMS模块在没有补丁的情况下重新编译,版本魔术不匹配,它们拒绝加载,破坏了各种东西。

我想删除工具链GCC 5(和相关的软件包),并替换它的股票GCC 5 (ver )。5.4.0-6ubuntu1~16.04.9,它有重极化补丁),但理想情况下,我想这样做,不触发卸载我的所有DKMS模块和其他事情,依赖GCC 5。我还想保留工具链测试PPA,GCC-7。最简单的方法是什么?

EN

回答 1

Ask Ubuntu用户

发布于 2018-04-04 20:12:48

我最后做的是:

  1. 从与GCC-5关联的工具链PPA获取安装的软件包列表:智能-F "%p“搜索?原产地(ubuntu- toolchain )?版本(5.4.1)?已安装”
  2. 对于其中的每一个,手动下载正确的版本: aptitude下载CPP-5=5.4.0-6 ubuntu1~16.04.9.
  3. 安装下载的所有.debs: sudo -i *.deb (现在是apt check的好时机,确保您没有破坏任何东西)。
  4. /etc/apt/preferences.d/中创建一个包含软件包的文件: gcc-5 cpp-5g++-5 gcc-5-base -5-base:i 386-5-doc libasan2 libgcc-5 dev libgcj16 libmpx0 libobjc-5-dev libstdc+-5-dev Pin: release =LP-ubuntu-toolchain test Pin -优先级:-1运行apt-cache policy gcc-5并检查以确保旧版本是首选的。
  5. 重新构建所有dkms模块: DKMS状态#列表dkms模块sudo DKMS删除模块名/版本-k $(uname -r) sudo dkms构建模块名/版本-k $(uname -r) sudo dkms安装模块化名/版本-k $(uname -r),与modinfo进行双重检查,以确保新编译模块的版本包含"retpoline“。
  6. reboot,希望一切都还能正常工作。
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1021992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档