Cannot compile on Archlinux due to missing includes

Hello again. I’m trying to build gnuradio-3.1.2 (and svn, and 3.1.1,
with the same results) on a very recent install of Arch Linux (using GCC
4.3), and I’m running into a brick wall trying to make it compile. The
problem I’m having seems to result from #includes not being setup
properly. For example, after I run make, it errs on gr_dispatcher.cc,
saying:

gr_dispatcher.cc: In member function ‘void gr_dispatcher::loop(double)’:
gr_dispatcher.cc:177: error: ‘perror’ was not declared in this scope
make[5]: *** [gr_dispatcher.lo] Error 1
make[5]: Leaving directory
`/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/runtime’

Being the responsible soul, I tracked down what the missing include was,
and stuck it into gr_dispatch.cc (or .h, I’ve tried these steps several
times over). This solved the compilation problem with gr_dispatch, but
it quickly erred out on another file, and another, and another. So I
went as far as to include the missing headers (string.h, stdio.h) into
config.h.
Suffice it to say, it still does not build, and I finally get errors
along the lines of:

In file included from gr_packed_to_unpacked_bb.cc:32:
/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/general/gr_log2_const.h:34:
error: explicit template specialization cannot have a storage class
/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/general/gr_log2_const.h:35:
error: explicit template specialization cannot have a storage class
/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/general/gr_log2_const.h:36:
error: explicit template specialization cannot have a storage class
/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/general/gr_log2_const.h:37:
error: explicit template specialization cannot have a storage class
/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/general/gr_log2_const.h:38:
error: explicit template specialization cannot have a storage class
/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/general/gr_log2_const.h:39:
error: explicit template specialization cannot have a storage class
/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/general/gr_log2_const.h:40:
error: explicit template specialization cannot have a storage class
/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/general/gr_log2_const.h:41:
error: explicit template specialization cannot have a storage class
/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/general/gr_log2_const.h:42:
error: explicit template specialization cannot have a storage class
/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/general/gr_log2_const.h:43:
error: explicit template specialization cannot have a storage class
/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/general/gr_log2_const.h:44:
error: explicit template specialization cannot have a storage class
make[6]: *** [gr_packed_to_unpacked_bb.lo] Error 1
make[6]: Leaving directory
/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/gengen' make[5]: *** [all] Error 2 make[5]: Leaving directory/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/gengen’

PLEASE help. I have never had this much trouble trying to compile
gnuradio on Arch.
-Casey


Get in touch in an instant. Get Windows Live Messenger now.
http://www.windowslive.com/messenger/overview.html?ocid=TXT_TAGLM_WL_Refresh_getintouch_042008

On Mon, Apr 07, 2008 at 06:44:00PM +0000, Casey T. wrote:

Hello again. I’m trying to build gnuradio-3.1.2 (and svn, and 3.1.1,
with the same results) on a very recent install of Arch Linux (using
GCC 4.3), and I’m running into a brick wall trying to make it
compile. The problem I’m having seems to result from #includes not
being setup properly. For example, after I run make, it errs on
gr_dispatcher.cc, saying:

gr_dispatcher.cc: In member function ‘void gr_dispatcher::loop(double)’:
gr_dispatcher.cc:177: error: ‘perror’ was not declared in this scope
make[5]: *** [gr_dispatcher.lo] Error 1
make[5]: Leaving directory `/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/runtime’

Thanks for pointing these out. You’re using a later version of GCC
than most of us use for development. This shouldn’t be a problem, but
sometimes new versions of gcc show places where we’re being sloppy.

Being the responsible soul, I tracked down what the missing include was, and stuck it into gr_dispatch.cc (or .h, I’ve tried these steps several times over). This solved the compilation problem with gr_dispatch, but it quickly erred out on another file, and another, and another. So I went as far as to include the missing headers (string.h, stdio.h) into config.h.
Suffice it to say, it still does not build, and I finally get errors along the lines of:

In file included from gr_packed_to_unpacked_bb.cc:32:

in gr_log2_const.h, try removing the word “static”.

/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/general/gr_log2_const.h:44: error: explicit template specialization cannot have a storage class
make[6]: *** [gr_packed_to_unpacked_bb.lo] Error 1
make[6]: Leaving directory /home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/gengen' make[5]: *** [all] Error 2 make[5]: Leaving directory/home/casey/gnuradio-3.1.2/gnuradio-core/src/lib/gengen’

PLEASE help. I have never had this much trouble trying to compile gnuradio on Arch.
-Casey

My main compute server is down right now. I’ll try to build
everything with GCC 4.3 later on this week.

Eric

On Mon, Apr 7, 2008 at 4:10 PM, Eric B. [email protected] wrote:

Thanks for pointing these out. You’re using a later version of GCC
than most of us use for development. This shouldn’t be a problem, but
sometimes new versions of gcc show places where we’re being sloppy.

This might help with gcc 4.3:

http://gcc.gnu.org/gcc-4.3/porting_to.html

Philip

On Mon, Apr 07, 2008 at 04:36:29PM -0400, Philip B. wrote:

Philip
Thanks Philip!

Eric

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs