当我试图在最新的debian版本(8.3)上编译gnuradio 3.6.5时遇到问题。
我的GCC版本输出:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.2 (Debian 4.9.2-10)
犯错误:
[ 1%] Built target volk
[ 1%] Built target test_all
[ 1%] Built target volk_profile
[ 1%] Built target doxygen_target
[ 2%] Built target gruel
[ 2%] Built target test_gruel
[ 2%] Built target pmt_generated
[ 2%] Built target _pmt_swig_doc_tag
[ 2%] Built target pmt_swig_swig_doc
[ 2%] Built target _pmt_swig_swig_tag
[ 2%] Built target _pmt_swig
[ 3%] Built target pygen_gruel_src_swig_8de72
[ 3%] Built target pygen_gruel_src_python_31e89
[ 3%] Built target pygen_gruel_src_python_d3a1d
[ 30%] Built target gnuradio-core
[ 30%] Built target gnuradio-config-info
[ 31%] Built target gr_core_rstest
[ 33%] Built target test-gnuradio-core
Linking CXX executable benchmark_dotprod_ccc
../lib/libtest-gnuradio-core.so: référence indéfinie vers « gr_reverse(std::vector<float, std::allocator<float> > const&) »
collect2: error: ld returned 1 exit status
gnuradio-core/src/tests/CMakeFiles/benchmark_dotprod_ccc.dir/build.make:95: recipe for target 'gnuradio-core/src/tests/benchmark_dotprod_ccc' failed
make[2]: *** [gnuradio-core/src/tests/benchmark_dotprod_ccc] Error 1
CMakeFiles/Makefile2:1111: recipe for target 'gnuradio-core/src/tests/CMakeFiles/benchmark_dotprod_ccc.dir/all' failed
make[1]: *** [gnuradio-core/src/tests/CMakeFiles/benchmark_dotprod_ccc.dir/all] Error 2
Makefile:147: recipe for target 'all' failed
make: *** [all] Error 2
卸载所有旧gnuradio libs和二进制文件后出现相同错误。(--purge)
[ 33%] Building CXX object gnuradio-core/src/lib/CMakeFiles/test-gnuradio-core.dir/bug_work_around_6.cc.o
Linking CXX shared library libtest-gnuradio-core.so
[ 33%] Built target test-gnuradio-core
Scanning dependencies of target benchmark_dotprod_ccc
[ 33%] Building CXX object gnuradio-core/src/tests/CMakeFiles/benchmark_dotprod_ccc.dir/benchmark_dotprod_ccc.cc.o
Linking CXX executable benchmark_dotprod_ccc
../lib/libtest-gnuradio-core.so: référence indéfinie vers « gr_reverse(std::vector<float, std::allocator<float> > const&) »
collect2: error: ld returned 1 exit status
gnuradio-core/src/tests/CMakeFiles/benchmark_dotprod_ccc.dir/build.make:95: recipe for target 'gnuradio-core/src/tests/benchmark_dotprod_ccc' failed
make[2]: *** [gnuradio-core/src/tests/benchmark_dotprod_ccc] Error 1
CMakeFiles/Makefile2:1111: recipe for target 'gnuradio-core/src/tests/CMakeFiles/benchmark_dotprod_ccc.dir/all' failed
make[1]: *** [gnuradio-core/src/tests/CMakeFiles/benchmark_dotprod_ccc.dir/all] Error 2
Makefile:147: recipe for target 'all' failed
最佳答案
正如你所写:
用Osmottra的Gnuradio 3.7.5+Gr3.7分支求解。
如果你不需要的话,你不应该使用GNUradiopre-3.7;因为OSMO TETRA有一个GR3.7分支,它可以与最新的GNUradio一起工作,所以你可以这么做。