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

Docker images for ARM architecture include an AMD architecture Java #806

Open
jbrugge opened this issue Jan 13, 2025 · 1 comment
Open
Assignees

Comments

@jbrugge
Copy link

jbrugge commented Jan 13, 2025

Expected Behavior

We would like to run the DAISY-built Docker image of the DAISY Pipeline on ARM architecture servers, such as AWS graviton EC2 instances.

Actual Behavior

When we started up a Docker container from the "daisyorg/pipeline-assembly:latest" DockerHub tag on an ARM architecture machine, it failed to launch Java.

Steps to Reproduce

From an AWS EC2 graviton machine, or any other Linux ARM architecture machine, run the latest Docker image, and then look at the packages it installs. Note that the packages are arm64, but the Java installation is AMD64/x86-64:

[ec2-user@ip-10-20-151-76 ~]$ docker run -it --entrypoint "/bin/bash" daisyorg/pipeline-assembly:latest
root@9e7989cbc0ec:/# apt update
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main arm64 Packages [8688 kB]
Get:5 http://deb.debian.org/debian bookworm-updates/main arm64 Packages [8844 B]
Get:6 http://deb.debian.org/debian-security bookworm-security/main arm64 Packages [212 kB]
Fetched 9162 kB in 1s (8213 kB/s)                    
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
14 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@9e7989cbc0ec:/# apt install -y file
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libmagic-mgc libmagic1
The following NEW packages will be installed:
  file libmagic-mgc libmagic1
0 upgraded, 3 newly installed, 0 to remove and 14 not upgraded.
Need to get 446 kB of archives.
After this operation, 8709 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main arm64 libmagic-mgc arm64 1:5.44-3 [305 kB]
Get:2 http://deb.debian.org/debian bookworm/main arm64 libmagic1 arm64 1:5.44-3 [98.5 kB]
Get:3 http://deb.debian.org/debian bookworm/main arm64 file arm64 1:5.44-3 [42.5 kB]
Fetched 446 kB in 0s (24.5 MB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libmagic-mgc.
(Reading database ... 6083 files and directories currently installed.)
Preparing to unpack .../libmagic-mgc_1%3a5.44-3_arm64.deb ...
Unpacking libmagic-mgc (1:5.44-3) ...
Selecting previously unselected package libmagic1:arm64.
Preparing to unpack .../libmagic1_1%3a5.44-3_arm64.deb ...
Unpacking libmagic1:arm64 (1:5.44-3) ...
Selecting previously unselected package file.
Preparing to unpack .../file_1%3a5.44-3_arm64.deb ...
Unpacking file (1:5.44-3) ...
Setting up libmagic-mgc (1:5.44-3) ...
Setting up libmagic1:arm64 (1:5.44-3) ...
Setting up file (1:5.44-3) ...
Processing triggers for libc-bin (2.36-9+deb12u8) ...
root@9e7989cbc0ec:/# file /opt/daisy-pipeline2/jre/bin/java
/opt/daisy-pipeline2/jre/bin/java: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, not stripped
root@9e7989cbc0ec:/# 

Details

If necessary, describe your problem in more detail.

None.

Environment

  • Operating system: Linux
  • DAISY Pipeline 2 version: 1.14.20
  • Interface: web server
@bertfrees
Copy link
Member

bertfrees commented Jan 14, 2025

Thanks John. I was already aware of this problem, and have fixed it for the "latest-snapshot" tag.

There is one problem however: some things will currently not work, for instance anything related to braille. This is because the Liblouis binaries have not been compiled for ARM64 Linux.

Could you try if the "latest-snapshot" image works for you?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants