Категория: Open Source


Сайт Sourceforge лихорадит. При доступе к части проектов вылазит ошибка 404, при доступе к остальным наблюдаются жесточайшие тормоза сервера, в результате чего страницы грузятся через раз. Каковы причины такого поведения флагмана опенсорса я не знаю. Может быть это результат реформ сервиса, а может - последствия недавнего взлома. Но это только присказка. Сказочка, как водится, будет впереди.



Есть такой GNU-тый пакет - MinGW. Так называемый "нативный программный порт GNU Compiler Collection (GCC) под Microsoft Windows" (см. педивикия, впрочем, на сайте разработчика пакета написано точь в точь то же самое, только на английском). Если не брешут - в сентябре 2005 года MinGW занял первое место в конкурсе "Проект месяца". Так вот, понадобилось мне вчера этот пакет установить. Захожу на сайт разработчика, и пытаюсь найти кнопку "Download MinGW"... и не нахожу. Нет её там! Есть, правда, ссылка под названием "Getting Started" и ссылка под названием "HOWTO Install the MinGW" - делать нечего, перехожу туда и... читаю, как можно весело и просто собрать MinGW, самому скачав и установив все нужные пакеты. При этом, судя по описанию, компиляторы нужно качать отдельно от необходимых для них библиотек. Для минимального функционала, оказывается, нужно скачать и установить штук шесть этих самых пакетов. Пакеты имеют абсолютно незнакомое мне расширение *.lzma и хрен его знает, чем их устанавливать или даже просто распаковывать. И даже если я распакую их вручную - хрен его знает, что с их содержимым делать. Как все нормальные программисты, я не изучаю структуру расположения файлов в IDE, потому что в современных IDE это уже просто не нужно. А тут предлагают собрать IDE самостоятельно... в XXI веке, в 2011 году! Ладно, на странице скачивания, на самом видном месте надпись "Looking for the latest version? Download mingw-get-inst-20101030.exe (796.0 KB)". То есть если не хотите разбираться в устройстве IDE, скачайте сетевой инсталлятор - и будет Вам щастье! С облегчением тыкаю в эту ссылку, и скачиваю этот файл. Запускаю его на выполнение.

И вот тут-то начинаются ГЛАВНЫЕ глюки! Да-да, вы не ослышались, сетевой инсталлятор сделан максимально глючным. Начинается вроде бы всё прекрасно, инсталлятор оборудован GUI, пользователю дают возможность выбрать необходимые компоненты из перечня, а также один из двух вариантов установки: поставить версию MinGW от 30 октября 2010 года или скачать самую последнюю версию MinGW из существующих. В любом случае придётся качать файлы с sourceforge.net, только в первом случае структура каталогов IDE создаётся в оффлайне, а во втором - для создания структуры каталогов тоже скачиваются XML-файлы. Так вот, вы не забыли ещё, что сайт Sourceforge в данный момент работает с перебоями? Быстренько вспоминайте - это оказалось ключевым моментом во всей истории. Сетевой инсталлятор MinGW не смог скачать часть файлов с sourceforge.net. Процесс скачивания отображался в текстовом окне какого-то терминала, где периодически появлялись сообщения об ошибках. После окончания скачивания окно закрывалось, а инсталлятор бодро рапортовал об успешной установке, не обращая внимания на ошибки. Ради интереса я проделал процедуру установки пять раз, каждый раз сохраняя результат в новую папку. Каждый раз ошибки скачивания вылазили в разные моменты установки и, как следствие, у все пять имели разный размер и разный набор файлов. Аплодисменты. Занавес.

На самом деле это далеко не первый и не последний раз, когда я пользуюсь сетевым инсталлятором. Но это на моей памяти первый раз, когда разработчики инсталлятора не предусмотрели проверку состояния программы после её скачивания установки. Если бы такое сделали, например, разработчики пропиетарной MMORPG, их бы буквально порвали в клочки пользователи. Если, конечно, издатель не сделает это первым. Но в мире GNU-того софта, естественно, царит Свобода. Не качается компонент - ну и хрен с ним, он же Свободный! А то, что полученный такими извращённым способом программный пакет гарантированно будет работать не полностью, абсолютно никого не волнует.

P.S. В принципе, мне были бы абсолютно параллельны глюки сетевого инсталлятора, но единственная альтернатива, которую я нашёл - это вышеупомянутая установка IDE вручную попакетно. Инсталлятора, который включает все компоненты MinGW и может устанавливаться в оффлайне, просто не существует.