Sunday, January 30, 2022

Re: Problem migrating an OOT module that uses FFT from 3.8 to 3.9

Hello Ron,

thank you very much.

I have walked right into the trap a second time :-( I should attach a
Post-It to my monitor screen to remind me that I might need to adapt the
CMakeLists.txt files when I change something...

Long story short, it works now :-)

Regards,

Ralf

Am 29.01.2022 um 23:54 schrieb Ron Economos:
> Ralf,
>
> Yes, I  was thinking about how I had done things in my 3.8 OOT's where
> I had used this syntax instead:
>
> fft::fft_complex *ofdm_fft;
>
> and
>
> ofdm_fft = new fft::fft_complex(ofdm_fft_size, false, 1);
>
> The other thing to check is the linking. Like so.
>
> https://github.com/drmpeg/gr-paint/blob/master/CMakeLists.txt#L78
>
> and
>
> https://github.com/drmpeg/gr-paint/blob/master/lib/CMakeLists.txt#L25
>
> Ron
>
> On 1/29/22 14:24, Ralf Gorholt wrote:
>> Hello Ron,
>>
>> d_fft_calculator is (and was in the 3.8 version) an object and not a
>> pointer. That's why I already use the . and not the ->
>>
>> Regards,
>>
>> Ralf
>>
>> Am 29.01.2022 um 21:35 schrieb Ron Economos:
>>> Ralf,
>>>
>>> I'm not sure if you've done this already, but when you use
>>> d_fft_calculator, you need to change from -> to . to access it.
>>>
>>> Ron
>>>
>>> On 1/29/22 12:24, Ralf Gorholt wrote:
>>>> Hello all,
>>>>
>>>> I am currently trying to migrate an OOT module that uses an FFT object
>>>> internally from  GNU Radio version 3.8 to 3.9.
>>>>
>>>> In my .h file I have got this:
>>>>
>>>>     //old: gr::fft::fft_complex d_fft_calculator;
>>>>     gr::fft::fft_complex_fwd d_fft_calculator;
>>>>
>>>> and in the constructor member initializer list this:
>>>>
>>>>       //old: d_fft_calculator(gr::fft::fft_complex(pow(2.0, 10 +
>>>> mode),
>>>> true, 1)),
>>>>       d_fft_calculator(pow(2.0, 10 + mode), 1),
>>>>
>>>> The module compiles without a problem but when I start the flowgraph I
>>>> get the message "ImportError:
>>>> /usr/local/lib/libgnuradio-dl5eu.so.1.0.0:
>>>> undefined symbol: _ZN2gr3fft3fftISt7complexIfELb1EED1Ev". It looks
>>>> to me
>>>> that somewhere "fft_complex" is still called behind the scenes but I
>>>> can't see where.
>>>>
>>>> Can anyone tell me how I need to correct this?
>>>>
>>>> FYI, I have recreated the module and the blocks with gr_modtool and
>>>> then
>>>> copied the relevant code from the old to the new version.
>>>>
>>>> Thank you very much and kind regards,
>>>>
>>>> Ralf
>>>>
>>>
>>

No comments:

Post a Comment