Hello everybody, This part is mentioned in my GSoC proposal but I thought I should bring it up here as well.
How do you feel about taking a slightly different approach to ARM development? Viz. Cross Compiling. We could use existing infrastructure x86,x86_64 servers to build packages for ARMv7.
This will require writing some plugins for Yum, Mock & Koji based on work done by msalter from RedHat. I am referring to this post https://www.redhat.com/archives/fedora-buildsys-list/2009-July/msg00000.html
The way I see it, cross compiling will get packages compiled faster and would be easy to setup. We won't have to rely of ARM Hardware from online.net
A thing to ponder over is whether this fits in the CentOS policy.
Regards Mandar Joshi
On 2015-04-16 09:52, Mandar Joshi wrote:
Hello everybody, This part is mentioned in my GSoC proposal but I thought I should bring it up here as well.
How do you feel about taking a slightly different approach to ARM development? Viz. Cross Compiling. We could use existing infrastructure x86,x86_64 servers to build packages for ARMv7.
This will require writing some plugins for Yum, Mock & Koji based on work done by msalter from RedHat. I am referring to this post https://www.redhat.com/archives/fedora-buildsys-list/2009-July/msg00000.html
The way I see it, cross compiling will get packages compiled faster and would be easy to setup. We won't have to rely of ARM Hardware from online.net
This idea is not new, and is often used for early bootstrapping, or even intermediate builds (e.g. using distcc) but IIRC it has been a long standing policy with Fedora that the final binaries must be compiled natively. This stems from various compiler quirks that may manifest in one case but not the other.
Having said that, the usefulness of large scale cross-compiling has been steadily reducing as availability of less slow ARM hardware has been increasing (it is now easy to get reasonably cheap ARM machines with 4-8 CPU cores and 3-4GB of RAM).
Gordan
I didn't realize the issue with compiler quirks. Thanks. I'll stick to native compiling.
On Thu, Apr 16, 2015 at 2:32 PM, Gordan Bobic gordan@redsleeve.org wrote:
On 2015-04-16 09:52, Mandar Joshi wrote:
Hello everybody, This part is mentioned in my GSoC proposal but I thought I should bring it up here as well.
How do you feel about taking a slightly different approach to ARM development? Viz. Cross Compiling. We could use existing infrastructure x86,x86_64 servers to build packages for ARMv7.
This will require writing some plugins for Yum, Mock & Koji based on work done by msalter from RedHat. I am referring to this post
https://www.redhat.com/archives/fedora-buildsys-list/2009-July/msg00000.html
The way I see it, cross compiling will get packages compiled faster and would be easy to setup. We won't have to rely of ARM Hardware from online.net
This idea is not new, and is often used for early bootstrapping, or even intermediate builds (e.g. using distcc) but IIRC it has been a long standing policy with Fedora that the final binaries must be compiled natively. This stems from various compiler quirks that may manifest in one case but not the other.
Having said that, the usefulness of large scale cross-compiling has been steadily reducing as availability of less slow ARM hardware has been increasing (it is now easy to get reasonably cheap ARM machines with 4-8 CPU cores and 3-4GB of RAM).
Gordan _______________________________________________ Arm-dev mailing list Arm-dev@centos.org http://lists.centos.org/mailman/listinfo/arm-dev
On 04/16/2015 04:02 AM, Gordan Bobic wrote:
On 2015-04-16 09:52, Mandar Joshi wrote:
Hello everybody, This part is mentioned in my GSoC proposal but I thought I should bring it up here as well.
How do you feel about taking a slightly different approach to ARM development? Viz. Cross Compiling. We could use existing infrastructure x86,x86_64 servers to build packages for ARMv7.
This will require writing some plugins for Yum, Mock & Koji based on work done by msalter from RedHat. I am referring to this post https://www.redhat.com/archives/fedora-buildsys-list/2009-July/msg00000.html
The way I see it, cross compiling will get packages compiled faster and would be easy to setup. We won't have to rely of ARM Hardware from online.net
This idea is not new, and is often used for early bootstrapping, or even intermediate builds (e.g. using distcc) but IIRC it has been a long standing policy with Fedora that the final binaries must be compiled natively. This stems from various compiler quirks that may manifest in one case but not the other.
Having said that, the usefulness of large scale cross-compiling has been steadily reducing as availability of less slow ARM hardware has been increasing (it is now easy to get reasonably cheap ARM machines with 4-8 CPU cores and 3-4GB of RAM).
I agree that cross compiling should only be used for "intermediary" RPMs for bootstrapping and the like and when both hardware and built package dependencies are available, any bootstrap RPMs that had to be created that way are then reproduced/rebuilt on real hardware.
The issue is just that sometimes cross compiling is not always exactly the same.
On Thu, Apr 16, 2015 at 02:22:33PM +0530, Mandar Joshi wrote:
Hello everybody, This part is mentioned in my GSoC proposal but I thought I should bring it up here as well.
How do you feel about taking a slightly different approach to ARM development? Viz. Cross Compiling. We could use existing infrastructure x86,x86_64 servers to build packages for ARMv7.
This will require writing some plugins for Yum, Mock & Koji based on work done by msalter from RedHat. I am referring to this post https://www.redhat.com/archives/fedora-buildsys-list/2009-July/msg00000.html
The way I see it, cross compiling will get packages compiled faster and would be easy to setup. We won't have to rely of ARM Hardware from online.net
A thing to ponder over is whether this fits in the CentOS policy.
Regards Mandar Joshi
The Fedora policy is to build on the target architecture IIRC, and that's probably a good idea before delivering a final build that all packages be rebuilt that way for sanity and self hosting guarantee. However for the initial stage of getting a set of packages build, finding and solving issues that's probably the right approach, as it will be way faster I think and easier to run. But it should be made clear which rpms where build with cross compilation (the rpm BuildHost info is probably sufficiant but that should be tracked).
my 2 cents
Daniel