Error building gnuradio 3.4.2 on ubuntu 12.04 (usrp_prims.cc file error)

Hello all,

I am trying to build gnuradio 3.4.2 on ubuntu 12.04 and I am getting an
error running the make -j 8 command. It is a swig problem, according to
this discussion in the archives:

"From: Tom R.
Subject: Re: [Discuss-gnuradio] Build error GNU Radio release
v3.3.1git-971-ga02bb131
Date: Sun, 27 Feb 2011 17:38:48 -0500
On Sun, Feb 27, 2011 at 6:51 AM, Arya S. address@hidden wrote:

Hi Jared, thanks for that suggestion.

Anyway, I realized that I was using GNU compiler gcc-4.6
(experimental) which apparently imposes stricter rules and allows
package builds to fail where previous versions used to succeed. So 

the
suggested fix for one typical “ptrdiff_t does not name a type” is
#include <cstddef.h>, which I did in the
/usrp/host/swig/python/usrp_prims.cc file, and the build completed
to
success.

Arya

Thanks for bringing this up (and for the solution). The usrp_prims.cc
file is actually generated by SWIG, so I’ve explicitly included stddef.h
into the .i file, which is done for most of the other SWIG files already
for other reasons. This really seems like a SWIG problem, so hopefully
this will be fixed in future releases before the new GCC takes over.
Hopefully, this fixes our last hole, anyways.

I’ll be pushing changes to next and master soon.

Tom"

I have tried the solution suggested (including the cstddef.h file in
usrp_prisms.cc) but this does not work.
Can someone help me out with this? The error I get is as follows:

"make[5]: Leaving directory
/home/ayiesha/Downloads/gnuradio-3.4.2/usrp/host/apps' Making all in swig make[5]: Entering directory /home/ayiesha/Downloads/gnuradio-3.4.2/usrp/host/swig’
make all-am
make[6]: Entering directory
/home/ayiesha/Downloads/gnuradio-3.4.2/usrp/host/swig' /bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I/home/ayiesha/Downloads/gnuradio-3.4.2/usrp/host/include -I/home/ayiesha/Downloads/gnuradio-3.4.2/usrp/host/include -I/home/ayiesha/Downloads/gnuradio-3.4.2/usrp/firmware/include -I. -I/usr/include/python2.7 -I/usr/local/include -I/home/dfe/Archive/boost_1_44_0 -g -O1 -Wno-strict-aliasing -Wno-parentheses -I../../.. -pthread -MT _usrp_prims_la-usrp_prims.lo -MD -MP -MF .deps/_usrp_prims_la-usrp_prims.Tpo -c -o _usrp_prims_la-usrp_prims.lo test -f ‘python/usrp_prims.cc’ || echo
‘./‘python/usrp_prims.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -I/home/ayiesha/Downloads/gnuradio-3.4.2/usrp/host/include -I/home/ayiesha/Downloads/gnuradio-3.4.2/usrp/host/include -I/home/ayiesha/Downloads/gnuradio-3.4.2/usrp/firmware/include -I. -I/usr/include/python2.7 -I/usr/local/include -I/home/dfe/Archive/boost_1_44_0 -g -O1 -Wno-strict-aliasing -Wno-parentheses -I../../.. -pthread -MT _usrp_prims_la-usrp_prims.lo -MD -MP -MF .deps/_usrp_prims_la-usrp_prims.Tpo -c python/usrp_prims.cc -fPIC -DPIC -o .libs/_usrp_prims_la-usrp_prims.o python/usrp_prims.cc: In function void SWIG_Python_AddErrorMsg(const char*): python/usrp_prims.cc:871:42: warning: format not a string literal and no format arguments [-Wformat-security] python/usrp_prims.cc: At global scope: python/usrp_prims.cc:2636:13: error: ptrdiff_t does not name a type python/usrp_prims.cc:2662:21: error: expected ; at end of member declaration python/usrp_prims.cc:2662:39: error: expected ) before n python/usrp_prims.cc:2677:34: error: declaration of operator+= as non-function python/usrp_prims.cc:2677:30: error: expected ; at end of member declaration python/usrp_prims.cc:2677:44: error: expected ) before n python/usrp_prims.cc:2682:34: error: declaration of operator-= as non-function python/usrp_prims.cc:2682:30: error: expected ; at end of member declaration python/usrp_prims.cc:2682:44: error: expected ) before n python/usrp_prims.cc:2687:33: error: declaration of operator+ as non-function python/usrp_prims.cc:2687:30: error: expected ; at end of member declaration python/usrp_prims.cc:2687:43: error: expected ) before n python/usrp_prims.cc:2692:33: error: declaration of operator- as non-function python/usrp_prims.cc:2692:30: error: expected ; at end of member declaration python/usrp_prims.cc:2692:43: error: expected ) before n python/usrp_prims.cc:2697:5: error: ptrdiff_t does not name a type python/usrp_prims.cc:2853:23: error: SWIG_From_ptrdiff_t declared as an inline variable python/usrp_prims.cc:2853:23: error: ptrdiff_t was not declared in this scope python/usrp_prims.cc:2853:23: note: suggested alternatives: /usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:156:28: note: std::ptrdiff_t /usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:156:28: note: std::ptrdiff_t python/usrp_prims.cc:2854:1: error: expected , or ; before { token python/usrp_prims.cc:2906:39: error: ptrdiff_t has not been declared python/usrp_prims.cc: In function int SWIG_AsVal_ptrdiff_t(PyObject*, int*): python/usrp_prims.cc:2910:50: error: expected type-specifier before ptrdiff_t python/usrp_prims.cc:2910:50: error: expected > before ptrdiff_t python/usrp_prims.cc:2910:50: error: expected ( before ptrdiff_t python/usrp_prims.cc:2910:50: error: ptrdiff_t was not declared in this scope python/usrp_prims.cc:2910:50: note: suggested alternatives: /usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:156:28: note: std::ptrdiff_t /usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:156:28: note: std::ptrdiff_t python/usrp_prims.cc:2910:64: error: expected ) before ; token python/usrp_prims.cc: In function PyObject* _wrap_PySwigIterator_distance(PyObject*, PyObject*, PyObject*): python/usrp_prims.cc:3365:52: error: const struct swig::PySwigIterator has no member named distance python/usrp_prims.cc:3371:67: error: SWIG_From_ptrdiff_t cannot be used as a function python/usrp_prims.cc: In function PyObject* _wrap_PySwigIterator_advance(PyObject*, PyObject*, PyObject*): python/usrp_prims.cc:3534:58: error: arg1->swig::PySwigIterator::advance cannot be used as a function python/usrp_prims.cc: In function PyObject* _wrap_PySwigIterator___iadd__(PyObject*, PyObject*, PyObject*): python/usrp_prims.cc:3653:60: error: struct swig::PySwigIterator has no member named operator+= python/usrp_prims.cc: In function PyObject* _wrap_PySwigIterator___isub__(PyObject*, PyObject*, PyObject*): python/usrp_prims.cc:3700:60: error: struct swig::PySwigIterator has no member named operator-= python/usrp_prims.cc: In function PyObject* _wrap_PySwigIterator___add__(PyObject*, PyObject*, PyObject*): python/usrp_prims.cc:3746:85: error: const struct swig::PySwigIterator has no member named operator+ python/usrp_prims.cc: In function PyObject* _wrap_PySwigIterator___sub____SWIG_0(PyObject*, PyObject*): python/usrp_prims.cc:3787:85: error: const struct swig::PySwigIterator has no member named operator- python/usrp_prims.cc: In function PyObject* _wrap_PySwigIterator___sub____SWIG_1(PyObject*, PyObject*): python/usrp_prims.cc:3830:59: error: const struct swig::PySwigIterator has no member named operator- python/usrp_prims.cc:3831:67: error: SWIG_From_ptrdiff_t cannot be used as a function make[6]: *** [_usrp_prims_la-usrp_prims.lo] Error 1 make[6]: Leaving directory /home/ayiesha/Downloads/gnuradio-3.4.2/usrp/host/swig’
make[5]: *** [all] Error 2
make[5]: Leaving directory
/home/ayiesha/Downloads/gnuradio-3.4.2/usrp/host/swig' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory /home/ayiesha/Downloads/gnuradio-3.4.2/usrp/host’
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory /home/ayiesha/Downloads/gnuradio-3.4.2/usrp' make[2]: *** [all] Error 2 make[2]: Leaving directory /home/ayiesha/Downloads/gnuradio-3.4.2/usrp’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ayiesha/Downloads/gnuradio-3.4.2’
make: *** [all] Error 2
"