Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
tak jak w opsie ma ktos jakiegos linka do czegos takiego
bo google mi nie plulo niczym sensownym
Offline
A napisz jakie zapytanie robiłeś do google? Jestem ciekaw. :)
Offline
Ja wpisałem w google flagi kompilacji
Od razu wyskoczyło chociażby http://www.linux.rk.edu.pl/w/p/flagi-optymalizujace-kompilacje/
Też jestem ciekaw co tam wpisałeś.
Offline
Umieszczenie posta w Software sugeruje, że chodzi o kompilację programów:
./configure --help
Offline
Też ale umieszczenie odpowiednich flag w /etc/environment jakoby to automatyzuje.
Chyba ze w opcjach do configure ustawimy inaczej.
Offline
@czadman " flagi kompilatora" ;; " kompialcja flagi c++ " ;;; " flagi kompilacji linux"
nie chodzi o to ze nic nie ma bo informacji jest duzo, tylko wszedzie sa jakies "strzepy" informacj, ktos o cos zapytal na forum i dostal odpowiedz, a ja poprostu chce miec jakeigos manuala na dysku zeby moc do niego zajrzec jak mam problem a nie szuakc na google za kazdym razemi. No chyba ze to wszystko to faktycznie nie jest taka filozofia xd
ze flagi mozna poustawiac w np. environment albo w ~/.bash_profiles to wiem.
Tylko co z tego ze wiem ze moge sobie tam wpisac export CFLAGS = " sfasljf ;asjf ;" ;
skoro nie mam pojecia od czego ta flaga jest ( wiem ze ta ustawia kompilacje pod podane instrukcje proca).
No ale flag jest duzo, co odpale jakiegos read me to wiedz nowe i nie ogarniam xd.
@azhag dokladnie chodzi mi o kompilacje programow i wile problemow z tym zwiazanych ;] z ktorymi caly czas mialem doczynienia (dlatego instalowalem wieksc pakietow z paczek)
@ilin no wlasnie cos takiego dla mnie to strzepy informacji xd. Jest napisane jak ustawic architekture proca i to wszysktko.
a zaluzmy ze kompiluje .... brasero, przelecialo mi configure pisze mi co bedzie a co nie jak se pakietow nie doinstaluje ;], i zaluzmy ze przy kompilacji sypie sie przy ... "cover_make", jakais addon robiacy okladki, i przez to cala kompilacja staje, to bym go chetnie olal, ale nie wiem jak ustawic zeby nie kompilowac "cove_make"
Ostatnio edytowany przez gindek (2009-06-06 14:02:15)
Offline
Obawiam sie że takiej kompleksowej informacji nigdzie nie znajdziesz.
Kompilacja każdej aplikacji rządzi się swoimi prawami.
Warto poczytać dokumentację jaka przeważnie jest dołączona do źródeł bądź na stronie domowej programu.
Co jest potrzebne do prawidłowego skompilowania aplikacji.
Warto równieź przyjrzeć się pakietom źródlowym z repo debiana.
W nich podane jest co trzeba zainstalować aby pakiet się zbudował.
Jeśli mamy błąd podczas kompilowania to musimy dokładnie przyjrzeć mu się i trochę pomyśleć.
Czasami rozwiązania są dziecinnie proste.
Na przkładzie brasero zassaj pakiet źródłowy z repo i zobacz co potrzeba aby się własciwie skompilował i z jakimi opcjami w debianie był kompilowany,
Ostatnio edytowany przez ilin (2009-06-06 14:30:24)
Offline
a ja znalazłem takie "cusie"
gcc compiler flags
Gentoo doc: gcc otpimization
Ostatnio edytowany przez winnetou (2009-06-06 14:45:32)
Offline
@ winnetou dzx za linka
@ ilin dzx za wyjasnienie ;]
a teraz jeszcze jedno pytanie, skad wytrzepac nazwy flag jakie moge ustawiac ?
[edit]
sorry pytania nie bylo xd
3 sek. na google xd
Ostatnio edytowany przez gindek (2009-06-06 15:00:54)
Offline
Flagi optymalizacji masz podane w linkach.
Jeśli zaś chodzi o flagi (opcje) kompilacji danego programu to jak azhag podał
./configure --help
Offline
http://debian.linux.pl/viewtopic.php?t=4444&highlight=apt-build
i kto mówił, ze kompilowane paczki w debianie nie można optynalizować :D
Ostatnio edytowany przez Yampress (2009-06-06 15:15:39)
Offline
man gcc - opis flag i opcji gcc
apt-get build-dep - insatlowanie paczek potrzebnych do zbudowania podanego pakietu
Offline
a ze sie zapytam co i gdzie musze wpisac zeby zobaczyc jakie architektury obsługuje gcc ?
oczywiscie cos takiego :
- i386 (Intel) : -march=i386 - i486 (Intel) : -march=i486 - Pentium 1 (Intel) : -march=pentium - Pentium MMX (Intel) : -march=pentium - Pentium MMX (Intel) : -march=pentium-mmx - Pentium PRO (Intel) : -march=pentiumpro - Pentium II (Intel) : -march=pentium2 - Celeron (Mendocino), aka Celeron1 (Intel) : -march=pentium2 - Pentium III (Intel) : -march=pentium3 - Celeron (Coppermine) aka Celeron2 (Intel) : -march=pentium3 - Celeron (Willamette) (Intel) : -march=pentium4 - Pentium 4 (Intel) : -march=pentium4 - Eden C3/Ezra : -march=i586 - K6 (AMD) : -march=k6 - K6-2 (AMD) : -march=k6-2 - K6-3 (AMD) : -march=k6-3 - Athlon (AMD) : -march=athlon - Athlon-tbird, aka K7 (AMD) : -march=athlon-tbird - Athlon-tbird XP (AMD) : -march=athlon-xp - Athlon 4(AMD) : -march=athlon-4 - Athlon XP (AMD) : -march=athlon-xp - Athlon MP (AMD) : -march=athlon-mp
mnie nie interesie :P ( znalezione na google ale chyba stare)
[edit]
dobara mam http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel
Żeby zobrazowac o co mi chodzilo.
Jaki mam procesor wiem doskonale, nie potrzebuje dmesg czy cpuinfo ( ktoy z reszta zle pokazuje mnoznik i taktowanie) zeby sie tego dowiedziec.
Ale nie wiedziałem co powiedziec GCC, czy "core" ( to tak sie nazywa technologia ) czy allendale ( rdzen). Czy amd64 ( bo obsluguje emt64 i mam system amd64).
I w życiu bym nie przypuszczal ze bedzie to "nocona" xd. ( core2 dla gcc-4.3+, ale ja chce kompatybilosc w stecz z gcc-4.1)
[edit2]
A jeszcze kilka pytań :
1. ustawic/dodac do listy pakietow w apt. ( wiem ze mozna uzyc checkinstall i zrobic paczke ) ale jak bym tego nie zrobil,
2. jezeli byla by to jakas biblioteka, to jak zrobic do niej pakiet -dev,
3. jezeli przleci mi ./configure i nie wywali sie z brakiem jakiegos pakietu, to jaka jest szansa ze ten skrypt sie nie pomylil, i ze jednak cos sie sypnie przy make.
Ostatnio edytowany przez gindek (2009-06-06 17:38:45)
Offline
gindek napisał(-a):
1. ustawic/dodac do listy pakietow w apt. ( wiem ze mozna uzyc checkinstall i zrobic paczke ) ale jak bym tego nie zrobil,
2. jezeli byla by to jakas biblioteka, to jak zrobic do niej pakiet -dev,
jezeli dla danego programu jest paczka deb to najlepiej sciagnij paczke zrodlowa i zaleznosci budowania, pozmieniaj opcje ktore chesz pozmieniac, naloz patche itd i zbuduj sobie paczke ... nie ma mozliwosci dodania do listy pakietow czegos co nie bedzie pakietem ...
Offline
Ok dzx czaje. calkiem logiczne ale mimo wszystko nie oczywiste
Offline
Czasami tez dany program nie chce sie skompilować daną wersją gcc.
Nie dalej jak dwa dni temu kompilowałem pewien plugin do xmmsa i musiałem przestawić na gcc-3.4 bo na każdej czwórce się wywalał.
Offline
Pomagałoby też użycie
aptitude build-dep
Gdyby jakiekolwiek źródło było dostępne w repach Debiana, ale skoro jest w repach to po co z drugiej strony je kompilować ;)
Offline
marg1 napisał(-a):
Gdyby jakiekolwiek źródło było dostępne w repach Debiana, ale skoro jest w repach to po co z drugiej strony je kompilować ;)
Jednak czasami jest.
Bywa ze jakaś opcja w dytrybucyjnym pakieie jest wyłaczona.
My chcemy zeby była włączona.Co robimy?
Przekompilowujemy pakiet i tworzymy nowy z właczoną tą opcją.
Druga sprawa.
Ktoś chce mieć aplikację zoptymalizowaną pod swój procek.
Również wówczas prekompilowuje i tworzy nowy pakiet.
Offline
woczraj zarzuciłem sobie ccache + flagi optymalizacyjne na debianku i śmiga wysmienicie.
Normalnie jak kompiluje mi mplayera w ~6 minut to z ccache jest to czas rzedu 36s. Klocek amd dwurdzeniowy 2k MHz/rdzeń. świetna sprawa. Można -> można :D
Ostatnio edytowany przez Yampress (2009-06-09 16:45:55)
Offline
To podziel się tym jak to zrobileś.
ccache to dla mnie nowość.
Tzn w googlach masę jst informacji.
Natomiast mnie interesuje jak to praktycznie na debiana przełożyłeś.
Offline
zainstalowałem ccache
apt-get install ccache
do /root/.bashrc
export PATH=/usr/lib/ccache:$PATH export CCACHE_PATH=/usr/bin export CCACHE_DIR=/var/tmp/ccache export CCACHE_LOGFILE=/var/log/ccache.log
do cat /etc/environment
CC="ccache gcc" GCC="ccache gcc" G++="ccache g++" CHOST="i686-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
flagi dla opowiedniego klocka zamieszczone powyżej ze strony http://en.gentoo-wiki.com/wiki/Safe_Cflags
mój klocek to AMD Athlon 64 X2
no i przelogowanie root
potem tylko (działa jak na razie z roota)
./configure
make
lub jakas metoda własna budowania paczek.
opis w fazie eksperymentalnej ale działa :D
Ostatnio edytowany przez Yampress (2009-06-09 18:27:43)
Offline
prawie ostateczna wersja http://yampress.dug.net.pl/doku.php?id=system_optymalizacja-kompilacji
Offline
Strony: 1