mirror of
https://github.com/mpv-player/mpv
synced 2024-12-22 23:02:37 +00:00
8a3effafda
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4778 b3059339-0415-0410-9bf9-f77b7e298cf2
136 lines
4.6 KiB
HTML
136 lines
4.6 KiB
HTML
<HTML>
|
|
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
|
|
<BODY BGCOLOR=WHITE>
|
|
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
|
|
|
<P>
|
|
<B>Pytanie:</B> Co to jest GCC 2.96 ? Nie mogę tego znaleźć na stronie GNU.
|
|
</P>
|
|
|
|
<P>
|
|
<B>Odpowiedź:</B> Przeczytaj <A
|
|
HREF="http://gcc.gnu.org/gcc-2.96.html">oficjalną odpowiedź zespołu GNU
|
|
GCC.</A>
|
|
</P>
|
|
|
|
<P>
|
|
<B>Pytanie:</B> Jaki jest problem z GCC 2.96 ? I z X-ami 3.x ?
|
|
</P>
|
|
|
|
<P>
|
|
<B>Odpowiedź:</B>
|
|
</P>
|
|
|
|
<P>Przeczytaj w dokumentacji MySQL:</P>
|
|
<P><I> Wskazówki do kompilatora: Kilku z naszych użytkowników zgłosiło losowe
|
|
zwisy i uszkodzenie tablicy w binariach MySQL, kompilowanych z gcc
|
|
dwa-kropka-dziewięć-sześć na platformie x86 Linux. Chociaż nie byliśmy w stanie
|
|
zduplikować tego problemu sami, albo zrozumieć jego właściwej przyczyny,
|
|
podejrzewamy, że, z dużym stopniem prawdopodobieństwa, można powiązać ten
|
|
problem z kompilatorem. Zamieniając błędne binaria na nasze własne, zawsze
|
|
eliminowaliśmy ten problem. </I></P>
|
|
|
|
<P>
|
|
A dla ludzi, którzy regularnie pytają, jakie są dokładnie problemy z gcc 2.96,
|
|
moja odpowiedź brzmi: <I>nie wiemy dokładnie.</I> Są różne problemy i coraz
|
|
nowe problemy i błędy pojawiają się okresowo. Nie ma <I>jednego
|
|
błędu/problemu</I>. Dostajemy różne raporty o błędach, w większości są to
|
|
wewnętrzne błędy gcc, błędy składniowe kompilatora w źródłach bądź w źle
|
|
skompilowanym kodzie. Wszystkie one są rozwiązywane z użyciem innej wersji gcc.
|
|
Rozumiem, że gcc 2.96 ma inne domyślne flagi optymalizacji, które są w
|
|
konflikcie z naszym kodem asemblerowym inlline, ale my nie możemy tego zmienić,
|
|
a nawet nie chcemy poprawiać ich, skoro działają dobrze z innymi kompilatorami
|
|
lub innymi wersjami gcc, a poprawka mogłaby spowodować utratę szybkości
|
|
działania programu.
|
|
</P>
|
|
|
|
<P>
|
|
Myślę, żę gcc 2.96 powinien być poprawiony, tak by miał opcję zgodności z
|
|
innymi wydaniami, ale faceci z redhata odmówili zrobienia tego. Jeśli ktoś jest
|
|
zainteresowany - niech zapyta Eugene K., autora avifile, on wiele z nimi na ten
|
|
temat korespondował, ponieważ ten sam problem jest z avifile. Ostatecznie
|
|
zmienił on źródła avifile tak, aby <I>obchodziły</I> błędy gcc 2.96... My po
|
|
prostu nie mamy czsu ani nie jesteśmy zainteresowani robieniem tego.
|
|
</P>
|
|
|
|
<P>
|
|
A jeśli chodzi o błąd pipe-in-comment: to tak naprawdę nie jest nasz
|
|
błąd. Rozmawialiśmy z jednym z maintainerów gcc i on powiedział, że gcc 2.96 i
|
|
3.x wspierają składnię asemblera intela i to powoduje błąd pipe. Ale to
|
|
<I>jest</I> błąd, ponieważ gcc <I>po cichu</I>, bez żadnych ostrzeżeń,
|
|
ignorowało cały blok asemblerowych instrukcji!
|
|
</P>
|
|
|
|
<P> Inne problemy gcc 3.x pochodzą z błędnej instalacji nagłówków libstdc++ lub
|
|
glibc (std_*.h). To nie jest nasza wina. MPlayer kompiluje się i pracuje
|
|
poprawnie z wersjami gcc 3.x. <B>Tylko 2.96 jest zepsute</B>, ale to zależy od
|
|
wielu elementów środowiska , włączając numer wydania gcc 2.96, włączone opcje
|
|
mplayera, itp.
|
|
<I>Jeśli wszystko działa u was, używających gcc 2.96, to nie znaczy, że będzie
|
|
działało u wszystkich.</I>
|
|
</P>
|
|
|
|
<P><B>Odpowiedź 2:</B></P>
|
|
|
|
<P>
|
|
Przeczytaj także <A HREF="users_against_developers.html">ten</A> tekst !!!</P>
|
|
|
|
<P>
|
|
<B>Pytanie:</B> Nie! Mylicie się! wszystko działa dobrze z gcc 2.96 <I>za
|
|
wyjątkiem</I> MPlayera.
|
|
</P>
|
|
|
|
<P>
|
|
<B>Odpowiedź:</B>
|
|
</P>
|
|
|
|
<P> Nie. To ty jesteś w błędzie!
|
|
Kilka projektów (przeważnie tych, które zawierają wysoko zoptymalizowany kod
|
|
inline asemblera) ma problemy z gcc 2.96. Na przykład: avifile, MESA / DRI,
|
|
Wine, ffmpeg, lame, NuppelVideo. Ale inne projekty już opracowały sposoby
|
|
radzenia sobie z błędami gcc (zmieniając kod, który wywoływał błędy
|
|
kompilatora), więc teraz działają dobrze. </P>
|
|
|
|
<P>
|
|
<B>Pytanie:</B> Nie! Mylicie się! Wszystko świetnie działa z gcc 2.96
|
|
<I>włącznie z</I> MPlayerem.
|
|
</P>
|
|
|
|
<P>
|
|
<B>Odpowiedź:</B>
|
|
</P>
|
|
|
|
Dobrze. Ciesz się. Ale musisz wiedzieć, że to jest uzaleznione od wielu
|
|
elementów środowiska, włącznie z numerem wydania gcc 2.96, włączonymi opcjami
|
|
mplayera, itp.
|
|
<I>Jeśli wszystko działa u cieibe, używającego gcc 2.96, to nie znaczy, że
|
|
będzie działało u wszystkich.</I>
|
|
To tylko oznacza, że masz szczęście, do chwili, gdzy znajdziesz problem. Ale
|
|
nie zapomnij:
|
|
<B>Zasada nr 1 użytkowników gcc 2.96: NIGDY NIE ZGŁASZAJ BŁĘDÓW, JEŚLI UŻYWASZ
|
|
GCC 2.96</B>
|
|
|
|
<P>
|
|
<B>Pytanie:</B> Ok. Zrozumiałem. Ale chcę spróbować i dowiedzieć się ... jak
|
|
skompilować mplayera z gcc 2.96?
|
|
</P>
|
|
|
|
<P>
|
|
<B>Odpowiedź:</B> Naprawdę? Jesteś pewien? Ok. Wiesz ... jest pewien sposób:
|
|
./configure --disable-gcc-checking
|
|
</P>
|
|
|
|
<P>
|
|
<B>Pytanie:</B> Nie! Nie zgadzam się z wami, ponieważ ...
|
|
</P>
|
|
|
|
<P>
|
|
<B>Odpowiedź:</B> To nie ma znaczenia. Zachowaj dla siebie swoje uwagi. Nie
|
|
jesteśmy zainteresowani opowieściami o gcc 2.96.
|
|
</P>
|
|
|
|
|
|
</FONT>
|
|
</BODY>
|
|
</HTML>
|