Успех. Библиотека, собранная под linux загружается в freebsd и падает в ctype (т.к его реализация инлайновая и упирается в мой stub вместо нужной функции). Накатать реализацию ctype уж точно не сложно. Думаю, что если библиотека загрузится в linux и freebsd, в остальных bsd она точно будет работать.
Cybermax На предыдущей странице я выкладывал последний с криво собраным выделеным сервером, обновлений в мастер-ветке больше не было, ну я выложу тарбол с нормальной сборкой сервера и библиотеками модов сегодня чуть позже.
Добавлено 10-09-2016 в 13:36:
Cybermax вот http://rgho.st/65GCc4clC
Еще положил в dedicated - regamelite, а в valve - extras.pak.
mittorn писал: если я разыменованую как указатель фрейм функции - краш разве не ожидаемое поведение?
Если под виндой чего-то неработает, то люди сидят и подбирают такие версии, которые работают. И ЧСХ у них это всегда получается.
Хотя казалось бы - сплошные бинарники, выбор ограничен, что-то исправить вообще нельзя. В юниксе же наоборот - сплошные сорцы, которые можно собрать под конкретную систему и радоваться жизни. Идеальный подход?
На деле же сбор сорцев в юникс-подобных системах всегда обречен на крашы, вылеты и прочие глупости, всегда. Сборка простейшей библиотеки растягивается на долгие месяцы. Эта тема - наглядный тому пример.
7 страниц не могут портировать, постоянно что-то вылетает, крашится, падает, но народ уже давно привык не удивляется. И вы еще спрашивается почему я никсы не люблю и другим не советую. Это чисто серверная система, которую должен однажды настроить матёрый специалист и забыть про нее навсегда, чтобы она 40 лет отпахала в аптайме. Вот что такое юникс. Ну не заточен он для клиентских машин, хоть с гномами, хоть с кедами, хоть с чёртиком, хоть с пингвинчиком.
Т.к тут не совсем понятно, что я делаю - объясню.
Я пытаюсь сделать унифицированную сборку серверной либы, которая будет работать на linux и freebsd чтобы не приходилось под все эти ОС собирать моды отдельно. Будет в виде небольшого сишника и, возможно, хидера, которые можно будет подключить к моду при условии что он не тянет сторонних библиотек. Пока что у меня успешно прошла инициализация - тот этап, который надо было преодолеть. Т.е библиотека успешно загружается, обе ОС принимают заголовок и разрешают все релокации. Инициализация API сбоев не вызывает. Остальное ещё просто не сделано, потому краш, причём произошёл он именно в том месте, где уже ожидались проблемы - то есть на функции из ctype.
Дядя Миша писал: Ну не заточен он для клиентских машин, хоть с гномами, хоть с кедами, хоть с чёртиком, хоть с пингвинчиком.
Чем дольше пытаюсь разобраться в теме, тем сильнее убеждаюсь в правоте данного утверждении.
Цитата:
mittorn писал: Я пытаюсь сделать унифицированную сборку серверной либы, которая будет работать на linux и freebsd
Мне кажется, не стоит тратить время на это. Давать отдельную сборку - БДС, отдельную - Линукс.
Может быть я скажу крамольную вещь, но все же - не надо принуждать конечных пользователей ничего собирать. Игрок не должен быть специалистом, иметь набор программ и знаний для компиляции кода.
Я вот, что думаю. Подготовить тестовую сборку и использованием ресурсов из какого-нибудь пака, без контента от вальвы.
Дядя Миша
windows к слову сказать не заточен ни для каких. Может конечно кто-то с яблоком для клиентских заточен, но он сильно специфичен.
Линукс же заточен был году в 2010, потом всё было потрачено к сожалению. Если скачать дистр linux mint 2009-2010 года - там всё будет прекрасно, пока обновления не поставишь. То что сейчас в убунтах пользователям впаривают непригодно для использования.
Есть ещё такая специфичная штука как Gentoo - она может быть заточена под что угодно, но платой за это будет подробное изучение и затачивание всей системы в течение полугода
Всё легко, когда есть одна система, один компилятор, одна архитектура, одна нация, одна раса и один сценарий работы и даже порядок байтов. Я думаю, ты понял на что я намекаю.
Так год за годом продукт становится стабильнее и стабильнее. А как только шаг влево или вправо -- всё потеряно, шеф.
А ведь мы ещё не пробовали Ксаш запускать на чем-нибудь типа... старых маках с PowerPC. Или вообще MIPS, где как раз таки вышеупомянутые байты вообще в непривычном нам порядке идут. Девайсов просто таких нет.
Успех тут имелся ввиду как часть эксперимента. Ну а что, довольно интересно иметь один и тот же бинарник под Linux и FreeBSD. Хотя даже я мало понимаю зачем.
mittorn писал: windows к слову сказать не заточен ни для каких
На винде всё в принципе настраивается так, как хочется. ЧСХ без перекомпиляции.
Цитата:
mittorn писал: Линукс же заточен был году в 2010, потом всё было потрачено к сожалению.
Так вот задумайся, почему систему, родившуюся в 1991-м году сподобились заточить под юзера лишь в 2010-м и то, потом спохватившись откатили всё назад.
Добавлено 11-09-2016 в 17:01:
И еще. Стадартная отмазка "ты тупой и не разобрался в интерфейсе" - она для неудачников. Программа должна быть интуитивно понятна безо всякой документации в принципе. По крайней мере в базовых вещах. Т.е. если без мануала, с ней даже начать работать невозможно, то это говно, а не программа. Вы видели где-нибудь инструкцию к молотку или к отвертке?
Или скажем автомобиль может быть абсолютно любого производителя, но у вас есть железная уверенность, что мешалка, три педали и руль окажутся на тех же самых местах, а различия будут разве что в управлении потехой и печкой.
Дядя Миша про понятность интерфейса верно подмечено. Сейчас в линуксе к ней неправильнфй подход. От пользователя просто прячут все настройки и чтобы что-то поменять в том же gnome 3 или юнити даже мануалов не хватит. Придётся гуглить или даже читать исходники, попутно покрывая авторов трёхэтажным матом и накладывая Патч Бармина на систему.