LINUX.ORG.RU

История изменений

Исправление mittorn, (текущая версия) :

wlroots постояно ломает API, потому я несколько раз пытался собирать на нём что-то год-два назад и всё ломалось. Причём были проблемы как неправильного количества аргументов функций при сборке, так и когда я собрал что-то и обновил wlroots, но уже установленныое собранное со старой версией ПО запускалось и где-то портило память из-за изменения количества аргументов. То есть wlroots всё ещё не готов и это не проблема дистра.
Касательно wxwidgets - он как 10 лет назад рассыпался, так и сейчас. Там правда уже не проблема ломки API. Пересборка той же весии wxwidgets другой версией компилятора ломает весь софт, который его использует. Причём он выдаёт runtime ошибку - то есть на стадии сборки это никак не определяется, просто запускаешь что-то собранное с wxwidgets и оно дёргает cxa_terminate.
Касательно же ломки API - я с этим сталкивался при сборке софта на wxwigdets в хомяке - там кучу свойств попереименовали где-то в 2016 году.

Так же есть (правда уже менее критичная) проблема практически со всем софтом, использующим STL в API.
Пересобрал библиотеку более новым/старым компилятором, у него std::string поменялся. Потом собираешь софт - он пыталется линковаться к функциям с другим std::string и не находит их.
Ну и при пересборке с gcc/clang тоже не находились какие-то зависимости. C++ API - зло и такие библиотеки надо бандлить. Rust сразу стал делать так, чтобы не ограничивать доступные для API типы - всё гарантированно собирается одним компилятором и не рассыпется.

Исправление mittorn, :

wlroots постояно ломает API, потому я несколько раз пытался собирать на нём что-то год-два назад и всё ломалось. Причём были проблемы как неправильного количества аргументов функций при сборке, так и когда я собрал что-то и обновил wlroots, но уже установленныое собранное со старой версией ПО запускалось и где-то портило память из-за изменения количества аргументов. То есть wlroots всё ещё не готов и это не проблема дистра.
Касательно wxwidgets - он как 10 лет назад рассыпался, так и сейчас. Там правда уже не проблема ломки API. Пересборка той же весии wxwidgets другой версией компилятора ломает весь софт, который его использует. Причём он выдаёт runtime ошибку - то есть на стадии сборки это никак не определяется, просто запускаешь что-то собранное с wxwidgets и оно дёргает cxa_terminate.
Касательно же ломки API - я с этим сталкивался при сборке софта на wxwigdets в хомяке - там кучу свойств попереименовали где-то в 2016 году.

Так же есть (правда уже менее критичная) проблема практически со всем софтом, использующим STL в API.
Пересобрал библиотеку более новым/старым компилятором, у него std::string поменялся. Потом собираешь софт - он пыталется линковаться к функциям с другим std::string и не находит их.
Ну и при пересборке с gcc/clang тоже не находились какие-то зависимости. C++ API - зло и библиотеки надо бандлить. Rust сразу стал делать так, чтобы не ограничивать доступные для API типы - всё гарантированно собирается одним компилятором и не рассыпется.

Исправление mittorn, :

wlroots постояно ломает API, потому я несколько раз пытался собирать на нём что-то год-два назад и всё ломалось. Причём были проблемы как неправильного количества аргументов функций при сборке, так и когда я собрал что-то и обновил wlroots, но уже установленныое собранное со старой версией ПО запускалось и где-то портило память из-за изменения количества функций. То есть wlroots всё ещё не готов и это не проблема дистра.
Касательно wxwidgets - он как 10 лет назад рассыпался, так и сейчас. Там правда уже не проблема ломки API. Пересборка той же весии wxwidgets другой версией компилятора ломает весь софт, который его использует. Причём он выдаёт runtime ошибку - то есть на стадии сборки это никак не определяется, просто запускаешь что-то собранное с wxwidgets и оно дёргает cxa_terminate.
Касательно же ломки API - я с этим сталкивался при сборке софта на wxwigdets в хомяке - там кучу свойств попереименовали где-то в 2016 году.

Так же есть (правда уже менее критичная) проблема практически со всем софтом, использующим STL в API.
Пересобрал библиотеку более новым/старым компилятором, у него std::string поменялся. Потом собираешь софт - он пыталется линковаться к функциям с другим std::string и не находит их.
Ну и при пересборке с gcc/clang тоже не находились какие-то зависимости. C++ API - зло и библиотеки надо бандлить. Rust сразу стал делать так, чтобы не ограничивать доступные для API типы - всё гарантированно собирается одним компилятором и не рассыпется.

Исходная версия mittorn, :

wlroots постояно ломает API, потому я несколько раз пытался собирать на нём что-то год-два назад и всё ломалось. Причём были проблемы как неправильного количества функций при сборке, так и когда я собрал что-то и обновил wlroots, но уже установленныое собранное со старой версией ПО запускалось и где-то портило память из-за изменения количества функций. То есть wlroots всё ещё не готов и это не проблема дистра.
Касательно wxwidgets - он как 10 лет назад рассыпался, так и сейчас. Там правда уже не проблема ломки API. Пересборка той же весии wxwidgets другой версией компилятора ломает весь софт, который его использует. Причём он выдаёт runtime ошибку - то есть на стадии сборки это никак не определяется, просто запускаешь что-то собранное с wxwidgets и оно дёргает cxa_terminate.
Касательно же ломки API - я с этим сталкивался при сборке софта на wxwigdets в хомяке - там кучу свойств попереименовали где-то в 2016 году.

Так же есть (правда уже менее критичная) проблема практически со всем софтом, использующим STL в API.
Пересобрал библиотеку более новым/старым компилятором, у него std::string поменялся. Потом собираешь софт - он пыталется линковаться к функциям с другим std::string и не находит их.
Ну и при пересборке с gcc/clang тоже не находились какие-то зависимости. C++ API - зло и библиотеки надо бандлить. Rust сразу стал делать так, чтобы не ограничивать доступные для API типы - всё гарантированно собирается одним компилятором и не рассыпется.