[Buildroot] [PATCH v11 2/2] docker-engine: new package

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Wed Jul 27 21:40:55 UTC 2016


Hello,

On Sun, 24 Jul 2016 14:10:28 -0700, Christian Stewart wrote:
> Docker is a platform to build, ship, and run applications in portable
> containers.
> 
> Signed-off-by: Christian Stewart <christian at paral.in>

I've applied after removing the LIBRARY_PATH variable, as you suggested.

However, there is still one thing I'm not happy with: dockerd is linked
statically against libbtrfs. It links dynamically against
libdevmapper.so, because there is no libdevmapper.a installed. However,
since libbtrfs is available in STAGING_DIR as both a shared library
*and* a static library, the Go build logic seems to prefer the static
library. This is definitely *not* what we want in the context of
Buildroot.

See:

$ arm-linux-gnueabihf-readelf -d output/target/usr/bin/dockerd | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.0]
 0x00000001 (NEEDED)                     Shared library: [libdevmapper.so.1.02]
 0x00000001 (NEEDED)                     Shared library: [libc.so.0]
$ grep DOCKER_ENGINE .config
BR2_PACKAGE_DOCKER_ENGINE=y
BR2_PACKAGE_DOCKER_ENGINE_DAEMON=y
# BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL is not set
BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS=y
BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER=y
BR2_PACKAGE_DOCKER_ENGINE_DRIVER_VFS=y
$ ls -l output/staging/usr/lib/libbtrfs.*
-rwxr-xr-x 1 thomas thomas 49938 juil. 27 23:26 output/staging/usr/lib/libbtrfs.a
lrwxrwxrwx 1 thomas thomas    15 juil. 27 23:26 output/staging/usr/lib/libbtrfs.so -> libbtrfs.so.0.1
lrwxrwxrwx 1 thomas thomas    15 juil. 27 23:26 output/staging/usr/lib/libbtrfs.so.0 -> libbtrfs.so.0.1
-rwxr-xr-x 1 thomas thomas 44012 juil. 27 23:26 output/staging/usr/lib/libbtrfs.so.0.1
$ ls -l output/staging/usr/lib/libdevmapper.*
lrwxrwxrwx 1 thomas thomas     20 juil. 27 23:32 output/staging/usr/lib/libdevmapper.so -> libdevmapper.so.1.02
-rwxr-xr-x 1 thomas thomas 454192 juil. 27 23:32 output/staging/usr/lib/libdevmapper.so.1.02

Could you investigate this?

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com



More information about the buildroot mailing list