# [SOLVED]zmiana flag, powolne portage

## pancurski

witam

zmienilem niedawno flagi CFLAGS i CXXFLAGS, mialem takie:

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

CXXFLAGS="${CFLAGS}"
```

teraz mam

```
CFLAGS="-march=athlon-xp -Os -fomit-frame-pointer -s -pipe -DNDEBUG -DG_DISABLE_ASSERT"

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

czy mozliwe jest ,ze przez to bardzo zwolnilo mi portage, np polecenie 

```
emerge -S nazwa.pakietu
```

trwa pare minutLast edited by pancurski on Thu Nov 09, 2006 6:55 pm; edited 1 time in total

----------

## ro-x

na poczatek przekompiluj tymi flagami gentoolkit i portage  :Smile: 

----------

## pancurski

jak zmienilem te flagi wykonalem

```
emerge --update --deep --newuse world

emerge --depclean

revdep-rebuild
```

wiec raczej wszystko sie przekompilowalo

----------

## mbar

-Os to koszmar i lepiej wróć do -O2, i tak, jest to możliwe, że -Os spowalnia kod, szczególnie na nowych prockach, gdzie są kary za dostęp do niewyrównanych danych / skoki i pętle pod niewyrównane adresy itp.

----------

## rasheed

Ja używam -Os od zawsze i niejeden mógłby mi pozazdrościć szybkości systemu..

Więc IMO - bzdury pleciesz.

----------

## mbar

Całe szczęście że IYO!

Generalnie z -Os nie powinno być problemu, ale osobiście dwa razy stawiałem Gentoo z -Os i po dwóch trzech miesiącach i aktualizacjach szlag go trafiał. Ostatnio się sypnęło tutaj: https://forums.gentoo.org/viewtopic-p-3669175-highlight-.html#3669175 (możesz przewinąć stronę wcześniej). Nigdy więcej -Os, nie warto się męczyć dla tych kilku MB zaoszczędzonych na dysku.

----------

## pancurski

dzieki za dotychczasowe odpowiedzi, zastanawiam sie czy moze winne byc stare gcc w wersji 3.4.6

----------

## Belliash

to portage nie jest zrobione w pythonie?  :Shocked: 

a ja myslalem ze cflagi nie maja wplywu na portage... kurde jak ten postep zapieprza w dzisiejszyc hczasach  :Cool: 

----------

## mbar

a interpreter pythona to czym kompilujesz? może nie gcc? jeśli do interpretera wejdzie "słaby" kod, to i portage może słabo chodzić.

----------

## Belliash

to niech przekompilujepajtona z -O2 i zobaczy czy pomoze  :Wink: 

a tab apropo, co sadicie o -O2s?

----------

## KeyBi

 *mbar wrote:*   

> ale osobiście dwa razy stawiałem Gentoo z -Os i po dwóch trzech miesiącach i aktualizacjach szlag go trafiał. 

 

To całkiem dziwne, bo u mnie od już kilku lat działa sobie stabilnie system właśnie na fladze -Os, ponadto jest ona zaliczana do bezpiecznych dla wielu procesorów (http://gentoo-wiki.com/Safe_Cflags). Także nie narzekam jeśli chodzi o wydajność, a juz na pewno nie powoduje ta flaga problemów w kompilacji pakietów...

----------

## pancurski

 *Morpheouss wrote:*   

> to niech przekompilujepajtona z -O2 i zobaczy czy pomoze 
> 
> a tab apropo, co sadicie o -O2s?

 

mozna jakos wymusic kompilacje pythona z flaga -02, skoro CFLAGS jest inne?

----------

## argasek

 *frondziak wrote:*   

>  *Morpheouss wrote:*   to niech przekompilujepajtona z -O2 i zobaczy czy pomoze 
> 
> a tab apropo, co sadicie o -O2s? 
> 
> mozna jakos wymusic kompilacje pythona z flaga -02, skoro CFLAGS jest inne?

 

Hmm... jeśli przeszukasz forum, znajdziesz gdzieś projekt, który pozwala na indywidualne ustawienie m.in. CFLAGS per pakiet.

----------

## Belliash

 *argasek wrote:*   

>  *frondziak wrote:*    *Morpheouss wrote:*   to niech przekompilujepajtona z -O2 i zobaczy czy pomoze 
> 
> a tab apropo, co sadicie o -O2s? 
> 
> mozna jakos wymusic kompilacje pythona z flaga -02, skoro CFLAGS jest inne? 
> ...

 

.bashrc

Nawet pisalem na fgo w polish zmodyfikowana przeze mnie wersje ktora sam uywam, min dzieki temu cyrus-sasl moge skompilowac bez --as-needed  :Wink: 

----------

## joi_

 *frondziak wrote:*   

> -O2-pipe

 

a cóż to za flaga?

 *frondziak wrote:*   

> -02

 

a ta?  :Razz: 

----------

## pancurski

prawdpopodobnie powodem problemow bylo to ze po zmianie CFLAGS i CXXFLAGS nie wykonalem

```
env-update && source /etc/profile

emerge glibc binutils gcc
```

tylko od razu polecialem

```
emerge --update --deep --newuse world
```

w kazdym badz razie teraz robie upgrade gcc i mysle ze po wszystkim juz bedzie ok

----------

## c2p

 *frondziak wrote:*   

>  *Morpheouss wrote:*   to niech przekompilujepajtona z -O2 i zobaczy czy pomoze 
> 
> a tab apropo, co sadicie o -O2s? 
> 
> mozna jakos wymusic kompilacje pythona z flaga -02, skoro CFLAGS jest inne?

 

W /etc/portage/env/dev-lang/python wpisz:

```
CFLAGS="$CLAGS -O2"

CXXFLAGS="$CXXFLAGS -O2"

```

I nie potrzeba żadnych bajerów.

Pozdrawiam, Karol.

----------

## Rumil

 *c2p wrote:*   

>  *frondziak wrote:*   
> 
> mozna jakos wymusic kompilacje pythona z flaga -02, skoro CFLAGS jest inne? 
> 
> W /etc/portage/env/dev-lang/python wpisz:
> ...

 

A da się w ten sposób usunąć jakieś flagi z CFLAGS/CXXFLAGS/LDFLAGS ?

----------

## Arfrever

 *Rumil wrote:*   

>  *c2p wrote:*    *frondziak wrote:*   
> 
> mozna jakos wymusic kompilacje pythona z flaga -02, skoro CFLAGS jest inne? 
> 
> W /etc/portage/env/dev-lang/python wpisz:
> ...

 

Poczytaj `info bash` i `man gcc`. W linii "CXXFLAGS="$CXXFLAGS -O2"" "${CXXFLAGS}" oznacza wartość zmiennej CXXFLAGS. (Zapis "$CXXFLAGS" jest gorszy.) Zmiennej CXXFLAGS przypisywany jest ciąg znaków składający się z dotychczasowej wartości zmiennej CXXFLAGS i " -O2". Jeśli przekaże się kompilatorowi flagi "-Os -O2", to brana pod uwagę jest ostatnia flaga typu "-O". Można usunąć wszystkie flagi przykładowo CFLAGS tak: `CFLAGS=""`. Wiele flag posiada wersje zaprzeczone z przedrostkiem "no". Przykładowo, by usunąć znaczenie flagi "-finline-functions", można wpisać `CFLAGS=${CFLAGS} -fno-inline-functions".

Sveikinu

Arfrever

----------

## Rumil

 *Arfrever wrote:*   

> Jeśli przekaże się kompilatorowi flagi "-Os -O2", to brana pod uwagę jest ostatnia flaga typu "-O".

 

O, tego nie wiedzialem. Rozchodzilo mi sie o to, zeby wylaczyc --as-needed z LDFLAGS dla pakietow, ktore wiem, ze sie z nia nie kompiluja. Na szczescie jest --no-as-needed  :Smile: . Dzieki za cenna porade   :Very Happy: 

----------

## pancurski

moje przypuszczenia byly sluszne, teraz jest juz wszystko ok

----------

