Issue
I packed a very easy Qt application (with shared libraries found by ldd
) on my debian 11
.
But it failed to run on ubuntu(20.04) virtual machine.
The error is : error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument
Both the glibc is version 2.31
.
The version of qt is 6.3.2
.
I used to set LD_LIBRARY_PATH
to .
or /usr/local/lib
,it has no effect.
Solution
You should never pack GLIBC
or its constituent libraries (libc.so.6
, libm.so.6
, librt.so.1
, libdl.so.2
, libpthread.so.0
) for reasons explained here.
The most likely cause of the error is a mismatch between /lib64/ld-linux-x86-64.so.2
and ./libdl.so.2
. Removing the 5 libraries listed above from this directory should make the application work.
Answered By - Employed Russian Answer Checked By - Gilberto Lyons (WPSolving Admin)