Skip to content

Conversation

@fcatuhe
Copy link
Contributor

@fcatuhe fcatuhe commented Dec 10, 2024

Build the aarch64-linux gem from litestream arm64-linux binaries.

Closes #55

This is also needed to run litestream-ruby in Hetzner Ampere® shared vCPU (CAX series).

@fractaledmind
Copy link
Owner

Quick question: have you tested that the build works on that platform?

@fcatuhe
Copy link
Contributor Author

fcatuhe commented Dec 21, 2024

The litestream arm64 build, yes. Below is the service running on Hetzner CAX11 (aarch64-linux platform).

But I was not able to test the aarch64-linux packaged version of the gem. I'm not aware that I can test that without it being pushed to rubygems, but if you have guidance, I'm happy to do it.

root@litestream-test:~# wget https://github.com/benbjohnson/litestream/releases/download/v0.3.13/litestream-v0.3.13-linux-arm64.deb
--2024-12-21 11:31:15--  https://github.com/benbjohnson/litestream/releases/download/v0.3.13/litestream-v0.3.13-linux-arm64.deb
Resolving github.com (github.com)... 140.82.121.3
Connecting to github.com (github.com)|140.82.121.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/301830590/6d4f7b82-3be6-4ac4-a1c1-ad8bb16a0530?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20241221%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241221T113116Z&X-Amz-Expires=300&X-Amz-Signature=6f0042f8bfa762188a585f7ed1d31c30ba8154ca64bb5701dc22839e3ebdc787&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dlitestream-v0.3.13-linux-arm64.deb&response-content-type=application%2Foctet-stream [following]
--2024-12-21 11:31:16--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/301830590/6d4f7b82-3be6-4ac4-a1c1-ad8bb16a0530?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20241221%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241221T113116Z&X-Amz-Expires=300&X-Amz-Signature=6f0042f8bfa762188a585f7ed1d31c30ba8154ca64bb5701dc22839e3ebdc787&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dlitestream-v0.3.13-linux-arm64.deb&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.109.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9069204 (8.6M) [application/octet-stream]
Saving to: ‘litestream-v0.3.13-linux-arm64.deb’

litestream-v0.3.13-linux-arm64.deb                  100%[===================================================================================================================>]   8.65M  --.-KB/s    in 0.04s

2024-12-21 11:31:16 (215 MB/s) - ‘litestream-v0.3.13-linux-arm64.deb’ saved [9069204/9069204]

root@litestream-test:~# ls
litestream-v0.3.13-linux-arm64.deb
root@litestream-test:~# sudo dpkg -i litestream-v0.3.13-linux-arm64.deb
Selecting previously unselected package litestream.
(Reading database ... 49226 files and directories currently installed.)
Preparing to unpack litestream-v0.3.13-linux-arm64.deb ...
Unpacking litestream (0.3.13) ...
Setting up litestream (0.3.13) ...
root@litestream-test:~# litestream version
v0.3.13
root@litestream-test:~# sudo systemctl enable litestream
Created symlink /etc/systemd/system/multi-user.target.wants/litestream.service → /usr/lib/systemd/system/litestream.service.
root@litestream-test:~# sudo systemctl start litestream
root@litestream-test:~# sudo journalctl -u litestream -f
Dec 21 11:32:02 litestream-test systemd[1]: Started litestream.service - Litestream.
Dec 21 11:32:02 litestream-test litestream[1237]: time=2024-12-21T11:32:02.749Z level=INFO msg=litestream version=v0.3.13
Dec 21 11:32:02 litestream-test litestream[1237]: time=2024-12-21T11:32:02.749Z level=ERROR msg="no databases specified in configuration"

@juhat
Copy link

juhat commented Mar 7, 2025

I just run into this on Heitzner. It seems that aarch64 is the same as arm64, just the naming differs, but this is only my understanding of the topic yet.

@juhat
Copy link

juhat commented Mar 7, 2025

While this is merged I tested if aarch64 is an arm64 by adding Litestream into the Dockerfile itself and setting the LITESTREAM_INSTALL_DIR in Kamal config.

# Litestream
ADD https://github.com/benbjohnson/litestream/releases/download/v0.3.13/litestream-v0.3.13-linux-amd64.tar.gz /tmp/litestream.tar.gz
RUN tar -C /usr/local/bin -xzf /tmp/litestream.tar.gz

And yes, everything works just fine.

@fractaledmind fractaledmind merged commit 632a786 into fractaledmind:main Jun 3, 2025
22 checks passed
@fcatuhe fcatuhe deleted the aarch64-linux branch June 4, 2025 10:29
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 this pull request may close these issues.

Error: litestream-ruby does not support the aarch64-linux platform

3 participants