poudriere and CPUTYPE

Grzegorz Junka list1 at gjunka.com
Sat Feb 4 10:20:16 UTC 2017


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.)
>

OK, so in that case should I ever enable any of the CPU_OPTS or SIMD 
options when configuring ports? What will they do when CPUTYPE isn't 
specified? Will they try to detect my CPU? Will it break ports built on 
amdfam10 when I try to install them on core2?



More information about the freebsd-ports mailing list