【问题标题】:Build error building 3.8 gnuradio from sources in gr-blocks从 gr-blocks 中的源构建错误构建 3.8 gnuradio
【发布时间】:2021-08-08 03:34:05
【问题描述】:

我正在尝试按照此处为 3.8 构建的说明在 ZC706 上本地构建:https://wiki.gnuradio.org/index.php/InstallingGR#From_Source

除了看起来像 gr-blocks 中 PMT 的参数转换问题之外,它似乎可以完成几乎所有的构建,我可以使用一些帮助来确定参数转换的差异来自哪里。我没有使用 swig 或它如何自动生成这些文件的经验,但我认为我必须在此处安装了错误版本的某些库。

...
make -f gr-blocks/swig/CMakeFiles/blocks_swig0.dir/build.make gr-blocks/swig/CMakeFiles/blocks_swig0.dir/build
make[2]: Entering directory '/home/analog/gnuradio/build'
[ 38%] Building CXX object gr-blocks/swig/CMakeFiles/blocks_swig0.dir/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx.o
cd /home/analog/gnuradio/build/gr-blocks/swig && /usr/bin/c++  -DAPPLY_BROKEN_ROTATOR_WORKAROUND -DGR_CTRLPORT -DGR_MPLIB_GMP -DGR_PERFORMANCE_COUNTERS -Dblocks_swig0_EXPORTS -I/home/analog/gnuradio/build/gr-blocks/swig -I/home/analog/gnuradio/gr-blocks/swig -I/home/analog/gnuradio/build/gnuradio-runtime/swig -I/home/analog/gnuradio/gnuradio-runtime/swig -I/home/analog/gnuradio/gnuradio-runtime/lib/../include -I/home/analog/gnuradio/build/gnuradio-runtime/lib/../include -I/home/analog/gnuradio/gnuradio-runtime/lib/pmt/../../include -I/home/analog/gnuradio/build/volk/include -I/home/analog/gnuradio/volk/include -I/home/analog/gnuradio/gr-blocks/lib/../include -isystem /usr/include/python3.7m  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized -O3 -DNDEBUG -fPIC   -std=c++11 -o CMakeFiles/blocks_swig0.dir/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx.o -c /home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx
/home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx: In function ‘PyObject* _wrap_new_file_sink_base(PyObject*, PyObject*)’:
/home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx:7509:13: warning: variable ‘argv’ set but not used [-Wunused-but-set-variable]
   PyObject *argv[2] = {
             ^~~~
/home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx: In function ‘PyObject* _wrap_file_meta_sink_make(PyObject*, PyObject*, PyObject*)’:
/home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx:8260:137: error: no matching function for call to ‘gr::blocks::file_meta_sink::make(size_t&, const string&, double&, double&, gr::blocks::gr_file_types&, bool&, size_t&, const string&, bool&)’
       result = gr::blocks::file_meta_sink::make(arg1,(std::string const &)*arg2,arg3,arg4,arg5,arg6,arg7,(std::string const &)*arg8,arg9);
                                                                                                                                         ^
In file included from /home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx:4468:
/home/analog/gnuradio/gr-blocks/lib/../include/gnuradio/blocks/file_meta_sink.h:95:17: note: candidate: ‘static gr::blocks::file_meta_sink::sptr gr::blocks::file_meta_sink::make(size_t, const string&, double, double, gr::blocks::gr_file_types, bool, size_t, pmt::pmt_t, bool)’
     static sptr make(size_t itemsize,
                 ^~~~
/home/analog/gnuradio/gr-blocks/lib/../include/gnuradio/blocks/file_meta_sink.h:95:17: note:   no known conversion for argument 8 from ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} to ‘pmt::pmt_t’ {aka ‘boost::shared_ptr<pmt::pmt_base>’}
/home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx: In function ‘PyObject* _wrap_file_meta_sink_sptr_make(PyObject*, PyObject*, PyObject*)’:
/home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx:43967:119: error: no matching function for call to ‘gr::blocks::file_meta_sink::make(size_t&, const string&, double&, double&, gr::blocks::gr_file_types&, bool&, size_t&, const string&, bool&)’
       result = (*arg1)->make(arg2,(std::string const &)*arg3,arg4,arg5,arg6,arg7,arg8,(std::string const &)*arg9,arg10);
                                                                                                                       ^
In file included from /home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx:4468:
/home/analog/gnuradio/gr-blocks/lib/../include/gnuradio/blocks/file_meta_sink.h:95:17: note: candidate: ‘static gr::blocks::file_meta_sink::sptr gr::blocks::file_meta_sink::make(size_t, const string&, double, double, gr::blocks::gr_file_types, bool, size_t, pmt::pmt_t, bool)’
     static sptr make(size_t itemsize,
                 ^~~~
/home/analog/gnuradio/gr-blocks/lib/../include/gnuradio/blocks/file_meta_sink.h:95:17: note:   no known conversion for argument 8 from ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} to ‘pmt::pmt_t’ {aka ‘boost::shared_ptr<pmt::pmt_base>’}


【问题讨论】:

  • 请不要在嵌入式设备上进行本地编译。有 SDK 正是因为那是个坏主意。
  • 这个编译问题看起来好像您有另一组 GNU Radio 标头被 SWIG 意外加载。不建立在目标上的另一个原因。

标签: gnuradio


【解决方案1】:

可能你的内存用完了,尝试再次编译它而不使用多处理器 使 -j 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 2020-05-25
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多