Closed cn0xroot closed 4 years ago
Hi, In order to make the sampling synchronization less CPU intensive I update the sampling correction only during a fraction of the calls to work. The actual calls are random, and I use what I thought it was standard c++ (as it worked out-of-the-box in my Ubuntu 18.04). Did you try using the -std=c++11 flag when compiling? Let me know if that works and I'll add it to the FAQ. best
hello error too
make -j4
[ 12%] Generating init.pyc, image_source.pyc
[ 12%] Building CXX object swig/CMakeFiles/_tempest_swig_doc_tag.dir/_tempest_swig_doc_tag.cpp.o
[ 12%] Building CXX object lib/CMakeFiles/gnuradio-tempest.dir/Hsync_impl.cc.o
[ 12%] Built target pygen_apps_9a6dd
[ 16%] Building CXX object lib/CMakeFiles/gnuradio-tempest.dir/sampling_synchronization_impl.cc.o
[ 20%] Generating init.pyo, image_source.pyo
[ 25%] Linking CXX executable _tempest_swig_doc_tag
[ 25%] Built target _tempest_swig_doc_tag
[ 29%] Building CXX object lib/CMakeFiles/gnuradio-tempest.dir/Vsync_impl.cc.o
[ 29%] Built target pygen_python_bc2ed
[ 33%] Generating documentation with doxygen
[ 33%] Built target doxygen_target
[ 37%] Generating doxygen xml for tempest_swig_doc docs
[ 41%] Generating python docstrings for tempest_swig_doc
[ 41%] Built target tempest_swig_swig_doc
[ 45%] Building CXX object swig/CMakeFiles/_tempest_swig_swig_tag.dir/_tempest_swig_swig_tag.cpp.o
[ 50%] Linking CXX executable _tempest_swig_swig_tag
[ 50%] Built target _tempest_swig_swig_tag
[ 54%] Building CXX object lib/CMakeFiles/gnuradio-tempest.dir/framing_impl.cc.o
/home/X/gr-tempest/lib/sampling_synchronization_impl.cc: In member function ‘virtual int gr::tempest::sampling_synchronization_impl::general_work(int, gr_vector_int&, gr_vector_const_void_star&, gr_vector_void_star&)’:
/home/X/gr-tempest/lib/sampling_synchronization_impl.cc:184:17: error: ‘volk_32fc_x2_add_32fc’ was not declared in this scope
volk_32fc_x2_add_32fc(&d_historic_corr[0], &d_historic_corr[0], &d_current_corr[0], 2d_max_deviation_px+1);
^~~~~
/home/X/gr-tempest/lib/sampling_synchronization_impl.cc:184:17: note: suggested alternative: ‘volk_32f_x2_add_32f’
volk_32fc_x2_add_32fc(&d_historic_corr[0], &d_historic_corr[0], &d_current_corr[0], 2d_max_deviation_px+1);
^~~~~
volk_32f_x2_add_32f
lib/CMakeFiles/gnuradio-tempest.dir/build.make:86: recipe for target 'lib/CMakeFiles/gnuradio-tempest.dir/sampling_synchronization_impl.cc.o' failed
make[2]: [lib/CMakeFiles/gnuradio-tempest.dir/sampling_synchronization_impl.cc.o] Error 1
make[2]: Attente des tâches non terminées....
[ 58%] Generating tempest_swig.tag
Scanning dependencies of target tempest_swig_swig_2d0df
[ 62%] Building CXX object swig/CMakeFiles/tempest_swig_swig_2d0df.dir/tempest_swig_swig_2d0df.cpp.o
[ 66%] Linking CXX executable tempest_swig_swig_2d0df
Swig source
CMakeFiles/Makefile2:137: recipe for target 'lib/CMakeFiles/gnuradio-tempest.dir/all' failed
make[1]: [lib/CMakeFiles/gnuradio-tempest.dir/all] Error 2
make[1]: Attente des tâches non terminées....
[ 66%] Built target tempest_swig_swig_2d0df
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Tryed also cmake -std=gnu++11 ../
Same error
Did a complete volks_profile
lubuntu 18.04.2 Gnuradio 3.7.11
Hi, This is another problem, and has to do with the version of VOLK you have installed in your system. Please start another issue for further exchanges. I've checked and adding complexes in volk was included in version 1.4 of VOLK (I'll add that to the cmake files to enforce that). You seem to have version 1.3 installed. Not sure what version comes with GNU Radio 3.7, but both 1.3 and 1.4 are available as binary installs in my Ubuntu 18.04. best
@git-artes cool,It works fine now
great. I'll add that to the FAQ. Thanks for the feedback! best
How are you getting volk 1.4 for 18.04? I've tried the flags and I assume i'm still having the same issue due to what appears to be volk 1.3. When I go look it also appears volk 1.3 is what's available for 18.04, not 1.4.
Hi, Maybe you could try using GNU Radio's PPA. See https://wiki.gnuradio.org/index.php/InstallingGR#Ubuntu_PPA_Installation (and use the 3.7 version). Sadly I'm not 100% sure how I installed my GNU radio, but that should work, I think. Remember to uninstall GNU radio before installing new versions. Best
I'll keep trying. I uninstalled gnuradio etc.. put the PPA for the 3.7 and got excited because it pulled down 3.7.13, however, I still get the same error and when I scroll up and look at the cmake output i can see it still saying it finds volk 1.3.
Ok. I'll also try to modify the code si that it fallbacks to a generic sum if the VOLK version is not the correct one. I'll keep you posted. Best
Hi, In the meantime, I've tested gr-tempest on a fresh 18.04 and it worked. You may use the docker container I've prepared for this, which I share in https://github.com/git-artes/docker-gnuradio. I've also added a comment on the README regarding this. I'll nevertheless try to make the module independent of the installed version of VOLK. best
Hi,
I've just updated the sampling synchronization block and a cmake file. cmake will check whether you have the required VOLK add function, and if not it will fallback to a generic implementation. It should work, but if you could confirm it I would be thankful. Note that you have to delete CMakeCache.txt from the build folder and execute cmake ..
for these changes to take place.
best
Federico
I’ll try it today and let you know as soon as possible. Thank you.
Here's my feedback. I haven't tried a stock 18.04, but I did try a fresh install of "DragonOS LTS" based on 18.04. I did several tests. I've found that I did not have to install libboost-all-dev (confirmed it was missing, but i still didn't install it) or any of the other packages as they were already there, swig etc..
I pulled down your source code. Did the install directions at first without the extra flag, compiled just fine. I tried the sample and got the sync error without gnuradio. Uninstalled, redid with the extra flag, same issue. Then it dawned on me I wasn't running ldconfig after installing gr-tempest. So i uninstalled again, deleted the build directory, made a new one and ran cmake without the extra flag. After I did make and make install I made sure to run sudo ldconfig.
There's no issues running the sample now. So long story short, there's no need to update VOLK now, it seems to run just fine with the 1.3.
Thank you!
Great. Thanks for checking.
No problem. I've been trying to check with SDRs, but I don't have a USRP, only RTL-SDR (bandwidth probably not enough) and a HackRF (weird that it worked one time, meaning i could see fuzzy stuff in the unamed window, but since then I get either errors showing me it's using hackrf driver but thinks it's ettus and/or no fuzzy and black only on the unamed window). Sorry for clogging up your issues box though. I'll keep checking and see what I can figure out or open another ticket.
make