Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie
Hi there,
There is an issue with role permissions that is being worked on at the moment.
If you are having trouble with access or permissions on regional forums please post here to get access: https://www.boards.ie/discussion/2058365403/you-do-not-have-permission-for-that#latest

gentoo USE flags

  • 26-04-2005 10:52am
    #1
    Registered Users, Registered Users 2 Posts: 1,268 ✭✭✭


    I'm confused by the online documentation over USE flags. It seems to presume you already need to have decided what you are going to install on your system, yet I'm only at stage1. I haven't decided if I'll run a headless box with no window manager just running a few services, or if I'd like to use it for some GUI stuff now and then.

    What if pick USE="-gtk -gnome qt kde" for now. What if this time next month I decide I'm sick of KDE and want to try out gnome instead. Does "everything" have to be compiled again with new USE flags?

    Maybe I'm not getting the whole gentoo thing yet, but it seems a bit off-putting to me at this early stage. I want a usable linux box, where I can decide what software I want later.

    Other minor niggles:

    From http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=6 :
    Code Listing 7: Verifying system profile
    # ls -l /etc/make.profile
    lrwxrwxrwx  1 root root 48 Mar  7 11:55 /etc/make.profile ->
          ../usr/portage/profiles/default-linux/x86/2005.0
    

    given file is not a symlink on my stage1 machine. Should it be?
    Code Listing 10: Viewing available USE flags
    # less /usr/portage/profiles/use.desc
    

    Do I have to specify every entry in there in /etc/make.conf if I don't want it? How do I know if I want every single one or not? How do I know I won't need them later as a requirement for something else?
    Code Listing 17: Bootstrapping the system
    # cd /usr/portage
    # scripts/bootstrap.sh
    

    I ran this with the -f flag to download everything first (which took bloody ages - heanet seemed to be very flakey last night). It downloaded a few files (eventually) and then that was it. So I ran it without the -f and pretty much nothing happened. WTF? I thought this was the big compilation stage that was supposed to take nearly forever? So did I do something wrong? If so, what? And if I didn't why did it download those files and do nothing with them?


    While I was still mulling over USE flags, I decided to go a bit farther and see what happened. One thing of note is the following snobbery in the documentation: "If you didn't touch the USE flag either, why are you running a stage2 installation then?" which seems to contradict "as Gentoo is all about choices, we don't want to force one upon you" a few lines before :) Anyway ...

    Optional: Viewing what will be done

    If you want to know what packages will be installed, execute emerge --pretend --emptytree system

    This (I'm certain --pretend was in there even though I was quite tired) downloaded over 100Mb last night while I was asleep. So much for "Viewing what will be done".

    Anyone have any pointers / answers for any of the above?


Comments

  • Registered Users, Registered Users 2 Posts: 1,419 ✭✭✭nadir


    in relation to use flags, they compile in optional suopport for stuff.
    you can change them any time you want, if you use USE="-gtk -gnome qt kde"
    basically that will compile in qt and kde support for stuff, if you want to just compile in gnome support and no kde support into apps, you need to re emerge those applications again.
    Thats why its optimization.
    if you want kde 'emerge kde' if you want gnome 'emerge gnome'
    gentoo gives you the option to optimize, if it were a bloated distro they would automatically add in all sorts of support that you would be likely never to use.
    the USE functionality is there to make it easy to cut down bloat, not to cause any hassle, if you dont like this type of functionality you probably shouldnt be using gentoo.
    however
    I want a usable linux box, where I can decide what software I want later.

    you can change your use flags at any time, so its very versitile.

    not sure about that sym link, I havn't done a stage one install in ages, but I dont think it matters.

    as for
    # scripts/bootstrap.sh
    maybe it ran it when you did the -f, explaining the long time it took.
    Bootstrapping should take a good while, im guessing about 2 hours about on a modern machine.
    also what about emerge system, ??? again maybe they have changed the docs since I did a stage one.

    im not sure what you mean about that 'snoberry' XD , erm ... they jsut mean you are wasting your time if you didnt touch ur use flags.

    about /etc/make.conf , you just need to put in your use flags and your cpu optimizations, like erm ... -O2 etc.

    does any of that help??


  • Registered Users, Registered Users 2 Posts: 1,268 ✭✭✭hostyle


    nadir wrote:
    in relation to use flags, they compile in optional suopport for stuff. you can change them any time you want, if you use USE="-gtk -gnome qt kde" basically that will compile in qt and kde support for stuff, if you want to just compile in gnome support and no kde support into apps, you need to re emerge those applications again. Thats why its optimization.

    But eh, I need to choose my USE flags now (OK, not need to, but I chose to go stage1 cause I thought stuff would get optimised from the base up by doing so). Whats being compiled in now I have no idea - kernel I guess, and a few other basic system tools, but why would the kernel (etc.) need qt or gtk support? I've chosen CFLAGS, but no USE flags.
    nadir wrote:
    if you want kde 'emerge kde' if you want gnome 'emerge gnome' gentoo gives you the option to optimize, if it were a bloated distro they would automatically add in all sorts of support that you would be likely never to use.

    I haven't got to that stage yet and I can understand why you would use them when emerging. But why am I choosing USE flags at stage1? And why are the examples given using qt / kde / gnome as examples for this stage? Thats what I dont understand.
    nadir wrote:
    the USE functionality is there to make it easy to cut down bloat, not to cause any hassle, if you dont like this type of functionality you probably shouldnt be using gentoo. however you can change your use flags at any time, so its very versitile.

    If I change my USE flags drastically at some random point in the future (say from "-gtk -gnome qt kde" to "gtk gnome -qt -kde", will all my apps now need to be recompiled?
    nadir wrote:
    as for
    # scripts/bootstrap.sh
    maybe it ran it when you did the -f, explaining the long time it took.
    Bootstrapping should take a good while, im guessing about 2 hours about on a modern machine. also what about emerge system, ??? again maybe they have changed the docs since I did a stage one.

    Ah maybe. I was complaining about speed as for some downloads it started off at 100K/s, then dropped down to like 800b/s for half an hour, then backup to 70K/s for a few minutes ... and so on for every download. Didn't seem to indicate it was doing any compiling though, just some debug stuff scrolled really quickly by - like md5 ;-), filesize ;-) a few "files/blah_file ..." lines - and then onto the next download.
    nadir wrote:
    im not sure what you mean about that 'snoberry' XD , erm ... they jsut mean you are wasting your time if you didnt touch ur use flags.

    Maybe their English wasn't that good, and/or I'm reading it wrong.

    What it seems to me is that I'm supposed to magically know what USE flags to use, when they haven't explained whats being currently compiled or why I should (or should not) choose any one USE flag, and then telling me if I don't know what USE flags to use I'm an idiot and wasting my time doing stage1.
    nadir wrote:
    does any of that help??

    Some help alright. Thanks. Maybe gentoo isn't for me, but I'll persevere a big longer.


  • Closed Accounts Posts: 89 ✭✭ishnid


    If you've compiled something without kde/qt support and later you change your USE flags to include kde/qt then, yes, you'll have to recompile to get the support you now want. Many distros will include both GTK/GNOME and KDE/QT support into their packages. Gentoo lets you choose. By all means, compile support for both if you're not sure yet.

    Putting +kde in your USE flags indicates that, whenever a package *can* be built with KDE support, it will be compiled. It doesn't mean that every package you install has KDE support (the kernel being one example that you gave).

    The idea of doing a stage1install is that you have the opportunity to tweak the system to your exact specifications. If you're using default settings, then you'll save yourself a lot of time by going for a stage2 or stage3. I don't think it's condescending at all.


  • Registered Users, Registered Users 2 Posts: 1,419 ✭✭✭nadir


    But eh, I need to choose my USE flags now (OK, not need to, but I chose to go stage1 cause I thought stuff would get optimised from the base up by doing so). Whats being compiled in now I have no idea - kernel I guess, and a few other basic system tools, but why would the kernel (etc.) need qt or gtk support? I've chosen CFLAGS, but no USE flags.

    nope, you havnt done your kernel yet, you have compiled your base system, assembler and stuff, I dont know why you need set your USE flags up so early, USE flags shouldnt make any difference until you go to emerge stuff. You got to set them up at some stage, at the start is as good a time as any I guess.

    If I change my USE flags drastically at some random point in the future (say from "-gtk -gnome qt kde" to "gtk gnome -qt -kde", will all my apps now need to be recompiled?

    if you change those flags as you say above, it means anything you emerge or rememerge will not have optional support for kde but will have optional support for gnome. you dont have to recompile but you can.

    like with mplayer if i have a crappy computer I can compile mplayer without optomisations for mmx mmx sse and sse2, that will reduce overhead. However it i have a P4 i can compile in this support.
    your use flags basically tell your system what sort of support you want. you can even change them on the fly, like this
    USE="aalib mmx mmx2 sse sse2 fbdev net alsa xvid enode" mplayer
    it's not like going to break anything if you change your use flags, regardless of how drastically you change them.

    definately stick with gentoo, finish the install, and try it out, give it a chance and stuff.
    Personally, I dont see the point in doing a stage 1 install, takes too much time, its interesteng but thats about it. no performance increase imo.

    I agree with use flags it can be hard to know whats going on, the use.desc gives a brief description, if you want to know more the .ebuild files specify what 'USE' support is available.
    just go for something simple at the start, and work your way up as you need more and more. also qpkg can give info on this.
    Fire away with questions, Ill answer whatever I can.


  • Closed Accounts Posts: 4,763 ✭✭✭Fenster


    One thing I will say personally: You should unmask GTK support, or a whole lot of apps will look...assy...for lack of a better term.

    I enabled GTK, recompiled Gaim, Firefox, Fluxbox, K3B (yes, its a QT app, but there was a big difference), XScreensaver and a few other programs. The difference was absolutely massive: Anti-aliasing fonts, worked for starters.


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 1,268 ✭✭✭hostyle


    Fenster wrote:
    One thing I will say personally: You should unmask GTK support, or a whole lot of apps will look...assy...for lack of a better term.

    I enabled GTK, recompiled Gaim, Firefox, Fluxbox, K3B (yes, its a QT app, but there was a big difference), XScreensaver and a few other programs. The difference was absolutely massive: Anti-aliasing fonts, worked for starters.

    What do you mean by unmask? USE="-gtk" ?

    I've let the damn thing :P carry on anyway, without setting any specific USE flags. I guess I shouldn't have started with a stage1 until I knew a bit more about gentoo. Been going for an hour now.
    Code Listing 20: Building the System
    # emerge --emptytree system
    

    Oh yeah, the whole downloading when I didnt expect was my fault. I was obviously too tired and typed "emerge --fetchonly --emptytree system" instead of "emerge --pretend --emptytree system" - eyes were roving all over the place while reading the docs. So I can't blame that one on gentoo.


  • Registered Users, Registered Users 2 Posts: 1,419 ✭✭✭nadir


    hostyle wrote:
    What do you mean by unmask? USE="-gtk" ?

    I've let the damn thing :P carry on anyway, without setting any specific USE flags. I guess I shouldn't have started with a stage1 until I knew a bit more about gentoo. Been going for an hour now.

    masked stuff are packages that are considered unstable, (but are usually file)
    they are stored in /usr/portage/profiles/package.mask (u can comment them out here also)

    like if you want to get the unstable version on mplayer, you can do ACCEPT_KEYWORDS="~x86" emerge mplayer
    about gtk support personally id use gtk2 in my use flags.
    Oh yeah, the whole downloading when I didnt expect was my fault. I was obviously too tired and typed "emerge --fetchonly --emptytree system" instead of "emerge --pretend --emptytree system" - eyes were roving all over the place while reading the docs. So I can't blame that one on gentoo.
    I blame your lack of quality coffee.
    get some bawls man XD


  • Closed Accounts Posts: 4,763 ✭✭✭Fenster


    Sorry then, bad wording on my part. But I did have problems with GTK apps while the flag was "-gtk". I changed it "gtk", recompiled as needed and everything looked wonderful :D


Advertisement