[Buildroot] Compiling Python packages with C extensions with per-package directories

Thomas Petazzoni thomas.petazzoni at bootlin.com
Sat Nov 30 20:07:25 UTC 2019


Hello Asaf,

On Sat, 30 Nov 2019 21:20:05 +0200
Asaf Kahlon <asafka7 at gmail.com> wrote:

> As now some work on per-package directories has been merged for the
> next release, I tried to play with it a little and encountered the
> following problem:
> When compiling a Python package with C sources, the compilation fails.

I have this patch:

  https://github.com/tpetazzoni/buildroot/commit/f2a92b1321bd0d63e5fad81b0cfc9ace910d17a0

which I believe should fix the problems you mention. My patch series
for per-package was just the core support. I have a number of
additional patches at
https://github.com/tpetazzoni/buildroot/commits/ppsh-v8-work that fix
some issues with per-package directories (but not all, of course).


> I don't think we want to tweak the _sysconfigdata file for every
> python package (although it would lead to a more "correct" situation,
> in which every sysroot contains _sysconfidata with proper paths).
> In addition, I wonder why do we need to copy all the toolchain-related
> files for every single package? (Maybe a symlink can help?)

We don't copy things for every single package, we do hard links. All
the per-package logic is based on making copy using hard links, so it
is very cheap.

My patch at
https://github.com/tpetazzoni/buildroot/commit/f2a92b1321bd0d63e5fad81b0cfc9ace910d17a0
indeed consists in tweaking the sysconfigdata on a per package basis.
Do not hesitate to let me know if you see any other solution. Ideally,
all the paths in sysconfigdata should be defined relatively to the
location of the sysconfidata file itself. I think I tried to do that
back then, but didn't succeed.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


More information about the buildroot mailing list