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

How do I create AppImages for different architectures? #139

Closed
jviotti opened this issue Apr 19, 2016 · 9 comments

Comments

Projects
None yet
4 participants
@jviotti
Copy link

commented Apr 19, 2016

We're currently generating x86_64 images over here at https://github.com/resin-io/etcher, but are hoping to generate x86 images as well.

By skimming through the documentation, AppImageKit injects a run-time that is platform dependent, a task performed by AppImageAssistant I guess.

Given I already have a compiled x86 application, is there an easy way I can generate an AppImage from a x86_64 machine?

@jviotti

This comment has been minimized.

Copy link
Author

commented Apr 19, 2016

As far as I see, adding an x86 AppRun to the package and then creating the image with an x86_64 AppImageAssistant should work. I can't find a readily published x86 version of AppRun though.

@probonopd

This comment has been minimized.

Copy link
Member

commented Apr 19, 2016

We don't offer precompiled versions for other architectures yet, but you should be able to compile AppImageKit for other architectures without much trouble.

@RazZziel

This comment has been minimized.

Copy link
Collaborator

commented Apr 21, 2016

As far as I see, adding an x86 AppRun to the package and then creating the image with an x86_64 AppImageAssistant should work.

Nope @jviotti, because there's also the runtime binary that gets injected in the header of the AppImage, which right now will be x86_64 if you're using a x86_64 AppImageAssistant.

That was fixed in #130 (merge pending), which lets use a single AppImageAssistant to create AppImages for multiple architectures (for now x86 and x86_64, ARM in progress in #111), passing the --arch argument.

I can't find a readily published x86 version of AppRun though.

That was also fixed in #120 (merge pending). Meanwhile, you can use docker like we do in order to build AppImageKit for x86 and generate your packages, or use MuseScore's approach to generating x86, x86_64 and ARMhf AppImages.

@probonopd

This comment has been minimized.

Copy link
Member

commented Apr 21, 2016

So, do people think #120 and #130 are ready for primetime?

@jviotti

This comment has been minimized.

Copy link
Author

commented May 23, 2016

Happy to give #130 a spin for Etcher, and report back the results.

@probonopd

This comment has been minimized.

Copy link
Member

commented May 23, 2016

For now you can download AppImageKit and compile it on your target architecture, this will give you runtime, AppRun, and everything else you need for your target architecture.

Also, I am collecting votes on whether #120 and #130 are ready for merging.

@notklaatu

This comment has been minimized.

Copy link

commented May 31, 2016

So far, I'm just cross-compiling. It seems to work quite well, but admittedly I am only compiling two things (AppRun itself and wxWidgets, sometimes) and the rest is Python. I'd be interested in trying 130 at least (120 was tl;dr)

@probonopd

This comment has been minimized.

Copy link
Member

commented Aug 19, 2016

I assume this question is answered; if not, please reopen.

@probonopd probonopd closed this Aug 19, 2016

@probonopd

This comment has been minimized.

Copy link
Member

commented Jun 2, 2017

To everyone reading this, if you are interested in ARM builds, check out Open Build Service which can build AppImages for 32-bit and 64-bit Intel and ARM architectures. Instructions: https://github.com/probonopd/AppImageKit/wiki/Using-Open-Build-Service

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.