Skocz do zawartości

Budowanie Pakietów Rpm


urys

Rekomendowane odpowiedzi

Hmm, tak naprawde jestem newbie ale topic dosyć ciekawy.

Gdzie sie ustawia te 2 flagi CFLAGS CXXFLAGS i jakie byłyby najlepsze dla fedorki na Celeronie 800 Mhz ?

Thnx za info

------------------------

Oki, flagi sie ustawia w tej opcji optflags. Tylko czy te ustawienia

optflags: i686 -march=pentium2 -Os -fomit-frame-pointer -s -pipe -DNDEBUG -DG_DISABLE_ASSERT -z combreloc

sa dla mnie dobre ?

Mam gotowy plik rpm i wciskam Upgrade.Wyskakuje , ze ten plik jest juz zainstalowany i ze dokument jakis tam kloci sie z takim samym. Czy wystarczy dac upgrade z --nodeps ?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 34
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Staram sie rowniez skompilowac paczki kde pod swoj procesor (pentium4) ale podczas kompilowaniia kdelibs mam taki blad :

 

+ popd

~/rpm/BUILD/kdelibs-3.3.1

+ mkdir -p /home/irek/rpm/tmp/kdelibs-buildroot/etc/profile.d

+ install -m 755 /home/irek/rpm/SOURCES/kde.sh /home/irek/rpm/SOURCES/kde.csh /home/irek/rpm/tmp/kdelibs-buildroot/etc/profile.d/

install: cannot stat `/home/irek/rpm/SOURCES/kde.sh': No such file or directory

install: cannot stat `/home/irek/rpm/SOURCES/kde.csh': No such file or directory

błąd: Błędny status wyjścia z /home/irek/rpm/tmp/rpm-tmp.31649 (%install)

 

 

Błędy budowania RPM-a:

użytkownik than nie istnieje - użyto konta root

grupa than nie istnieje - użyto grupy root

użytkownik than nie istnieje - użyto konta root................itd

 

Błędny status wyjścia z /home/irek/rpm/tmp/rpm-tmp.31649 (%install)

 

Inne paczki kde buduja sie bez problemu, o co wiec chodzi ?

Odnośnik do komentarza
Udostępnij na innych stronach

a co by bylo jakbym zroibił tak:

 

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

CXXFLAGS="${CFLAGS}"

Tak mam zrobione w gentoo i zastanawiam się czy dobrze.. :/

 

 

Czemu urys ma

-fomid-frame-pointer

fomit czy fomid ??

i do czego wlasciwie służy ten argument ??

i po co jest -s na koncu ?? ( tak jak urys ma ? )

Odnośnik do komentarza
Udostępnij na innych stronach

Chciałbym mieć jak największą część systemu zoptymalizowaną dla mojego procesora (Athlon 1,2G). Mam jednak kilka pytań:

 

1. Co można zastąpić w zainstalowanej Fedorze 3, żeby był zauważalny wzrost ogólnej wydajności?

 

2. Lepiej ściągać src.rmp i je rebuild-ować czy lepiej same źródła (zwykle .tar.gz) i ./configure? Czy jest jakakolwiek różnica?

 

3. Co konkretnie mam zrobić, żeby programy kompilowały się zawsze z optymalizacją? Znalazłem jakiś opis tutaj, ale nie wiem, czy to wystarczy...

 

TIA

Odnośnik do komentarza
Udostępnij na innych stronach

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

CXXFLAGS="${CFLAGS}"

Tak mam zrobione w gentoo i zastanawiam się czy dobrze.. :/

Niby dobrze, ale jak dla mnie to szkoda tracić czas na rekompilację z tak małymi optymalizacjami :P

Czemu urys ma

-fomid-frame-pointer

fomit czy fomid ??

Powinno być fomit. Urys ma źle to wpisane.

i do czego wlasciwie  służy ten argument ??

http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gc...ptimize-Options

-fomit-frame-pointer

    Don't keep the frame pointer in a register for functions that don't need one. This avoids the instructions to save, set up and restore frame pointers; it also makes an extra register available in many functions. It also makes debugging impossible on some machines.

 

    On some machines, such as the VAX, this flag has no effect, because the standard calling sequence automatically handles the frame pointer and nothing is saved by pretending it doesn't exist. The machine-description macro FRAME_POINTER_REQUIRED controls whether a target machine supports this flag. See Register Usage (GNU Compiler Collection (GCC) Internals).

i po co jest -s na koncu ?? ( tak jak urys ma ? )

Do stripowania binarek.

2. Lepiej ściągać src.rmp i je rebuild-ować czy lepiej same źródła (zwykle .tar.gz) i ./configure? Czy jest jakakolwiek różnica?

Taka, że z .tar.gz jest więcej roboty i ma się rozwalone wszystkie zależności. Najlepszym rozwiązaniem jest przebudowa src.rpm.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 weeks later...

czy mozna by zrobic taki przyklejony zeby kazdy z dowolnum prockiem mogl sobie zrobic flagi jakis maly opis i przyklady dla roznych procków, jak bym mial to czytac i potem se ustawic testowac to by mi zycia braklo :P

 

Mam Athlona Bartona 2.5 oczywiscie FC3 i cos jeszcze potrzebne zeby cos naskrobac w tym pliku ~/.rpmrc .

 

Jak by ktos mogł pomoc i napisac taka najlepsz ale nie przesadzona optymalizacje dla tego procka ale tak bez zartów to był bym wdzieczny jak (_niewiem_ → nie wiem) ORT co :)

 

pozrawiam

 

mam takie troche se poczytałęm i doszedlem do wniosku ze moze takie beda ok i jeszze glupie pytanie ale mam dylemat czy to ma byc ten plik w root czy w home wg. mnie to raczej w root to pod su sie kompiluje i czy on wtedy bierze z roota te przepisy :rolleyes: ??

 

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

CXXFLAGS="-march=athlon-xp -Os -s -pipe -DNDEBUG -DG_DISABLE_ASSERT"

LDFLAGS="-s -z combreloc"

 

jak sie na to zapatrujecie ??

 

pozdro jx ;)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 weeks later...

Zacząłem się od niedawna przypatrywać opcjom (flagom?) optymalizacji. Od niedawna, bo w zasadzie nie boli mnie prędkość i osiągnięcia standardowej instalacji FC2, ale czasem jak już kompiluje coś, to pomyślałem, że byłoby dobrze zoptymalizować :P

Dlatego postawnowiłem wznowić/odświeżyć ten wątek.

 

gajownik podał śliczny link, poczytałem i od razu pytanie: dlaczego używacie opcji -o2 a nie -o3 ? Boicie się za bardzo zoptymalizować? ;) Może moje pytanie jest trywialne, ale jak już wspomniałem, nie zajmowałem się wcześniej optymalizacją przy kompilacji.

 

Pozdr,

W.

Odnośnik do komentarza
Udostępnij na innych stronach

dlaczego używacie opcji -o2 a nie -o3 ? Boicie się za bardzo zoptymalizować?

Bo -O3 nie zawsze daje zamierzone rezultaty. Co z tego, że kod będzie chodził bardzo szybko, skoro jego załadowanie do pamięci będzie trwało długo. Trzeba pamiętać, że niektóre optymalizacje (np. rozwijanie pętli) powoduje powiększenie wynikowego kodu.

 

Dla przykładu kompilacja OO.o z opcją -O3 powoduje wydłużenie czasu ładowania i niezauważlany dla zwykłego użytkownika przyrost prędkości dziania programu.

 

Jeśli zaś chodzi o programy, które cały czas siędzą w RAMie (nieważny jest dla nas czas ładowania aplikacji) i duuużo liczą (np. jakieś przetwarzanie badan naukowych), opcja -O3 jest jak najbardziej wskazana.

 

Z tego co czytałem w necie, to programy pisane w C++ dosć puchną z -O3 i część osób woli kompilować je z -Os.

 

Jak ktoś ma np. procesor Pentium II, to z flagą -Os programy będą mu szybciej chodzić niż z -O3, bo w tych prockach był mały cache.

 

Wniosek jest jeden - dla każdego programu powinno dobierać się inną flagę kompilatora. Oczywiście jest to raczej niemożliwe, więc wybiera się złoty środek.

 

Tak jak podałem wczesniej, najlepiej poczytać sobie forum Gentoo :-)

 

/update/

Wcześniej znaczy tutaj → http://www.fedora.pl/site/forum/index.php?...?showtopic=2462 ;-)

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki gajownik za wyjaśnienia i za link do tego wątku - wygląda ciekawie.

Znowu nabrałem się na tę domyślną opcję w wyszukiwarce - szukanie postów nie starszych niż 30 dni :( Po zmianie na 180 dni wyszło więcej m.in. ten o którym piszesz powyżej :) Jeszcze raz dzięki.

 

Pozdr,

W.

Odnośnik do komentarza
Udostępnij na innych stronach

Podczepie sie pod watek - a co :). Ktos rekompilowal glibca w FC3 z flagami dla athlona xp? - jakich uzyl, ewentualnie jakie proponowalby? Cos mnie nachodzi na rekompilacje systemu i zastanawiam sie jak ugryzc glibca zeby systemu nie wysadzis z siodla. Ja wiem wiem :) - chroot i reczny odzysk - tylko po co sie meczyc

Odnośnik do komentarza
Udostępnij na innych stronach

Podczepie sie pod watek - a co :). Ktos rekompilowal glibca w FC3 z flagami dla athlona xp? - jakich uzyl, ewentualnie jakie proponowalby?

W Fedorze glibc jest kompilowany z flagami -march=i686 -O3 (paczka i686), więc zbytniej poprawy wydajności nie poczujesz tak jak w przypadku innych paczek. Zawsze jednak możesz sprobować :-)

Ja wiem wiem :) - chroot i reczny odzysk - tylko po co sie meczyc

chroot juz Ci nie pomoże - wylądujesz w spapranym systemi ze związanymi rękoma :P Jak siedziałem kiedyś na Rawhide, to miałem podobny przypadek - prawie wszystko w konsoli siadło (w tym rpm) i nie dało sie normalnie naprawić (o dziwo X server i KDE chodziło bez problemu). Trzeba było ręcznie przekopiowywać poszczególne pliki z dobrej paczki.

Odnośnik do komentarza
Udostępnij na innych stronach

No, to ja już po próbach - udanych, ale ciężkich i dziwnych - z budowaniem zoptymalizowanego rpm-a.

Mam pytania związane z tymi dziwnymi wg mnie objawami.

Poustawiałem sobie różne flagi zgodnie z tym co wyczytałem tutaj i w polecanych linkach - mniejsza o to jakie, bo problem w czym innym.

Postanowiłem zrobić porównanie i wykonać te same optymalizacje ze źródeł i z pakietu src.rpm. Wybór padł na Krusadera 1.51. Kompilacja ze źródeł trochę trwała, ale skończyła się sukcesem po ok. 30min. Ja w tym czasie spokojnie przeglądałem sobie strony WWW i takie tam pierdoły.

Potem wziąłem się za src.rpm i tu schody :shock: Zajęta cała (prawie) pamięć fizyczna (640MB) i swap (>1GB)!!!!! i oczywiście brak dostępu do systemu Cała operacja trwała ponad 1 godz.

 

Czy ktoś może mi powiedzieć czy takie zachowanie jest normalne? Wprawdzie robiłem to jak idiota pod X-ami, ale dla zachowania wiarygodności zarówno 1. jaki i 2. test był wykonany w takim środowisku, więc powiedzmy, że ok.200MB pamięci zajmowały mi w tym czasie X-y.

 

Pozdr,

W.

Odnośnik do komentarza
Udostępnij na innych stronach

Kompilacja ze źródeł  trochę trwała, ale skończyła się sukcesem po ok. 30min. Ja w tym czasie spokojnie przeglądałem sobie strony WWW i takie tam pierdoły.

Potem wziąłem się za src.rpm  i tu schody  :shock:  Zajęta cała (prawie) pamięć fizyczna (640MB) i swap (>1GB)!!!!! i oczywiście brak dostępu do systemu Cała operacja trwała ponad 1 godz.

A to dziwne. Jakie masz flagi (te ustawiane przez CXXFLAGS i te w ~/.rpmrc)? Nie używasz przypadkiem opcji -g?

 

Ja u siebie kompilowałem krusadera już kilka razy (na FC2 i FC3) i takich wałków nie miałem :/

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

×
×
  • Dodaj nową pozycję...