Message ID | 20220519160214.214701-1-gsmecher@threespeedlogic.com |
---|---|
State | Deferred |
Headers | show |
Series | [v2] package/python-orjson: disallow build when using musl. | expand |
Graeme, All, On 2022-05-19 09:02 -0700, Graeme Smecher spake thusly: > The python-orjson build bails as follows when using musl libc: > > error: cannot produce cdylib for `orjson v3.6.7 (...)` as the > target `i586-unknown-linux-musl` does not support these crate types I could not reproduce such an error wit the following defconfig: BR2_TOOLCHAIN_BUILDROOT_MUSL=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_PER_PACKAGE_DIRECTORIES=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_ORJSON=y Since you submitted this patch, pythn-orjson was bumped multiple times, and we've also bumped rust to 1.66.1, so maybe that was fixed now. Could you have a further look into this, please? Regards, Yann E. MORIN. > It's not machine-specific (it occurs on i586, s389x, and arm platforms), > and is tied to what appears to be relatively arcane details for > rust/musl: > > https://github.com/rust-lang/rust/issues/59302 > > At some point, it will be possible to remove this restriction - but not > yet. > > Signed-off-by: Graeme Smecher <gsmecher@threespeedlogic.com> > --- > package/python-orjson/Config.in | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/package/python-orjson/Config.in b/package/python-orjson/Config.in > index 420e023b0a..b2ad9062cc 100644 > --- a/package/python-orjson/Config.in > +++ b/package/python-orjson/Config.in > @@ -1,6 +1,8 @@ > config BR2_PACKAGE_PYTHON_ORJSON > bool "python-orjson" > depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS > + # doesn't build with musl until rust's cdylib targets work with it > + depends on !BR2_TOOLCHAIN_USES_MUSL > select BR2_PACKAGE_PYTHON_CFFI # runtime > help > orjson is a fast, correct JSON library for Python. It > @@ -10,3 +12,6 @@ config BR2_PACKAGE_PYTHON_ORJSON > instances natively. > > https://github.com/ijl/orjson > + > +comment "python-orjson requires rust cdylib support, which musl doesn't have yet" > + depends on BR2_TOOLCHAIN_USES_MUSL > -- > 2.35.1 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
Hi Yann, On 2023-02-07 08:38, Yann E. MORIN wrote: > Graeme, All, > > On 2022-05-19 09:02 -0700, Graeme Smecher spake thusly: >> The python-orjson build bails as follows when using musl libc: >> >> error: cannot produce cdylib for `orjson v3.6.7 (...)` as the >> target `i586-unknown-linux-musl` does not support these crate types > > I could not reproduce such an error wit the following defconfig: > > BR2_TOOLCHAIN_BUILDROOT_MUSL=y > BR2_TOOLCHAIN_BUILDROOT_CXX=y > BR2_PER_PACKAGE_DIRECTORIES=y > BR2_PACKAGE_PYTHON3=y > BR2_PACKAGE_PYTHON_ORJSON=y > > Since you submitted this patch, pythn-orjson was bumped multiple times, > and we've also bumped rust to 1.66.1, so maybe that was fixed now. > > Could you have a further look into this, please? This patch is obsolete. I used to receive orjson build failures associated with musl on a regular basis - they have tapered off since mid-2022. Over the past ~6 months or so, only the mips autobuilds have failed with the following message: - maturin failed Caused by: The architecture mips is not supported http://autobuild.buildroot.net/results/7291d123479411e632b8380f0045a18814dc23ae I am happy to drop the patch. best, Graeme > > Regards, > Yann E. MORIN. > >> It's not machine-specific (it occurs on i586, s389x, and arm platforms), >> and is tied to what appears to be relatively arcane details for >> rust/musl: >> >> https://github.com/rust-lang/rust/issues/59302 >> >> At some point, it will be possible to remove this restriction - but not >> yet. >> >> Signed-off-by: Graeme Smecher <gsmecher@threespeedlogic.com> >> --- >> package/python-orjson/Config.in | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/package/python-orjson/Config.in b/package/python-orjson/Config.in >> index 420e023b0a..b2ad9062cc 100644 >> --- a/package/python-orjson/Config.in >> +++ b/package/python-orjson/Config.in >> @@ -1,6 +1,8 @@ >> config BR2_PACKAGE_PYTHON_ORJSON >> bool "python-orjson" >> depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS >> + # doesn't build with musl until rust's cdylib targets work with it >> + depends on !BR2_TOOLCHAIN_USES_MUSL >> select BR2_PACKAGE_PYTHON_CFFI # runtime >> help >> orjson is a fast, correct JSON library for Python. It >> @@ -10,3 +12,6 @@ config BR2_PACKAGE_PYTHON_ORJSON >> instances natively. >> >> https://github.com/ijl/orjson >> + >> +comment "python-orjson requires rust cdylib support, which musl doesn't have yet" >> + depends on BR2_TOOLCHAIN_USES_MUSL >> -- >> 2.35.1 >> >> _______________________________________________ >> buildroot mailing list >> buildroot@buildroot.org >> https://lists.buildroot.org/mailman/listinfo/buildroot >
Graeme, All, On 2023-02-07 09:14 -0800, Graeme Smecher spake thusly: > On 2023-02-07 08:38, Yann E. MORIN wrote: > >On 2022-05-19 09:02 -0700, Graeme Smecher spake thusly: > >>The python-orjson build bails as follows when using musl libc: > >I could not reproduce such an error wit the following defconfig: [--SNIP--] > This patch is obsolete. I used to receive orjson build failures > associated with musl on a regular basis - they have tapered off since > mid-2022. In the meantime, Thomas has bisected the resolution to that commit from James: 2cbf1e4d3a1a package/python-orjson: convert to use the python-package infrastructure The commit before, it fails to build; with that commit, the build succeeds. Regards, Yann E. MORIN.
Hi Yann, On 2023-02-07 09:29, Yann E. MORIN wrote: > Graeme, All, > > On 2023-02-07 09:14 -0800, Graeme Smecher spake thusly: >> On 2023-02-07 08:38, Yann E. MORIN wrote: >>> On 2022-05-19 09:02 -0700, Graeme Smecher spake thusly: >>>> The python-orjson build bails as follows when using musl libc: >>> I could not reproduce such an error wit the following defconfig: > [--SNIP--] >> This patch is obsolete. I used to receive orjson build failures >> associated with musl on a regular basis - they have tapered off since >> mid-2022. > > In the meantime, Thomas has bisected the resolution to that commit from > James: > > 2cbf1e4d3a1a package/python-orjson: convert to use the python-package infrastructure > > The commit before, it fails to build; with that commit, the build > succeeds. Excellent - two birds, one stone. Thanks again for all your work. best, Graeme
diff --git a/package/python-orjson/Config.in b/package/python-orjson/Config.in index 420e023b0a..b2ad9062cc 100644 --- a/package/python-orjson/Config.in +++ b/package/python-orjson/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_PYTHON_ORJSON bool "python-orjson" depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + # doesn't build with musl until rust's cdylib targets work with it + depends on !BR2_TOOLCHAIN_USES_MUSL select BR2_PACKAGE_PYTHON_CFFI # runtime help orjson is a fast, correct JSON library for Python. It @@ -10,3 +12,6 @@ config BR2_PACKAGE_PYTHON_ORJSON instances natively. https://github.com/ijl/orjson + +comment "python-orjson requires rust cdylib support, which musl doesn't have yet" + depends on BR2_TOOLCHAIN_USES_MUSL
The python-orjson build bails as follows when using musl libc: error: cannot produce cdylib for `orjson v3.6.7 (...)` as the target `i586-unknown-linux-musl` does not support these crate types It's not machine-specific (it occurs on i586, s389x, and arm platforms), and is tied to what appears to be relatively arcane details for rust/musl: https://github.com/rust-lang/rust/issues/59302 At some point, it will be possible to remove this restriction - but not yet. Signed-off-by: Graeme Smecher <gsmecher@threespeedlogic.com> --- package/python-orjson/Config.in | 5 +++++ 1 file changed, 5 insertions(+)