-
-
Notifications
You must be signed in to change notification settings - Fork 454
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
General Linux port discussion (Russian) #231
Comments
Приветствую. |
да, как раз на той странице и видел плашку об успешной сборке. спутал потому что ссылка на issues ведет сюда же. |
Расскажи пару слов про твой дистрибутив, какая версия SDL2 стоит, покажи вывод 2 команд: У меня вот такой вывод: И посмотри внимательно на вот это файл: |
Calculate Linux Desktop 17.12.2 LXQt (gentoo based) Если cmake .. отрабатывает без ошибок, значит зависимости для сборки удовлетворены? |
Странно. Версия SDL2 нормальная. Тогда посмотри, что система скажет на вот этот запрос: Вот что выдает у меня: И дальше проверь, стоит ли libsdl2-dev |
$ locate SDL_platform.h gentoo ориентирована на сборку из исходников. так что нет отдельных *-dev пакетов как в дебиане/убунту. |
Хорошо. Про Calculate Linux я ничего не знаю, поэтому просто ориентируюсь на ошибку из https://paste.ubuntu.com/p/2JJsVzzMZh/ - файл SDL_config.h содержит инклюд SDL_platform.h , но не видит его. Попробую поспрашивать у коллег-линуксоидов, но как-то странно выглядит. /usr/include/x86_64-pc-linux-gnu/SDL2/SDL_config.h:33:10: фатальная ошибка: SDL_platform.h: Нет такого файла или каталога UPD: попробуй сделать не просто make, а VERBOSE=1 make |
https://paste.ubuntu.com/p/rvMKF8VTgp/ |
У нас походу в xrMiscMath не прописаны SDL инклюды. Вечером постараюсь поправить |
Попробуй заменить содержимое файла src/utils/xrMiscMath/CMakeLists.txt на вот это: |
то место проехали, но затык на новом https://paste.ubuntu.com/p/jVnxT77DyV/ но тоже SDL2. |
Добавил сдл инклюды для OPCODE, перестяни. |
https://paste.ubuntu.com/p/8RFwMCbSJX/ |
Переделал поиск SDL, указал в зависимых проектах инклуды. Перед проверкой удали папку сборки и заново её создай, и выполни из нее cmake .. |
теперь все собралось. Лог где нибудь пишется? в терминале не хватило буфера на полный лог. |
Лог, который виден на экране вроде не пишется. Всегда можно сделать >> output.log |
если лог нужен, могу пересобрать. Посмотрел, кроме бинарника по папкам модулей раскиданы *.so файлы которые надо скопировать на свои места. |
Да нет, логов сборки полно. *.so файлы собираются и пока не перемещаются в нужную папку. Сначала хочется избавиться от ошибок сборки вроде: https://clbin.com/z9IEF |
когда собирал последний раз не удалял cryptopp. хотя возможно он где то в конфигах просто отключен уже был |
можно наверно тут про запуск продолжить. Игры пока нет, не нашел источник чистый без модов. |
Да, проблема известная, нужно будет на лету слеши править. И с папкой сохраненок что-то делать... |
как в моем случае, можно сохраненки назначить в папку игры, и в винде тоже должно работать. |
Не, это плохая идея, для любой из операционок. И в винде и в линуксе рекомендуется данные возникающие в процессе работы отдельно от бинарей хранить. В линуксе ещё и потому, что если игру опакетить, то у пользователя может не быть прав для сохранения в папку установки. |
так делают практически все портабл приложения. Не важно на какой системе их запустили, все настройки и данные на месте. или придумать префикс домашней директории, и обрабатывать его в зависимости от системы. Но может поломаться совместимость конфига между системами. |
Думаю не очень-то.
Я как раз собираюсь в виде пакетов через ppa распространять. Среди пользователей linux не так уж много людей способны собрать игру сами.
Уже в текущем варианте можно либо указать расположение fgame.ltx через командную строку, либо запустить бинарь из папки с этим файлом. Также думаю над вариантом автоматического поиска этого файла через mlocate на линуксе и WindowsSearch на винде. Для владельцев игры в Steam напишу скрипт для steamcmd для получения ресурсов напрямую из стима |
Сомнительная идея насчёт переносимого пакета.. Прав на игру у нас нет: возьмёт GSC да как даст нам по башке... |
Кстати, если искать fsgame.ltx поиском, то он может не тот файл найти, ибо их может быть несколько. |
Ну тут уже пользователю можно диалог с выбором показать. |
обычно портированные бинарники просто копируются рядом с родными. И с путями ничего мудрить не надо |
Тогда, да, хорошо. Я думаю сделать лучше так:
|
Да. |
как тогда обновить подмодули пачкой? мне подсказали что забыли сделать что то типа git rm или mv. Но я точно не знаю. |
А не надо второй раз вызывать |
хорошо. Git pull обновляет только этот проект. Как обновить связанные подмодули? |
Ты их уже обновил же |
Вообще, у меня есть предположения, что эти ошибки возникают из-за того, что я сделал force push в эти подмодули, в результате чего, некоторые коммиты затёрлись.. Если изменения есть, то |
нет, у меня на собственные правки кода знаний не хватает. |
https://paste.ubuntu.com/p/n4pQHdz3Yj/ |
Угу, отлично. Работаем дальше. |
https://paste.ubuntu.com/p/2Fpvpvcjp9/ |
Тоже самое получаю. |
Да, я знаю о проблеме. Косяк в том, что realpath() почему-то в данной части выдает относительный путь вместо абсолютного, пока не разобрался почему. Ещё сломал виндовую сборку, так как убрал приведение к нижнему регистру, перестали грузиться шейдеры из архивов, нужно добавить приведение только для архивов. |
ура, большой прогресс, уже читаем user.ltx если файла нет |
Обновил систему. При обновлении были удалены "ненужные пакеты". После cmake стал ругаться что не хватает библиотек. Установил. сборка почти в самом конце прерывается ошибкой. |
Похоже на кривой билд luajit. Попробуй удалить папку сборки и заново запустить cmake. |
я всегда чищу bin потом cmake .. и make странно, пересобрал нормально. |
Закрываю по двум причинам:
Присоединяйтесь к нашему Discord-серверу: https://discord.gg/sjRMQwv |
Буквально несколько дней назад, когда узнал о проекте в ридми была отметка что на линуксе собирается. Обновил гит и модули сегодня, получил ошибку при сборке.
https://paste.ubuntu.com/p/TMTsGmMDHD/ лог
The text was updated successfully, but these errors were encountered: