I followed the gnuradio wiki page commands to create a new block.
smookin@comsec-ThinkCentre-M90p:~/Desktop$ gr_modtool.py create howto
Module directory is "./gr-howto".
Creating directory...
Copying howto example...
Unpacking...
Replacing occurences of 'howto' to 'howto'...
Skipping ./apps
Skipping ./docs/doxygen/doxyxml
Skipping ./docs/doxygen/doxyxml/example
Skipping ./docs/doxygen/doxyxml/example/xml
Skipping ./docs/doxygen/doxyxml/generated
Skipping ./cmake
Skipping ./cmake/Modules
Skipping ./grc
Done.
Use 'gr_modtool add' to add a new block to this currently empty module.
smookin@comsec-ThinkCentre-M90p:~/Desktop$ cd gr-howto/
smookin@comsec-ThinkCentre-M90p:~/Desktop/gr-howto$ gr_modtool.py add -t
sync square_ff
Operating in directory .
GNU Radio module name identified: howto
Code is of type: sync
Block/code identifier: square_ff
Full block/code identifier is: howto_square_ff
Enter valid argument list, including default arguments:
Add Python QA code? [Y/n]
Add C++ QA code? [Y/n]
Traversing lib...
Adding file 'howto_square_ff.h'...
Adding file 'howto_square_ff.cc'...
Adding file 'qa_howto_square_ff.cc'...
Traversing swig...
Editing swig/howto_swig.i...
Traversing python...
Adding file 'qa_howto_square_ff.py'...
Editing python/CMakeLists.txt...
Traversing grc...
Adding file 'howto_square_ff.xml'...
Editing grc/CMakeLists.txt...
I have attached the header file that is generated through gr_modtool. You
can notice that the generated API is not included in the header file.
I added the API manually and called the sptr using API header to solve this
problem.
Regards,
--Khizer Kaleem
Graduate Research Student
Department of Electrical and Computer Engineering
University of Waterloo, Canada
On Fri, Feb 1, 2013 at 4:27 AM, Martin Braun (CEL) wrote:
> On Thu, Jan 31, 2013 at 07:37:30PM -0500, Khizer Kaleem wrote:
> > Thanks Josh. It worked. Apparently, the gr_modtool.py is not including
> the API
> > in the header.
>
> Well, it should.
> I must admit I bungled gr_modtool a bit while working on porting it to
> 3.6.4, but it should be in a working state now.
>
> Can you please post the command you used to add the block and the header
> that was generated?
>
> MB
>
>
> >
> >
> > -Khizer Kaleem
> >
> >
> >
> > On Thu, Jan 31, 2013 at 4:32 PM, Josh Blum wrote:
> >
> >
> >
> > > 2: Test command: /bin/sh
> > > "/home/mkk/Desktop/gr-howto/build/python/qa_square_ff_test.sh"
> > > 2: Test timeout computed to be: 9.99988e+06
> > > 2: Traceback (most recent call last):
> > > 2: File
> "/home/mkk/Desktop/gr-howto/python/qa_howto_square_ff.py", line
> > > 23, in
> > > 2: import howto_swig as howto
> > > 2: File "/home/mkk/Desktop/gr-howto/build/swig/howto_swig.py",
> line 24,
> > > in
> > > 2: _howto_swig = swig_import_helper()
> > > 2: File "/home/mkk/Desktop/gr-howto/build/swig/howto_swig.py",
> line 20,
> > > in swig_import_helper
> > > 2: _mod = imp.load_module('_howto_swig', fp, pathname,
> description)
> >
> > > 2: *ImportError:
> /home/mkk/Desktop/gr-howto/build/swig/_howto_swig.so:
> > > undefined symbol: _Z20howto_make_square_ffv*
> >
> > > 2/2 Test #2: qa_square_ff .***Failed0.09
> sec
> > >
> > > 50% tests passed, 1 tests failed out of 2
> > >
> > > Total Test time (real) = 0.11 sec
> > >
> > > The following tests FAILED:
> > > 2 - qa_square_ff (Failed)
> > > Errors while running CTest
> > >
> >
> > > I know this a linking problem error.If anyone can *help* with this
> I
> > *would*
> > > really *appreciate. *
> > > *
> > > *
> > Well, it says the symbol is missing: undefined symbol:
> > _Z20howto_make_square_ffv*
> >
> > So this is something declared in a header file but not exposed by
> your
> > library. You probably need to implement howto_make_square_ffv, or
> make
> > sure the declaration in the header file has the proper API export
> macro.
> >
> > -josh
> >
> > ___
> > Discuss-gnuradio mailing list
> > Discuss-gnuradio@gnu.org
> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >
> >
>
> > ___
> > Discuss-gnuradio mailing list
> > Dis