pybind / pybind/python_example

yocto recipe for this example

Open
#189 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
530
Forks
150
Avg merge
8d 2h
Merged PRs (30d)
1

Description

I have a very basic idea about Yocto. I have added python3-pybind11 package into IMAGE_INSTALL and I checked if it is in the target:

root@qemuarm64:~# python3
Python 3.8.18 (default, Aug 24 2023, 19:48:18) 
[GCC 9.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pybind11
>>> pybind11.__version__
'2.4.3'

The version is a bit old. Anyway I have changed pyproject.toml by lowering the version in the example:

[build-system]
requires = [
    "setuptools>=42",
    "pybind11>=2.4.0", # << changed this
]
...

With this change, I still can build and run the example locally.

I created this recipe by devtool add:

SUMMARY = "A test project using pybind11"
HOMEPAGE = "https://github.com/pybind/python_example"
LICENSE = "Unknown"
LIC_FILES_CHKSUM = "file://LICENSE;md5=153b3e05cd731791777324af9f7219b3"

SRC_URI = "git://git@gitlab.com/sharedlib/python-example-pybind.git;protocol=ssh;branch=master"

PV = "1.0+git${SRCPV}"
SRCREV = "e2350ed9dad1c5b424f840c21079d51976463e41"

S = "${WORKDIR}/git"

inherit setuptools3

RDEPENDS_${PN} += "python3-pybind11"

FILES_${PN} += "/usr/lib/"

And I got this error:

ERROR: python-example-1.0+git999-r0 do_compile: 'python3 setup.py build ' execution failed.
ERROR: python-example-1.0+git999-r0 do_compile: Execution of '/workspaces/devcontainer-do/build/tmp/work/aarch64-poky-linux/python-example/1.0+git999-r0/temp/run.do_compile.701172' failed with exit code 1
ERROR: Logfile of failure stored in: /workspaces/devcontainer-do/build/tmp/work/aarch64-poky-linux/python-example/1.0+git999-r0/temp/log.do_compile.701172
Log data follows:
| DEBUG: Executing python function externalsrc_compile_prefunc
| NOTE: python-example: compiling from external source tree /workspaces/devcontainer-do/build/workspace/sources/python-example
| DEBUG: Python function externalsrc_compile_prefunc finished
| DEBUG: Executing shell function do_compile
| Traceback (most recent call last):
|   File "setup.py", line 2, in <module>
|     from pybind11.setup_helpers import Pybind11Extension, build_ext
| ModuleNotFoundError: No module named 'pybind11'
| ERROR: 'python3 setup.py build ' execution failed.
| WARNING: exit code 1 from a shell command.

Can you help me?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with setup.py and pyproject.toml, then inspect the submitted Yocto recipe and the do_compile log showing the missing pybind11 module. Check how this example's build requirements are made available during the Yocto build. Done means the recipe builds successfully and produces a runnable example image.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.