# [USE][OPTYMALIZACJA] mój make.conf.......

## keman

Witam  :Exclamation: 

Ostatnio, rozmyślałem troche o ideii Gentoo, i doszedłem do wniosku, że ja wlasciwie nie wykorzystuje jednej z jego największch zalet, mianowcie flag USE.

Mój (właściewie, to nie został on zrobiony przezemnie) make.conf, wygląda następująco:

```
CFLAGS="-march=athlon-xp -O2 -s -pipe -fomit-frame-pointer -mfpmath=sse -msse -mmmx -m3dnow"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="-march=athlon-xp -O2 -s -pipe -fomit-frame-pointer -mfpmath=sse -msse -mmmx -m3dnow"

USE="3dnow acpi acpi4linux ansi alsa avi bootsplash bzlib c cdr cdrom cups dga divx4linux dvd dvdread encode fbcon flash fortran f77 gif gkrellm gnome gpm gtk+ gtk gtk2 imlib jpeg jpeg2k kde libwww mmx mozilla mp3 mpeg mplayer ncurses network nls nptl nptlonly nvidia oggvorbis opengl perl pdflib pic png pnp python qt quicktime real samba sdl slang slp sndfile spell socks5 spell sse ssl tcltk tga tiff truetype truetype-fonts type1-fonts usb userlocales  v4l v4l2 wmf X xmms xv zlib ulibc xvid xpm"

GENTOO_MIRRORS="http://gentoo.prz.rzeszow.pl http://gentoo.zie.pg.gda.pl http://www.ibiblio.org/pub/Linux/distributions/gentoo http://src.gentoo.pl"

LANGUAGE=48

LINGUAS="pl en"

RSYNC_RETRIES="21"

MAKEOPTS="-j2"

AUTOCLEAN="yes"

ACCEPT_KEYWORDS="~x86"

PORTDIR_OVERLAY="/usr/local/portage"

```

KDE mam zemergowane (dokładniej,  to kdebase kdelibs i kget), Gnome praktycznie nieużywam, używam za to XFce.

Ogólnie, to używam Firefoxa, Thunderbirda, Xfce4.2.1, kadu, gthumba, xmms, leafpada, mplayera, roxa Termianla, kget i pewnie więcej, postaram się dopisać  :Smile: 

Co w takim razie, byście wywalili z mojego USE:?:

Gotów byłbym dac -gnome i -kde, ale niewiem, czy jakieś apliakcje niewyamagają tych bibliotek.

Jeśli wymagają, to czy mogłbym znaleźć odpowiedniki do softu którego używam, tak jak np. wybrałem leafpada, na miejsce kwrite (choc przydałby się jeszcze jakiś troszke bardziej rozbudowany notepad  :Smile:  )  :Question:  Jakie  :Question: 

Bardzo prosiłbym o pomoc, bo idea Gentoo chyba polega na jak najlepszym zoptyamalizowaniu systemu  :Smile: 

Pozdawiam

PS:Szczerze powiedziawszy, zainstalowałbym, jeszcze raz Gentoo ze stage1, żeby zaprowadzić porządek  :Smile: 

Tylko chciałbym, abyście pomogli mi z tymi flagami i zamiennikami programów :/

Pozdrawiam

----------

## milu

```
emerge ufed
```

Edycja flag use w trybie konsolograficznym  :Wink: 

Zarchiwizuj sobie make.conf, wywal co uważasz za stosowne z tych flag wspomnianym programikiem ufed i 

```
emerge world -pv --newuse
```

 pokaże listę zmian(z jednym ale: nie usunie i nie powie o pakietach, które dzięki zmianom flag będą zbędne).

----------

## keman

 *milu wrote:*   

> 
> 
> ```
> emerge ufed
> ```
> ...

 

Własnie sobie przypomniałem o tym narzędziu, i je zemergowałem  :Smile: 

Ale pozostaje kwestia zamienników programów...

Bo np. z tego co widze, bardzo lubiany przezemnie gthumb, wymaga zależnosci Gnoma...

Pozdrawiam

----------

## wojtek

 *keman wrote:*   

> 
> 
> ```
> CFLAGS="-march=athlon-xp -O2 -s -pipe -fomit-frame-pointer -mfpmath=sse -msse -mmmx -m3dnow"
> 
> ...

 

Jesli chcesz sie cieszye pelna precyzja obliczen zmiennoprzecinkowych (i np. brakiem problemow ze slaba jakoscia dzwieku w Ogg Vorbis, albo dziwnymi artefaktami w Blenderze) to radzil bym zrezygnowac z '-mfpmath=sse'. Dla Athlona XP to nie jest nic dobrego, ani jego wydajnsc SSE nie powala, ani nie ma wystarczajacej precyzji do wiekszosci zastosowan. Co innego Athlon64, ten juz wspiera instrukcje SSE2 i tam jest to bezpieczne.

 :Arrow:  Przetestowane na wlasnej skorze.

Natomiast -mmmx, -m3dnow i -msse sa niepotrzebne bo implikuje je juz wczesniej -march=athlon-xp.Last edited by wojtek on Mon Mar 21, 2005 3:45 pm; edited 1 time in total

----------

## arsen

wojtek: nie wiem jakie masz kodowanie ale nie iso8859-2  :Smile:  same krzaki  :Smile: 

----------

## fallow

 *arsen wrote:*   

> wojtek: nie wiem jakie masz kodowanie ale nie iso8859-2  same krzaki 

 

na forum obowiazuje wlasnie : iso 8859-2 

cheers  :Smile: 

----------

## keman

Dobra, ok, zmienie to  :Smile: 

Druga sprawa, jeśli niemam jakiejś flagi USE w make.conf, to tak jakbym maił ja z "-"  :Question: 

Np jeśli niebede miał flagi kde, to tak jakbym miał -kde  :Question: 

Pozdrawiam

----------

## skazi

```
CXXFLAGS="-march=athlon-xp -O2 -s -pipe -fomit-frame-pointer -mfpmath=sse -msse -mmmx -m3dnow"
```

-fomit-frame-pointer bym na twoim miejscu wywalil w CXXFLAGS.

----------

## kranked

 *keman wrote:*   

> Dobra, ok, zmienie to 
> 
> Druga sprawa, jeśli niemam jakiejś flagi USE w make.conf, to tak jakbym maił ja z "-" 
> 
> Np jeśli niebede miał flagi kde, to tak jakbym miał -kde 
> ...

 

Nie

----------

## arsen

 *skazi wrote:*   

> 
> 
> ```
> CXXFLAGS="-march=athlon-xp -O2 -s -pipe -fomit-frame-pointer -mfpmath=sse -msse -mmmx -m3dnow"
> ```
> ...

 

zgadza się -fomit-frame-pointer psuje kod c++, często jest to filtrowane przez ebuildy w gentoo.

----------

## wojtek

 *fallow wrote:*   

>  *arsen wrote:*   wojtek: nie wiem jakie masz kodowanie ale nie iso8859-2  same krzaki  
> 
> na forum obowiazuje wlasnie : iso 8859-2 
> 
> 

 

Przepraszam, wlaczylem eksperymentalnie UTF-8 w moim sytemie i zapomnialem o tym na forum - obiecuje poprawe  :Wink: 

----------

## keman

Teraz lepiej   :Question: 

 *Quote:*   

> CFLAGS="-march=athlon-xp -O2 -s -pipe -msse -mmmx -m3dnow"
> 
> CHOST="i686-pc-linux-gnu"
> 
> CXXFLAGS="-march=athlon-xp -O2 -s -pipe -msse -mmmx -m3dnow"
> ...

 

----------

## skazi

W CFLAGS mogłeś to zostawić tylko z CXXFLAGS usunąć.

----------

## keman

 *skazi wrote:*   

> W CFLAGS mogłeś to zostawić tylko z CXXFLAGS usunąć.

 

Ehhh, no poprawiłem  :Smile: 

```
CFLAGS="-march=athlon-xp -O2 -s -pipe -fomit-frame-pointer  -msse -mmmx -m3dnow"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="-march=athlon-xp -O2 -s -pipe -msse -mmmx -m3dnow"

```

Teraz chyba już wszystko jest ok  :Smile: 

Pozdrawiam

----------

## wojtek

 *keman wrote:*   

> Teraz lepiej  
> 
>  *Quote:*   CFLAGS="-march=athlon-xp -O2 -s -pipe -msse -mmmx -m3dnow"
> 
> CHOST="i686-pc-linux-gnu"
> ...

 

Ja bym to zrobil tak:

```

CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"

CXXFLAGS="-march=athlon-xp -O2 -pipe"
```

Ew. dodal '-fomit-frame-pointer' do CXXFLAGS, bo w tych ebuildach gdzie jest ona rzeczywiście kłopotliwa jest zazwyczaj odfiltrowywana. Nie wiem natomiast co u Ciebie oznacza '-s', normalnie to jest opcja dla linkera aby konsolidowal statycznie, ale chyba nie o to ci chodzilo? Moze masz na mysli -Os?

----------

## arsen

 *wojtek wrote:*   

>  *keman wrote:*   Teraz lepiej  
> 
>  *Quote:*   CFLAGS="-march=athlon-xp -O2 -s -pipe -msse -mmmx -m3dnow"
> 
> CHOST="i686-pc-linux-gnu"
> ...

 

po co dawac -fomit-frame-pointer dla CXXFLAGS jak zawsze jest to złe dla c++, nie ma sensu.

-s oznacza stripowanie, też nie warto używać jak nie wie co się robi, czasem psuje binarki, w ogóle portage podobną operacje wymusza.

[OT]

widzę że wątek juz dawno zszedł na wątek o flagach, mamy już o tym wątek dośc obszerny, może moderator by część przekleił do tamtego wątka ?  :Smile: 

[OT]

----------

## keman

Dokładnie, niepotrzebnie wkleiłem do te część make.conf  :Smile: 

Jeśli to możliwe, prosze moderatora o usunięcie tej wypowiedzi.

----------

## wojtek

 *arsen wrote:*   

> po co dawac -fomit-frame-pointer dla CXXFLAGS jak zawsze jest to zďż˝e dla c++, nie ma sensu.

 

To nie jest tak, ze jest zawsze zle, sa sytuacje gdzie rzeczywiscie powoduje problemy, ale to nie jest regula. Byly juz cale dyskusje na ten temat, o ile sie nie myle takze na forum gentoo. Od pewnego czasu nie ma juz nawet problemow z debugowaniem takich binarek (jesli sie ma najnowsze wersje binutils/gcc/gdb). Generalnie na http://gentoo-wiki.com/Safe_Cflags i http://www.freehackers.org/gentoo/gccflags/flag_gcc3.html

jak widac nie maja zadnych obiekcji co do jej stosowania. Wszelkie ew. problemy sa rozwiazywane na poziomie ebuildow i wynikają też z niepoprawnie napisanego kodu.

 *Quote:*   

> -s oznacza stripowanie, teďż˝ nie warto uďż˝ywaďż˝ jak nie wie co siďż˝ robi, czasem psuje binarki, w ogďż˝le portage podobnďż˝ operacje wymusza.

 

Stripowanie plikow obiektowych *.o nie ma sensu - bo nie bedzie potem mozliwosci rozwiazania wzajemnych zaleznosci miedzy nimi. Stripowanie mozna robic na koncu na calej binarce, i od pewnego czasu emerge domyslnie to robi na koncu, wiec ta flaga nie ma zadnego sensu. Aczkolwiek jesli ktos chce pozniej raportowac bledy jakiejs aplikacji to lepiej tego nie robic, bo ew. backtrace bedzie po prostu bezuzyteczny.

----------

## arsen

 *wojtek wrote:*   

>  *arsen wrote:*   po co dawac -fomit-frame-pointer dla CXXFLAGS jak zawsze jest to zďż˝e dla c++, nie ma sensu. 
> 
> To nie jest tak, ze jest zawsze zle, sa sytuacje gdzie rzeczywiscie powoduje problemy, ale to nie jest regula. Byly juz cale dyskusje na ten temat, o ile sie nie myle takze na forum gentoo. Od pewnego czasu nie ma juz nawet problemow z debugowaniem takich binarek (jesli sie ma najnowsze wersje binutils/gcc/gdb). Generalnie na http://gentoo-wiki.com/Safe_Cflags i http://www.freehackers.org/gentoo/gccflags/flag_gcc3.html
> 
> jak widac nie maja zadnych obiekcji co do jej stosowania. Wszelkie ew. problemy sa rozwiazywane na poziomie ebuildow i wynikają też z niepoprawnie napisanego kodu.
> ...

 

Jasne że nie wszędzie pod warunkiem że ma się dostateczną wiedzę, dlatego moim zdaniem proponowanie czegoś komuś czego może nie rozumieć jest złym pomysłem  :Smile: ,  z filtrowaniem flag przez ebuildy bywa różnie, czasem dopiero po problemach takowe filtry są dodawane, dlatego zaś ta flaga dedykowana dla tych co wiedzą co robią  :Smile: . Co do błędnie napisanego kodu, zawsze tego będzie sporo.

IMHO moim zdaniem gra nie warta świeczki  :Smile: , ale wolny wybór  :Smile: 

----------

## wesol

 *keman wrote:*   

> Mój (właściewie, to nie został on zrobiony przezemnie) make.conf, wygląda następująco:
> 
> ```
> CFLAGS="-march=athlon-xp -O2 -s -pipe -fomit-frame-pointer -mfpmath=sse -msse -mmmx -m3dnow"
> 
> ...

 

moj make conf wyglada tak :

```
# These settings were set by the catalyst build script that automatically built$# Please consult /etc/make.conf.example for a more detailed example

CFLAGS="-O2 -march=athlon-xp -mfpmath=sse -msse -mmmx -m3dnow -pipe"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

USE="gnome gtk gtk2 alsa -kde -qt -arts"

MAKEOPTS="-j2"

PORTDIR_OVERLAY="/usr/local/portage"

LANGUAGE=48

LINGUAS="pl"

FEATURES="ccache userpriv usersandbox strict sfperms"

CCACHE_SIZE="2G"

ACCEPT_KEYWORDS="~x86"
```

W porownaniu do keman mam ciut przymale USE. 

 *keman wrote:*   

> PS:Szczerze powiedziawszy, zainstalowałbym, jeszcze raz Gentoo ze stage1, żeby zaprowadzić porządek 
> 
> Tylko chciałbym, abyście pomogli mi z tymi flagami i zamiennikami programów :/
> 
> Pozdrawiam

 

Stawiam pierwsze kroki w qentoo, wiec moge miec glupoty w make.conf, byl bym wdzieczny jak ktos mie "uswiadomil", co mam zel i dalczego. :Razz: 

Rowniez przymierzam sie do ponowniej instalacji gentoo bo troche namieszlaem z alsa i nforce  :Embarassed:  , i wogule cos mi gnome po polsku nie "gada".

pozdro

wesol

----------

## mdk

Mało się o tym mówi, ale flagi USE można trzymać w package.use dla poszczególnych pakietów. Ja w make.conf trzymam tylko "duże" i uniwersalne flagi (gnome X -kde ...) resztę zmieniam na poziomie package.use dla poszczególnych pakietów. 

Szczegółowe flagi (typu spell) mają to do siebie, że rzadko chce się mieć "cały system ze sprawdzaniem pisowni" albo "cały system bez sprawdzania pisowni". Ja np. mam +spell w evolution, ale -spell w GAIM'ie. 

Jest z tym trochę więcej roboty, ale jak ktoś ma stały zestaw oprogramowania z którego korzysta to wychodzi na to samo (a więcej kontroli).

----------

## keman

 *mdk wrote:*   

> Mało się o tym mówi, ale flagi USE można trzymać w package.use dla poszczególnych pakietów. Ja w make.conf trzymam tylko "duże" i uniwersalne flagi (gnome X -kde ...) resztę zmieniam na poziomie package.use dla poszczególnych pakietów. 
> 
> Szczegółowe flagi (typu spell) mają to do siebie, że rzadko chce się mieć "cały system ze sprawdzaniem pisowni" albo "cały system bez sprawdzania pisowni". Ja np. mam +spell w evolution, ale -spell w GAIM'ie. 
> 
> Jest z tym trochę więcej roboty, ale jak ktoś ma stały zestaw oprogramowania z którego korzysta to wychodzi na to samo (a więcej kontroli).

 

Niema to jak pełna kontrola  :Very Happy: 

IMHO też swietne rozwiązanie, popracuje nad nim  :Smile: 

----------

## arsen

też nie lubie flag uogólniać, nie da sie czasem pewnych rzeczy pogodzić, moje /etc/portage/package.use ma już koło 40 linijek  :Smile: 

----------

## wesol

a mozecie pokazac na lamach  :Wink:  forum jak wasze /etc/portage/package.use wyglada ?

----------

## arsen

np. 

```

cat /etc/portage/package.use

media-video/mplayer -gnome -gtk -ipv6 dts

```

polecam man portage  :Smile: 

----------

## yoshi314

ja lubie sie meczyc  :Very Happy: 

emerge -pv przed instalacja czegokolwiek i dostrajanie flag USE wedle uznania w ufed. wtedy mam pewnosc ze nie zainstlauje mi sie jakis niechciany pakiet.

----------

## kranked

Jedno szybkie pytanie. 

Czy w czasie instalacji ze stage1 ustawiacie jakiekolwiek flagi?? Czy jedziecie na takich 'standardowych'?? Czy warto coś dodawać jeśli chcę mieć na starcie tylko xorg-X11, XFCE4, stery do nvidii. :Question: 

----------

## tomek_22

 *yoshi314 wrote:*   

> ja lubie sie meczyc 
> 
> emerge -pv przed instalacja czegokolwiek i dostrajanie flag USE wedle uznania w ufed. wtedy mam pewnosc ze nie zainstlauje mi sie jakis niechciany pakiet.

 

a jak wyglada sytuacja podczas 

```
emerge --newuse world -pv
```

? no chyba, ze Cie zle zrozumialem  :Wink: 

----------

## yoshi314

 *tomek_22 wrote:*   

> a jak wyglada sytuacja podczas 
> 
> ```
> emerge --newuse world -pv
> ```
> ...

 nie robie tego bo nie mam tyle czasu. robie aktualizacje co jakis czas, ale recznie, tzn po kawalku.

----------

## arsen

 *yoshi314 wrote:*   

>  *tomek_22 wrote:*   a jak wyglada sytuacja podczas 
> 
> ```
> emerge --newuse world -pv
> ```
> ...

 

```

emerge --newuse world -pv

```

to tylko skompiluje pakiety które zareagują na zmiany we flagach USE

----------

## tomek_22

 *arsen wrote:*   

>  *yoshi314 wrote:*    *tomek_22 wrote:*   a jak wyglada sytuacja podczas 
> 
> ```
> emerge --newuse world -pv
> ```
> ...

 

tak, tylko ze jak wywalili cos wielkiego na 2 ekrany to sie mozna zdziwic, dlatego lepsze sa wpisy w /etc/portage/package.use

----------

