-
Notifications
You must be signed in to change notification settings - Fork 260
libQt5Core.so.5 shared Library not found #2420
Comments
You can ignore this, not important.
This is indeed very strange. Couple questions:
|
Hi,
I pulled mumble from https://github.com/mumble-voip/mumble and followed the build process. Then I copied all files from the build folder (here are the executables located for mumble(client) and murmur(server))and put it into the Graphene Example folder. Then I copied the Makefile and the manifest.template from memcached and made the customization for murmur.
strace gives the following output for libQt5Core:
Yes, I try the direct mode, because my current machine is not SGX enabled... |
Everything looks very normal in the strace. The Can you set the log level in the Graphene debug output to |
I could find the libQt5Core.so.5 in both places /lib/x86_64-linux-gnu and in /usr/lib/x86_64-linux-gnu on my machine.
But it is not possible to register it to glibc?
--- Edit --- |
Heh, that's very interesting. The "good" strace has these lines:
The "bad" Graphene trace has these lines:
Note that But the good strace continues with However, the bad Graphene trace simply performs a So this brings me to the following suspicion: Graphene supplies by default Glibc version 2.33. I bet that your OS distro has another Glibc version. Typically it doesn't matter because Glibc implementations are almost 100% compatible with each other. But maybe libQt5Core expects a very particular version of Glibc? What is your OS distro? |
My OS is Ubuntu 20.04. To check the the GLIBC I have used ldd --version, which returns Should I try to upgrade glibc or to downgrade the Glibc version of Graphene? |
Try to downgrade the Glibc version used in Graphene to 2.31 (fortunately, we have it). Please re-build Graphene from scratch using environment variable It would be also good to google a bit about libQt5Core and its requirements. Maybe someone else hit this problem (independently of Graphene), and there is a solution to it? |
I changed the value in the LibOS/Makefile and did a make clean and make again.
Is it possible to double check the Graphene GLIBC version somehow? |
I guess the easiest would be something like: |
I didn't read through the rationale, but maybe try this: YosysHQ/nextpnr#375 (comment). No idea how this can be related to Graphene :) |
@dimakuv You are incredible. This did the trick :)
Now I run into the next issue, but I will first investigate and open a new ticket if I need support. |
Cool. So I found the real root cause analysis for this: microsoft/WSL#3023 (comment). Long story short: Glibc checks the kernel version using three methods (reading vDSO magic numbers, reading In Graphene, we probably don't have anything in our vDSO lib at all, we have some really old Linux version in Very interesting bug... |
We do have a note section in vDSO, currently with hardcoded version |
Should I reopen the ticket, so that you can deliver a fix for this issue? |
I've just checked and libQt5 from Ubuntu20.04 requires version 3.17.0 and we report 4.19.0 in our vdso... OTOH our Any volunteers for trying if updating that works? :) |
After checking it seems that we do not have that .note section in our vDSO. Seems like our recent Meson rewrite broke it. @woju please fix :) |
Created #2572 per Borys's last comments. This issue got too long, the original problem is solved (well, circumvented). |
By using the memcached example I want to run murmurd in Graphene. By running make, the manifest file for my binary is created. The loader.env looks like this:
loader.env.LD_LIBRARY_PATH = "/lib:{{ arch_libdir }}:/usr/lib:/usr/{{ arch_libdir }}
It's also mounted via:
The ldd command returns the following for murmurd:
I get the following output if I try to run murmur in Graphene with debug enabled:
You can see in the log that the other libraries are loaded correctly. Unfortunately, the libQt5Core don't and I don't have a idea what is wrong with this one. If I run murmur without Graphene it works fine. Do you have an idea what I'm doing wrong?
Thanks in advance.
The text was updated successfully, but these errors were encountered: