On 30/01/2017 09:14, Mathieu Arnold wrote:
Le 29/01/2017 à 18:17, Grzegorz Junka a écrit :
When building packages for a different machine it's possible to
specify CPU target, e.g.:
CPUTYPE?=core2
However, when building packages that depend on other packages
poudriere will install the already build dependencies in order to
build the new packages. That will fail if the CPU on the build machine
doesn't execute instructions specified in the CPUTYPE for the target
machine. For example, on amdfam10 build machine pkg build for core2
fails to install and as a result none of the packages can be build
since pkg is required to install any dependency.
How this CPUTYPE should be used then when building for different
machines? Bhyve?
You should use the oldest CPUTYPE that any machine that will use those
packages has. If the host does not support core2, don't use it, use some
older one. Also, if it does not support it, bhyve won't work there as it
is too old.
(As a rule of the thumb, don't use CPUTYPE, at best you will win a few
cycles here and there, but it will more generally be more painful when
you discover you need to use the packages some place where that CPUTYPE
is to recent.)
I understand. Does it mean that poudriere can't be used to build
packages for a completely different architecture, e.g. ARM using an
amd64 build machine? I think that's called crosscompiling?
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[email protected]"