Status Update
Comments
rk...@google.com <rk...@google.com>
jo...@google.com <jo...@google.com> #2
Thanks for the report.
I've reproduced the same crash on my raspberry pi. I'll drop a local build of emulator here for you to try once I fix it.
ru...@gmail.com <ru...@gmail.com> #3
Thanks:)
ru...@gmail.com <ru...@gmail.com> #4
Could you maybe also clarify - the prebuilt Qt binaries in the prebuilts repo are just a stock Qt build or are the any patches to them? Just curious if this ever happens again, could I theoretically just build the same qt version from sources and use it, or is there more to it? I saw that the transition to qt 6.5.3 added the AndroidEmu suffixes for all dynamic libraries, so I assume there is at least that nuance.
jo...@google.com <jo...@google.com> #5
Re #4, it is a stock Qt build. You can see the configure arguments in external/qemu/.../qt.py
.
To build Qt, our buildbots run something like this:
./prebuilts/python/linux-x86/bin/python3 tools/buildSrc/servers/build_tools.py --out_dir <your-own-out-dir>/out-prebuilts --dist_dir <your-own-dist-dir>/dist/12345678 --build-id 12345678 --prebuilts
There is an argument in Qt's configure script to add that AndroidEmu
suffix (-qtlibinfix AndroidEmu
).
ru...@gmail.com <ru...@gmail.com> #6
Thank you very much for the clarification.
ru...@gmail.com <ru...@gmail.com> #7
I saw this change:
jo...@google.com <jo...@google.com> #8
We are currently working to update the Qt prebuilts for linux-aarch64. Hopefully will have something for you to try out within the next week.
ru...@gmail.com <ru...@gmail.com> #9
Thank you very much for the update.
ru...@gmail.com <ru...@gmail.com> #10
Hi, any news on qt 6.5.3 aarch64 update?
jo...@google.com <jo...@google.com> #11
Hi, I have a local emulator build with updated Qt6 prebuilts. Could you please try and let me know if it works? Thanks!
ru...@gmail.com <ru...@gmail.com> #12
I immediately get /lib/aarch64-linux-gnu/libc.so.6: version
GLIBC_2.36' not found (required by /home/appetizer/emulator/lib64/libstdc++.so.6)` - most likely this was compiled on a newer system? I am on ubuntu 22.04 which has glibc 2.35 but i can try upgrading to 22.10
jo...@google.com <jo...@google.com> #13
Hmm, I used a docker image based on ubuntu focal. The GLIBC version on it is 2.31. Maybe we are distributing a different libstdc++.so.6.
Could you try replacing the libstdc++.so.6 in /home/appetizer/emulator/lib64/
with the one in your sysroot (located probably in /lib/aarch64-linux-gnu
).
In the meantime, I'll update the emulator prebuilt.
ru...@gmail.com <ru...@gmail.com> #14
I was trying to validate what is going on in the background and yeah glibc 2.36 is pulled in by libstdc++:
./emulator: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.36' not found (required by /home/appetizer/emulator/./lib64/libstdc++.so.6)
libc.so.6 (GLIBC_2.36) => not found
The version from your build seemes to have GLIBCXX_3.4.42 macro, where as the last one I had laying around from ci.google.com had GLIBCXX_3.4.28. Ok, ill try to replace it with the sysrooted one.
ru...@gmail.com <ru...@gmail.com> #15
Replacing libstdc++ with the sysrooted one did work, emulator seems to be working, thank you very much - this is much snappier than the arhaic arm version I was using.
Btw when trying to shut it down via the power button on the side bar i got:
INFO | Warning: QMetaObject::connectSlotsByName: No matching signal for on_rgbcSensorValueWidget_valueChanged() ((null):0, (null))
INFO | Warning: QMetaObject::connectSlotsByName: No matching signal for on_posture_valueChanged(int) ((null):0, (null))
WARNING | UpdateCheck: Failure: Error
ERROR | Error reading vhal json
but well that is most likely a separate issue.
I'll be eagerly awaiting an official build, but the main problem seems to be solved - the window comes up and seems to work so seem that the qt prebuilts are ok:) Does this also then mean that all emulator 35.x releases (x86_64 as well) will have the libstdc++ version bump?
jo...@google.com <jo...@google.com> #16
Does this also then mean that all emulator 35.x releases (x86_64 as well) will have the libstdc++ version bump?
Only the linux-aarch64 target uses libstdc++
(all other targets ship with libc++
). Also, the libstdc++
version we ship will not change from the current 34.x and 35.x releases; my local build had a newer version of libstdc++
, but the buildbot used to build the release builds did not change.
ru...@gmail.com <ru...@gmail.com> #17
Thanks for the clarification - I double checked that myself today and yeah the latest aarch64 build from ci.android.com had older libstdc++ than your build. So everything seems great, thanks for the help here. Are the qt prebuilts merged in already?
jo...@google.com <jo...@google.com> #18
ru...@gmail.com <ru...@gmail.com> #19
Ok,thanks a lot:)
Description
DESCRIBE THE ISSUE IN DETAIL:
The latest linux-aarch64 emulators fromhttps://ci.android.com/ crash for me with the following output
and following stack trace:
while my own debug build from emu-master-dev seems to behave similarly, it actually gives some errors about missing xcb plugin:
and then also fails with SIGABRT:
Looking at this changeset (https://android-review.googlesource.com/c/platform/prebuilts/android-emulator-build/qt/+/2976235 ) does show that all those plugins were removed during the qt 6.5.3 prebuilts update so the crash seems logical. Thus i have the following questions:
STEPS TO REPRODUCE:
ATTACH SCREENSHOTS/RECORDINGS OF THE ISSUE
ATTACH LOG FILES (Select Help > Show Log in Files, or Show Log in Finder on a Mac)
IMPORTANT: Please readhttps://developer.android.com/studio/report-bugs.html carefully and supply
all required information.
Studio Build: Version of Gradle Plugin: Version of Gradle: Version of Java: OS: