[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Updating gr-specest to 3.7
From: |
Tom Rondeau |
Subject: |
Re: [Discuss-gnuradio] Updating gr-specest to 3.7 |
Date: |
Tue, 17 Sep 2013 16:51:44 -0400 |
On Tue, Sep 17, 2013 at 2:34 PM, Jared Clements
<address@hidden> wrote:
> I've spent some time recently attempting to update gr-specest to 3.7,
> and I've run into a linker issue that's a bit out of my depth, any
> suggestions would be helpful.
>
> I've been following the guide published at
> http://gnuradio.org/redmine/projects/gnuradio/wiki/Move_3-6_to_3-7
>
> I have so far accomplished the following:
> - Remove FindGnuradioCore.cmake and FindGruel.cmake, replaced with
> FindGnuradioRuntime.cmake
> that I pulled out of
> gr-utils/python/modtool/gr-newmod/cmake/Modules/FindGnuradioRuntime.cmake
> - Remove all GRUEL_ references and replace GNURADIO_CORE variables
> with GNURADIO_RUNTIME_
> - Update #include<gruel/attributes.h> to <gnuradio/attributes.h>
> - Changed file structure:
> - from gr-specest/include/specest-blockname.h to
> gr-specest/include/specest/blockname.h
> - from gr-specest/lib/specest-blockname.cc to gr-specest/lib/blockname.cc
> (actually, I think that there was some significant changes that
> should have been done to split
> blockname.cc into blockname_impl.h and blockname_impl.cc but I'm
> actually confused by all the
> blockname_impl.h that are placed under include/specest, and I'm
> not entirely sure that the
> split didn't already happen under 3.6)
> - Updated gnuradio header files e.g. '#include <gr_sync_block.h>' to
> '#include <gnuradio/sync_block.h'
> - Updated gnuradio classes and functions to new namespace, e.g.
> gr_make_io_signature() to gr::io_signature::make()
>
> Current status of the effort:
> - Complilation errors caused by the need for above updates now worked
> out and the files compile without error.
> - Build currently broken, stuck at linker errors:
> ....
> [ 52%] Built target gnuradio-specest
> Linking CXX executable qa_arburg_impl
> libgnuradio-specest.so: undefined reference to `fftwf_free'
> libgnuradio-specest.so: undefined reference to `fftwf_malloc'
> ....
> - Will be looking into the FindGnuradioRuntime.cmake file I lifted
> from gr-utils
> - Would love suggestions on how to debug this, "nm" and "ldd" show
> issues but not root causes...
>
> Future work not yet started:
> - updating the gr-specest namespace to the new format
> - adding new blocks: cross-correlation, normalization, running sum, etc
>
> I've posted all my code at https://github.com/dfxx/gr-specest. Any
> help tracking down the root cause of the linker errors would be
> greatly appreciated. I have the feeling that it might be in the cmake
> configuration, and I feel somewhat like a bull in a china shop when I
> start poking around in cmake. Lots of delicate looking code in there.
You'll (probably) need to link against fftw. I think you need to add
the FFT3 library to target_link_libraries in the lib/CMakeLists.txt
file. There was a change in policy for linking recently that's
affected things like this.
--
Tom
Visit us at GRCon13 Oct. 1 - 4
http://www.trondeau.com/grcon13