diff mbox series

[1/1] package/python-ml-dtypes: skip dependency check

Message ID 20240514154250.1453970-1-james.hilliard1@gmail.com
State Accepted
Headers show
Series [1/1] package/python-ml-dtypes: skip dependency check | expand

Commit Message

James Hilliard May 14, 2024, 3:42 p.m. UTC
This package pins overly strict numpy dependency versions apparently
for compatibility reasons that don't appear relevant to buildroot.

This package also appears to pin an overly strict setuptools version
for unclear reasons.

See:
https://github.com/jax-ml/ml_dtypes/blob/v0.3.2/pyproject.toml#L51-L55

To fix this lets just set the --skip-dependency-check build option and
ignore the build dependency version mismatches since they don't appear
to cause any build issues.

This error was introduced when we migrated setuptools to pep517 in
8937db8dd595e0988751e5dbb568e870b07b39cc.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/python-ml-dtypes/python-ml-dtypes.mk | 1 +
 1 file changed, 1 insertion(+)

Comments

Julien Olivain May 14, 2024, 5:26 p.m. UTC | #1
Hi James,

Thanks for the patch!

I successfully tested it on branch master at commit 9764258 with 
command:

     support/testing/run-tests \
         -d dl -o output_folder \
         tests.package.test_python_ml_dtypes

On 14/05/2024 17:42, James Hilliard wrote:
> This package pins overly strict numpy dependency versions apparently
> for compatibility reasons that don't appear relevant to buildroot.
> 
> This package also appears to pin an overly strict setuptools version
> for unclear reasons.
> 
> See:
> https://github.com/jax-ml/ml_dtypes/blob/v0.3.2/pyproject.toml#L51-L55
> 
> To fix this lets just set the --skip-dependency-check build option and
> ignore the build dependency version mismatches since they don't appear
> to cause any build issues.
> 
> This error was introduced when we migrated setuptools to pep517 in
> 8937db8dd595e0988751e5dbb568e870b07b39cc.
> 
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>

Tested-by: Julien Olivain <ju.o@free.fr>

> ---
>  package/python-ml-dtypes/python-ml-dtypes.mk | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/package/python-ml-dtypes/python-ml-dtypes.mk 
> b/package/python-ml-dtypes/python-ml-dtypes.mk
> index 676137ecf1..8097265078 100644
> --- a/package/python-ml-dtypes/python-ml-dtypes.mk
> +++ b/package/python-ml-dtypes/python-ml-dtypes.mk
> @@ -10,6 +10,7 @@ PYTHON_ML_DTYPES_SITE = 
> https://files.pythonhosted.org/packages/39/7d/8d85fcba86
>  PYTHON_ML_DTYPES_LICENSE = Apache-2.0
>  PYTHON_ML_DTYPES_LICENSE_FILES = LICENSE
>  PYTHON_ML_DTYPES_SETUP_TYPE = setuptools
> +PYTHON_ML_DTYPES_BUILD_OPTS = --skip-dependency-check
> 
>  PYTHON_ML_DTYPES_DEPENDENCIES = \
>  	host-python-numpy \
> --
> 2.34.1

Best regards,

Julien.
Romain Naour May 15, 2024, 2:01 p.m. UTC | #2
Hello James, Julien, All,

Le 14/05/2024 à 19:26, Julien Olivain a écrit :
> Hi James,
> 
> Thanks for the patch!
> 
> I successfully tested it on branch master at commit 9764258 with command:
> 
>     support/testing/run-tests \
>         -d dl -o output_folder \
>         tests.package.test_python_ml_dtypes
> 
> On 14/05/2024 17:42, James Hilliard wrote:
>> This package pins overly strict numpy dependency versions apparently
>> for compatibility reasons that don't appear relevant to buildroot.
>>
>> This package also appears to pin an overly strict setuptools version
>> for unclear reasons.

I looked at this issue last week with the same conclusions...
I was able to fix the setuptools version check but it was sill failing with
numpy check (it seems numpy dependency is never found while cross-compiling).

>>
>> See:
>> https://github.com/jax-ml/ml_dtypes/blob/v0.3.2/pyproject.toml#L51-L55
>>
>> To fix this lets just set the --skip-dependency-check build option and
>> ignore the build dependency version mismatches since they don't appear
>> to cause any build issues.

Maybe we should avoid using --skip-dependency-check option too easily. We could
miss any new dependency used by further release?

>>
>> This error was introduced when we migrated setuptools to pep517 in
>> 8937db8dd595e0988751e5dbb568e870b07b39cc.
>>
>> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> 
> Tested-by: Julien Olivain <ju.o@free.fr>
> 
>> ---
>>  package/python-ml-dtypes/python-ml-dtypes.mk | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/package/python-ml-dtypes/python-ml-dtypes.mk
>> b/package/python-ml-dtypes/python-ml-dtypes.mk
>> index 676137ecf1..8097265078 100644
>> --- a/package/python-ml-dtypes/python-ml-dtypes.mk
>> +++ b/package/python-ml-dtypes/python-ml-dtypes.mk
>> @@ -10,6 +10,7 @@ PYTHON_ML_DTYPES_SITE =
>> https://files.pythonhosted.org/packages/39/7d/8d85fcba86
>>  PYTHON_ML_DTYPES_LICENSE = Apache-2.0
>>  PYTHON_ML_DTYPES_LICENSE_FILES = LICENSE
>>  PYTHON_ML_DTYPES_SETUP_TYPE = setuptools

We could add a comment here to explain why we skip-dependency-check here.

Best regards,
Romain

>> +PYTHON_ML_DTYPES_BUILD_OPTS = --skip-dependency-check
>>
>>  PYTHON_ML_DTYPES_DEPENDENCIES = \
>>      host-python-numpy \
>> -- 
>> 2.34.1
> 
> Best regards,
> 
> Julien.
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
James Hilliard May 15, 2024, 3:10 p.m. UTC | #3
On Wed, May 15, 2024 at 8:01 AM Romain Naour <romain.naour@smile.fr> wrote:
>
> Hello James, Julien, All,
>
> Le 14/05/2024 à 19:26, Julien Olivain a écrit :
> > Hi James,
> >
> > Thanks for the patch!
> >
> > I successfully tested it on branch master at commit 9764258 with command:
> >
> >     support/testing/run-tests \
> >         -d dl -o output_folder \
> >         tests.package.test_python_ml_dtypes
> >
> > On 14/05/2024 17:42, James Hilliard wrote:
> >> This package pins overly strict numpy dependency versions apparently
> >> for compatibility reasons that don't appear relevant to buildroot.
> >>
> >> This package also appears to pin an overly strict setuptools version
> >> for unclear reasons.
>
> I looked at this issue last week with the same conclusions...
> I was able to fix the setuptools version check but it was sill failing with
> numpy check (it seems numpy dependency is never found while cross-compiling).
>
> >>
> >> See:
> >> https://github.com/jax-ml/ml_dtypes/blob/v0.3.2/pyproject.toml#L51-L55
> >>
> >> To fix this lets just set the --skip-dependency-check build option and
> >> ignore the build dependency version mismatches since they don't appear
> >> to cause any build issues.
>
> Maybe we should avoid using --skip-dependency-check option too easily. We could
> miss any new dependency used by further release?

Yeah, we shouldn't use it unless we have a good reason for it, I think this
qualifies.

>
> >>
> >> This error was introduced when we migrated setuptools to pep517 in
> >> 8937db8dd595e0988751e5dbb568e870b07b39cc.
> >>
> >> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> >
> > Tested-by: Julien Olivain <ju.o@free.fr>
> >
> >> ---
> >>  package/python-ml-dtypes/python-ml-dtypes.mk | 1 +
> >>  1 file changed, 1 insertion(+)
> >>
> >> diff --git a/package/python-ml-dtypes/python-ml-dtypes.mk
> >> b/package/python-ml-dtypes/python-ml-dtypes.mk
> >> index 676137ecf1..8097265078 100644
> >> --- a/package/python-ml-dtypes/python-ml-dtypes.mk
> >> +++ b/package/python-ml-dtypes/python-ml-dtypes.mk
> >> @@ -10,6 +10,7 @@ PYTHON_ML_DTYPES_SITE =
> >> https://files.pythonhosted.org/packages/39/7d/8d85fcba86
> >>  PYTHON_ML_DTYPES_LICENSE = Apache-2.0
> >>  PYTHON_ML_DTYPES_LICENSE_FILES = LICENSE
> >>  PYTHON_ML_DTYPES_SETUP_TYPE = setuptools
>
> We could add a comment here to explain why we skip-dependency-check here.

Well we haven't really been doing that on other packages using this flag, and
packages specifying overly strict/unnecessary build dependencies in some
way is generally always the reason for this flag for any packages using it.

>
> Best regards,
> Romain
>
> >> +PYTHON_ML_DTYPES_BUILD_OPTS = --skip-dependency-check
> >>
> >>  PYTHON_ML_DTYPES_DEPENDENCIES = \
> >>      host-python-numpy \
> >> --
> >> 2.34.1
> >
> > Best regards,
> >
> > Julien.
> > _______________________________________________
> > buildroot mailing list
> > buildroot@buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
>
Romain Naour May 22, 2024, 11:47 a.m. UTC | #4
Hello James,

Le 15/05/2024 à 17:10, James Hilliard a écrit :
> On Wed, May 15, 2024 at 8:01 AM Romain Naour <romain.naour@smile.fr> wrote:
>>
>> Hello James, Julien, All,
>>
>> Le 14/05/2024 à 19:26, Julien Olivain a écrit :
>>> Hi James,
>>>
>>> Thanks for the patch!
>>>
>>> I successfully tested it on branch master at commit 9764258 with command:
>>>
>>>     support/testing/run-tests \
>>>         -d dl -o output_folder \
>>>         tests.package.test_python_ml_dtypes
>>>
>>> On 14/05/2024 17:42, James Hilliard wrote:
>>>> This package pins overly strict numpy dependency versions apparently
>>>> for compatibility reasons that don't appear relevant to buildroot.
>>>>
>>>> This package also appears to pin an overly strict setuptools version
>>>> for unclear reasons.
>>
>> I looked at this issue last week with the same conclusions...
>> I was able to fix the setuptools version check but it was sill failing with
>> numpy check (it seems numpy dependency is never found while cross-compiling).
>>
>>>>
>>>> See:
>>>> https://github.com/jax-ml/ml_dtypes/blob/v0.3.2/pyproject.toml#L51-L55
>>>>
>>>> To fix this lets just set the --skip-dependency-check build option and
>>>> ignore the build dependency version mismatches since they don't appear
>>>> to cause any build issues.
>>
>> Maybe we should avoid using --skip-dependency-check option too easily. We could
>> miss any new dependency used by further release?
> 
> Yeah, we shouldn't use it unless we have a good reason for it, I think this
> qualifies.

Fair enough.

> 
>>
>>>>
>>>> This error was introduced when we migrated setuptools to pep517 in
>>>> 8937db8dd595e0988751e5dbb568e870b07b39cc.
>>>>
>>>> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
>>>
>>> Tested-by: Julien Olivain <ju.o@free.fr>
>>>
>>>> ---
>>>>  package/python-ml-dtypes/python-ml-dtypes.mk | 1 +
>>>>  1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/package/python-ml-dtypes/python-ml-dtypes.mk
>>>> b/package/python-ml-dtypes/python-ml-dtypes.mk
>>>> index 676137ecf1..8097265078 100644
>>>> --- a/package/python-ml-dtypes/python-ml-dtypes.mk
>>>> +++ b/package/python-ml-dtypes/python-ml-dtypes.mk
>>>> @@ -10,6 +10,7 @@ PYTHON_ML_DTYPES_SITE =
>>>> https://files.pythonhosted.org/packages/39/7d/8d85fcba86
>>>>  PYTHON_ML_DTYPES_LICENSE = Apache-2.0
>>>>  PYTHON_ML_DTYPES_LICENSE_FILES = LICENSE
>>>>  PYTHON_ML_DTYPES_SETUP_TYPE = setuptools
>>
>> We could add a comment here to explain why we skip-dependency-check here.
> 
> Well we haven't really been doing that on other packages using this flag, and
> packages specifying overly strict/unnecessary build dependencies in some
> way is generally always the reason for this flag for any packages using it.

Ok, since there is no other proposal I'll apply as is.

I added a link to a failed gitlab-ci job in the commit log and added a followup
patch to remove python-pybind from C++ dependency comment.

Applied to master, thanks.

Best regards,
Romain


> 
>>
>> Best regards,
>> Romain
>>
>>>> +PYTHON_ML_DTYPES_BUILD_OPTS = --skip-dependency-check
>>>>
>>>>  PYTHON_ML_DTYPES_DEPENDENCIES = \
>>>>      host-python-numpy \
>>>> --
>>>> 2.34.1
>>>
>>> Best regards,
>>>
>>> Julien.
>>> _______________________________________________
>>> buildroot mailing list
>>> buildroot@buildroot.org
>>> https://lists.buildroot.org/mailman/listinfo/buildroot
>>
diff mbox series

Patch

diff --git a/package/python-ml-dtypes/python-ml-dtypes.mk b/package/python-ml-dtypes/python-ml-dtypes.mk
index 676137ecf1..8097265078 100644
--- a/package/python-ml-dtypes/python-ml-dtypes.mk
+++ b/package/python-ml-dtypes/python-ml-dtypes.mk
@@ -10,6 +10,7 @@  PYTHON_ML_DTYPES_SITE = https://files.pythonhosted.org/packages/39/7d/8d85fcba86
 PYTHON_ML_DTYPES_LICENSE = Apache-2.0
 PYTHON_ML_DTYPES_LICENSE_FILES = LICENSE
 PYTHON_ML_DTYPES_SETUP_TYPE = setuptools
+PYTHON_ML_DTYPES_BUILD_OPTS = --skip-dependency-check
 
 PYTHON_ML_DTYPES_DEPENDENCIES = \
 	host-python-numpy \