Linux-Noob Forums

Full Version: USE flags problem
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Hi all,


I'm brand new to gentoo linux, and I'm now experiencing problems with USE flags. /etc/make.defaults has no USE flags. /usr/portage/profiles/base/make.defaults has stuff, but i added the USE flags myself (I forgot that they tell you in the handbook not to touch anything there, but I don't know what which make.defaults they're talking about); thing is, in the handbook they say something like to go to the make.defaults part of your profile, and there are two make.defaults locations I just put. I don't understand the (problem) profile thing (did I miss a section of the handbook?). Is it a symlink problem? In the handbook, they say that the profile your system listens to is pointed by the /etc/make.profile symlink, but there's nothing in there that has a path or anything relating to another directory. Also, all there is in /etc/make.conf is CHOST and CXX or something (plus the add and remove USE flags I put in). I'm just plain confused. I don't know what I'm doing wrong here, I'm a total noob. Thanks.



Gentoo can be a little bit troublesome to figure out when you start out with it (I remember those days..). Lets run through the files:


Portage has a default configuration file which is /etc/make.globals. This file should never be edited but it can be a good reference for settings in portage.


Then there is the profile files, every different architecture has its own profile. These profiles represent the defaults for portage that are dependent on arch. There is a symlink /etc/make.profile/ to a directory in the portage tree, which contains multiple files. Again you should not edit these files, these are just setting defaults. The USE flag defaults are in /etc/make.profile/make.defaults.


If you want to alter anything to make it differ from the defaults then you make a file called /etc/make.conf. This file is your master configuration for portage. All the changes you want to make go in here, all the global USE flag changes you want .. go in here too.


There is also some other files you can make, which allow even finer control of portage:


  • /etc/portage/package.mask - stop portage from ever installing packages.

  • /etc/portage/package.unmask - allow portage to install a file, even if it isn't recommended

  • /etc/portage/package.keywords - allow you to install packages which are marked as unstable/untested on your arch.

  • /etc/portage/package.use - alter a USE flag for just one package, rather than for the whole system


You won't have any of those files by default, you'd need to make.


In conclusion, if you are just starting out with gentoo I would highly recommend that you stick to editing just /etc/make.conf.


An example of adding a flag and removing another is like this:

USE='flagon -flagoff'


Make sure you don't put a new line in there, all on one line.


Hope that helps you, welcome to the forums / Linux and gentoo!

/usr/portage/profiles/linux/x86/2008.0/make.defaults has the default use flags like they said you would see in the handbook; I just realized that the handbook is a out of date. That sucks. In /etc/make.conf, I added USE="<use flags>" myself, it wasnt there before. Was I supposed to add it myself, or was it supposed to be there by default? The CGFLAG and CXXFLAG varibles have i686 in them, and the CHOST varible has i486 (in /etc/make.conf). They said not to change it unless ur using stage1 (which isnt supported anymore), but in the handbook they said that u could could change it for kernel compilation, but it doesnt matter cause nothings wrong with my system.


P.S.: Typing -USE="<flag>"- on the command line doesnt report any error message, but nothing happens to /etc/make.conf...


Thanks for your help!

nevermind, solved it