apple / HomeKitADK

Apache License 2.0
2.55k stars 232 forks source link

Unable to find image 'make:latest' locally #65

Closed paulober closed 1 year ago

paulober commented 3 years ago

Sending build context to Docker daemon 2.048kB Step 1/3 : FROM ubuntu:18.04 Get https://registry-1.docker.io/v2/library/ubuntu/manifests/18.04: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fubuntu%3Apull&service=registry.docker.io: unexpected EOF Unable to find image 'make:latest' locally docker: Error response from daemon: Get https://registry-1.docker.io/v2/library/make/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fmake%3Apull&service=registry.docker.io: unexpected EOF. See 'docker run --help'. make: *** [Makefile:67: docs] Error 125

Why? And how do i compile it to a dll for example to use it in C#?

stokito commented 3 years ago

The full log looks like:

$ make
Step 1/3 : FROM ubuntu:18.04
 ---> 4e5021d210f6
Step 2/3 : RUN echo ========== Install dependencies ==========   && apt-get update && apt-get install -y     clang     gdb     git     libavahi-compat-libdnssd-dev     libssl-dev     make     openssh-server     perl     unzip     wget   && apt-get clean   && rm -rf /var/lib/apt/lists/*
 ---> Running in 44eb369591f0
========== Install dependencies ==========
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Err:1 http://security.ubuntu.com/ubuntu bionic-security InRelease
  Couldn't create temporary file /tmp/apt.conf.Y2gc62 for passing config to apt-key
Reading package lists...
W: GPG error: http://security.ubuntu.com/ubuntu bionic-security InRelease: Couldn't create temporary file /tmp/apt.conf.Y2gc62 for passing config to apt-key
E: The repository 'http://security.ubuntu.com/ubuntu bionic-security InRelease' is not signed.
The command '/bin/sh -c echo ========== Install dependencies ==========   && apt-get update && apt-get install -y     clang     gdb     git     libavahi-compat-libdnssd-dev     libssl-dev     make     openssh-server     perl     unzip     wget   && apt-get clean   && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100
Unable to find image 'make:latest' locally
docker: Error response from daemon: pull access denied for make, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
make: *** [Makefile:67: all] Error 125

The problem is that when docker builds an image then inside the apt update can be executed because /tmp folder doesn't have a correct write permissions. This is a problem with ubuntu:18.04 image. Locally I had this image of ubuntu:18.04 ubuntu 18.04 4e5021d210f6 13 months ago 64.2MB

So I tried just to pull a newer version of the image with docker pull ubuntu:18.04 and this resolved the problem

If for some reason you don't want to pull then as a workaround to fix you may add an instruction to change permissions to Dockerfile: https://github.com/apple/HomeKitADK/commit/602d2885b7b89e05305cca73b3642ac5218ae3f9