I’m trying to make an out of tree module based on blocks::file_sink that has some additional functionality I need. Right now, I’ve built it OOT, but an having trouble getting it to work. The code (file_sink_impl.cc, file_sink_impl.h, and
file_sink.h à actual names are different so there are no conflicts) are all identical to the ones in tree. I used gr-modtool to create the OOT modules with this block and it makes and installs fine. However, when
I try to use it, I get the following error:
AttributeError: ‘file_sink_sptr’ object has no attribute ‘set_unbuffered’
What I think is happening here is that the OOT version of my code isn’t linking to the file_sink_base in gnuradio-blocks to inherit this function. Browsing previous mail lists, Marcus Muller noted in the
thread ‘ [Discuss-gnuradio] Out of Tree linker error... libgnuradio-MYMOD.so:‘ that the problem might be in my cmake files. He referenced gr-specest as an example which uses in tree modules. I compared the cmakelists.txt in gr-specest to the OOT module directory
and in the OOT/lib directory and added the BLOCKS references in the appropriate places. However, this still hasn’t solved the problems.
Are there any other steps necessary to make and install an OOT modules with in tree dependencies?
All of this is running on Ubuntu 14.04LTS with gnuradio 3.7.7.1