[Development] libQt6Core.so links against both libpcre.so.3 and libpcre2-16.so.0
Shawn Rutledge
Shawn.Rutledge at qt.io
Wed Mar 8 11:42:16 CET 2023
> On 8 Mar 2023, at 11:16, Marc Mutz via Development <development at qt-project.org> wrote:
>
> Hi,
>
> Did my first conscious ldd on QtCore todays and just found it curious
> that it linked against pcre and pcre2-16.
>
> Digging, I found that the pcre dep gets dragged in by glib-2.0:
>
> objdump -p /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 | grep NEEDED
> NEEDED libpcre.so.3
> NEEDED libpthread.so.0
> NEEDED libc.so.6
Arch Linux package FWIW:
$ lddtree /usr/lib/libQt6Core.so.6.4.2
/usr/lib/libQt6Core.so.6.4.2 (interpreter => None)
libicui18n.so.72 => /usr/lib/libicui18n.so.72
libicuuc.so.72 => /usr/lib/libicuuc.so.72
libicudata.so.72 => /usr/lib/libicudata.so.72
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0
libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0
libz.so.1 => /usr/lib/libz.so.1
libsystemd.so.0 => /usr/lib/libsystemd.so.0
libcap.so.2 => /usr/lib/libcap.so.2
libgcrypt.so.20 => /usr/lib/libgcrypt.so.20
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0
liblzma.so.5 => /usr/lib/liblzma.so.5
liblz4.so.1 => /usr/lib/liblz4.so.1
libdouble-conversion.so.3 => /usr/lib/libdouble-conversion.so.3
libb2.so.1 => /usr/lib/libb2.so.1
libgomp.so.1 => /usr/lib/libgomp.so.1
libpcre2-16.so.0 => /usr/lib/libpcre2-16.so.0
libzstd.so.1 => /usr/lib/libzstd.so.1
libstdc++.so.6 => /usr/lib/libstdc++.so.6
libm.so.6 => /usr/lib/libm.so.6
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libc.so.6 => /usr/lib/libc.so.6
ld-linux-x86-64.so.2 => /usr/lib/ld-linux-x86-64.so.2
6.5 beta from the installer:
$ lddtree /zhome/rutledge/Qt/6.5.0/gcc_64/lib/libQt6Core.so.6.5.0
/zhome/rutledge/Qt/6.5.0/gcc_64/lib/libQt6Core.so.6.5.0 (interpreter => /lib64/ld-linux-x86-64.so.2)
libicui18n.so.56 => /zhome/rutledge/Qt/6.5.0/gcc_64/lib/libicui18n.so.56
libicuuc.so.56 => /zhome/rutledge/Qt/6.5.0/gcc_64/lib/libicuuc.so.56
libicudata.so.56 => /zhome/rutledge/Qt/6.5.0/gcc_64/lib/libicudata.so.56
libdl.so.2 => /usr/lib/libdl.so.2
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0
libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0
libz.so.1 => /usr/lib/libz.so.1
libpthread.so.0 => /usr/lib/libpthread.so.0
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0
librt.so.1 => /usr/lib/librt.so.1
libstdc++.so.6 => /usr/lib/libstdc++.so.6
libm.so.6 => /usr/lib/libm.so.6
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libc.so.6 => /usr/lib/libc.so.6
ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
My developer build:
$ lddtree /zhome/rutledge/dev/qt6-dbg/qtbase/lib/libQt6Core.so.6.2.0
/zhome/rutledge/dev/qt6-dbg/qtbase/lib/libQt6Core.so.6.2.0 (interpreter => /lib64/ld-linux-x86-64.so.2)
libicui18n.so.69 => None
libicuuc.so.69 => None
libicudata.so.69 => None
libzstd.so.1 => /usr/lib/libzstd.so.1
libdl.so.2 => /usr/lib/libdl.so.2
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0
libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0
libz.so.1 => /usr/lib/libz.so.1
libdouble-conversion.so.3 => /usr/lib/libdouble-conversion.so.3
libb2.so.1 => /usr/lib/libb2.so.1
libgomp.so.1 => /usr/lib/libgomp.so.1
libpcre2-16.so.0 => /usr/lib/libpcre2-16.so.0
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0
librt.so.1 => /usr/lib/librt.so.1
libstdc++.so.6 => /usr/lib/libstdc++.so.6
libm.so.6 => /usr/lib/libm.so.6
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libpthread.so.0 => /usr/lib/libpthread.so.0
libc.so.6 => /usr/lib/libc.so.6
ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
More information about the Development
mailing list