Skip to content

Conversation

@andiradulescu
Copy link
Collaborator

@andiradulescu andiradulescu commented Mar 11, 2025

This fixes the main ui crashing immediately on startup.

#0  0x0000000000000000 in ?? ()
#1  0x0000007fb1179500 in ?? () from /usr/lib/aarch64-linux-gnu/qt5/plugins/platforms/libqwayland-egl.so

The reason is checkinstall doesn't package all the files in compile-qtwayland5.sh corectly because of qmake, so I replaced it with dpkg-deb (which is also used in build-qt-deb.sh and build-libwayland-deb.sh).

I have no idea how it worked before. Since the qtwayland5 repo/branch we are using didn't change and neither the checkinstall version. Checking libqwayland-egl.so on AGNOS v11.10 the file was provided by qtwayland5 (correctly), so something changed recently.

The checkinstall errors were silent so this is why the build didn't fail:

Error copying ../../../../plugins/platforms/libqwayland-egl.so to /usr/lib/aarch64-linux-gnu/qt5/plugins/platforms/libqwayland-egl.so: Cannot create /usr/lib/aarch64-linux-gnu/qt5/plugins/platforms/libqwayland-egl.so for output
make[4]: [Makefile:611: install_target] Error 3 (ignored)

As for checkinstall in general, it doesn't have proper maintainers anymore and we should migrate from it. The proper replacement is what is used in #408 (but not so readable for our usecase). A simpler solution would be to use dpkg-deb and store the DEBIAN/control files separately (or use another tool to generate them - e.g. dh_make).

@adeebshihadeh
Copy link
Contributor

Thanks!

@adeebshihadeh adeebshihadeh merged commit 200228f into commaai:master Mar 11, 2025
2 checks passed
@andiradulescu
Copy link
Collaborator Author

Just checked the differences of libqwayland-egl.so between AGNOS with checkinstall and created with dpkg-deb and noticed that:

checkinstall is stripped / no debug info:

file /usr/lib/aarch64-linux-gnu/qt5/plugins/platforms/libqwayland-egl.so
/usr/lib/aarch64-linux-gnu/qt5/plugins/platforms/libqwayland-egl.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d31cfd58953f1a368f2f0002395ab691a632ba91, stripped

while the manually built one is not stripped / with debug_info:

file /usr/lib/aarch64-linux-gnu/qt5/plugins/platforms/libqwayland-egl.so
/usr/lib/aarch64-linux-gnu/qt5/plugins/platforms/libqwayland-egl.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7afed9e3c98f7b444f0bbd628c15e176d4f3939d, with debug_info, not stripped

Also the size is much bigger: Installed-Size: 96.8 MB vs Installed-Size: 8,770 kB.

I will see what's the easiest way to do this and submit another PR.

@andiradulescu andiradulescu deleted the compile-qtwayland5-no-checkinstall branch March 11, 2025 21:39
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

Successfully merging this pull request may close these issues.

2 participants