meson адское НЕ НУЖНОЕ говно..
От: reversecode google
Дата: 22.11.23 08:57
Оценка: 2 (2) :))
по аналогии https://rsdn.org/forum/tools/7935638
Автор: imh0
Дата: 26.01.21


несколько недель назад
потребовалось сбилдить под вин7 прогу которая использует только meson
тяну месон
запускаю
не пашен питон, гуглю, оказывается питон скакойто там версии не поддерживается на вин7
черт

ладно, ищу месон который использует тот питон который еще поддерживался на вин7
благо дело это недалеко, годик так 2021/22
тяну запускаю
месон проекта не поддерживает старый месон
плять
даунгрейжу проект под этот старый месон
опять хрень, не видит компилей под виндой

гуглим оказывается какойто конфиг файлик нужен и в строке запуска указываем типа cross-file или в таком духе
создаю файлик
прописываю все пути до своих компилей и линкеров
запускаю
и нихрена
месон в упор не видит ничего из файла
трачу больше часа гугления где у всех таже проблема и без решения
ладно
тяну сорсы месона той версии с которой играюсь
вставляю всякие трейс выхлопы и пытаюсь найти на чем стопориться
оказывается эти ебланы в месоне зачем то придумали два ини файлика
cross-file и native-file
во всех статьях итд в гугле все ударение на cross-file
на самом деле нахрен оно надо логически нельзя понять
единственное различие в них это в cross-file указывается две секции host и target машин
тогда как в native-file только одна
ладно, кажется разобрался, указываем native-file
запускаю и получаю кучу ошибок во всяких тест конфиругациях проверки всяких разрядностей типов данных
оказывается cl.exe не подходит ключики не те
ладно
у меня есть много клангов
берем прописываем в ини clang.exe
запускаю и вроде даже доходит до создания ninja буилд файла
пытаюсь сбилдить
доходит до промежуточного линкера и ошибка
месон линкует с -lkernel32 вместо просто kernel32.lib
лезу с сорсы месона
оказывается эта хрень не может понять что собирают под виндой
считая что clang только на линуксе может быть

да задолбало
ставлю clang-cl.exe
все разваливается опять на тест конфигурациях
ключики комиляции какие то не подходят
и эти ключики почему то пихает сам месон
может в новом месоне это пофиксили ?

последний шанс месону
тяну последний месон
пытаюсь запустить на старом питоне
он даже запустился
но оказывается формат ини файлов изменился
дайте мне кувалду я схожу к разработчикам месона..
правлю ини файл
запускаю месон
ERROR: Unhandled python OSError. This is probably not a Meson bug, but an issue with your build environment.

ебланы тупые а не разработчики

создаю CMakeLists.txt
add_executable + десяток строчек
запускаю cmake
вуаля все сбилдилось

ps на месон потрачено около 7 часов
все это время крутился биткон клиент который гонял диск на IO
тупил месон с запусками сказочно
вообщем питон и скорость не совместимы
Re: meson адское НЕ НУЖНОЕ говно..
От: vsb Казахстан  
Дата: 22.11.23 09:05
Оценка:
Cmake не понимаю, генерит там кучу makefile-ов, зачем, почему. Почему сам сразу не билдит. Какой-то GUI доморощенный присобачили. Тоже шляпа. Уходи с C++ на Rust, там всё по уму сделан.
Re: meson адское НЕ НУЖНОЕ говно..
От: pagid_ Россия  
Дата: 22.11.23 09:49
Оценка: +3 -3
Не знаю что такое месон, но история уже издалека попахивает unix-way'ем
Re: meson адское НЕ НУЖНОЕ говно..
От: kov_serg Россия  
Дата: 22.11.23 10:00
Оценка: +2
Здравствуйте, reversecode, Вы писали:

R>по аналогии https://rsdn.org/forum/tools/7935638
Автор: imh0
Дата: 26.01.21


R>несколько недель назад

R>потребовалось сбилдить под вин7 прогу которая использует только meson
R>тяну месон
R>запускаю
R>не пашен питон, гуглю, оказывается питон скакойто там версии не поддерживается на вин7
R>черт

Дальше неверная траектория. Если хочется идти против течения, надо быть готовым к затратам. Надо было просто взять виртуалку с win11 и собрать в ней.

ps: добро пожаловать в реальность, дальше будет только хуже.
Re[2]: meson адское НЕ НУЖНОЕ говно..
От: Shmj Ниоткуда  
Дата: 22.11.23 10:09
Оценка: -1
Здравствуйте, vsb, Вы писали:

vsb>Cmake не понимаю, генерит там кучу makefile-ов, зачем, почему. Почему сам сразу не билдит. Какой-то GUI доморощенный присобачили. Тоже шляпа. Уходи с C++ на Rust, там всё по уму сделан.


На Rust даже нет ни одной GUI-платформы под десктоп и/или моб. Ну вообще нету

Это чисто хоббийный язык.
Re[2]: meson адское НЕ НУЖНОЕ говно..
От: Skorodum Россия  
Дата: 22.11.23 11:28
Оценка: 1 (1) +3
Здравствуйте, vsb, Вы писали:

vsb>Cmake не понимаю, генерит там кучу makefile-ов, зачем, почему. Почему сам сразу не билдит.

Потому что CMake это кроссплатформенный генератор makefile'ов.

vsb>Какой-то GUI доморощенный присобачили.

Это опционально, и я бы сказал, что любой GUI только вредит в случае сборки проектов.

vsb>Тоже шляпа. Уходи с C++ на Rust, там всё по уму сделан.

CMake — худшее, что могло случится с С++: в принципе работает и стало де-факто стандартом, но все через одно место.
cmake
Re[2]: meson адское НЕ НУЖНОЕ говно..
От: Skorodum Россия  
Дата: 22.11.23 11:30
Оценка: +1
Здравствуйте, pagid_, Вы писали:

_>Не знаю что такое месон, но история уже издалека попахивает unix-way'ем

Не, unix-way это autotools и ./configure && make && make install, или ручками написанные make файлы. Работает бысто и железобетонно, но не кроссплатформенно.
Re: meson адское НЕ НУЖНОЕ говно..
От: Michael7 Россия  
Дата: 22.11.23 12:12
Оценка: +3 :)
Здравствуйте, reversecode, Вы писали:

R>не пашен питон, гуглю, оказывается питон скакойто там версии не поддерживается на вин7

R>черт

Я когда вижу, что важная программа на питоне написана, у меня слегка глаз дергается
Это значит, что готовьтесь к приключениям, если хоть чуточку что-то не стандартное захотелось.
Да и стандартное нередко тоже.
Re: meson адское НЕ НУЖНОЕ говно..
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 22.11.23 12:49
Оценка:
Здравствуйте, reversecode, Вы писали:

R>потребовалось сбилдить под вин7 прогу которая использует только meson

Все соевые системы сборки написаны под MAC и Unix-like системы изначально поэтому оно не будет нормально работать в винде, адекватно переноситься в с платформы на платформу, нормально кроскомпилить, работать с 100500 компиляторами или делать что-то ещё. Сейчас есть только cmake который хоть и сложный, но уверенно работает и на нём можно решать какие-то задачи может и с приседаниями, но он будут работать.
Sic luceat lux!
Re[3]: meson адское НЕ НУЖНОЕ говно..
От: pagid_ Россия  
Дата: 22.11.23 13:26
Оценка: +1 -2 :))
Здравствуйте, Skorodum, Вы писали:

S>Не, unix-way это autotools и ./configure && make && make install, или ручками написанные make файлы. Работает бысто и железобетонно, но не кроссплатформенно.

unix-way это когда для того чтобы что-то (причем часто размером в несколько килобайт) заработало нужно обновить несколько десятков пакетов, обновить/установить пару- тройку компиляторов/интепретпторов, обновить ядро, сломать при этом что-то уже работающее.
Если на своих линуксах пусть сношаются с этим как хотят, то при переносе подобных поделий на винду работать с ними нестерпимо больно. Потому обхожу подобное за километры.
Re[4]: meson адское НЕ НУЖНОЕ говно..
От: Skorodum Россия  
Дата: 22.11.23 14:01
Оценка:
Здравствуйте, pagid_, Вы писали:

_>unix-way это когда для того чтобы что-то (причем часто размером в несколько килобайт) заработало нужно обновить несколько десятков пакетов, обновить/установить пару- тройку компиляторов/интепретпторов, обновить ядро, сломать при этом что-то уже работающее.

Это ты про автоматические неотключаемые обновления винды сейчас или у тебя есть другой пример?
Re[5]: meson адское НЕ НУЖНОЕ говно..
От: pagid_ Россия  
Дата: 22.11.23 14:07
Оценка: :)
Здравствуйте, Skorodum, Вы писали:

S>Это ты про автоматические неотключаемые обновления винды сейчас или у тебя есть другой пример?

Не про обновления. Но если тебе интересно могу и про них. В них важно то, что хоть их разрешай, хоть запрещай, если хочешь и можешь, работоспособность винды и всех программ для неё писанных не нарушается. В отличие от поделий линуксоидов.
Re[2]: meson адское НЕ НУЖНОЕ говно..
От: reversecode google
Дата: 22.11.23 14:29
Оценка:
win11 не поможет
у месона ошибка в днк
Re[2]: meson адское НЕ НУЖНОЕ говно..
От: reversecode google
Дата: 22.11.23 14:32
Оценка: +1
не ну тот же gstreamer итд в месон файлах его прописаны проверки а вдруг под msvc собирается
то тогда некоторые нюансы пропустить/добавить

так что под винду оно то расчитано
но как то кособоко получается по итогу
Re[2]: meson адское НЕ НУЖНОЕ говно..
От: reversecode google
Дата: 22.11.23 14:48
Оценка:
)) раст хелов вордл не может сбилдть чтобы не вытянуть 500мег с интернета, уже рассказывал

нельзя не генерировать кучу мейк файлов потому что там сложный граф зависимостей
что бы перекомпилить нужный файл в случае изменения хидеров или самих c/cpp файлов
Re[3]: meson адское НЕ НУЖНОЕ говно..
От: kov_serg Россия  
Дата: 22.11.23 18:32
Оценка: +1
Здравствуйте, reversecode, Вы писали:

R>win11 не поможет

R>у месона ошибка в днк
Хз в докере вроде собирал, но под линухом.
Вообще этот цирк с клоунами, уже не радует. Чем дальше тем больше кросплатворменных инструментов которые нихрена не кроссплатформенные.
Re[4]: meson адское НЕ НУЖНОЕ говно..
От: reversecode google
Дата: 22.11.23 18:42
Оценка: 1 (1)
дык я почти уверен что я бы собрал под виндой с mingw
поскольку там все +- компиль опции прошли бы
вся беда что месон позицируется как кросплатформенный
но не срослось

к чему этот месон вспомнил
увидел в одной из тем на лоре
что мол месон наше все

под линукс да
наверное он всегда срабатывает

cmake вполне себе кросплатформенный в моих кейсах
предположу что где то с ним тяжело
но пока не столкнулся
народ на лоре приводил кейс где с cmake слишком сложно получается
если найду, оставлю в теме ссылку
Re[5]: meson адское НЕ НУЖНОЕ говно..
От: reversecode google
Дата: 22.11.23 18:57
Оценка:
R>народ на лоре приводил кейс где с cmake слишком сложно получается
R>если найду, оставлю в теме ссылку

https://www.linux.org.ru/forum/development/17369382?cid=17373222
конечно такое себе усложнения
глазами андроид билдеров
файл просто переименовывается с расширением
https://issuetracker.google.com/issues/62264618

In Android.mk you can define individual files to be compiled in ARM mode by adding a '.arm' suffix to the file path:
LOCAL_SRC_FILES := foo.c bar.c.arm

See LOCAL_ARM_MODE in https://developer.android.com/ndk/guides/android_mk.html#mdv

I could not find a way to do this in a cmake file.

а в cmake

# SDL_spinlock.c Needs to be compiled in ARM mode.
# There seems to be no better way currently to set the ARM mode.
# see: https://issuetracker.google.com/issues/62264618
# Another option would be to set ARM mode to all compiled files
cmake_push_check_state()
string(APPEND CMAKE_REQUIRED_FLAGS " -Werror=unused-command-line-argument")
check_c_compiler_flag(-marm HAVE_ARM_MODE)
cmake_pop_check_state()
if(HAVE_ARM_MODE)
set_property(SOURCE "${SDL3_SOURCE_DIR}/src/atomic/SDL_spinlock.c" APPEND_STRING PROPERTY COMPILE_FLAGS " -marm")
set_source_files_properties(src/atomic/SDL_spinlock.c PROPERTIES SKIP_PRECOMPILE_HEADERS 1)
endif()

Re: вин7 адское НЕ НУЖНОЕ говно.. (-)
От: GarryIV  
Дата: 22.11.23 23:27
Оценка: +1 -4
WBR, Igor Evgrafov
Re[3]: meson адское НЕ НУЖНОЕ говно..
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 23.11.23 10:02
Оценка:
S>На Rust даже нет ни одной GUI-платформы под десктоп и/или моб. Ну вообще нету

Целая операционка есть:
https://www.redox-os.org/

«Включает в себя графический интерфейс — Orbital»
Отредактировано 23.11.2023 10:40 Эйнсток Файр . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.