[LyX/master] Add move constructor and move assignment operator for FileName class

Scott Kostyshak skostysh at lyx.org
Thu Jan 21 15:06:27 UTC 2021


On Thu, Jan 21, 2021 at 09:05:43AM +0200, Yuriy Skalko wrote:
> > 
> > I've tried to reproduce on Linux with Clang and libc++ but cannot.
> > However, one thing that I do not understand is that in the output from
> > ldd, both libstdc++.so.6 and libc++.so.1 show up. See attached. Is this
> > expected?
> > 
> > Scott
> > 
> >         linux-vdso.so.1 (0x00007ffd059e5000)
> >         libmythes-1.2.so.0 => /lib/x86_64-linux-gnu/libmythes-1.2.so.0
> > (0x00007f990dad1000)
> >         libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f990d993000)
> >         libQt5X11Extras.so.5 =>
> > /lib/x86_64-linux-gnu/libQt5X11Extras.so.5 (0x00007f990d98c000)
> >         libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f990d962000)
> >         libenchant-2.so.2 => /lib/x86_64-linux-gnu/libenchant-2.so.2
> > (0x00007f990d954000)
> >         libmagic.so.1 => /lib/x86_64-linux-gnu/libmagic.so.1
> > (0x00007f990d92c000)
> >         libQt5Concurrent.so.5 =>
> > /lib/x86_64-linux-gnu/libQt5Concurrent.so.5 (0x00007f990d921000)
> >         libQt5Svg.so.5 => /lib/x86_64-linux-gnu/libQt5Svg.so.5
> > (0x00007f990d8c5000)
> >         libQt5Widgets.so.5 => /lib/x86_64-linux-gnu/libQt5Widgets.so.5
> > (0x00007f990d229000)
> >         libQt5Gui.so.5 => /lib/x86_64-linux-gnu/libQt5Gui.so.5
> > (0x00007f990cb71000)
> >         libQt5Core.so.5 => /lib/x86_64-linux-gnu/libQt5Core.so.5
> > (0x00007f990c633000)
> >         libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f990c616000)
> >         libc++.so.1 => /lib/x86_64-linux-gnu/libc++.so.1 (0x00007f990c54e000)
> >         libc++abi.so.1 => /lib/x86_64-linux-gnu/libc++abi.so.1
> > (0x00007f990c516000)
> >         libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f990c3c7000)
> >         libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
> > (0x00007f990c3ac000)
> >         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f990c1c2000)
> >         /lib64/ld-linux-x86-64.so.2 (0x00007f990dafb000)
> >         libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6
> > (0x00007f990bfe1000)
> >         libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f990bfd9000)
> >         libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f990bfd3000)
> >         libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6
> > (0x00007f990bfcb000)
> >         libgmodule-2.0.so.0 => /lib/x86_64-linux-gnu/libgmodule-2.0.so.0
> > (0x00007f990bfc5000)
> >         libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > (0x00007f990be93000)
> >         liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f990be6a000)
> >         libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0
> > (0x00007f990be55000)
> >         libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
> > (0x00007f990be33000)
> >         libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007f990bdab000)
> >         libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16
> > (0x00007f990bd72000)
> >         libharfbuzz.so.0 => /lib/x86_64-linux-gnu/libharfbuzz.so.0
> > (0x00007f990bc91000)
> >         libmd4c.so.0 => /lib/x86_64-linux-gnu/libmd4c.so.0 (0x00007f990bc7d000)
> >         libdouble-conversion.so.3 =>
> > /lib/x86_64-linux-gnu/libdouble-conversion.so.3 (0x00007f990bc65000)
> >         libicui18n.so.67 => /lib/x86_64-linux-gnu/libicui18n.so.67
> > (0x00007f990b953000)
> >         libicuuc.so.67 => /lib/x86_64-linux-gnu/libicuuc.so.67
> > (0x00007f990b767000)
> >         libpcre2-16.so.0 => /lib/x86_64-linux-gnu/libpcre2-16.so.0
> > (0x00007f990b6e4000)
> >         libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f990b614000)
> >         librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f990b607000)
> >         libatomic.so.1 => /lib/x86_64-linux-gnu/libatomic.so.1
> > (0x00007f990b5fd000)
> >         libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f990b5e3000)
> >         libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f990b570000)
> >         libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0
> > (0x00007f990b4b8000)
> >         libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f990b482000)
> >         libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6
> > (0x00007f990b3bf000)
> >         libgraphite2.so.3 => /lib/x86_64-linux-gnu/libgraphite2.so.3
> > (0x00007f990b392000)
> >         libicudata.so.67 => /lib/x86_64-linux-gnu/libicudata.so.67
> > (0x00007f9909879000)
> >         libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1
> > (0x00007f990986b000)
> >         libbrotlicommon.so.1 =>
> > /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f9909846000)
> > 
> 
> Yes, this is expected, since system libQt5*.so are dependent on libstdc++
> (assuming you haven't rebuild Qt with libc++). ldd displays all required
> libraries, not only the ones that directly used by the application.

Ah that makes sense. Thanks. It seems I can use "readelf -d" to show only direct dependencies. [1]

Scott


[1] https://stackoverflow.com/questions/15064685/does-ldd-also-show-dependencies-of-dependencies
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20210121/3b8849ee/attachment.asc>


More information about the lyx-devel mailing list