diff mbox series

[RESEND,v1,1/1] package/python-scipy: bump version to 1.9.1

Message ID 20220928193437.13407-1-guillaume.bressaix@gmail.com
State Changes Requested
Headers show
Series [RESEND,v1,1/1] package/python-scipy: bump version to 1.9.1 | expand

Commit Message

Guillaume Bres Sept. 28, 2022, 7:34 p.m. UTC
Signed-off-by: Guillaume W. Bres <guillaume.bressaix@gmail.com>
---
Scipy is expected to move to a meson build infrastructure
by the next release

scipy-.tar.xz is no longer released.

For some reason, a new "Python.h" missing header
build time failure arised. I solve it with a -Ipython include.

Then test script failed, with linker/runtime missing symbols error,
all related to the linear algebra portion (which we do test).
Errors like "undefined reference to __atomic_compare_exchange 8"
regarding
"site-/scipy/optimize/_highs/_highs_wrapper.cpython-310-arm-linux-gnueabi.so"
to be specific. I solved it with a -latomic flag.

Once 1.9.2 is out, we know we already have my V3-1.9.1 patch
serie that builds "fine" with meson, it involved a minor tweak
(hopefuly solved by this time). The test script no longer did pass though,
this serie is not 100% ready to go
---
 package/python-scipy/python-scipy.hash | 2 +-
 package/python-scipy/python-scipy.mk   | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

Comments

Yann E. MORIN Oct. 1, 2022, 6:19 p.m. UTC | #1
Guillaume, All,

On 2022-09-28 21:34 +0200, Guillaume W. Bres spake thusly:
> Signed-off-by: Guillaume W. Bres <guillaume.bressaix@gmail.com>
> ---

All that is below the triple-dash line will be dropped by git when we
apply the patch. However, you provided interesting information in that
post-commit-log message...

> Scipy is expected to move to a meson build infrastructure
> by the next release
> 
> scipy-.tar.xz is no longer released.

This should be part of the commit log proper, to explain why you
switched to the .tar.gz archive.

> For some reason, a new "Python.h" missing header
> build time failure arised. I solve it with a -Ipython include.

This should also be part of the commit log 

> Then test script failed, with linker/runtime missing symbols error,
> all related to the linear algebra portion (which we do test).
> Errors like "undefined reference to __atomic_compare_exchange 8"
> regarding
> "site-/scipy/optimize/_highs/_highs_wrapper.cpython-310-arm-linux-gnueabi.so"
> to be specific. I solved it with a -latomic flag.

I see you pass it via CFLAGS; that's not correct, it should be passed
via LDFLAGS. If that doesnt work, it should be explained why.

Also, we can't arbitrary link agains -latomic, because not all
toolchains have it. See cairo.mk for how it should be conditionally
used.

Regards,
Yann E. MORIN.

> Once 1.9.2 is out, we know we already have my V3-1.9.1 patch
> serie that builds "fine" with meson, it involved a minor tweak
> (hopefuly solved by this time). The test script no longer did pass though,
> this serie is not 100% ready to go
> ---
>  package/python-scipy/python-scipy.hash | 2 +-
>  package/python-scipy/python-scipy.mk   | 7 +++++--
>  2 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/package/python-scipy/python-scipy.hash b/package/python-scipy/python-scipy.hash
> index 0274679c43..1ba239aabf 100644
> --- a/package/python-scipy/python-scipy.hash
> +++ b/package/python-scipy/python-scipy.hash
> @@ -1,5 +1,5 @@
>  # Locally generated
> -sha256  0140dd24d14ce194fdb3df496c2190f0896ca84ac98bf5d69c3b3fb7bde1a1e9  scipy-1.8.1.tar.xz
> +sha256  26d28c468900e6d5fdb37d2812ab46db0ccd22c63baa095057871faa3a498bc9  scipy-1.9.1.tar.gz
>  sha256  96599f8ec69a2cc609265eed13fc75090aacb28742260e55ce623788a33da19c  LICENSE.txt
>  sha256  37e64a498894ac7c3b070023e3689e954a8ecf8a23b90968d09a455f1b4f7b35  scipy/linalg/src/lapack_deprecations/LICENSE
>  sha256  606209a000716c5f66e33e180ce08434b96ed17db4975ab9723c6b5fbcc89609  scipy/ndimage/LICENSE.txt
> diff --git a/package/python-scipy/python-scipy.mk b/package/python-scipy/python-scipy.mk
> index a8c23c6c88..1619b9f40a 100644
> --- a/package/python-scipy/python-scipy.mk
> +++ b/package/python-scipy/python-scipy.mk
> @@ -4,8 +4,8 @@
>  #
>  ################################################################################
>  
> -PYTHON_SCIPY_VERSION = 1.8.1
> -PYTHON_SCIPY_SOURCE = scipy-$(PYTHON_SCIPY_VERSION).tar.xz
> +PYTHON_SCIPY_VERSION = 1.9.1
> +PYTHON_SCIPY_SOURCE = scipy-$(PYTHON_SCIPY_VERSION).tar.gz
>  PYTHON_SCIPY_SITE = https://github.com/scipy/scipy/releases/download/v$(PYTHON_SCIPY_VERSION)
>  PYTHON_SCIPY_LICENSE = \
>  	BSD-3-Clause, \
> @@ -36,6 +36,8 @@ PYTHON_SCIPY_INSTALL_STAGING = YES
>  PYTHON_SCIPY_SETUP_TYPE = setuptools
>  PYTHON_SCIPY_BUILD_OPTS = config_fc --fcompiler=gnu95
>  
> +PYTHON_SCIPY_CFLAGS = \
> +	-I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)
>  PYTHON_SCIPY_LDFLAGS = $(TARGET_LDFLAGS) -shared \
>  	-L$(PYTHON3_PATH)/site-packages/numpy/core/lib
>  # -lnpyrandom localization
> @@ -44,6 +46,7 @@ PYTHON_SCIPY_LDFLAGS += \
>  
>  PYTHON_SCIPY_ENV = \
>  	F90=$(TARGET_FC) \
> +	CFLAGS="$(PYTHON_SCIPY_CFLAGS) -latomic" \
>  	LDFLAGS="$(PYTHON_SCIPY_LDFLAGS)"
>  
>  # Provide system configuration options to numpy distutils extensions, telling
> -- 
> 2.20.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
Guillaume Bres Oct. 2, 2022, 8:37 a.m. UTC | #2
Thank you Yann for the needed feedback.
I see most of my submissions as drafts that need one.
For instance, I hesitate a lot about what should remain in the commit log
or not.

Same thing applies to the -latomic flag, which I knew solved my use case,
but I could not find a package to find similar requirements.
Your input is always valued, thank you

Guillaume W. Bres
Software engineer
<guillaume.bressaix@gmail.com>


Le sam. 1 oct. 2022 à 20:19, Yann E. MORIN <yann.morin.1998@free.fr> a
écrit :

> Guillaume, All,
>
> On 2022-09-28 21:34 +0200, Guillaume W. Bres spake thusly:
> > Signed-off-by: Guillaume W. Bres <guillaume.bressaix@gmail.com>
> > ---
>
> All that is below the triple-dash line will be dropped by git when we
> apply the patch. However, you provided interesting information in that
> post-commit-log message...
>
> > Scipy is expected to move to a meson build infrastructure
> > by the next release
> >
> > scipy-.tar.xz is no longer released.
>
> This should be part of the commit log proper, to explain why you
> switched to the .tar.gz archive.
>
> > For some reason, a new "Python.h" missing header
> > build time failure arised. I solve it with a -Ipython include.
>
> This should also be part of the commit log
>
> > Then test script failed, with linker/runtime missing symbols error,
> > all related to the linear algebra portion (which we do test).
> > Errors like "undefined reference to __atomic_compare_exchange 8"
> > regarding
> > "site-/scipy/optimize/_highs/_
> highs_wrapper.cpython-310-arm-linux-gnueabi.so"
> > to be specific. I solved it with a -latomic flag.
>
> I see you pass it via CFLAGS; that's not correct, it should be passed
> via LDFLAGS. If that doesnt work, it should be explained why.
>
> Also, we can't arbitrary link agains -latomic, because not all
> toolchains have it. See cairo.mk for how it should be conditionally
> used.
>
> Regards,
> Yann E. MORIN.
>
> > Once 1.9.2 is out, we know we already have my V3-1.9.1 patch
> > serie that builds "fine" with meson, it involved a minor tweak
> > (hopefuly solved by this time). The test script no longer did pass
> though,
> > this serie is not 100% ready to go
> > ---
> >  package/python-scipy/python-scipy.hash | 2 +-
> >  package/python-scipy/python-scipy.mk   | 7 +++++--
> >  2 files changed, 6 insertions(+), 3 deletions(-)
> >
> > diff --git a/package/python-scipy/python-scipy.hash
> b/package/python-scipy/python-scipy.hash
> > index 0274679c43..1ba239aabf 100644
> > --- a/package/python-scipy/python-scipy.hash
> > +++ b/package/python-scipy/python-scipy.hash
> > @@ -1,5 +1,5 @@
> >  # Locally generated
> > -sha256
> 0140dd24d14ce194fdb3df496c2190f0896ca84ac98bf5d69c3b3fb7bde1a1e9
> scipy-1.8.1.tar.xz
> > +sha256
> 26d28c468900e6d5fdb37d2812ab46db0ccd22c63baa095057871faa3a498bc9
> scipy-1.9.1.tar.gz
> >  sha256
> 96599f8ec69a2cc609265eed13fc75090aacb28742260e55ce623788a33da19c
> LICENSE.txt
> >  sha256
> 37e64a498894ac7c3b070023e3689e954a8ecf8a23b90968d09a455f1b4f7b35
> scipy/linalg/src/lapack_deprecations/LICENSE
> >  sha256
> 606209a000716c5f66e33e180ce08434b96ed17db4975ab9723c6b5fbcc89609
> scipy/ndimage/LICENSE.txt
> > diff --git a/package/python-scipy/python-scipy.mk
> b/package/python-scipy/python-scipy.mk
> > index a8c23c6c88..1619b9f40a 100644
> > --- a/package/python-scipy/python-scipy.mk
> > +++ b/package/python-scipy/python-scipy.mk
> > @@ -4,8 +4,8 @@
> >  #
> >
> ################################################################################
> >
> > -PYTHON_SCIPY_VERSION = 1.8.1
> > -PYTHON_SCIPY_SOURCE = scipy-$(PYTHON_SCIPY_VERSION).tar.xz
> > +PYTHON_SCIPY_VERSION = 1.9.1
> > +PYTHON_SCIPY_SOURCE = scipy-$(PYTHON_SCIPY_VERSION).tar.gz
> >  PYTHON_SCIPY_SITE =
> https://github.com/scipy/scipy/releases/download/v$(PYTHON_SCIPY_VERSION)
> >  PYTHON_SCIPY_LICENSE = \
> >       BSD-3-Clause, \
> > @@ -36,6 +36,8 @@ PYTHON_SCIPY_INSTALL_STAGING = YES
> >  PYTHON_SCIPY_SETUP_TYPE = setuptools
> >  PYTHON_SCIPY_BUILD_OPTS = config_fc --fcompiler=gnu95
> >
> > +PYTHON_SCIPY_CFLAGS = \
> > +     -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)
> >  PYTHON_SCIPY_LDFLAGS = $(TARGET_LDFLAGS) -shared \
> >       -L$(PYTHON3_PATH)/site-packages/numpy/core/lib
> >  # -lnpyrandom localization
> > @@ -44,6 +46,7 @@ PYTHON_SCIPY_LDFLAGS += \
> >
> >  PYTHON_SCIPY_ENV = \
> >       F90=$(TARGET_FC) \
> > +     CFLAGS="$(PYTHON_SCIPY_CFLAGS) -latomic" \
> >       LDFLAGS="$(PYTHON_SCIPY_LDFLAGS)"
> >
> >  # Provide system configuration options to numpy distutils extensions,
> telling
> > --
> > 2.20.1
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot@buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
>
> --
>
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics'
> conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___
>      |
> | +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is
> no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v
>  conspiracy.  |
>
> '------------------------------^-------^------------------^--------------------'
>
diff mbox series

Patch

diff --git a/package/python-scipy/python-scipy.hash b/package/python-scipy/python-scipy.hash
index 0274679c43..1ba239aabf 100644
--- a/package/python-scipy/python-scipy.hash
+++ b/package/python-scipy/python-scipy.hash
@@ -1,5 +1,5 @@ 
 # Locally generated
-sha256  0140dd24d14ce194fdb3df496c2190f0896ca84ac98bf5d69c3b3fb7bde1a1e9  scipy-1.8.1.tar.xz
+sha256  26d28c468900e6d5fdb37d2812ab46db0ccd22c63baa095057871faa3a498bc9  scipy-1.9.1.tar.gz
 sha256  96599f8ec69a2cc609265eed13fc75090aacb28742260e55ce623788a33da19c  LICENSE.txt
 sha256  37e64a498894ac7c3b070023e3689e954a8ecf8a23b90968d09a455f1b4f7b35  scipy/linalg/src/lapack_deprecations/LICENSE
 sha256  606209a000716c5f66e33e180ce08434b96ed17db4975ab9723c6b5fbcc89609  scipy/ndimage/LICENSE.txt
diff --git a/package/python-scipy/python-scipy.mk b/package/python-scipy/python-scipy.mk
index a8c23c6c88..1619b9f40a 100644
--- a/package/python-scipy/python-scipy.mk
+++ b/package/python-scipy/python-scipy.mk
@@ -4,8 +4,8 @@ 
 #
 ################################################################################
 
-PYTHON_SCIPY_VERSION = 1.8.1
-PYTHON_SCIPY_SOURCE = scipy-$(PYTHON_SCIPY_VERSION).tar.xz
+PYTHON_SCIPY_VERSION = 1.9.1
+PYTHON_SCIPY_SOURCE = scipy-$(PYTHON_SCIPY_VERSION).tar.gz
 PYTHON_SCIPY_SITE = https://github.com/scipy/scipy/releases/download/v$(PYTHON_SCIPY_VERSION)
 PYTHON_SCIPY_LICENSE = \
 	BSD-3-Clause, \
@@ -36,6 +36,8 @@  PYTHON_SCIPY_INSTALL_STAGING = YES
 PYTHON_SCIPY_SETUP_TYPE = setuptools
 PYTHON_SCIPY_BUILD_OPTS = config_fc --fcompiler=gnu95
 
+PYTHON_SCIPY_CFLAGS = \
+	-I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)
 PYTHON_SCIPY_LDFLAGS = $(TARGET_LDFLAGS) -shared \
 	-L$(PYTHON3_PATH)/site-packages/numpy/core/lib
 # -lnpyrandom localization
@@ -44,6 +46,7 @@  PYTHON_SCIPY_LDFLAGS += \
 
 PYTHON_SCIPY_ENV = \
 	F90=$(TARGET_FC) \
+	CFLAGS="$(PYTHON_SCIPY_CFLAGS) -latomic" \
 	LDFLAGS="$(PYTHON_SCIPY_LDFLAGS)"
 
 # Provide system configuration options to numpy distutils extensions, telling