Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing ARM based docker images on the devicefarmer/stf Dockerhub repository #820

Open
jozenstar opened this issue Dec 10, 2024 · 14 comments · Fixed by #821
Open

Missing ARM based docker images on the devicefarmer/stf Dockerhub repository #820

jozenstar opened this issue Dec 10, 2024 · 14 comments · Fixed by #821

Comments

@jozenstar
Copy link

jozenstar commented Dec 10, 2024

What is the issue or idea you have?

There are no ARM based docker images on the devicefarmer/stf Dockerhub repository, although the ARM Dockerfile is present in this github repo.

Does it only happen on a specific device? Please run adb devices -l and paste the corresponding row.

Not Applicable

Please provide the steps to reproduce the issue.

Open the Dockerhub page https://hub.docker.com/r/devicefarmer/stf/tags -> look for ARM images

What is the expected behavior?

ARM based images are present in the Dockerhub repository

Do you see errors or warnings in the stf local output? If so, please paste them or the full log here.

Not Applicable

Please run stf doctor and paste the output here.

Not Applicable

@denis99999
Copy link

@gounthar
Copy link

Aren't you using docker buildx to build your multiplatform images?

@koral--
Copy link
Member

koral-- commented Dec 12, 2024

I'm on it.

@koral--
Copy link
Member

koral-- commented Dec 16, 2024

I've just merged the x86 and arm64 into single Dockerfile and it seems to build without issues with buildx on my machine but the arm build times out on CI.
I need to investigate it.

@gounthar
Copy link

Thanks! 🙏

@jozenstar
Copy link
Author

Happy New Year!
Any updates on this issue?

Thank you!

@koral--
Copy link
Member

koral-- commented Jan 9, 2025

I talked with Semaphore CI support.
They granted access to ARM build machines (R1), I'll try it ASAP.

@gounthar
Copy link

gounthar commented Jan 9, 2025

Thanks for the update 🤗

@jozenstar
Copy link
Author

jozenstar commented Jan 13, 2025

@koral--
There's just one problem, the only tag that got the arm based docker image built is the latest. Can we also get it on the current latest version please? This one: 3.7.1 ?
Thank you!

@koral--
Copy link
Member

koral-- commented Jan 13, 2025

I'll Release the next version ASAP.

@jozenstar
Copy link
Author

@koral-- Thank you so much for your help!
I'm sorry for bringing it up again, but I think there may be a library missing from the image. On startup I'm getting this error

Failed to load addon at /app/node_modules/zeromq/build/linux/arm64/node/127/addon.node: Error: libc.musl-aarch64.so.1: cannot open shared object file: No such file or directory
Error: libc.musl-aarch64.so.1: cannot open shared object file: No such file or directory
    at Object..node (node:internal/modules/cjs/loader:1715:18)
    at Module.load (node:internal/modules/cjs/loader:1318:32)
    at Function._load (node:internal/modules/cjs/loader:1128:12)
    at TracingChannel.traceSync (node:diagnostics_channel:315:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)
    at Module.require (node:internal/modules/cjs/loader:1340:12)
    at require (node:internal/modules/helpers:141:16)
    at findAddon (/app/node_modules/zeromq/lib/load-addon.js:29:25)
    at Object.<anonymous> (/app/node_modules/zeromq/lib/load-addon.js:50:15)
    at Module._compile (node:internal/modules/cjs/loader:1546:14)
    at Object..js (node:internal/modules/cjs/loader:1689:10)
    at Module.load (node:internal/modules/cjs/loader:1318:32)
    at Function._load (node:internal/modules/cjs/loader:1128:12)
    at TracingChannel.traceSync (node:diagnostics_channel:315:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)
    at Module.require (node:internal/modules/cjs/loader:1340:12)
Trying others...

Tried on Raspberry Pi and on AWS graviton instances.
The pod doesn't die though, it does start up, but I'm not sure if it's gonna be actually alright like this

@koral--
Copy link
Member

koral-- commented Jan 16, 2025

Thanks I will Investigate that

@gounthar
Copy link

musl is the alpine replacement of libc6, more or less. 🤔

michal-murin pushed a commit to wandera/devicefarmer-stf that referenced this issue Jan 28, 2025
* Add support for arm64 to Dockerfile
* Change machine type R1
Fixes DeviceFarmer#820
michal-murin pushed a commit to wandera/devicefarmer-stf that referenced this issue Jan 28, 2025
* Add support for arm64 to Dockerfile
* Change machine type R1
Fixes DeviceFarmer#820
michal-murin pushed a commit to wandera/devicefarmer-stf that referenced this issue Jan 28, 2025
* Add support for arm64 to Dockerfile
* Change machine type R1
Fixes DeviceFarmer#820
@koral--
Copy link
Member

koral-- commented Feb 5, 2025

Let's keep this issue open until stf runs without errors on arm.
After installing musl package the latest error has gone. But instead there is another one, like below.
I'll try to investigate that further.

Failed to load addon at /app/node_modules/zeromq/build/linux/arm64/node/127/addon.node: Error: /app/node_modules/zeromq/build/linux/arm64/node/127/addon.node: undefined symbol: __cxa_call_terminate
Error: /app/node_modules/zeromq/build/linux/arm64/node/127/addon.node: undefined symbol: __cxa_call_terminate
    at Object..node (node:internal/modules/cjs/loader:1715:18)
    at Module.load (node:internal/modules/cjs/loader:1318:32)
    at Function._load (node:internal/modules/cjs/loader:1128:12)
    at TracingChannel.traceSync (node:diagnostics_channel:315:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)
    at Module.require (node:internal/modules/cjs/loader:1340:12)
    at require (node:internal/modules/helpers:141:16)
    at findAddon (/app/node_modules/zeromq/lib/load-addon.js:29:25)
    at Object.<anonymous> (/app/node_modules/zeromq/lib/load-addon.js:50:15)
    at Module._compile (node:internal/modules/cjs/loader:1546:14)
    at Object..js (node:internal/modules/cjs/loader:1689:10)
    at Module.load (node:internal/modules/cjs/loader:1318:32)
    at Function._load (node:internal/modules/cjs/loader:1128:12)
    at TracingChannel.traceSync (node:diagnostics_channel:315:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)
    at Module.require (node:internal/modules/cjs/loader:1340:12)

@koral-- koral-- reopened this Feb 5, 2025
michal-murin pushed a commit to wandera/devicefarmer-stf that referenced this issue Feb 5, 2025
* Add support for arm64 to Dockerfile
* Change machine type R1
Fixes DeviceFarmer#820
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants