From: Carlos O'Donell <carlos@redhat.com>
To: "Krzysztof Żelechowski" <krzysztof.zelechowski@prospeo.com.pl>,
libc-help <libc-help@sourceware.org>
Subject: Re: My dynamic loader refuses to load libQt5Core because of the ABI tag note
Date: Thu, 7 Oct 2021 15:14:48 -0400 [thread overview]
Message-ID: <cdbd0ae0-aa03-65bb-6c6f-b5e1199d31ee@redhat.com> (raw)
In-Reply-To: <DBAPR08MB5669FB2ED1BAEFE78D664497D7B19@DBAPR08MB5669.eurprd08.prod.outlook.com>
Second time around, forgot to TO libc-help.
On 10/7/21 14:47, Krzysztof Żelechowski via Libc-help wrote:
> /usr/lib/YaST2/bin/y2controlcenter
> /usr/lib/YaST2/bin/y2controlcenter: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
This kind of question needs to be raised with the distribution maintainer since they
are responsible for providing the libraries required to run core applications (usually
OpenSUSE or SUSE) like YaST.
What does 'readelf -a -W /usr/lib/YaST2/bin/y2controlcenter' return?
Alternatively run with:
LD_DEBUG_OUTPUT=/tmp/y2cc LD_DEBUG=all /usr/lib/YaST2/bin/y2controlcenter
Then you'll find /tmp/y2cc.$PID with the details from the dynamic loader operations
that were taken to try find the DSO. This should give you further information to
try track down what is broken or missing (is there a DT_RPATH, or DT_RUNPATH, or other
that is getting in the way).
> uname -r
> 4.4.0-19041-Microsoft
This looks like WSL2 running a specific Microsoft Linux kernel.
> ldd /usr/lib64/libQt5Widgets.so.5
> libQt5Core.so.5 => not found
> /usr/lib64/libQt5Core.so.5
> This is the QtCore library version Qt 5.12.7 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 7.5.0)
> Copyright (C) 2016 The Qt Company Ltd.
> Contact: http://www.qt.io/licensing/
>
> Installation prefix: /usr
> Library path: lib64
> Include path: include/qt5
> Processor features: sse2[required] sse3 ssse3 fma sse4.1 sse4.2 movbe popcnt aes avx f16c rdrnd bmi avx2 bmi2 rdseed sha
> readelf -n /usr/lib64/libQt5Core.so.5
> Displaying notes found in: .note.ABI-tag
> Owner Data size Description
> GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)
> OS: Linux, ABI: 3.17.0
That's OK, this just means you need a Linux Kernel 3.17.0 to run and you have that.
The only possible problem is if the kernel exposes a vDSO with a Linux note that has
an *old* version in it. You can dump the vDSO with gdb and examine it.
Likewise uname() might return something odd. I haven't tested. You could check with
a small program what uname() returns?
What does `cat /proc/sys/kernel/osrelease` print?
> objcopy -R .note.ABI-tag /usr/lib64/libQt5Core.so.5 /tmp/libQt5Core.so.5
> LD_LIBRARY_PATH=/tmp /usr/lib/YaST2/bin/y2controlcenter
Does this actually work?
> Please note that the error message "No such file or directory" is as misleading as can be.
Yes, in some cases the "unloadable file" ends up with "No such file or directory"
I agree we could do better for a diagnostic in this case.
--
Cheers,
Carlos.
next prev parent reply other threads:[~2021-10-07 19:14 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-07 18:47 Krzysztof Żelechowski
2021-10-07 18:53 ` Jeffrey Walton
2021-10-07 19:00 ` Carlos O'Donell
2021-10-07 19:05 ` Adhemerval Zanella
2021-10-07 19:14 ` Carlos O'Donell [this message]
2021-10-08 8:03 ` Krzysztof Żelechowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cdbd0ae0-aa03-65bb-6c6f-b5e1199d31ee@redhat.com \
--to=carlos@redhat.com \
--cc=krzysztof.zelechowski@prospeo.com.pl \
--cc=libc-help@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).