wizzard: (Default)
[personal profile] wizzard

этот ваш опенсорц искренне охуенен.

версия Х. one-click installer. сервер, клиент, ляпота.

версия Х+1. бинарников под винду нет, инструкций сборки тоже, патчи пестрят херней, которая убивает надежды построить тулчейн и собрать самому (на цигвине тулчейн не взлетает, а линуховая версия собирать виндовые бинарники не могетъ), “офисиальные саппортеры” собирают какие-то ебанутые билды, из которых выкинуты требуемые фичи, потому что им неинтересно их саппортить, заместо этого засунута куча блоатваре. ну я уже молчу о том что клиент крашается при запуске, сервер зачем-то ставит яву и радостно ругается на отсутствие эклипса (на сервере! нахуя?!)

при этом бинарники предыдущих версий выпилены нахуй с сайта и всех зеркал, да. “потому что сервер содержал известные уязвимости и вообще все юзают только последние версии”

желающие могут догадаться, что это за софт такой, сами.

а еще vpn сервер, особенно если все остальные коммуникации заведены через него – это неебической величины single point of failure, что я успешно сейчас и наблюдаю. а дедлайн приближается.

Date: 2010-08-19 08:25 pm (UTC)
From: [identity profile] faceted-jacinth.livejournal.com
Хаха.

Поделюсь наболевшим: ебался тут сегодня с утра, вчера весь день и позавчера вечером с GNU Make.

Это какой-то пиздец, сделанный любителями ебаться стоя в гамаке, оказывается! То есть он таким выглядел на первый взгляд тоже, конечно, но потом если не особо выёбываться, то вроде можно делать то, что нужно, и даже не особо геморойно. А если вдруг выебнуться...

Оказывается, target specific assignments (типа, "some-module.dll: LFLAGS += /DEFAULTLIB:libsomething.lib") автоматически наследуются в пререквезиты. Почему? Кто это придумал? Как это можно было придумать вообще? Они аргументируют каким-то тупняком: типа что так можно сделать таргет debug и, эм, добавить там что-нибудь в CFLAGS и продепендиться на all. Что именно добавить, чтобы прооверрайдить -O3, не говорят, понятно.

Короче, полный долбоебизм, который кто-то придумал потому что ну прикольно же, что вот такое наследование, а что оно на самом деле никому не нужно, а нужно прямо обратное, его не ебло. Минус пара часов, потому что я не на той волне и сначала перепроверяю себя, когда либина, на которую депендится всё остальное, отказывается компилиться, потому что её ещё нет.

Далее, онлайновый ман как бы говорит, что йо чувак, специально для хочущих странного есть модифаер private. Типа "some-module.dll: private LFLAGS += /LIB:libsomething.lib". Только в отличие от питонистов, этим чувакам не с руки указывать, что этот модифаер появился в версии от 2009 года, а в двух предыдущих версиях (от 2005 и 2002 года) его нет. А какие смешные ошибки они выдают в результате! Типа, двоеточие например парсится как часть статик правила.

Теперь самый пиздец -- в процессе этого всего я переставил цигвин и внезапно у меня вообще всё перестало компилиться, не находит вообще никаких библиотек типа. Ну, думаю, какая-то хуйня произошла. Вхуячиваю команду set в recipe. И прикинь. То есть просто представь. Вот выдаётся список переменных окружения. Все, совершенно все, в полном порядке. Кроме lib, который какая-то сука перезаписала именем конпелируемого таргета. Просто представь, как это выглядит после дня ёбли. ОНО МЕНЯ НЕНАВИДИТ! ОНО СПЕЦИАЛЬНО ПОДЪЯБЫВАЕТ!

Что оказалось: говномейк автоматически добавляет все определённые переменные окружения как переменные и запоминает, что они были переменными окружения. И при вызове сабшеллов подставляет текущие значения всех таких переменных, даже если их вдруг переопределили неизвестно где. Молча. Ну и вот, в какой-то момент моя рука дрогнула и сделала LIB lowercase, в виндовых переменных. Цигвин кэпчурит виндовые переменные при инсталляции, поэтому очень долго было всё ОК, пока его не апгрейднул. Какой-то пидарас решил что бля всем же влом написать $@ для таргета, и завёл мнемонику lib=$@ где-то во множестве инклюдов билд-системы. Мой моск оказался жестоко изнасилованным, with a vengeance.

Ненавижу красноглазных уёбков, которые пишут говно, в котором изменение чего-то хз где производит последствия хз где! И где чтобы понять, что произошло, надобно прочитать мануаль два раза, и всё равно, пока сам не наебнёшься, не поймёшь всю апокалиптичность последствий мимоходом указанного заёба!

Date: 2010-08-19 11:13 pm (UTC)
From: [identity profile] antonix.livejournal.com
Товарышъ вы, наверное совершенно забыли или никогда не знали сакральные принципы линукса. А ведь на них построен почти весь современный опенсорс. Принципов всего два и они очень просты.
1. Если мне хорошо - значит всем хорошо. (или А у меня локально всё работает)
2. Не нравится не ешь. (или Если у тебя что-то не работает - это твои проблемы)

Ну это новые принципы, раньше там была какая-то лабуда непонятная, про файл и Every thing designed for single purpose but it do this purpose well. Но, то был не линукс а юникс, и вообще то всё было давно и неправда. А сейчас новое время и соответственно новые принцыпы...

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 15th, 2025 07:03 am
Powered by Dreamwidth Studios