Building on 64-bit Linux

Is there a solution for building gnuradio on 64-bit Linux using the
stable v3.4.2 release?

I’m seeing errors similar to the following thread when building gnuradio
from the v3.4.2 source tarball on RHEL 5.7 x86_64:
Re: [Discuss-gnuradio] Compiling gnuradio fails on 64-bit system.

I followed the procedure for cmake
(http://gnuradio.org/redmine/projects/gnuradio/wiki/CMakeWork) and
encountered new errors:

$ cmake -DPYTHON_EXECUTABLE=/usr/bin/python26
-DBOOST_INCLUDEDIR=/usr/include/boost141
-DBOOST_LIBRARYDIR=/usr/lib64/boost141
-DSWIG_EXECUTABLE=/usr/share/swig/2.0.4/bin/swig …/

– Configuring done

– Generating done

– Build files have been written to:
/home/gr/source/git/gnuradio/build

$ make

[ 47%] Generating general_swig_doc.i Error in xml in file /home/gr/source/git/gnuradio/build/gnuradio-core/src/lib/swig/general_swig_doc_swig_docs/xml/gr__simple__framer__sync_8h.xml Traceback (most recent call last): File "/home/gr/source/git/gnuradio/docs/doxygen/swig_doc.py", line 253, in make_swig_interface_file(di, swigdocfilename, custom_output=custom_output) File "/home/gr/source/git/gnuradio/docs/doxygen/swig_doc.py", line 196, in make_swig_interface_file blocks = di.in_category(Block) File "/home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py", line 140, in in_category self.confirm_no_error() File "/home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py", line 206, in confirm_no_error self.check_parsed() File "/home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py", line 203, in check_parsed self._parse() File "/home/gr/source/git/gnuradio/docs/doxygen/doxyxml/doxyindex.py", line 51, in _parse self._members += converted.members() File "/home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py", line 174, in members self.confirm_no_error() File "/home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py", line 206, in confirm_no_error self.check_parsed() File "/home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py", line 203, in check_parsed self._parse() File "/home/gr/source/git/gnuradio/docs/doxygen/doxyxml/doxyindex.py", line 163, in _parse self.set_descriptions(self._retrieved_data.compounddef) AttributeError: 'NoneType' object has no attribute 'compounddef' make[2]: *** [gnuradio-core/src/lib/swig/general_swig_doc.i] Error 1 make[1]: *** [gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_filter.dir/all] Error 2 make: *** [all] Error 2

If it’s hopeless to build from the stable release, what’s the best path
to a working gnuradio installation at the moment?
Thanks!Justin

File “/home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py”, line 206, in
confirm_no_error
self._parse()
File “/home/gr/source/git/gnuradio/docs/doxygen/doxyxml/doxyindex.py”, line
163, in _parse
self.set_descriptions(self._retrieved_data.compounddef)
AttributeError: ‘NoneType’ object has no attribute ‘compounddef’
make[2]: *** [gnuradio-core/src/lib/swig/general_swig_doc.i] Error 1
make[1]: ***
[gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_filter.dir/all] Error 2
make: *** [all] Error 2

Tom/Ben,

I think doxyindex.py may be relying on an xml field that older doxygen’s
do not define.

Perhaps we could put a big try/catch around this in case it fails and
print to stderr. That way the build keeps going, and its just a warning
printed out in the terminal.

-josh

On Tue, Dec 6, 2011 at 5:51 PM, Josh B. [email protected] wrote:

File “/home/gr/source/git/gnuradio/docs/doxygen/swig_doc.py”, line
self._parse()
203, in check_parsed

-josh

Version info, please?

Tom

On 12/06/2011 02:56 PM, Tom R. wrote:

make_swig_interface_file(di, swigdocfilename,

File “/home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py”, line
self.check_parsed()
2
printed out in the terminal.

-josh

Version info, please?

Tom

Also please attach the gr__simple__framer__sync_8h.xml

-josh

On Tue, Dec 6, 2011 at 3:51 PM, Josh B. [email protected] wrote:

self.confirm_no_error()
File “/home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py”, line 203, in
check_parsed

I think doxyindex.py may be relying on an xml field that older doxygen’s
do not define.

Perhaps we could put a big try/catch around this in case it fails and
print to stderr. That way the build keeps going, and its just a warning
printed out in the terminal.

-josh

You’re right, it clearly needs to be more robust. I’ll have a look
tonight.

Ben


Perhaps we could put a big try/catch around this in case it fails and
print to stderr. That way the build keeps going, and its just a warning
printed out in the terminal.

-josh

You’re right, it clearly needs to be more robust. I’ll have a look tonight.

Ben

I’ve built successfully on the latest master branch so this appears
fixed as of (or sooner):

$ git status

On branch master

nothing to commit (working directory clean)
[jrford@dodeca gnuradio]$ git show
commit fc6151d4516ee86b697602014b83fb08a88c30f0
Merge: 89f934b fa161e1
Author: Tom R. [email protected]
Date: Sun Dec 11 23:01:34 2011 -0500

Merge remote-tracking branch ‘jblum/cmake_qtgui_fix’

Thanks!
Justin

On Tue, Dec 6, 2011 at 5:35 PM, Justin F. [email protected]
wrote:

encountered new errors:

– Generating done

– Build files have been written to:
/home/gr/source/git/gnuradio/build

$ make

I’m confused how you are using cmake with the 3.4.2 tarball. That wasn’t
introduced until 3.5. And that swig-doc stuff was just put in yesterday.

Just checking to make sure there’s no confusion about something here.

Tom

On Wed, Dec 7, 2011 at 1:06 PM, Ben R. [email protected] wrote:

custom_output=custom_output)
line 203, in check_parsed

self.check_parsed()

[gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_filter.dir/all] Error

print to stderr. That way the build keeps going, and its just a warning
printed out in the terminal.

-josh

You’re right, it clearly needs to be more robust. I’ll have a look
tonight.

Ben

It turns out that the problem was with the ‘&’ in the doxygen markup. I
was
able to change this link to one that doesn’t use ‘&’. it also looks like
this is a problem with old Doxygen format.

Hopefully, we won’t see this again or Ben can put in a quick fix for it.

I have also updated the build process such that if you specify
‘-DENABLE_DOXYGEN=False’ it does not build the swigdocs, either. So any
future problems that might occur due to issues with markup, etc., we can
at
least get around by not having these guys generated at all.

(I would also like to stop having to support Redhat, but I know too many
places are still using it.)

Tom