Плач разработчиков GCC 2.96 Предпосылки: GCC 2.95 серий — это официальный GNU релиз и версия 2.95.3 — максимально свободная от ошибок в этой серии. Мы никогда не замечали проблем компиляции, которые можно было бы отнести на счёт gcc-2.95.3. Начиная с RedHat Linux 7.0, Red Hat включили сильно пропатченную CVS версию GCC и назвали её 2.96. RedHat включили эту версию в дистрибутив, поскольку GCC 3.0 не был завершён в это время, а им требовался компилятор, который бы хорошо работал на всех поддерживаемых платформах, включая IA64 и s390. Дистрибьютор Linux Mandrake, последовал примеру Red Hat и начал поставки GCC 2.96 с Linux-Mandrake серии 8.0. Заявления: Команда GCC отрицает все связи с GCC 2.96 и даже выпустила официальный ответ на GCC 2.96. У многих разработчики со всему мира возникали проблемы с GCC 2.96, и они рекомендовали другие компиляторы. Примеры — это MySQL, avifile и Wine. Прочие интересные ссылки — это Linux kernel news flash о ядре 2.4.17 и Voy Forum. MPlayer также претерпевал различные проблемы, которые разрешались переходом на другую версию GCC. Некоторые проекты начали осуществлять обходы для некоторых проблем 2.96, но мы отказались исправлять ошибки других людей, в том числе поскольку некоторые такие обходы привели бы к потере производительности. Вы можете прочитать о другой стороне этой истории на этом сайте. GCC 2.96 не допускает символ | (pipe[канал]) в ассемблерных комментариях, поскольку он поддерживает Intel'евский и AT&T синтаксисы, а буква | — символ в Intel'евском варианте. Проблема в том, что он молча игнорирует весь ассемблерный блок. Теперь, это предположительно исправлено, GCC печатает предупреждение, а не пропускает блок. Текущее состояние: Red Hat заявляет, что GCC 2.96-85 и далее исправлены. Ситуация действительно улучшилась, хотя мы всё ещё видим в рассылках сообщения о проблемах, которые исчезают после перехода на другой компилятор. В любом случае, это больше не важно. Предположительно готовый GCC 3.x должным образом разрешит эти вопросы. Если Вы хотите скомпилировать, используя версию 2.96, укажите опцию в configure. Помните, что Вам решать, и не сообщайте об ошибках в этом случае. Если Вы попробуете, Вы будете изгнаны из наших рассылок, поскольку у нас уже было достаточно 'сражений' из-за GCC 2.96. Давайте оставим эту тему в покое. Если у Вас проблемы с GCC 2.96, Вы можете скачать 2.96-85 пакеты на ftp сервереRedHat, или просто перейти на 3.0.4 пакеты, предлагаемые начиная с версии 7.2. Вы также можете использовать gcc-3.2-10 пакеты (неофициальные, но работают нормально) и поставить их совместно с gcc-2.96, который у Вас стоит. MPlayer их обнаружит, и будет использовать 3.2 вместо 2.96. Если Вы не хотите или не можете использовать пакеты, вот как Вы можете скомпилировать GCC 3 из исходного кода: Пойдите на страницу GCC зеркал и скачайте gcc-core-XXX.tar.gz, где XXX — это номер версии. Этот файл включает полноценный компилятор C, которого достаточно для MPlayer'а. Если Вы также хотите C++, Java или какие-нибудь другие дополнительные возможности GCC, Вам, возможно, больше подойдёт gcc-XXX.tar.gz. Распакуйте архив: tar -xvzf gcc-core-XXX.tar.gz В отличие от других программ GCC собирается не в каталоге с исходным кодом, а в отдельном каталоге. Поэтому вам нужно создать этот каталог, выполнив mkdir gcc-build Теперь Вы можете приступить к конфигурированию gcc в каталоге для сборки, но Вам нужно конфигурировать из каталога с исходным кодом: cd gcc-build ../gcc-3.XXX/configure Скомпилируйте GCC, выполнив эту команду в каталоге для сборки: make bootstrap Теперь Вы можете установить GCC (как root), выполнив make install Распространение в двоичном(скомпилированном) виде Прежде MPlayer содержал исходный код из проекта OpenDivX, который не разрешал распространение в скомпилированном виде. Этот код был изъят, начиная с версии 0.90-pre1, а остававшийся файл divx_vbr.c , основывающийся на исходном коде OpenDivX, помещён под GPL его авторами, начиная с версии 0.90pre9. Теперь Вы можете создавать скомпилированные пакеты, если Вам захочется. Другим препятствием к распространению в двоичном виде была оптимизация времени компиляции под конкретную архитектуру процессора. Теперь MPlayer поддерживает определение CPU во время выполнения (при компиляции укажите опцию ). Это по умолчанию выключено, поскольку это вызывает небольшую потерю в скорости, но зато теперь возможно создавать бинарии, которые будут работать на разных CPU из семейства Intel. nVidia Нам не нравится то, что nVidia предоставляет только двоичные драйверы (для использования с XFree86), которые часто бывают глючными. У нас было много сообщений в mplayer-users о проблемах, связанных с этими драйверами с закрытым исходным кодом, их плохим качеством, нестабильностью и плохой поддержкой пользователей и специалистов. Вот пример на nVidia Linux Forum. Многие из этих проблем продолжают появляться снова и снова. Мы всегда связывались после этого с nVidia, и они говорили, что эти ошибки не существуют, что нестабильность вызывается плохими AGP чипами, и что они не получали сообщений об ошибках в драйверах (таких, как пурпурная линия). Поэтому, если у Вас проблема с nVidia картой, мы можем только посоветовать обновить nVidia драйвер, и/или купить новую материнскую плату, или попросить nVidia предоставить драйвер с открытым исходным кодом. В любом случае, если Вы используете двоичный nVidia драйвер и столкнулись с проблемой, связанной с драйвером, знайте, что Вы почти не получите помощи с нашей стороны, поскольку в этом случае у нас почти нет возможности Вам помочь. Джо Барр[Joe Barr] Джо Барр получил дурную репутацию, после написания менее, чем благосклонного обзора MPlayer. Он нашёл, что MPlayer сложно установить, а затем он был не вполне захотел читать документацию. Он также заключил, что разработчики были недружелюбны, а документация неполной и оскорбительной. Вам решать. Затем, он негативно упомянул MPlayer в 10 Linux predictions for 2002[10 предсказаний о Linux на 2002]. В появившемся затем обзоре xine он продолжил раздувать спор. Иронично, но в конце этой статьи он цитирует интервью с Гюнтером Барцхом[Günter Bartsch], первоначальным автором xine, что превосходно подытоживает ситуацию:
However, he also went on to say that he was "surprised" by my column about Mplayer and thought it was unfair, reminding me that it is a free software project. "If you don't like it," Bartsch said, "you're free not to use it." [Однако, он также сказал, что он был "удивлён" моей колонкой о MPlayer'е и подумал, что это было бы неправильно напоминать мне, что это проект свободного программного обеспечения. "Если он вам не нравится", сказал Барцх, "Вы свободны не использовать его."]
Он не отвечает на наши письма. Его редактор не отвечает на наши письма. Вот несколько цитат от разных людей о Джо Барре, чтобы Вы могли сформировать своё мнение: Марк Рассбах[Marc Rassbach] кое-что сказал об этом человеке.
You may all remember the LinuxWorld 2000, when he claimed that Linus T said that 'FreeBSD is just a handful of programmers'. Linus said NOTHING of the sort. When Joe was called on this, his reaction was to call BSD supporters assholes and jerks. [Вы все должно быть помните LinuxWorld 2000, когда от заявил, что Linus T сказал, что 'FreeBSD — это только горстка программистов'. Linus НИЧЕГО подобного не говорил. Когда Джо притянули к ответу, его реакцией было позвать BSD сторонников и сопляков.]
Цитируя Robert Munro из рассылки mplayer-users:
Он интересен, но он не вполне способен избегать, м-м-м-... споров. Несколько лет тому назад, Джо Барр имел обыкновение регулярно бывать на форуме Will Zachmann'а Canopus на Compuserve. Тогда он был сторонником OS/2 (я тоже был фаном OS/2). [He's interesting, but not good at avoiding, um... controversy. Joe Barr used to be one of the regulars on Will Zachmann's Canopus forum on Compuserve, years ago. He was an OS/2 advocate then (I was an OS/2 fan too).] Как правило он чрезмерно флеймил людей, и, как мне кажется, у него тогда были тяжёлые времена. Судя по его последним колонкам, он немного смягчился. Определённо, в то время тонкий юмор не был его стилем, совсем не был. [He used to go over-the-top, flaming people, and I suspect he had some hard times, then. He's mellowed some, judging by his columns recently. Moderately subtle humor was not his mode in those earlier days, not at all.]