[Buildroot] socket.AF_BLUETOOTH in python3 and circular dependencies
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Fri Aug 31 22:10:01 UTC 2018
Hello,
On Thu, 30 Aug 2018 21:21:23 +0200, Grzegorz Blach wrote:
> But unfortunately this patch makes a circular dependencies:
>
> $ make python3-graph-depends
> Recursion detected for : bluez5_utils
> which is a dependency of: python3
> which is a dependency of: util-linux
> which is a dependency of: libglib2
> which is a dependency of: bluez5_utils
[...]
> Can someone point me how to fix circular dependencies without disabling
> python support in util-linux?
Arghh, this is annoying :-/
I don't see a good solution here. Possible options that I see at this
point:
(1) Change Python in Modules/socketmodule.c to not require
bluetooth.h. It doesn't seem to link with any Bluetooth library,
only to need bluetooth.h, so perhaps just like they do for
FreeBSD/NetBSD, we could add the necessary definitions directly in
socketmodule.c to avoid the bluetooth.h dependency ?
(2) Create a python-util-linux package that would be responsible for
building the util-linux Python bindings. This would remove Python
from being a dependency of util-linux, and break the circular
dependency.
However, it is not clear that it will be easy to tell
python-util-linux to *only* build the Python bindings and use the
existing libraries built by the util-linux package, rather than
rebuilding them again.
(3) Add an explicit Config.in option for util-linux Python support,
and make it conflict with Bluetooth support in Python.
For the record, OpenEmbedded doesn't support Bluetooth in Python socket
module, they pass:
ac_cv_header_bluetooth_bluetooth_h=no ac_cv_header_bluetooth_h=no
to the Python configure script.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the buildroot
mailing list