Skip to content

Conversation

@Samueru-sama
Copy link
Member

Hey something like this PR should be all that's needed to make aarch64 builds.

However because you are using minisign and they don't release aarch64 binaries some changes are needed there for this to work.

You might want go to this discord to better talk about the changes.

@lwbt
Copy link
Contributor

lwbt commented Jan 12, 2025

However because you are using minisign and they don't release aarch64 binaries some changes are needed there for this to work.

It should be there.

$  wget -q https://github.com/jedisct1/minisign/releases/download/0.11/minisign-0.11-linux.tar.gz
$  tar -tf minisign-0.11-linux.tar.gz 
minisign-linux/
minisign-linux/aarch64/
minisign-linux/x86_64/
minisign-linux/x86_64/minisign
minisign-linux/aarch64/minisign    <-- :-)

There seems to be an alternative implementation in go if there are still problems: https://github.com/aead/minisign

https://github.com/pkgforge-dev/ghostty-appimage/actions/runs/12723375569/job/35468433168

Trusted comment: timestamp:1735678186	file:ghostty-1.0.1.tar.gz	hashed
1220dd654ef941fc76fd96f9ec6adadf83f69b9887a0d3f4ee5ac0a1a3e11be35cf5
12207b7a5b538ffb7fb18f954ae17d2f8490b6e3778a9e30564ad82c58ee8da52361
Illegal instruction at address 0x11ca724
Panicked during a panic. Aborting.
error: the following build command crashed:

As I read it, minisign has completed its task but there is an issue with zig build. Right now I'm unable to cross compile v1.0.1 on Ubuntu 24.04.

I tried to build it in a VM with emulation, but I'm getting the following errors after a few minutes when building from tip:

.../.zig-cache/o/69c7753fc5f52dd5f14e272f237ce793/ghostty_resources.c:1:10: error: 'gio/gio.h' file not found
#include <gio/gio.h>
.../.zig-cache/o/297935c04abe77487db38c655ce3241b/cimport.h:1:10: error: 'gtk/gtk.h' file not found
#include <gtk/gtk.h>

https://github.com/psadi/ghostty-appimage/blob/ef94ea8cfdf64ec62fae1525d1b695fb3d97cd72/setup.sh#L26

I would suggest -Demit-docs=false ` and drop pandoc from the list of packages to reduce pipeline times. Flatpak build usually don't ship documentation. Users read the man pages online.

https://github.com/psadi/ghostty-appimage/blob/ef94ea8cfdf64ec62fae1525d1b695fb3d97cd72/setup.sh#L28

apt-get -qq -y --no-install-recommends install could reduce the list of packages further.

Here is the build command I used for emulation:

@@ -1,9 +1,11 @@
 zig build \
+       -fqemu \
 	--summary all \
 	--prefix "${APP_DIR}/usr" \
 	--system /tmp/offline-cache/p \
 	-Doptimize=ReleaseFast \
+	-Dtarget=aarch64-linux-gnu \
 	-Dcpu=baseline \
 	-Dpie=true \
-	-Demit-docs \
+	-Demit-docs=false \
 	-Dversion-string="${GHOSTTY_VERSION}"

@Samueru-sama
Copy link
Member Author

It should be there.

Oh lol, thanks for letting me know.

I had no idea what minisign was and it was @Azathothas that told me that they don't ship arm binaries 🤣

Anyways right now the problem is that the app can't be compiled using this method, closing since the changes here were used as reference in the other PR. You might wanna check the discussion about the problem in the discord.

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.

3 participants