I observed some strange linking problem with the "docker-proxy" when building 
for qemux86-64.

It seems that the binary is linked against the host version of

$ file image/usr/bin/docker-proxy
image/usr/bin/docker-proxy: ELF 64-bit LSB executable, x86-64, version 1 
(SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, not 

I only noticed the issue on my build as it is a multi lib Debian where the 
libraries are under /lib64 and /lib32.
However on the target there there is only /lib to the binary did not work there.

Only the docker-proxy binary is affected by this, the other binaries (docker, 
dockerd) are fine.

$ file image/usr/bin/docker
image/usr/bin/docker: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), 
dynamically linked, interpreter /lib/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, 
BuildID[sha1]=c118d2393c7932172ca3e183bb304fe1cff73ce5, not stripped

I tried to fix the recipe by replacing the build command for docker-proxy [1] 
with the following line:

${GO} build ${GOBUILDFLAGS} -o ${S}/src/import/docker-proxy 

But without success the linked loader is still wrong.

It is also worth mentioning that this only happens with x86_64 builds (tried: 
qemux86-64, genericx64-64) but not with other architectures like armv7.
I was also able to reproduce this on poky master today (commit: 

The only solution I found so far is to put the docker-proxy into a separate 
recipe and add it as a RDEPENDS to docker.
I will submit a patch for this and you can decide if this would be an 
acceptable solution.



meta-virtualization mailing list

Reply via email to