/etc/portage/make.profile is not a symlink and will probably prevent most merges.
This is a wiki page. Be bold and improve it!
If you have any questions about the content on this page, don't hesitate to open a new ticket and we'll do our best to assist you.
Error
Sample error message:
!!! /etc/portage/make.profile is not a symlink and will probably prevent most merges.
!!! It should point into a profile within /mnt/old.kubuntu/scratch/portage/profiles/
!!! (You can safely ignore this message when syncing. It's harmless.)
!!! Your current profile is invalid. If you have just changed your profile
!!! configuration, you should revert back to the previous configuration.
!!! Allowed actions are limited to --help, --info, --search, --sync, and
!!! --version.
Solutions
Select profile
See the output of:
# eselect profile list
You should see a list of profiles. Sometimes the old profile that you were using has been deprecated. In this case, check the news and select a new, appropriate profile.
If the output of the above command is empty, then check the solution below.
sync
Maybe your local portage tree is out of sync.
Do:
emerge --sync
If necessary, check a different mirror:
https://www.gentoo.org/support/rsync-mirrors/
Wait
A problem may have occurred upstream. Wait a couple of days and then sync again.
Empty profiles
Symptom #1: the following command returns an empty list of profile: there are none to be selected.
# eselect profile list
Symptom #2: the following listing returns zero files:
# ls /usr/portage/profiles/
The above path is the default. The actual path depends on a setting in
/etc/portage/repos.conf
or /etc/portage/repos.conf/gentoo.conf
, with the corresponding line:[gentoo]
location = /usr/portage
Symptom #3: the following directory exists and is not empty:
# ls /usr/portage/.tmp-unverified-download-quarantine
This indicates that emerge --sync
failed, because some packages failed to be verified.
A temporary solution would be to add the following setting to repos.conf
:
sync-rsync-verify-metamanifest = no
And then do again:
emerge --sync
The solution above is only for emergency situations, because manifest verifications are performed for a reason.