RE: client/btpclient: Add BAP/ASCS/PACS support for auto-pts BAP tests
From: <hidden>
Date: 2026-09-04 17:38:03
This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1158120 ---Test result--- Test Summary: CheckPatch PASS 3.99 seconds GitLint FAIL 1.84 seconds BuildEll PASS 16.00 seconds BluezMake PASS 488.30 seconds MakeCheck PASS 18.12 seconds MakeDistcheck PASS 122.64 seconds CheckValgrind PASS 176.17 seconds CheckSmatch PASS 233.12 seconds bluezmakeextell PASS 74.74 seconds IncrementalBuild FAIL 530.91 seconds ScanBuild FAIL 81.94 seconds Details ############################## Test: GitLint - FAIL Desc: Run gitlint Output: [BlueZ,7/8] client/btpclient: Defer CIG/CIS assignment based on Client/Server role 1: T1 Title exceeds max length (82>80): "[BlueZ,7/8] client/btpclient: Defer CIG/CIS assignment based on Client/Server role" ############################## Test: IncrementalBuild - FAIL Desc: Incremental build with the patches in the series Output: client/btpclient/bap.c: In function ‘btp_bap_send’: client/btpclient/bap.c:125:8: error: implicit declaration of function ‘find_ase_by_dir’; did you mean ‘find_ase_by_uuid’? [-Werror=implicit-function-declaration] 125 | ase = find_ase_by_dir(dev, BTP_BAP_DIR_SINK); | ^~~~~~~~~~~~~~~ | find_ase_by_uuid client/btpclient/bap.c:125:6: error: assignment to ‘struct btp_ase *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion] 125 | ase = find_ase_by_dir(dev, BTP_BAP_DIR_SINK); | ^ client/btpclient/bap.c:126:18: error: ‘struct btp_ase’ has no member named ‘io’ 126 | if (!ase || !ase->io) | ^~ client/btpclient/bap.c:129:39: error: ‘struct btp_ase’ has no member named ‘io’ 129 | bytes_written = write(l_io_get_fd(ase->io), cp->data, | ^~ client/btpclient/bap.c:130:22: error: ‘struct btp_ase’ has no member named ‘tx_mtu’ 130 | cp->data_len <= ase->tx_mtu ? cp->data_len : ase->tx_mtu); | ^~ client/btpclient/bap.c:130:51: error: ‘struct btp_ase’ has no member named ‘tx_mtu’ 130 | cp->data_len <= ase->tx_mtu ? cp->data_len : ase->tx_mtu); | ^~ cc1: all warnings being treated as errors make[1]: *** [Makefile:7197: client/btpclient/bap.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:4264: all] Error 2 [BlueZ,5/8] client/btpclient: Add BTP_OP_BAP_SEND support client/btpclient/bap.c: In function ‘btp_bap_send’: client/btpclient/bap.c:125:8: error: implicit declaration of function ‘find_ase_by_dir’; did you mean ‘find_ase_by_uuid’? [-Werror=implicit-function-declaration] 125 | ase = find_ase_by_dir(dev, BTP_BAP_DIR_SINK); | ^~~~~~~~~~~~~~~ | find_ase_by_uuid client/btpclient/bap.c:125:6: error: assignment to ‘struct btp_ase *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion] 125 | ase = find_ase_by_dir(dev, BTP_BAP_DIR_SINK); | ^ client/btpclient/bap.c:126:18: error: ‘struct btp_ase’ has no member named ‘io’ 126 | if (!ase || !ase->io) | ^~ client/btpclient/bap.c:129:39: error: ‘struct btp_ase’ has no member named ‘io’ 129 | bytes_written = write(l_io_get_fd(ase->io), cp->data, | ^~ client/btpclient/bap.c:130:22: error: ‘struct btp_ase’ has no member named ‘tx_mtu’ 130 | cp->data_len <= ase->tx_mtu ? cp->data_len : ase->tx_mtu); | ^~ client/btpclient/bap.c:130:51: error: ‘struct btp_ase’ has no member named ‘tx_mtu’ 130 | cp->data_len <= ase->tx_mtu ? cp->data_len : ase->tx_mtu); | ^~ cc1: all warnings being treated as errors make[1]: *** [Makefile:7197: client/btpclient/bap.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:4264: all] Error 2 ############################## Test: ScanBuild - FAIL Desc: Run Scan Build Output: src/shared/gatt-client.c:447:21: warning: Use of memory after it is freed gatt_db_unregister(op->client->db, op->db_id); ^~~~~~~~~~ src/shared/gatt-client.c:692:2: warning: Use of memory after it is freed discovery_op_complete(op, false, att_ecode); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:992:2: warning: Use of memory after it is freed discovery_op_complete(op, success, att_ecode); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:1098:2: warning: Use of memory after it is freed discovery_op_complete(op, success, att_ecode); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:1292:2: warning: Use of memory after it is freed discovery_op_complete(op, success, att_ecode); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:1357:2: warning: Use of memory after it is freed discovery_op_complete(op, success, att_ecode); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:1632:6: warning: Use of memory after it is freed if (read_db_hash(op)) { ^~~~~~~~~~~~~~~~ src/shared/gatt-client.c:1637:2: warning: Use of memory after it is freed discover_all(op); ^~~~~~~~~~~~~~~~ src/shared/gatt-client.c:1693:56: warning: Use of memory after it is freed notify_data->chrc->ccc_write_id = notify_data->att_id = att_id; ~~~~~~~~~~~~~~~~~~~ ^ src/shared/gatt-client.c:2146:6: warning: Use of memory after it is freed if (read_db_hash(op)) { ^~~~~~~~~~~~~~~~ src/shared/gatt-client.c:2154:8: warning: Use of memory after it is freed discovery_op_ref(op), ^~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:3332:2: warning: Use of memory after it is freed complete_write_long_op(req, success, 0, false); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:3354:2: warning: Use of memory after it is freed request_unref(req); ^~~~~~~~~~~~~~~~~~ 13 warnings generated. src/shared/rap.c:3554:13: warning: Use of memory after it is freed attached = queue_find(sessions, NULL, rap); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. src/shared/bap.c:1543:8: warning: Use of memory after it is freed bap = bt_bap_ref_safe(bap); ^~~~~~~~~~~~~~~~~~~~ src/shared/bap.c:2354:20: warning: Use of memory after it is freed return queue_find(stream->bap->streams, NULL, stream); ^~~~~~~~~~~~~~~~~~~~ 2 warnings generated. src/shared/gatt-client.c:447:21: warning: Use of memory after it is freed gatt_db_unregister(op->client->db, op->db_id); ^~~~~~~~~~ src/shared/gatt-client.c:692:2: warning: Use of memory after it is freed discovery_op_complete(op, false, att_ecode); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:992:2: warning: Use of memory after it is freed discovery_op_complete(op, success, att_ecode); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:1098:2: warning: Use of memory after it is freed discovery_op_complete(op, success, att_ecode); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:1292:2: warning: Use of memory after it is freed discovery_op_complete(op, success, att_ecode); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:1357:2: warning: Use of memory after it is freed discovery_op_complete(op, success, att_ecode); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:1632:6: warning: Use of memory after it is freed if (read_db_hash(op)) { ^~~~~~~~~~~~~~~~ src/shared/gatt-client.c:1637:2: warning: Use of memory after it is freed discover_all(op); ^~~~~~~~~~~~~~~~ src/shared/gatt-client.c:1693:56: warning: Use of memory after it is freed notify_data->chrc->ccc_write_id = notify_data->att_id = att_id; ~~~~~~~~~~~~~~~~~~~ ^ src/shared/gatt-client.c:2146:6: warning: Use of memory after it is freed if (read_db_hash(op)) { ^~~~~~~~~~~~~~~~ src/shared/gatt-client.c:2154:8: warning: Use of memory after it is freed discovery_op_ref(op), ^~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:3332:2: warning: Use of memory after it is freed complete_write_long_op(req, success, 0, false); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/shared/gatt-client.c:3354:2: warning: Use of memory after it is freed request_unref(req); ^~~~~~~~~~~~~~~~~~ 13 warnings generated. src/shared/rap.c:3554:13: warning: Use of memory after it is freed attached = queue_find(sessions, NULL, rap); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. tools/hciattach.c:817:7: warning: Although the value stored to 'n' is used in the enclosing expression, the value is never actually read from 'n' if ((n = read_hci_event(fd, resp, 10)) < 0) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/hciattach.c:865:7: warning: Although the value stored to 'n' is used in the enclosing expression, the value is never actually read from 'n' if ((n = read_hci_event(fd, resp, 4)) < 0) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/hciattach.c:887:8: warning: Although the value stored to 'n' is used in the enclosing expression, the value is never actually read from 'n' if ((n = read_hci_event(fd, resp, 10)) < 0) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/hciattach.c:909:7: warning: Although the value stored to 'n' is used in the enclosing expression, the value is never actually read from 'n' if ((n = read_hci_event(fd, resp, 4)) < 0) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/hciattach.c:930:7: warning: Although the value stored to 'n' is used in the enclosing expression, the value is never actually read from 'n' if ((n = read_hci_event(fd, resp, 4)) < 0) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/hciattach.c:974:7: warning: Although the value stored to 'n' is used in the enclosing expression, the value is never actually read from 'n' if ((n = read_hci_event(fd, resp, 6)) < 0) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6 warnings generated. src/shared/bap.c:1543:8: warning: Use of memory after it is freed bap = bt_bap_ref_safe(bap); ^~~~~~~~~~~~~~~~~~~~ src/shared/bap.c:2354:20: warning: Use of memory after it is freed return queue_find(stream->bap->streams, NULL, stream); ^~~~~~~~~~~~~~~~~~~~ 2 warnings generated. src/oui.c:50:2: warning: Value stored to 'hwdb' is never read hwdb = udev_hwdb_unref(hwdb); ^ ~~~~~~~~~~~~~~~~~~~~~ src/oui.c:53:2: warning: Value stored to 'udev' is never read udev = udev_unref(udev); ^ ~~~~~~~~~~~~~~~~ 2 warnings generated. tools/rfcomm.c:234:3: warning: Value stored to 'i' is never read i = execvp(cmdargv[0], cmdargv); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/rfcomm.c:234:7: warning: Null pointer passed to 1st parameter expecting 'nonnull' i = execvp(cmdargv[0], cmdargv); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/rfcomm.c:354:8: warning: Although the value stored to 'fd' is used in the enclosing expression, the value is never actually read from 'fd' if ((fd = open(devname, O_RDONLY | O_NOCTTY)) < 0) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/rfcomm.c:497:14: warning: Assigned value is garbage or undefined req.channel = raddr.rc_channel; ^ ~~~~~~~~~~~~~~~~ tools/rfcomm.c:515:8: warning: Although the value stored to 'fd' is used in the enclosing expression, the value is never actually read from 'fd' if ((fd = open(devname, O_RDONLY | O_NOCTTY)) < 0) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 warnings generated. tools/ciptool.c:351:7: warning: 5th function call argument is an uninitialized value sk = do_connect(ctl, dev_id, &src, &dst, psm, (1 << CMTP_LOOPBACK)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. src/sdp-xml.c:129:10: warning: Assigned value is garbage or undefined buf[1] = data[i + 1]; ^ ~~~~~~~~~~~ src/sdp-xml.c:309:11: warning: Assigned value is garbage or undefined buf[1] = data[i + 1]; ^ ~~~~~~~~~~~ src/sdp-xml.c:347:11: warning: Assigned value is garbage or undefined buf[1] = data[i + 1]; ^ ~~~~~~~~~~~ 3 warnings generated. tools/sdptool.c:941:26: warning: Result of 'malloc' is converted to a pointer of type 'uint32_t', which is incompatible with sizeof operand type 'int' uint32_t *value_int = malloc(sizeof(int)); ~~~~~~~~~~ ^~~~~~ ~~~~~~~~~~~ tools/sdptool.c:980:4: warning: 1st function call argument is an uninitialized value free(allocArray[i]); ^~~~~~~~~~~~~~~~~~~ tools/sdptool.c:3777:2: warning: Potential leak of memory pointed to by 'si.name' return add_service(0, &si); ^~~~~~~~~~~~~~~~~~~~~~~~~~ tools/sdptool.c:4112:4: warning: Potential leak of memory pointed to by 'context.svc' return -1; ^~~~~~~~~ 4 warnings generated. tools/avtest.c:243:5: warning: Value stored to 'len' is never read len = write(sk, buf, 3); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:253:5: warning: Value stored to 'len' is never read len = write(sk, buf, 4); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:262:5: warning: Value stored to 'len' is never read len = write(sk, buf, 3); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:276:5: warning: Value stored to 'len' is never read len = write(sk, buf, ^ ~~~~~~~~~~~~~~ tools/avtest.c:283:5: warning: Value stored to 'len' is never read len = write(sk, buf, ^ ~~~~~~~~~~~~~~ tools/avtest.c:290:5: warning: Value stored to 'len' is never read len = write(sk, buf, ^ ~~~~~~~~~~~~~~ tools/avtest.c:297:5: warning: Value stored to 'len' is never read len = write(sk, buf, ^ ~~~~~~~~~~~~~~ tools/avtest.c:309:5: warning: Value stored to 'len' is never read len = write(sk, buf, 4); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:313:5: warning: Value stored to 'len' is never read len = write(sk, buf, 2); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:322:5: warning: Value stored to 'len' is never read len = write(sk, buf, 3); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:326:5: warning: Value stored to 'len' is never read len = write(sk, buf, 2); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:335:5: warning: Value stored to 'len' is never read len = write(sk, buf, 3); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:342:5: warning: Value stored to 'len' is never read len = write(sk, buf, 2); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:364:5: warning: Value stored to 'len' is never read len = write(sk, buf, 4); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:368:5: warning: Value stored to 'len' is never read len = write(sk, buf, 2); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:377:5: warning: Value stored to 'len' is never read len = write(sk, buf, 3); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:381:5: warning: Value stored to 'len' is never read len = write(sk, buf, 2); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:394:5: warning: Value stored to 'len' is never read len = write(sk, buf, 4); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:398:5: warning: Value stored to 'len' is never read len = write(sk, buf, 2); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:405:4: warning: Value stored to 'len' is never read len = write(sk, buf, 2); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:415:4: warning: Value stored to 'len' is never read len = write(sk, buf, 2); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:580:3: warning: Value stored to 'len' is never read len = write(sk, buf, 2); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:588:3: warning: Value stored to 'len' is never read len = write(sk, buf, invalid ? 2 : 3); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/avtest.c:602:3: warning: Value stored to 'len' is never read len = write(sk, buf, 4 + media_transport_size); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/avtest.c:615:3: warning: Value stored to 'len' is never read len = write(sk, buf, 3); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:625:3: warning: Value stored to 'len' is never read len = write(sk, buf, 3); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:637:3: warning: Value stored to 'len' is never read len = write(sk, buf, 3); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:652:3: warning: Value stored to 'len' is never read len = write(sk, buf, 3); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:664:3: warning: Value stored to 'len' is never read len = write(sk, buf, 3); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:673:3: warning: Value stored to 'len' is never read len = write(sk, buf, 3); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:680:3: warning: Value stored to 'len' is never read len = write(sk, buf, 2); ^ ~~~~~~~~~~~~~~~~~ tools/avtest.c:716:2: warning: Value stored to 'len' is never read len = write(sk, buf, AVCTP_HEADER_LENGTH + sizeof(play_pressed)); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 warnings generated. tools/btproxy.c:836:15: warning: Null pointer passed to 1st parameter expecting 'nonnull' tcp_port = atoi(optarg); ^~~~~~~~~~~~ tools/btproxy.c:839:8: warning: Null pointer passed to 1st parameter expecting 'nonnull' if (strlen(optarg) > 3 && !strncmp(optarg, "hci", 3)) ^~~~~~~~~~~~~~ 2 warnings generated. tools/create-image.c:76:3: warning: Value stored to 'fd' is never read fd = -1; ^ ~~ tools/create-image.c:84:3: warning: Value stored to 'fd' is never read fd = -1; ^ ~~ tools/create-image.c:92:3: warning: Value stored to 'fd' is never read fd = -1; ^ ~~ tools/create-image.c:105:2: warning: Value stored to 'fd' is never read fd = -1; ^ ~~ 4 warnings generated. tools/check-selftest.c:42:3: warning: Value stored to 'ptr' is never read ptr = fgets(result, sizeof(result), fp); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. tools/btgatt-server.c:1204:2: warning: Value stored to 'argv' is never read argv -= optind; ^ ~~~~~~ 1 warning generated. tools/btgatt-client.c:1822:2: warning: Value stored to 'argv' is never read argv += optind; ^ ~~~~~~ 1 warning generated. tools/gatt-service.c:294:2: warning: 2nd function call argument is an uninitialized value chr_write(chr, value, len); ^~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. tools/obex-server-tool.c:133:13: warning: Null pointer passed to 1st parameter expecting 'nonnull' data->fd = open(name, O_WRONLY | O_CREAT | O_NOCTTY, 0600); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/obex-server-tool.c:192:13: warning: Null pointer passed to 1st parameter expecting 'nonnull' data->fd = open(name, O_RDONLY | O_NOCTTY, 0); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 warnings generated. client/btpclient/bap.c: In function ‘btp_bap_send’: client/btpclient/bap.c:125:8: error: implicit declaration of function ‘find_ase_by_dir’; did you mean ‘find_ase_by_uuid’? [-Werror=implicit-function-declaration] 125 | ase = find_ase_by_dir(dev, BTP_BAP_DIR_SINK); | ^~~~~~~~~~~~~~~ | find_ase_by_uuid client/btpclient/bap.c:125:6: error: assignment to ‘struct btp_ase *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion] 125 | ase = find_ase_by_dir(dev, BTP_BAP_DIR_SINK); | ^ client/btpclient/bap.c:126:18: error: ‘struct btp_ase’ has no member named ‘io’ 126 | if (!ase || !ase->io) | ^~ client/btpclient/bap.c:129:39: error: ‘struct btp_ase’ has no member named ‘io’ 129 | bytes_written = write(l_io_get_fd(ase->io), cp->data, | ^~ client/btpclient/bap.c:130:22: error: ‘struct btp_ase’ has no member named ‘tx_mtu’ 130 | cp->data_len <= ase->tx_mtu ? cp->data_len : ase->tx_mtu); | ^~ client/btpclient/bap.c:130:51: error: ‘struct btp_ase’ has no member named ‘tx_mtu’ 130 | cp->data_len <= ase->tx_mtu ? cp->data_len : ase->tx_mtu); | ^~ cc1: all warnings being treated as errors make[1]: *** [Makefile:7197: client/btpclient/bap.o] Error 1 make[1]: *** Waiting for unfinished jobs.... tools/test-runner.c:1367:2: warning: Address of stack memory associated with local variable 'kernel_path' is still referred to by the global variable 'kernel_image' upon returning to the caller. This will be a dangling reference return EXIT_SUCCESS; ^~~~~~~~~~~~~~~~~~~ 1 warning generated. make: *** [Makefile:4264: all] Error 2 https://github.com/bluez/bluez/pull/2491 --- Regards, Linux Bluetooth