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

Cross-compilation support #9

Open
djmattyg007 opened this issue Jan 1, 2021 · 8 comments
Open

Cross-compilation support #9

djmattyg007 opened this issue Jan 1, 2021 · 8 comments
Assignees
Labels
enhancement New feature or request

Comments

@djmattyg007
Copy link

As per my reddit comment, it would be great if this project could support cross-compilation for ARM devices:

https://www.reddit.com/r/archlinux/comments/kkqgj2/abs_cd_a_cicd_for_archlinux_packages_with/gh3yarr/?context=3

@bionade24 bionade24 self-assigned this Jan 1, 2021
@bionade24 bionade24 added the enhancement New feature or request label Jan 1, 2021
@bionade24
Copy link
Owner

Things we probably need to achieve this:

  1. Second cotainer for diffrent arch with diffrent settings (but what with diffrent architectures?) or a general x-compile container?
  2. Selection which architectures should be built per package.
  3. Diffrent buid log views for diffrent arches. Probably in a Tab-Like style?

@bionade24
Copy link
Owner

@djmattyg007 Do you have any better guide than https://archlinuxarm.org/forum/viewtopic.php?t=6163 how to make real-cross-compiling with Archlinux? This post is ancient and would force me to reinvent somethings like his prefixes for pacman.

@bionade24
Copy link
Owner

I also wonder if it makes still sense to support i686. If no one complains, I only would care about ARM.

@bionade24
Copy link
Owner

Current plan: Make one optional container for supporting 'aarch64' 'armv7h' 'armv6h' via cross-compiling. This means 3 sysroots with special wrapped pacman (and a completely new dependency check resolve mechanism if packages differ on arches because pyalpm in the abs_cd container can't do that?)

Seems like it's way more complicated than I expected. I know understand while people just distcc despite it's taking 2 hours instead of 10 minutes ;)

@djmattyg007
Copy link
Author

@djmattyg007 Do you have any better guide than archlinuxarm.org/forum/viewtopic.php?t=6163 how to make real-cross-compiling with Archlinux? This post is ancient and would force me to reinvent somethings like his prefixes for pacman.

Could you make use of this?

http://crosstool-ng.github.io/

Does anything here help?

https://wiki.archlinux.org/index.php/Cross-compiling_tools_package_guidelines

I also wonder if it makes still sense to support i686. If no one complains, I only would care about ARM.

Personally I only care about supporting the 64-bit Raspberry Pi 4 (which I think is aarch64).

@bionade24
Copy link
Owner

Could you make use of this?

http://crosstool-ng.github.io/

Does anything here help?

https://wiki.archlinux.org/index.php/Cross-compiling_tools_package_guidelines

I already know both things you mentioned. Of course we need crosstool-ng as a software, but it's only for building x-sysroots, not arch-sysroots explicitly. The Arch wiki article only covers creating PKGBUILD files for cross-compiling toolchains, not even x-compiling itself. What we need are one sysroot per ARM arch and one wrapped pacman per Arm architecture like in the forum post. At least that's the only way to go, that I currently know of. Thx for your help.

@bionade24
Copy link
Owner

bionade24 commented Jan 17, 2021

@djmattyg007 My current goal on this is to create a makepkg container (like the one existing in the makepkg dir of my project for x86_64) with a setup like mentioned in the AlArm forum post above, but I doubt I find time for it next week. Would be super cool if you could try it, too. aarch64 support only would be sufficient for the beginning, we still can other arches later. Just ask if you have any further questions.

Edit: Explanation which container should be used a base.

@bionade24
Copy link
Owner

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: To do
Development

No branches or pull requests

2 participants