On Wed, Mar 6, 2024 at 8:42 AM Alexander Kanavin <alex.kana...@gmail.com>
wrote:
>
> Signed-off-by: Alexander Kanavin <a...@linutronix.de>
> ---
>  meta/conf/distro/include/maintainers.inc      |  3 +
>  ...on3-jsonschema-specifications_2023.12.1.bb | 18 +++++
>  ...4.17.3.bb => python3-jsonschema_4.21.1.bb} |  4 +-
>  .../python/python3-referencing_0.33.0.bb      | 14 ++++
>  .../python/python3-rpds-py-crates.inc         | 80 +++++++++++++++++++
>  .../python/python3-rpds-py_0.18.0.bb          | 17 ++++
>  6 files changed, 135 insertions(+), 1 deletion(-)
>  create mode 100644 meta/recipes-devtools/python/
python3-jsonschema-specifications_2023.12.1.bb
>  rename meta/recipes-devtools/python/{python3-jsonschema_4.17.3.bb =>
python3-jsonschema_4.21.1.bb} (88%)
>  create mode 100644 meta/recipes-devtools/python/
python3-referencing_0.33.0.bb
>  create mode 100644
meta/recipes-devtools/python/python3-rpds-py-crates.inc
>  create mode 100644 meta/recipes-devtools/python/python3-rpds-py_0.18.0.bb
>

Hi,

Since this was merged to poky master our application which uses jsonschema
dies with a stack
trace indicating a failure to import rpds.

After a bit of investigation, I found that it looks like yocto is
installing the rust library
module into the site-packages on the device as '
rpds.cpython-312-armv7l-linux-gnueabihf.so' and the
python interpreter is looking for 'rpds.cpython-312-arm-linux-gnueabihf.so'.

When I rename the .so file to what the python interpreter is looking for,
things work and I can
import rpds successfully.

It seems like something is going wrong with maturin building the wheel for
the armv7l target, but
unfortunately my skills with rust and maturin are lacking, so I can't
figure out how to fix this.

We are building our images using HEAD of master/main for all of our meta
layers, so this landed
in our builds a few days ago.

Simple way to tickle the error on a device:

#######################################################################

root@mp1010:~# find /usr/lib/python3.12/site-packages/ -name '*.so'
/usr/lib/python3.12/site-packages/_
cffi_backend.cpython-312-arm-linux-gnueabihf.so
/usr/lib/python3.12/site-packages/cryptography/hazmat/bindings/_
rust.cpython-312-arm-linux-gnueabihf.so
/usr/lib/python3.12/site-packages/markupsafe/_
speedups.cpython-312-arm-linux-gnueabihf.so
/usr/lib/python3.12/site-packages/pkcs11/_
pkcs11.cpython-312-arm-linux-gnueabihf.so
/usr/lib/python3.12/site-packages/
pvectorc.cpython-312-arm-linux-gnueabihf.so
/usr/lib/python3.12/site-packages/pycurl.cpython-312-arm-linux-gnueabihf.so
/usr/lib/python3.12/site-packages/rpds/
rpds.cpython-312-armv7l-linux-gnueabihf.so
/usr/lib/python3.12/site-packages/rpds/
rpds.cpython-312-arm-linux-gnueabihf.so
/usr/lib/python3.12/site-packages/sdbus/
sd_bus_internals.cpython-312-arm-linux-gnueabihf.so
/usr/lib/python3.12/site-packages/simplejson/_
speedups.cpython-312-arm-linux-gnueabihf.so
/usr/lib/python3.12/site-packages/spidev.cpython-312-arm-linux-gnueabihf.so
/usr/lib/python3.12/site-packages/tornado/speedups.abi3.so
/usr/lib/python3.12/site-packages/yaml/_
yaml.cpython-312-arm-linux-gnueabihf.so
/usr/lib/python3.12/site-packages/zenoh/zenoh.abi3.so

root@mp1010:~# python3
Python 3.12.2 (main, Feb  6 2024, 20:19:44) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import rpds
>>>

root@mp1010:~# cd /lib/python3.12/site-packages/rpds

root@mp1010:/lib/python3.12/site-packages/rpds# ls -1
__init__.py
__init__.pyi
__pycache__/
py.typed
rpds.cpython-312-arm-linux-gnueabihf.so*
rpds.cpython-312-armv7l-linux-gnueabihf.so*
root@mp1010:/lib/python3.12/site-packages/rpds# rm
rpds.cpython-312-arm-linux-gnueabihf.so
rm: remove regular file 'rpds.cpython-312-arm-linux-gnueabihf.so'? y

root@mp1010:/lib/python3.12/site-packages/rpds# python3
Python 3.12.2 (main, Feb  6 2024, 20:19:44) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import rpds
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.12/site-packages/rpds/__init__.py", line 1, in
<module>
    from .rpds import *
ModuleNotFoundError: No module named 'rpds.rpds'
>>>

#######################################################################

Target processor is a TI AM57xx.

Any help or things to try would be appreciated. More than happy to provide
more information if needed.
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#197001): 
https://lists.openembedded.org/g/openembedded-core/message/197001
Mute This Topic: https://lists.openembedded.org/mt/104767980/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to