gr-bluetooth icon indicating copy to clipboard operation
gr-bluetooth copied to clipboard

Gnuradio 3.8 doesn't detect gr-bluetooth after sucessfull installation.

Open tellmenot opened this issue 4 years ago • 8 comments

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.

tellmenot avatar Aug 06 '21 03:08 tellmenot

Thanks @straithe for adding the issue to technical support

tellmenot avatar Aug 13 '21 13:08 tellmenot

Iam waiting for reply from the community

tellmenot avatar Aug 17 '21 13:08 tellmenot

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?

tranzmatt avatar Aug 25 '21 18:08 tranzmatt

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

tellmenot avatar Aug 30 '21 10:08 tellmenot

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.

miek avatar Oct 20 '21 19:10 miek

Has there been any update to the attempt to use the gr-bluetooth branch with GNURadio 3.8?

JakeReeves21 avatar Oct 31 '21 17:10 JakeReeves21

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.

straithe avatar Nov 03 '21 21:11 straithe

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 [email protected]: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


stevewillson avatar Jul 15 '22 21:07 stevewillson