gr-vt / gr-burst Goto Github PK
View Code? Open in Web Editor NEWBurst PSK Modem Building Blocks for GNU Radio
License: GNU General Public License v3.0
Burst PSK Modem Building Blocks for GNU Radio
License: GNU General Public License v3.0
Hi,
I'm using Ubuntu 16.04 with GNURadio 3.7.9, Volk 1.2.1, SWIG 3.0.8 and libgsl2 2.1.
I have installed python-bitarray and build/install gr-mapper.
In gr-burst, I made
cmake CMakeLists.txt
There are some warnings about policies and not finding gsl-config.
user@pc ~/s/g/gr-burst> make
[ 4%] Building CXX object lib/CMakeFiles/gnuradio-burst.dir/interp_cpdu_impl.cc.o
[ 8%] Building CXX object lib/CMakeFiles/gnuradio-burst.dir/correlator_filter_impl.cc.o
[ 12%] Building CXX object lib/CMakeFiles/gnuradio-burst.dir/length_detect_c_impl.cc.o
/home/usr/src/gnuradio/gr-burst/lib/length_detect_c_impl.cc: In member function ‘void gr::burst::length_detect_c_impl::handler(pmt::pmt_t)’:
/home/user/src/gnuradio/gr-burst/lib/length_detect_c_impl.cc:105:67: error: cannot convert ‘uint16_t* {aka short unsigned int*}’ to ‘unsigned int*’ in argument passing
volk_32f_index_max_16u(&max_idx, &magavg[0], magavg.size());
^
lib/CMakeFiles/gnuradio-burst.dir/build.make:110: recipe for target 'lib/CMakeFiles/gnuradio-burst.dir/length_detect_c_impl.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-burst.dir/length_detect_c_impl.cc.o] Error 1
CMakeFiles/Makefile2:137: recipe for target 'lib/CMakeFiles/gnuradio-burst.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-burst.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
It looks like the error is with Volk and similar to the one described here
git-artes/gr-isdbt#18
Do you know how could I fix or work around this problem?
I am trying to build gr-burst. I have installed python-bitarray and gr-mapper. When I make build, I get the following error.
I am on GNURadio 3.7.12.0
I installed GNURadio from pybombs.
rytse@SEDRSSHYPRES:~/usrlibs/gr-oots/gr-burst/build$ make -j12 | tee buildlog.txt
[ 0%] Built target pygen_apps_9a6dd
[ 0%] Built target burst_swig_swig_doc
[ 4%] Generating init.pyo, arq.pyo, padder.pyo, random_drop.pyo, burst_scheduler.pyo, burst_scheduler2.pyo, framer.pyo, slicer.pyo, tofpdu.pyo, deframer.pyo, framealign.pyo, fsk_time_sync.pyo, randomizer.pyo, preamble_insert.pyo, preamble_correlator.pyo, pdulib.pyo, unpacker.pyo, packer.pyo, length_detect.pyo, cpdu_matlab_writer.pyo, synchronizer_v3.pyo
[ 8%] Generating init.pyc, arq.pyc, padder.pyc, random_drop.pyc, burst_scheduler.pyc, burst_scheduler2.pyc, framer.pyc, slicer.pyc, tofpdu.pyc, deframer.pyc, framealign.pyc, fsk_time_sync.pyc, randomizer.pyc, preamble_insert.pyc, preamble_correlator.pyc, pdulib.pyc, unpacker.pyc, packer.pyc, length_detect.pyc, cpdu_matlab_writer.pyc, synchronizer_v3.pyc
[ 12%] Building CXX object lib/CMakeFiles/gnuradio-burst.dir/length_detect_c_impl.cc.o
[ 16%] Building CXX object lib/CMakeFiles/gnuradio-burst.dir/qa_helpers.cc.o
[ 24%] Building CXX object lib/CMakeFiles/gnuradio-burst.dir/interp_cpdu_impl.cc.o
[ 24%] Building CXX object lib/CMakeFiles/gnuradio-burst.dir/correlator_filter_impl.cc.o
[ 28%] Building CXX object lib/CMakeFiles/gnuradio-burst.dir/synchronizer_v4_impl.cc.o
[ 32%] Building CXX object swig/CMakeFiles/_burst_swig_swig_tag.dir/_burst_swig_swig_tag.cpp.o
[ 36%] Linking CXX executable _burst_swig_swig_tag
[ 36%] Built target pygen_python_a6952
[ 36%] Built target _burst_swig_swig_tag
[ 40%] Generating burst_swig.tag
Scanning dependencies of target burst_swig_swig_2d0df
[ 44%] Building CXX object swig/CMakeFiles/burst_swig_swig_2d0df.dir/burst_swig_swig_2d0df.cpp.o
[ 48%] Linking CXX executable burst_swig_swig_2d0df
Swig source
/home/rytse/usrlibs/gr-oots/gr-burst/lib/qa_helpers.cc: In static member function ‘static std::vector<std::complex > qa_helpers::readComplexBinFile(std::__cxx11::string)’:
/home/rytse/usrlibs/gr-oots/gr-burst/lib/qa_helpers.cc:210:55: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
fread(&binData[0], sizeof(gr_complex), numElem, file);
^
[ 52%] Linking CXX shared library libgnuradio-burst.so
[ 52%] Built target gnuradio-burst
[ 56%] Building CXX object lib/CMakeFiles/test-burst.dir/test_burst.cc.o
[ 60%] Building CXX object lib/CMakeFiles/test-burst.dir/qa_synchronizer_v4.cc.o
[ 64%] Building CXX object lib/CMakeFiles/test-burst.dir/qa_burst.cc.o
[ 68%] Building CXX object lib/CMakeFiles/test-burst.dir/qa_helpers.cc.o
[ 68%] Built target burst_swig_swig_2d0df
[ 76%] Generating burst_swig.pyo
[ 76%] Generating burst_swig.pyc
Scanning dependencies of target _burst_swig
[ 80%] Building CXX object swig/CMakeFiles/_burst_swig.dir/burst_swigPYTHON_wrap.cxx.o
[ 84%] Built target pygen_swig_7b540
/home/rytse/usrlibs/gr-oots/gr-burst/lib/qa_helpers.cc: In static member function ‘static std::vector<std::complex > qa_helpers::readComplexBinFile(std::__cxx11::string)’:
/home/rytse/usrlibs/gr-oots/gr-burst/lib/qa_helpers.cc:210:55: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
fread(&binData[0], sizeof(gr_complex), numElem, file);
^
[ 88%] Linking CXX executable test-burst
/usr/bin/ld: CMakeFiles/test-burst.dir/qa_synchronizer_v4.cc.o: undefined reference to symbol '_ZN3pmt11get_PMT_NILEv'
/home/rytse/prefix/default/lib/libgnuradio-pmt-3.7.12.0.so.0.0.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [lib/test-burst] Error 1
lib/CMakeFiles/test-burst.dir/build.make:186: recipe for target 'lib/test-burst' failed
make[1]: *** [lib/CMakeFiles/test-burst.dir/all] Error 2
CMakeFiles/Makefile2:174: recipe for target 'lib/CMakeFiles/test-burst.dir/all' failed
make[1]: *** Waiting for unfinished jobs....
[ 92%] Linking CXX shared module _burst_swig.so
[100%] Built target _burst_swig
make: *** [all] Error 2
Makefile:138: recipe for target 'all' failed
the following two blocks are missing in fec_burst_example.grc example:
generic_encoder_async_0
tpce1
From the name ,I think tpce1 is a TPC Encoder Definition block,but what is the generic_encoder_async?Where can I find it ?
Fresh pull, create build directory, run cmake ../ from within it and get:
<>
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
MAPPER_INCLUDE_DIRS (ADVANCED)
used as include directory in directory /home/jason/gnuradio/gr-burst
used as include directory in directory /home/jason/gnuradio/gr-burst/lib
used as include directory in directory /home/jason/gnuradio/gr-burst/lib
used as include directory in directory /home/jason/gnuradio/gr-burst/swig
used as include directory in directory /home/jason/gnuradio/gr-burst/swig
used as include directory in directory /home/jason/gnuradio/gr-burst/swig
used as include directory in directory /home/jason/gnuradio/gr-burst/swig
used as include directory in directory /home/jason/gnuradio/gr-burst/swig
used as include directory in directory /home/jason/gnuradio/gr-burst/python
used as include directory in directory /home/jason/gnuradio/gr-burst/apps
MAPPER_LIBRARIES (ADVANCED)
linked by target "gnuradio-burst" in directory /home/jason/gnuradio/gr-burst/lib
linked by target "test-burst" in directory /home/jason/gnuradio/gr-burst/lib
linked by target "_burst_swig" in directory /home/jason/gnuradio/gr-burst/swig
-- Configuring incomplete, errors occurred!
See also "/home/jason/gnuradio/gr-burst/build/CMakeFiles/CMakeOutput.log".
when I compile gr-burst ,there is an error :
-- checking for module 'mapper'
-- package 'mapper' not found
But I install gr-mapper alreadly,
When i open gr-fsk-burst/fsk-rx.grc
there are two missing block:
burst_fsk_time_sync
burst_packer
the complete gr-burst cmake info is below
~/mysdr/gr-burst-master/build$ cmake ../
-- Build type not specified: defaulting to release.
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- filesystem
-- system
Checking for GNU Radio Module: RUNTIME
In file included from /opt/local/include/cppunit/extensions/HelperMacros.h:9:
/opt/local/include/cppunit/TestCaller.h:121:28: error: no member named 'bind' in namespace 'std'; did you mean 'find'?
m_test_function( std::bind(test, m_fixture) )
~~~~~^~~~
find
I set up a new Ubuntu 16.04 VM and installed GNU Radio and some OOT modules, build tools, etc. from Debian repositories. I've successfully built gr-eventstream and gr-mapper from source. Using GNU Radio 3.7.9, VOLK 1.1, SWIG 3.0.8, and Boost 1.58.0.
However when building gr-burst, I get the following error:
gr-burst/lib/length_detect_c_impl.cc:105:67: error: cannot convert ‘uint16_t* {aka short unsigned int*}’ to ‘unsigned int*’ in argument passing
volk_32f_index_max_16u(&max_idx, &magavg[0], magavg.size()); ^
lib/CMakeFiles/gnuradio-burst.dir/build.make:110: recipe for target 'lib/CMakeFiles/gnuradio-burst.dir/length_detect_c_impl.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-burst.dir/length_detect_c_impl.cc.o] Error 1
CMakeFiles/Makefile2:137: recipe for target 'lib/CMakeFiles/gnuradio-burst.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-burst.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
From Googling, it looks like a similar issue encountered on gr-isdbt and gnss-sdr.
It looks like one way to fix is to compile differently depending on the detected version of VOLK. Has anyone created a patch for gr-burst? Or is there a better workaround? I don't think I'd be able to fix it in a reasonable amount of time, so I'd rather just use older versions of Linux/dependencies if needed.
Since this is being used at the DARPA Hackfest right now I'm curious what their solution has been, or if there's some reason only I'm encountering it.
Thanks for any help.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.