gentoo安装软件遇到编译冲突怎么办

2025-06-22 21:42:52
推荐回答(1个)
回答1:

/etc/portage/make.conf 中的USE 是全局的
/etc/portage/package.use/xxx 中的USE是对某个软件包使用的USE,会覆盖掉全局的USE.
临时USE 会覆盖掉所有USE.
比如:
/etc/portage/make.conf
USE="java ..." 系统所有软件包都支持java

/etc/portage/package.use/php
dev-php/php -java 在以上的基础上, 系统所有软件包都支持java 但除了 php

临时USE 一般在安装软件包时,验证一些功能是否被启用.
比如vlc 的 skin .须要qt4的支持.(假如这时你并不知道是否须要qt4的支持)
> root # USE="qt4" emerge vlc

验证确认后,再把 qt4 添加至 /etc/portage/package.use/
每次修改完USE变量后, 尽量执行一次 emerge --update --deep --newuse @world 这是一个好的习惯.
安装新的软件前, 尽量保持系统所有软件包都是最新版,这样可以省去不少麻烦.

如果还有冲突,可以尝试平常Linux系统的思路, 暂时移除冲突的包,或者指定哪个不会冲突的版本.或者暂时 mask (屏蔽).安装完成之后再尝试安装.

想尽一切办法解决不了的去 官方bugs中心.报bug.