Skip to content
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

qt5 patch ломает сборку на других архитектурах #3

Open
fedya opened this issue Aug 3, 2022 · 8 comments

Comments

@fedya
Copy link

fedya commented Aug 3, 2022

Попробовал применить патч для qt5
Ну и получаю ошибку сборки на aarch64

In file included from global/qt_pch.h:56:
../../include/QtCore/../../src/corelib/thread/qbasicatomic.h: In instantiation of 'class QBasicAtomicInteger<long int>':
../../include/QtCore/../../src/corelib/thread/qatomic.h:59:7:   required from 'class QAtomicInteger<long int>'
thread/qatomic.cpp:1754:1:   required from here
global/qglobal.h:121:63: error: static assertion failed: template parameter is an integral of a size not supported on this platform
  121 | #  define Q_STATIC_ASSERT_X(Condition, Message) static_assert(bool(Condition), Message)
@ilyakurdyukov
Copy link
Owner

ilyakurdyukov commented Aug 3, 2022

Да, в патче для пятого не все правки изолированы. В Альте я применяю патчи для Эльбруса только для сборки под Эльбрус (%ifarch %e2k). И хотя я стараюсь чтобы патчи не вредили другим архитектурам - это сделано не во всех патчах.

В данном случае, возможно из-за правок к этим файлам:

mkspecs/features/toolchain.prf
mkspecs/linux-icc/qmake.conf

Где я не знал как применить только для Эльбруса.

@fedya
Copy link
Author

fedya commented Aug 3, 2022

А можно показать патчи для альта?

@ilyakurdyukov
Copy link
Owner

Нет никаких специальных патчей для Альта, там файлы RPM spec с инструкциями для сборки пакетов, и в них я применяю патчи для Эльбруса только при сборке пакета под Эльбрус.

@fedya
Copy link
Author

fedya commented Aug 3, 2022

Да я знаю как это работает
Хочу увидеть
Patch2000: qtbase-e2k.patch
Patch1006: e2k-qt-5.15.patch

@ilyakurdyukov
Copy link
Owner

В общем репозитории сейчас чёрт знает что, какой-то пустой файл.

Для Эльбруса есть отдельный закрытый репозиторий, большинство пакетов берётся прямо из Альта, отдельные из него. Если содержат патчи от МЦСТ (которые они закрывают под НДА, если не выложены на их сайте), или версия для Эльбруса отстаёт, или пакет в Альте закрыт для @everybody, и из-за этого сложно его обновлять.

Конкретно qt5 сейчас там версии qt5-base-common-5.15.2-alt12 + этот патч, все пакеты qt5 обновлял не я, так как это сложный процесс, когда надо пересобрать много пакетов одновременно и в правильной последовательности. Я исправляю ошибки компиляции.

@ilyakurdyukov
Copy link
Owner

ilyakurdyukov commented Aug 3, 2022

Для этого патча также добавлены флаги компиляции:

%add_optflags -mno-sse4.2 -mno-avx

И эти опции для configure: -no-sse4.2 -no-avx -no-avx2

Мой патч там лежит под первым именем, а второй пустой.

Patch2000: qtbase-e2k.patch
Patch1006: e2k-qt-5.15.patch

И так как первого имени в открытом доступе нет, то возникает вопрос откуда вы о нём знаете.

@ilyakurdyukov
Copy link
Owner

ilyakurdyukov commented Aug 3, 2022

Ну да, утечки спеков через этот сайт: https://packages.altlinux.org/ru/sisyphus_e2k/srpms/qt5-base/specfiles/

P.S.: Уточнил что спеки из закрытого репозитория открыли сознательно.

@bircoph
Copy link

bircoph commented Aug 3, 2022

e2k-qt-5.15.patch и в закрытом репозитории пустой. Видимо, какой-то артефакт от прежних времён остался.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants