Re: Creating a QEmu (x86-64) Image, which can execute binary applications from other x86-64 linux OSes
Christian Lohr <christian.lohr.ext@...>
I used the x86_64 variant from the layer (it only downloads the binaries and copies them). And I checked that with ldd, it seemed ok so far: --------------------------------------------------------- root@qemux86-64:/usr/share/dotnet# ldd dotnet linux-vdso.so.1 (0x00007fffea543000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f9fde06c000) libdl.so.2 => /lib/libdl.so.2 (0x00007f9fde067000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f9fddee5000) libm.so.6 => /lib/libm.so.6 (0x00007f9fddda4000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f9fddd8a000) libc.so.6 => /lib/libc.so.6 (0x00007f9fddbd0000) /lib64/ld-linux-x86-64.so.2 => /lib/ld-linux-x86-64.so.2 (0x00007f9fde097000)
Strace didn’t help either: ------------------------------- root@qemux86-64:/# strace /usr/share/dotnet/dotnet execve("/usr/share/dotnet/dotnet", ["/usr/share/dotnet/dotnet"], 0x7ffe22f0ab70 /* 22 vars */) = -1 ENOENT (No such file or directory) strace: exec: No such file or directory +++ exited with 1 +++
It’s strange that it denies that the binaries are there. Normally I would have expected something like “wrong elf architecture” or something about missing libraries. The only thing I think I could do now, is to turn this “—enable-default-pie” off, but I’m not sure if this helps, and I don’t know where to turn it off. And what I’m also trying is to go back to Yocto Rocko Release (for this experiment I used Warrior Release)
Von: yocto@... <yocto@...>
Im Auftrag von Alexander Kanavin
That layer does have the x86_64 variant as well, no? Is it not working?
The error you're seeing is almost certainly due to Yocto using /lib/ld-so... for dynamic loader, and the binary hardcoding /lib64/....
Alex
On Wed, 12 Feb 2020 at 10:15, Lohr, Christian [ext] <christian.lohr.ext@...> wrote:
|
|