I would want your help for the installation of gr-tutorial, in order to analyse the transmission of a signal using QPSK, for a practical work.
I have downloaded the most recent version of the gr-tutorial from github (https://github.com/gnuradio/gr-tutorial) and try to install it using this commands of the wording :
cd gr-tutorial mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../ make -j8 sudo make install sudo ldcon_g
Before the "make", everything works but when I launch "make -j8" or "make", I get an error like this :
user@vm:~/Downloads/gr-tutorial-master/build$ make
[ 12%] Building CXX object lib/CMakeFiles/gnuradio-tutorial.dir/my_qpsk_demod_cb_impl.cc.o
/home/user/Downloads/gr-tutorial-master/lib/my_qpsk_demod_cb_impl.cc: In static member function ‘static gr::tutorial::my_qpsk_demod_cb::sptr gr::tutorial::my_qpsk_demod_cb::make(bool)’:
/home/user/Downloads/gr-tutorial-master/lib/my_qpsk_demod_cb_impl.cc:39:9: error: could not convert ‘gnuradio::get_initial_sptr(T*) [with T = gr::tutorial::my_qpsk_demod_cb_impl]()’ from ‘std::shared_ptr<gr::tutorial::my_qpsk_demod_cb_impl>’ to ‘gr::tutorial::my_qpsk_demod_cb::sptr’ {aka ‘boost::shared_ptr<gr::tutorial::my_qpsk_demod_cb>’}
38 | return gnuradio::get_initial_sptr
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | (new my_qpsk_demod_cb_impl(gray_code));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| std::shared_ptr<gr::tutorial::my_qpsk_demod_cb_impl>
/home/user/Downloads/gr-tutorial-master/lib/my_qpsk_demod_cb_impl.cc: In member function ‘unsigned char gr::tutorial::my_qpsk_demod_cb_impl::get_minimum_distances(const gr_complex&)’:
| ^
make[2]: *** [lib/CMakeFiles/gnuradio-tutorial.dir/build.make:76: lib/CMakeFiles/gnuradio-tutorial.dir/my_qpsk_demod_cb_impl.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:358: lib/CMakeFiles/gnuradio-tutorial.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
And when I launch $ make -j8, I get 2 errors :
make -j8
Consolidate compiler generated dependencies of target gnuradio-tutorial
[ 12%] Generating __init__.pyo, chat_blocks.pyo, multiply_py_ff.pyo, qpsk_demod_py_cb.pyo
[ 25%] Generating __init__.pyc, chat_blocks.pyc, multiply_py_ff.pyc, qpsk_demod_py_cb.pyc
[ 25%] Built target pygen_apps_9a6dd
[ 50%] Building CXX object lib/CMakeFiles/gnuradio-tutorial.dir/my_qpsk_demod_tags_cb_impl.cc.o
[ 50%] Building CXX object lib/CMakeFiles/gnuradio-tutorial.dir/my_qpsk_demod_cb_impl.cc.o
Traceback (most recent call last):
File "/usr/lib/python3.10/py_compile.py", line 144, in compile
code = loader.source_to_code(source_bytes, dfile or file,
File "<frozen importlib._bootstrap_external>", line 947, in source_to_code
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/user/Downloads/gr-tutorial-master/python/__init__.py", line 34
from DLFCN import RTLD_GLOBAL as _RTLD_GLOBAL
TabError: inconsistent use of tabs and spaces in indentation
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/user/Downloads/gr-tutorial-master/build/python_compile_helper.py", line 6, in <module>
py_compile.compile(file=src, cfile=gen, doraise=True)
File "/usr/lib/python3.10/py_compile.py", line 150, in compile
raise py_exc
py_compile.PyCompileError: Sorry: TabError: inconsistent use of tabs and spaces in indentation (__init__.py, line 34)
make[2]: *** [python/CMakeFiles/pygen_python_7d4ef.dir/build.make:83: python/__init__.pyc] Error 1
make[2]: *** Waiting for unfinished jobs....
Traceback (most recent call last):
File "/usr/lib/python3.10/py_compile.py", line 144, in compile
code = loader.source_to_code(source_bytes, dfile or file,
File "<frozen importlib._bootstrap_external>", line 947, in source_to_code
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/user/Downloads/gr-tutorial-master/python/__init__.py", line 34
from DLFCN import RTLD_GLOBAL as _RTLD_GLOBAL
TabError: inconsistent use of tabs and spaces in indentation
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/user/Downloads/gr-tutorial-master/build/python_compile_helper.py", line 6, in <module>
py_compile.compile(file=src, cfile=gen, doraise=True)
File "/usr/lib/python3.10/py_compile.py", line 150, in compile
raise py_exc
py_compile.PyCompileError: Sorry: TabError: inconsistent use of tabs and spaces in indentation (__init__.py, line 34)
make[2]: *** [python/CMakeFiles/pygen_python_7d4ef.dir/build.make:99: python/__init__.pyo] Error 1
make[1]: *** [CMakeFiles/Makefile2:410: python/CMakeFiles/pygen_python_7d4ef.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/home/user/Downloads/gr-tutorial-master/lib/my_qpsk_demod_cb_impl.cc: In static member function ‘static gr::tutorial::my_qpsk_demod_cb::sptr gr::tutorial::my_qpsk_demod_cb::make(bool)’:
/home/user/Downloads/gr-tutorial-master/lib/my_qpsk_demod_cb_impl.cc:39:9: error: could not convert ‘gnuradio::get_initial_sptr(T*) [with T = gr::tutorial::my_qpsk_demod_cb_impl]()’ from ‘std::shared_ptr<gr::tutorial::my_qpsk_demod_cb_impl>’ to ‘gr::tutorial::my_qpsk_demod_cb::sptr’ {aka ‘boost::shared_ptr<gr::tutorial::my_qpsk_demod_cb>’}
38 | return gnuradio::get_initial_sptr
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | (new my_qpsk_demod_cb_impl(gray_code));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| std::shared_ptr<gr::tutorial::my_qpsk_demod_cb_impl>
/home/user/Downloads/gr-tutorial-master/lib/my_qpsk_demod_tags_cb_impl.cc: In static member function ‘static gr::tutorial::my_qpsk_demod_tags_cb::sptr gr::tutorial::my_qpsk_demod_tags_cb::make(bool)’:
/home/user/Downloads/gr-tutorial-master/lib/my_qpsk_demod_tags_cb_impl.cc:39:9: error: could not convert ‘gnuradio::get_initial_sptr(T*) [with T = gr::tutorial::my_qpsk_demod_tags_cb_impl]()’ from ‘std::shared_ptr<gr::tutorial::my_qpsk_demod_tags_cb_impl>’ to ‘gr::tutorial::my_qpsk_demod_tags_cb::sptr’ {aka ‘boost::shared_ptr<gr::tutorial::my_qpsk_demod_tags_cb>’}
38 | return gnuradio::get_initial_sptr
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | (new my_qpsk_demod_tags_cb_impl(gray_code));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| std::shared_ptr<gr::tutorial::my_qpsk_demod_tags_cb_impl>
/home/user/Downloads/gr-tutorial-master/lib/my_qpsk_demod_cb_impl.cc: In member function ‘unsigned char gr::tutorial::my_qpsk_demod_cb_impl::get_minimum_distances(const gr_complex&)’:
/home/user/Downloads/gr-tutorial-master/lib/my_qpsk_demod_cb_impl.cc:129:5: warning: control reaches end of non-void function [-Wreturn-type]
129 | }
| ^
/home/user/Downloads/gr-tutorial-master/lib/my_qpsk_demod_tags_cb_impl.cc: In member function ‘unsigned char gr::tutorial::my_qpsk_demod_tags_cb_impl::get_minimum_distances(const gr_complex&)’:
/home/user/Downloads/gr-tutorial-master/lib/my_qpsk_demod_tags_cb_impl.cc:146:5: warning: control reaches end of non-void function [-Wreturn-type]
146 | }
| ^
make[2]: *** [lib/CMakeFiles/gnuradio-tutorial.dir/build.make:90: lib/CMakeFiles/gnuradio-tutorial.dir/my_qpsk_demod_tags_cb_impl.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [lib/CMakeFiles/gnuradio-tutorial.dir/build.make:76: lib/CMakeFiles/gnuradio-tutorial.dir/my_qpsk_demod_cb_impl.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:358: lib/CMakeFiles/gnuradio-tutorial.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
I have try to replace the line "gnuradio::get_initial_sptr(new my_qpsk_demod_tags_cb_impl(gray_code))" by "std::shared_ptr<gr::tutorial::my_qpsk_demod_tags_cb_impl>" in the file cited (and the same for the other file) but I have an other error that I don't understand :
~/Downloads/gr-tutorial-master/lib/my_qpsk_demod_cb_impl.cc: In static member function ‘static gr::tutorial::my_qpsk_demod_cb::sptr gr::tutorial::my_qpsk_demod_cb::make(bool)’:
/home/user/Downloads/gr-tutorial-master/lib/my_qpsk_demod_cb_impl.cc:38:67: error: expected primary-expression before ‘;’ token
38 | return std::shared_ptr<gr::tutorial::my_qpsk_demod_cb_impl> ;
So, I don't know how to resolute this error, which prevent me to open correctly the file /gr-tutorialmaster/examples/tutorial4/my_qpsk_demond.grc with gnuradio (I can open it but the block my_qpsk_demond.grc is considered as "missing block" so I can execute and run the simulation).
Could you help me please?
Yours sincerely.