Closed ar664 closed 2 years ago
Current context of build failure:
In file included from ../../corelib/kernel/qsharedmemory.cpp:41:
../../corelib/kernel/qsharedmemory_p.h:76:12: fatal error: 'sys/sem.h' file not found
# include <sys/sem.h>
^~~~~~~~~~~
1 error generated.
I suggest including the following patch named src-corelib-kernel-qsharedmemory_p.h.patch
:
--- a/src/corelib/kernel/qsharedmemory_p.h
+++ b/src/corelib/kernel/qsharedmemory_p.h
@@ -72,7 +72,7 @@
# include "private/qobject_p.h"
#endif
-#if !defined(Q_OS_WIN) && !defined(Q_OS_ANDROID) && !defined(Q_OS_INTEGRITY) && !defined(Q_OS_RTEMS)
+#if !defined(Q_OS_WIN) && !defined(Q_OS_ANDROID) && !defined(__ANDROID__) && !defined(Q_OS_INTEGRITY) && !defined(Q_OS_RTEMS)
# include <sys/sem.h>
#endif
Ummm. I think the build failure was due to internet connectivity?
It was due to outdated submodule. Should be fixed now. Please rebase.
π―It built. Did I do everything correct?
@ar664 looks good to me, nice work!
Could you squash the commits, and/or start the commit message(s) with a prefix like:
qt5-qt5base:
(I would squash into a single commit with message qt5-qt5base: update to 5.15.3
)
Ok, I'll fix the typo I made as well in build.sh
@ar664 You need to rebuild all the apps that work with Qt5...
@Yisus7u7 Is it needed for just a minor bump without SOVERSION change? Yeah, there could be hidden API breakage, but we need evidence for that.
@ar664 You need to rebuild all the apps that work with Qt5...
You got a list? π
https://wiki.qt.io/Qt-Version-Compatibility says
Minor releases are backwards binary and source compatible.
I do not believe we have to rebuild reverse dependencies.
I wonder if other
qt5-*
s do not need to bump simultaneously:
qt5-qtdeclarative
qt5-qtlocation
qt5-qtmultimedia
qt5-qtquickcontrols
qt5-qtquickcontrols2
qt5-qtsensors
qt5-qtsvg
qt5-qttools
qt5-qtwebchannel
qt5-qtwebsockets
qt5-qtx11extras
qt5-qtxmlpatterns
I'll try it
@xtkoba If we will need to rebuild the apps written in Qt.
@xtkoba I'll start working on the build confs. @Yisus7u7 Guess we gotta do all the qt5-* at once.
@xtkoba I'll start working on the build confs. @Yisus7u7 Guess we gotta do all the qt5-* at once.
Yes.
After that, you have to rebuild the apps.
Pd: I think it is not necessary to update the qt5-* packages, you just have to rebuild them.
I'm having problems with qt5-qtdeclarative. Maybe something to do with YarrJIT, a 3rd party library. Idk where the documentation for qtdeclarative building is.
Current context of build failure in qt5-qtdeclarative
:
/home/builder/.termux-build/qt5-qtdeclarative/src/bin/qmltyperegistrar --generate-qmltypes=plugins.qmltypes --import-name=QtQml --major-version=2 --minor-version=15 --foreign-types=/data/data/com.termux/files/usr/lib/metatypes/qt5network_metatypes.json,/data/data/com.termux/files/usr/lib/metatypes/qt5core_metatypes.json --dependencies=/home/builder/.termux-build/qt5-qtdeclarative/src/src/qml/dependencies.json --private-includes -o qt5qml_qmltyperegistrations.cpp qt5qml_metatypes.json
/home/builder/.termux-build/qt5-qtdeclarative/src/bin/qmltyperegistrar: 1: cannot open ]^E: No such file
The build system is trying to execute qmltyperegistrar
binary built for Android target, which fails of course for cross building.
I wonder if it is just that qmltyperegistrar
needs to be added in "Qt Declarative utilities":
I wonder if it is just that
qmltyperegistrar
needs to be added in "Qt Declarative utilities":Well let's see. After I rebase and stuff.
The build checks are only there during the ready for review stage. Is it possible for a sample x86_64 build to be done in the draft stage? So we could waste less resources and use the draft feature.
I'm trying to build on my phone, but I get this error:
> aarch64-linux-android-clang++ -landroid-shmem -L/data/data/com.termux/files/usr/lib -fopenmp -static-openmp -Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z,relro,-z,now -o arch arch.o -L/data/data/com.termux/files/usr/lib
Detected architecture: arm64 (neon)
test config.qtbase.tests.architecture gave result arm64
executing config test host_architecture
+ cd /data/data/com.termux/files/home/.termux-build/qt5-qtbase/src/config.tests/arch && /data/data/com.termux/files/home/.termux-build/qt5-qtbase/src/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" -early "CONFIG += cross_compile" /data/data/com.termux/files/home/.termux-build/qt5-qtbase/src/config.tests/arch/arch_host.pro
> Project ERROR: failed to parse default search paths from compiler output
Yeah on device building can have its own difficulties.
@ar664 And if we update only to qt5-qtbase?, and then we are updating little by little the other modules.
I don't know if you can, but qt5-qtbase is the most important package to upgrade
@ar664 And if we update only to qt5-qtbase?, and then we are updating little by little the other modules.
I don't know if you can, but qt5-qtbase is the most important package to upgrade
So disable the other packages in the mean time? Because I thought there would be significant changes in api between Major versions.
@ar664 And if we update only to qt5-qtbase?, and then we are updating little by little the other modules. I don't know if you can, but qt5-qtbase is the most important package to upgrade
So disable the other packages in the mean time? Because I thought there would be significant changes in api between Major versions.
Must try
Ask the maintainer if it is allowed to update partially, if you are going to do so. I cannot decide it on my own.
Ask the maintainer if it is allowed to update partially, if you are going to do so. I cannot decide it on my own.
@librehat
Please include https://github.com/termux/x11-packages/pull/643/commits/9876486b57e5a0fd8b24acb442ffecbc65c372dd into the PR. This should fix the build of qt5-qtdeclarative
.
Unfortunately all Qt submodules must be updated at once (and then all the Qt applications need to be rebuilt) Thanks for your efforts on this. I haven't had time checking this myself. I wrote down this post when I was porting Qt 5.12: https://www.librehat.com/building-qt-for-termux-android/ and it might be helpful if you encounter some issues.
Good luck!
Also include these changes:
OK, it builds. Then you should inspect the artifacts to see if anything is wrong with the contents.
I have already found some flaws in them. Will list patches later.
OK, it builds. Then you should inspect the artifacts to see if anything is wrong with the contents.
I have already found some flaws in them. Will list patches later.
Should I rebase now or wait for patches?
OK, it builds. Then you should inspect the artifacts to see if anything is wrong with the contents.
I have already found some flaws in them. Will list patches later.
I think it's already possible to merge the changes, right?
At your service.
For reference, here are the patches:
Note that they are not yet tested. It may fix the flaws or may break something.
Tests are always welcome. Thanks.
Are there any other packages that need to be rebuilt?
If there is any, then it should be rebuilt in another PR.
I believe this PR is almost ready to merge. Please cleanup the commits. I suppose it is OK to squash them into one.
Ok, π€
@xtkoba @ar664
I compiled all lxqt smoothly, you can merge the changes.
I will take care of the update of lxqt
This is what I have so far in terms of updating qt5. Any help would be appreciated.