Re: git: b0b4d9e1eae8 - main - */*: Switch to NumPy 2.x

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Mon, 11 May 2026 19:35:13 UTC
On 2026-05-11 21:19, Max Brazhnikov wrote:
> On Mon, 11 May 2026 14:42:57 -0400 Charlie Li wrote:
>> Vladimir Druzenko wrote:
>>> 06.05.2026 21:14, Vladimir Druzenko пишет:
>>>> 06.05.2026 20:29, Max Brazhnikov пишет:
>>>>> On Wed, 6 May 2026 01:04:14 +0300 Vladimir Druzenko wrote:
>>>>>> Hello!
>>>>>>
>>>>>> 05.05.2026 22:33, Max Brazhnikov пишет:
>>>>>>> The branch main has been updated by makc:
>>>>>>>
>>>>>>> URL: https://cgit.FreeBSD.org/ports/commit/?
>>>>>>> id=b0b4d9e1eae890d0de1591e20fb37358439a2ff6
>>>>>>>
>>>>>>> commit b0b4d9e1eae890d0de1591e20fb37358439a2ff6
>>>>>>> Author:     Max Brazhnikov <makc@FreeBSD.org>
>>>>>>> AuthorDate: 2026-05-05 19:27:15 +0000
>>>>>>> Commit:     Max Brazhnikov <makc@FreeBSD.org>
>>>>>>> CommitDate: 2026-05-05 19:29:37 +0000
>>>>>>>
>>>>>>>        */*: Switch to NumPy 2.x
>>>>>>>              PR:             294328
>>>>>>>        Exp-run:        antoine
>>>>>>> ---
>>>>>>>     archivers/py-bitshuffle/Makefile            | 4 ++--
>>>>>>>     archivers/py-blosc2/Makefile                | 4 ++--
>>>>>>>     astro/astrometry/Makefile                   | 4 ++--
>>>>>> By default NumPy 2.x builds with X86_V2, configure log:
>>>>>> CPU Optimization Options
>>>>>>      baseline:
>>>>>>        Requested : min+detect
>>>>>>        Enabled   : X86_V2
>>>>>>      dispatch:
>>>>>>        Requested : max
>>>>>>        Enabled   : X86_V3 X86_V4 AVX512_ICL
>>>>>>
>>>>>> So numpy-config fails with SIGILL.
>>>>>> Valgrid prints:
>>>>>> RuntimeError: NumPy was built with baseline optimizations:
>>>>>> (X86_V2) but your machine doesn't support:
>>>>>> (X86_V2).
>>>>>>
>>>>>> Patch:
>>>>>> diff --git a/math/py-numpy/Makefile b/math/py-numpy/Makefile
>>>>>> index 9500c87da243..961f1e03ff86 100644
>>>>>> --- a/math/py-numpy/Makefile
>>>>>> +++ b/math/py-numpy/Makefile
>>>>>> @@ -1,6 +1,6 @@
>>>>>>     PORTNAME=      numpy
>>>>>>     DISTVERSION=   2.4.4
>>>>>> -PORTREVISION=  2
>>>>>> +PORTREVISION=  3
>>>>>>     PORTEPOCH=     1
>>>>>>     CATEGORIES=    math python
>>>>>>     MASTER_SITES=  PYPI \
>>>>>> @@ -24,7 +24,9 @@ TEST_DEPENDS=
>>>>>> ${PYTHON_PKGNAMEPREFIX}hypothesis>=5.3.0:devel/py-hypothesis@${PY_
>>>>>>     USES=          compiler:c++17-lang cpe fortran pkgconfig
>>>>>> python:3.11+
>>>>>> shebangfix
>>>>>>     USE_PYTHON=    autoplist concurrent cython pep517 pytest
>>>>>>
>>>>>> -PEP517_BUILD_CONFIG_SETTING= -Csetup-args=-Dallow-noblas=false
>>>>>> +PEP517_BUILD_CONFIG_SETTING= -Csetup-args=-Dallow-noblas=false \
>>>>>> + -Csetup-args=-Dcpu-baseline="none" \
>>>>>> +  -Csetup-args=-Dcpu-baseline-detect="disabled"
>>>>> Defining only -Dcpu-baseline="none" should be enough. Could you check
>>>>> whether
>>>>> it resolves the problem for you?
>>>>>
>>>>> Max
>>>> You are right, -Dcpu-baseline="none" is enough.
>>>> The -Csetup-args=-Dcpu-baseline-detect="disabled" option causes -
>>>> march=* to be ignored when baseline detection occurs (if the user
>>>> added CPUTYPE=* to the make.conf).
>>>> So in order to respect -march this option should not be added.
>>> Hello!
>>> Can I commit this change?
>>>
>> Not yet. Still needs some further evaluation.
> -Dcpu-baseline="none" is safe to commit and should be committed if we claim support for older CPU.
>
> Cheers,
> Max
What's probably better to do is to define none only if CPUTYPE is not 
defined (set) and otherwise omit -Dcpu-baseline as the default 
cpu-baseline-detect setting should take care of it otherwise according 
to https://numpy.org/devdocs/reference/simd/build-options.html

Best regards,
Daniel