Install package timm (macos)

Hi all,

I’m trying to install the timm package without success.
I’m using macos, and I followed each step of the updating runtime packages section (forking, cloning, installing pixi 0.34.0, edit the runtime pixi.toml with timm=“1.0.12”) but when using the make update-lockfile (with sudo), I step into this error:

ERROR: failed to solve: ghcr.io prefix-dev pixi:0.34.0-jammy: failed to resolve source metadata for ghcr.io//prefix-dev//pixi:0.34.0-jammy: error getting credentials - err: exit status 1

Does anyone know how to fix that ?

Best regards,

Arnaud

Hi @arnaudlenain,

I believe that this error is an issue with your Docker failing to access the base image from the public GitHub Container Registry. Can you run

docker logout

and then try again? Sometimes Docker gets into a weird state where tries to log into public repositories (that shouldn’t need any log in) with credentials from elsewhere and gets errors like that.

Hi @jayqi,
THanks for your reply, I appreciate.

However, I now get this error:
pixi-lock:local
Unable to find image ‘pixi-lock:local’ locally
docker: Error response from daemon: pull access denied for pixi-lock, repository does not exist or may require ‘docker login’.
See ‘docker run --help’.
make: *** [update-lockfile] Error 125

Anyway, I tried with a linux computer and despite authorization error which I think I can handle, it seems to work. I will try to figure that out tomorrow.

gn,

Arnaud

Hi @arnaudlenain,

That seems odd. Can you provide the full output when you run make update-lockfile? If you look at what make update-lockfile is doing, it should be building the image that gets named pixi-lock:local before subsequently trying to use it.

Hi @jayqi,
Thanks for the reply!
Sure thing. Here is the full output


gn,

Arnaud

Hi @arnaudlenain,

I noticed in your output the following line:

 - FromPlatformFlagConstDisallowed: FROM --platform flag should not use constant value "linux/arm64/v8" (line 1)

Did you change the platform value in runtime/Dockerfile-lock? We explicitly have this set as linux/amd64 to match the platform and architecture of the code execution runtime that submissions are run in.

You are likely getting the “Unable to find image” error because you have it set to linux/arm64/v8 when building the image, but then the subsequent docker run command is looking for an image for --platform linux/amd64.

Hi @jayqi,

Yes, I tried with your configuration first, the outcome is always the same. I tried this because it happened to solve some issue on mac for some users.

Actually I forgot to put this platform in the Makefile. Now that linux/arm64 is set up everywhere,

the outcome seems a bit more promising:

Hi @arnaudlenain,

It’s actually important that the platform should be set to linux/amd64. Submissions on the DrivenData platform are run on a VM that has Intel (amd64) processors, so we need Pixi to resolve all dependencies for the linux/amd64 platform. Generating a Pixi lockfile for linux/arm64 is not correct and will not be accepted.

You should be able to still build and run the amd64 images on an Apple Silicon Mac if you have Rosetta 2 installed.

1 Like

Hi @jayqi,

Thanks a lot for the help!! I submitted a pull request.

gn,
Arnaud