Closed tellmenot closed 3 months ago
Thanks @straithe for adding the issue to technical support
Iam waiting for reply from the community
I used pybombs to install gnuradio-default, which is 3.8.3.git, but when I try to build gr-bluetooth, I get
CMake Error at CMakeLists.txt:87 (find_package): Could not find a configuration file for package "Gnuradio" that is compatible with requested version "3.7.0".
The following configuration files were considered but not accepted:
/home/src/gnuradio/lib/cmake/gnuradio/GnuradioConfig.cmake, version: 3.8.3.git
The repo says it supports 3.7 or later, so what am I doing wrong?
I used pybombs to install gnuradio-default, which is 3.8.3.git, but when I try to build gr-bluetooth, I get CMake Error at CMakeLists.txt:87 (find_package): Could not find a configuration file for package "Gnuradio" that is compatible with requested version "3.7.0". The following configuration files were considered but not accepted:
/home/src/gnuradio/lib/cmake/gnuradio/GnuradioConfig.cmake, version: 3.8.3.git
The repo says it supports 3.7 or later, so what am I doing wrong?
Try building GNURadio 3.7 from scratch and then build gr-bluetooth, hope this resolve the issue. If you get the cmake error then just look at the cmake file using your favourite text editor. you can resolve it from there. There are some ongoing issues with 3.8
This repo doesn't yet support GNURadio 3.8, I think that line in the README was written before 3.8 was released and originall just meant 3.7.*
.
There is a pull request open for 3.8 support here: https://github.com/greatscottgadgets/gr-bluetooth/pull/20 - we haven't had a chance to review and merge it yet, but maybe you could try it out and let us know how it goes.
Has there been any update to the attempt to use the gr-bluetooth branch with GNURadio 3.8?
I haven't had time to try the gr-bluetooth branch with GNURadio 3.8, but I'd love to hear your experience with it if you want to try. If you do try it out, leave comments on https://github.com/greatscottgadgets/gr-bluetooth/pull/20. It'll help us when we do go to review that PR.
I attempted to build: https://github.com/bkerler/gr-bluetooth/tree/maint-3.10 , but was unsuccessful.
Ubuntu 22.04LTS Python: 3.10.4 GCC: 11.2.0
Steps:
git clone git@github.com:bkerler/gr-bluetooth.git
cd gr-bluetooth
mkdir build
cd build
cmake ..
make
Below are the start of the error messages received from make
/home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc: In function ‘void bind_packet(pybind11::module&)’:
/home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:188:22: error: no matching function for call to ‘init(<unresolved overloaded function type>)’
188 | .def(py::init(&classic_packet::make),
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/pybind11/complex.h:12,
from /home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:20:
/usr/local/include/pybind11/pybind11.h:1882:40: note: candidate: ‘template<class ... Args> pybind11::detail::initimpl::constructor<Args ...> pybind11::init()’
1882 | detail::initimpl::constructor<Args...> init() {
| ^~~~
/usr/local/include/pybind11/pybind11.h:1882:40: note: template argument deduction/substitution failed:
/home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:188:22: note: candidate expects 0 arguments, 1 provided
188 | .def(py::init(&classic_packet::make),
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/pybind11/complex.h:12,
from /home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:20:
/usr/local/include/pybind11/pybind11.h:1894:5: note: candidate: ‘template<class Func, class Ret> Ret pybind11::init(Func&&)’
1894 | Ret init(Func &&f) {
| ^~~~
/usr/local/include/pybind11/pybind11.h:1894:5: note: template argument deduction/substitution failed:
/home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:188:22: note: couldn’t deduce template parameter ‘Func’
188 | .def(py::init(&classic_packet::make),
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/pybind11/complex.h:12,
from /home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:20:
/usr/local/include/pybind11/pybind11.h:1902:5: note: candidate: ‘template<class CFunc, class AFunc, class Ret> Ret pybind11::init(CFunc&&, AFunc&&)’
1902 | Ret init(CFunc &&c, AFunc &&a) {
| ^~~~
/usr/local/include/pybind11/pybind11.h:1902:5: note: template argument deduction/substitution failed:
/home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:188:22: note: candidate expects 2 arguments, 1 provided
188 | .def(py::init(&classic_packet::make),
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/user/gr-bluetooth/build/python/bluetooth/bindings/packet_pydoc.h:9,
from /home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:28:
/home/user/gr-bluetooth/build/python/bluetooth/bindings/pydoc_macros.h:12:32: error: ‘__doc_gr_bluetooth_classic_packet_make’ was not declared in this scope; did you mean ‘__doc_gr_bluetooth_classic_packet_make_1’?
12 | #define __DOC4(n1, n2, n3, n4) __doc_##n1##_##n2##_##n3##_##n4
| ^~~~~~
/home/user/gr-bluetooth/build/python/bluetooth/bindings/pydoc_macros.h:4:21: note: in definition of macro ‘__EXPAND’
4 | #define __EXPAND(x) x
| ^
/home/user/gr-bluetooth/build/python/bluetooth/bindings/pydoc_macros.h:4:21: note: in expansion of macro ‘__DOC4’
/home/user/gr-bluetooth/build/python/bluetooth/bindings/pydoc_macros.h:17:27: note: in expansion of macro ‘__EXPAND’
17 | #define DOC(...) __EXPAND(__EXPAND(__CAT2(__DOC, __VA_SIZE(__VA_ARGS__)))(__VA_ARGS__))
| ^~~~~~~~
/home/user/gr-bluetooth/build/python/bluetooth/bindings/pydoc_macros.h:8:22: note: in expansion of macro ‘__CAT1’
8 | #define __CAT2(a, b) __CAT1(a, b)
| ^~~~~~
/home/user/gr-bluetooth/build/python/bluetooth/bindings/pydoc_macros.h:17:36: note: in expansion of macro ‘__CAT2’
17 | #define DOC(...) __EXPAND(__EXPAND(__CAT2(__DOC, __VA_SIZE(__VA_ARGS__)))(__VA_ARGS__))
| ^~~~~~
/home/user/gr-bluetooth/build/python/bluetooth/bindings/packet_pydoc.h:10:16: note: in expansion of macro ‘DOC’
10 | #define D(...) DOC(gr,bluetooth, __VA_ARGS__ )
| ^~~
/home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:191:12: note: in expansion of macro ‘D’
191 | D(classic_packet,make)
| ^
In file included from /usr/local/include/pybind11/pybind11.h:14,
from /usr/local/include/pybind11/complex.h:12,
from /home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:20:
/usr/local/include/pybind11/detail/init.h: In instantiation of ‘Class* pybind11::detail::initimpl::construct_or_initialize(Args&& ...) [with Class = gr::bluetooth::packet; Args = {}; typename std::enable_if<(! std::is_constructible<_Tp, _Args>::value), int>::type <anonymous> = 0]’:
/usr/local/include/pybind11/detail/init.h:203:70: required from ‘static void pybind11::detail::initimpl::constructor<Args>::execute(Class&, const Extra& ...) [with Class = pybind11::class_<gr::bluetooth::packet, std::shared_ptr<gr::bluetooth::packet> >; Extra = {const char*}; typename std::enable_if<(! Class::has_alias), int>::type <anonymous> = 0; Args = {}]’
/usr/local/include/pybind11/pybind11.h:1596:21: required from ‘pybind11::class_<type_, options>& pybind11::class_<type_, options>::def(const pybind11::detail::initimpl::constructor<Args ...>&, const Extra& ...) [with Args = {}; Extra = {const char*}; type_ = gr::bluetooth::packet; options = {std::shared_ptr<gr::bluetooth::packet>}]’
/home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:41:13: required from here
/usr/local/include/pybind11/detail/init.h:79:12: error: invalid new-expression of abstract class type ‘gr::bluetooth::packet’
79 | return new Class{std::forward<Args>(args)...};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:26:
/home/user/gr-bluetooth/python/bluetooth/bindings/../../../include/bluetooth/packet.h:37:25: note: because the following virtual functions are pure within ‘gr::bluetooth::packet’:
37 | class BLUETOOTH_API packet
| ^~~~~~
/home/user/gr-bluetooth/python/bluetooth/bindings/../../../include/bluetooth/packet.h:142:20: note: ‘virtual bool gr::bluetooth::packet::decode_header()’
142 | virtual bool decode_header() = 0;
| ^~~~~~~~~~~~~
/home/user/gr-bluetooth/python/bluetooth/bindings/../../../include/bluetooth/packet.h:145:20: note: ‘virtual void gr::bluetooth::packet::decode_payload()’
145 | virtual void decode_payload() = 0;
| ^~~~~~~~~~~~~~
/home/user/gr-bluetooth/python/bluetooth/bindings/../../../include/bluetooth/packet.h:148:20: note: ‘virtual void gr::bluetooth::packet::print()’
148 | virtual void print() = 0;
| ^~~~~
/home/user/gr-bluetooth/python/bluetooth/bindings/../../../include/bluetooth/packet.h:151:21: note: ‘virtual char* gr::bluetooth::packet::tun_format()’
151 | virtual char *tun_format() = 0;
| ^~~~~~~~~~
/home/user/gr-bluetooth/python/bluetooth/bindings/../../../include/bluetooth/packet.h:154:20: note: ‘virtual bool gr::bluetooth::packet::header_present()’
154 | virtual bool header_present() = 0;
| ^~~~~~~~~~~~~~
/home/user/gr-bluetooth/python/bluetooth/bindings/../../../include/bluetooth/packet.h:156:19: note: ‘virtual int gr::bluetooth::packet::get_channel()’
156 | virtual int get_channel() = 0;
| ^~~~~~~~~~~
In file included from /usr/local/include/pybind11/pybind11.h:14,
from /usr/local/include/pybind11/complex.h:12,
from /home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:20:
/usr/local/include/pybind11/detail/init.h: In instantiation of ‘Class* pybind11::detail::initimpl::construct_or_initialize(Args&& ...) [with Class = gr::bluetooth::packet; Args = {char*, int, double}; typename std::enable_if<(! std::is_constructible<_Tp, _Args>::value), int>::type <anonymous> = 0]’:
/usr/local/include/pybind11/detail/init.h:203:70: required from ‘static void pybind11::detail::initimpl::constructor<Args>::execute(Class&, const Extra& ...) [with Class = pybind11::class_<gr::bluetooth::packet, std::shared_ptr<gr::bluetooth::packet> >; Extra = {pybind11::arg, pybind11::arg, pybind11::arg_v, const char*}; typename std::enable_if<(! Class::has_alias), int>::type <anonymous> = 0; Args = {char*, int, double}]’
/usr/local/include/pybind11/pybind11.h:1596:21: required from ‘pybind11::class_<type_, options>& pybind11::class_<type_, options>::def(const pybind11::detail::initimpl::constructor<Args ...>&, const Extra& ...) [with Args = {char*, int, double}; Extra = {pybind11::arg, pybind11::arg, pybind11::arg_v, const char*}; type_ = gr::bluetooth::packet; options = {std::shared_ptr<gr::bluetooth::packet>}]’
/home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:42:13: required from here
/usr/local/include/pybind11/detail/init.h:79:12: error: invalid new-expression of abstract class type ‘gr::bluetooth::packet’
79 | return new Class{std::forward<Args>(args)...};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/pybind11/detail/init.h: In instantiation of ‘Class* pybind11::detail::initimpl::construct_or_initialize(Args&& ...) [with Class = gr::bluetooth::packet; Args = {const gr::bluetooth::packet&}; typename std::enable_if<(! std::is_constructible<_Tp, _Args>::value), int>::type <anonymous> = 0]’:
/usr/local/include/pybind11/detail/init.h:203:70: required from ‘static void pybind11::detail::initimpl::constructor<Args>::execute(Class&, const Extra& ...) [with Class = pybind11::class_<gr::bluetooth::packet, std::shared_ptr<gr::bluetooth::packet> >; Extra = {pybind11::arg, const char*}; typename std::enable_if<(! Class::has_alias), int>::type <anonymous> = 0; Args = {const gr::bluetooth::packet&}]’
/usr/local/include/pybind11/pybind11.h:1596:21: required from ‘pybind11::class_<type_, options>& pybind11::class_<type_, options>::def(const pybind11::detail::initimpl::constructor<Args ...>&, const Extra& ...) [with Args = {const gr::bluetooth::packet&}; Extra = {pybind11::arg, const char*}; type_ = gr::bluetooth::packet; options = {std::shared_ptr<gr::bluetooth::packet>}]’
/home/user/gr-bluetooth/python/bluetooth/bindings/packet_python.cc:47:13: required from here
/usr/local/include/pybind11/detail/init.h:79:12: error: invalid new-expression of abstract class type ‘gr::bluetooth::packet’
make[2]: *** [python/bluetooth/bindings/CMakeFiles/bluetooth_python.dir/build.make:146: python/bluetooth/bindings/CMakeFiles/bluetooth_python.dir/packet_python.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:386: python/bluetooth/bindings/CMakeFiles/bluetooth_python.dir/all] Error 2
Closed in preparation for archiving this repository. https://github.com/mikeryan/ice9-bluetooth-sniffer may fit your needs instead.
I successfully installed the gr-bluetooth but its not reflecting in my gnuradio, iam using gnuradio3.8 on ubuntu 18.04 and I think gr-bluetooth pretty well support gnuradio3.8.