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

🚀 Support for ARM64 #35

Closed
bonny1992 opened this issue Jul 5, 2022 · 11 comments
Closed

🚀 Support for ARM64 #35

bonny1992 opened this issue Jul 5, 2022 · 11 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@bonny1992
Copy link

Heya!

I love this, but I'd like to run it on my Raspberry PI 4, is there any plan to release it for that platform?

Thank you!

@tgotwig
Copy link
Owner

tgotwig commented Jul 6, 2022

Hello Bonny 🙋
Thanks for your request! 😊 Which OS do you use? 🤔

@bonny1992
Copy link
Author

Hello and thanks for your reply, @tgotwig !
I am currently running Ubuntu 20.04.2 LTS on my RPI4, if that helps.

If I may add, I tried cloning the repo and building it on the device but it got stuck for a while with something with cross (only to fail afterwards) and my lack of Rust knowledge did not help at all.

I only did create a new entry in the makefile like this:

build-linux-arm64:
	@echo 'Building for Linux... �'
	cross build --release --target=aarch64-unknown-linux-musl
	mkdir -p target/release-archives && tar -C target/aarch64-unknown-linux-musl/release -czf target/release-archives/vidmerger-linux-aarch64.tar.gz vidmerger

and

buildarm:
	make build-linux-arm64

and then running make buildarm

@tgotwig
Copy link
Owner

tgotwig commented Jul 13, 2022

Could you create the binary? What were the error messages you got? 🤔

@tgotwig tgotwig added help wanted Extra attention is needed good first issue Good for newcomers labels Jul 13, 2022
@bonny1992
Copy link
Author

Could you create the binary? What were the error messages you got? 🤔

I could not.

It did something with cross command but I don't remember what error it gave, sadly. It took a really really long time in which my Rpi4 got unresponsive, too.

If you need it I could reinstall the Rust toolset and retry it, but I don't think the end would be any different.

Now that I think about it, it may have thrown an error about the architecture, maybe a docker image is amd64 only along the way? I'm not entirely sure it was from the build command tho.

@bonny1992
Copy link
Author

bonny1992 commented Jul 15, 2022

Ok, so, I did a liiiitle bit of experimenting. I don't know Rust at all tho.

I tried to clone the repo from scratch, added the aforemented lines and ran make buildarm.
After it ran for literal hours (it may be 5 or more) it still haven't finished, so I CTRL-C out of it. Any rerun of make buildarm will return buildarm is up-to-date or something like this. Oh, and of course, I had no output on the terminal so I don't know if it was stuck or what else.

I, then, tried to run the single command cross build --release --target=aarch64-unknown-linux-musl and here's the output:

nfo: downloading component 'rust-src'
info: installing component 'rust-src'
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
standard_init_linux.go:228: exec user process caused: exec format error

Is cross even runnable on a RPI4?

Out of my non-existent Rust expertise, I tried to run cargo build --release aaand: Finished release [optimized] target(s) in 6m 46s. I don't really know, tho. Is this vidmerger binary usable?

The fact that I don't know Rust make this a mess :P

@tgotwig
Copy link
Owner

tgotwig commented Jul 18, 2022

If you compile it on your RPI4 by cargo build --release it should create a usable binary for you, does that work? 🤔

@bonny1992
Copy link
Author

bonny1992 commented Jul 19, 2022

Yes, that binary is working indeed.

Apparently the cross command is referencing some amd64 along the way, but the simple cargo command is working.

@tgotwig
Copy link
Owner

tgotwig commented Jul 20, 2022

Awesome! 🥳 Maybe you could fork this repo and upload your binary there? 🙏

@bonny1992
Copy link
Author

Sure.

But bare with me, I'm not even remotely an expert of Git/github.

Should I fork and create a release? Or simply upload the binary folder and the tar.gz file?

I usually clone and edit things locally 😅

@tgotwig
Copy link
Owner

tgotwig commented Jul 20, 2022

Yeah like on the main repo (origin), thanks 😊

@tgotwig tgotwig changed the title Support for ARM64 🚀 Support for ARM64 Nov 28, 2023
@tgotwig
Copy link
Owner

tgotwig commented Jul 19, 2024

Also publishing this for ARM64 since last release 🤗✨

@tgotwig tgotwig closed this as completed Jul 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants