‘get_system_time’ is not a member of ‘uhd::time_spec_t’
Closed this issue · 7 comments
When I compile the gr-ettus. An error occurs that ‘get_system_time’ is not a member of ‘uhd::time_spec_t’. It seems that UHD removed the get_system_time function from time_spec_t within the last few months. From gnuradio/gnuradio#1706
Here is the compile result.
[ 2%] Automatic MOC for target gnuradio-ettus
[ 4%] Built target doxygen_target
[ 4%] Built target pygen_apps_9a6dd
[ 8%] Built target _ettus_swig_doc_tag
[ 12%] Built target pygen_python_51c51
[ 19%] Built target pygen_python_rfnoc_modtool_262c4
[ 19%] Built target pygen_python_utils_0a234
[ 19%] Built target gnuradio-ettus_autogen
[ 23%] Built target ettus_swig_swig_doc
[ 27%] Built target _ettus_swig_swig_tag
Scanning dependencies of target gnuradio-ettus
[ 38%] Built target ettus_swig_swig_2d0df
[ 44%] Built target pygen_swig_b475a
[ 46%] Building CXX object lib/CMakeFiles/gnuradio-ettus.dir/device3.cc.o
[ 48%] Linking CXX shared library libgnuradio-ettus.so
[ 80%] Built target gnuradio-ettus
[ 82%] Automatic MOC for target test-ettus
[ 85%] Building CXX object swig/CMakeFiles/_ettus_swig.dir/ettus_swigPYTHON_wrap.cxx.o
[ 85%] Built target test-ettus_autogen
[ 87%] Linking CXX executable test-ettus
[ 93%] Built target test-ettus
/home/wangy0k/Downloads/gr-ettus/gr-ettus/build/swig/ettus_swigPYTHON_wrap.cxx: In function ‘PyObject* _wrap_time_spec_t_get_system_time(PyObject*, PyObject*)’:
/home/wangy0k/Downloads/gr-ettus/gr-ettus/build/swig/ettus_swigPYTHON_wrap.cxx:17777:16: error: ‘get_system_time’ is not a member of ‘uhd::time_spec_t’
result = uhd::time_spec_t::get_system_time();
^
swig/CMakeFiles/_ettus_swig.dir/build.make:70: recipe for target 'swig/CMakeFiles/_ettus_swig.dir/ettus_swigPYTHON_wrap.cxx.o' failed
make[2]: *** [swig/CMakeFiles/_ettus_swig.dir/ettus_swigPYTHON_wrap.cxx.o] Error 1
CMakeFiles/Makefile2:450: recipe for target 'swig/CMakeFiles/_ettus_swig.dir/all' failed
make[1]: *** [swig/CMakeFiles/_ettus_swig.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Yes I got the same issue too. Not quite sure how to resolve this
@yuanhaowang1213 have you tried the recommended solution from the issue that you are referencing?
As said there, the get_system_time function was removed from time_spec_t recently and it is probably that you are still using the old version of the headers. This can be solved by deleting the gr-ettus build directory and then having a clean rebuild of your software.
Please let us know if the issue persists after that.
@primercuervo Yes, you are right. It works for me. Thank you.
@snguyen97 You can try the method @primercuervo mentioned.
@yuanhaowang1213 @primercuervo I tried to delete the build directory inside gr_ettus and then create a new build directory, run cmake and make but still got the same error. Can you describe specifically what I should do? Thank you.
@snguyen97 Do u have gnuradio? I installed gnuradio firstly, and then there will be a gr-uhd file in the build directory. And then I installed the gr-ettus with the gr-uhd file deleted.
So, my installment sequence is uhd, gnuradio, gr-ettus. And all are installed from github.
@yuanhaowang1213 Thanks for your advice. I ended up just nuking everything (deleting xubuntu and install ubuntu 18.04 instead) and install uhd, gnuradio and gr-ettus like you said and now it works.