kizniche / Mycodo

An environmental monitoring and regulation system
http://kylegabriel.com/projects/
GNU General Public License v3.0
2.96k stars 494 forks source link

Installing dependency `bluepy` results in `Could not build wheels for bluepy` #1382

Open 7schmiede opened 4 months ago

7schmiede commented 4 months ago

Describe the problem/bug

Adding the input for "Mijia LYWSD03MMC" requires a dependency "bluepy@1.3.0". During installation the error occurs "ERROR: Could not build wheels for bluepy, which is required to install pyproject.toml-based projects"

Versions:

Reproducibility

  1. Go to Setup > Input
  2. Select "Xiaomi: Mijia LYWSD03MMC"
  3. Click "Add" (Missing Dependency for bluepy is displayed)
  4. Click Install

Expected behavior

...

Screenshots

image

Maybe this line is important:

b"make: Entering directory '/tmp/pip-install-biyi3oiw/bluepy_ba966f8550324883b9771449e4a542da/bluepy'\ntar xzf bluez-src.tgz\ntouch ./bluez-5.47/lib/bluetooth.c ./bluez-5.47/lib/hci.c ./bluez-5.47/lib/sdp.c ./bluez-5.47/lib/uuid.c ./bluez-5.47/attrib/att.c ./bluez-5.47/attrib/gatt.c ./bluez-5.47/attrib/gattrib.c ./bluez-5.47/attrib/utils.c ./bluez-5.47/btio/btio.c ./bluez-5.47/src/log.c ./bluez-5.47/src/shared/mgmt.c ./bluez-5.47/src/shared/crypto.c ./bluez-5.47/src/shared/att.c ./bluez-5.47/src/shared/queue.c ./bluez-5.47/src/shared/util.c ./bluez-5.47/src/shared/io-glib.c ./bluez-5.47/src/shared/timeout-glib.c\nPackage glib-2.0 was not found in the pkg-config search path.\nPerhaps you should add the directory containing `glib-2.0.pc'\nto the PKG_CONFIG_PATH environment variable\nPackage 'glib-2.0', required by 'virtual:world', not found\nPackage glib-2.0 was not found in the pkg-config search path.\nPerhaps you should add the directory containing `glib-2.0.pc'\nto the PKG_CONFIG_PATH environment variable\nPackage 'glib-2.0', required by 'virtual:world', not found\ncc -L. -g -Wall  -Os -DHAVE_CONFIG_H -I./bluez-5.47/attrib -I./bluez-5.47 -I./bluez-5.47/lib -I./bluez-5.47/src -I./bluez-5.47/gdbus -I./bluez-5.47/btio -I./bluez-5.47/sys  -o bluepy-helper bluepy-helper.c ./bluez-5.47/lib/bluetooth.c ./bluez-5.47/lib/hci.c ./bluez-5.47/lib/sdp.c ./bluez-5.47/lib/uuid.c ./bluez-5.47/attrib/att.c ./bluez-5.47/attrib/gatt.c ./bluez-5.47/attrib/gattrib.c ./bluez-5.47/attrib/utils.c ./bluez-5.47/btio/btio.c ./bluez-5.47/src/log.c ./bluez-5.47/src/shared/mgmt.c ./bluez-5.47/src/shared/crypto.c ./bluez-5.47/src/shared/att.c ./bluez-5.47/src/shared/queue.c ./bluez-5.47/src/shared/util.c ./bluez-5.47/src/shared/io-glib.c ./bluez-5.47/src/shared/timeout-glib.c \nbluepy-helper.c:33:10: fatal error: glib.h: No such file or directory\n   33 | #include <glib.h>\n      |          ^~~~~~~~\ncompilation terminated.\n./bluez-5.47/attrib/att.c:33:10: fatal error: glib.h: No such file or directory\n   33 | #include <glib.h>\n      |          ^~~~~~~~\ncompilation terminated.\n./bluez-5.47/attrib/gatt.c:32:10: fatal error: glib.h: No such file or directory\n   32 | #include <glib.h>\n      |          ^~~~~~~~\ncompilation terminated.\n./bluez-5.47/attrib/gattrib.c:34:10: fatal error: glib.h: No such file or directory\n   34 | #include <glib.h>\n      |          ^~~~~~~~\ncompilation terminated.\n./bluez-5.47/attrib/utils.c:30:10: fatal error: glib.h: No such file or directory\n   30 | #include <glib.h>\n      |          ^~~~~~~~\ncompilation terminated.\n./bluez-5.47/btio/btio.c:37:10: fatal error: glib.h: No such file or directory\n   37 | #include <glib.h>\n      |          ^~~~~~~~\ncompilation terminated.\n./bluez-5.47/src/log.c:38:10: fatal error: glib.h: No such file or directory\n   38 | #include <glib.h>\n      |          ^~~~~~~~\ncompilation terminated.\n./bluez-5.47/src/shared/io-glib.c:30:10: fatal error: glib.h: No such file or directory\n   30 | #include <glib.h>\n      |          ^~~~~~~~\ncompilation terminated.\n./bluez-5.47/src/shared/timeout-glib.c:22:10: fatal error: glib.h: No such file or directory\n   22 | #include <glib.h>\n      |          ^~~~~~~~\ncompilation terminated.\nmake: *** [Makefile:30: bluepy-helper] Error 1\nmake: Leaving directory '/tmp/pip-install-biyi3oiw/bluepy_ba966f8550324883b9771449e4a542da/bluepy'\n"
7schmiede commented 4 months ago

I fixed this problem by running

sudo apt-get install libglib2.0

Maybe this sub dependency should be defined.

kizniche commented 4 months ago

At one point in time, it did work without installing additional packages. If it now needs libglib2.0, we should add that to the module dependency list.