Gnuradio 3.2.2 make errors - usrp and usrp2

When I do a “make” for gnuradio 3.2.2, the following errors occur when
building usrp and usrp2 targets:

  1. usrp errors - “Command not found”

make[4]: Entering directory
`/home/brabante/devel/gnuradio/gnuradio-3.2.2/usrp/firmware/lib’
I…/…/…/usrp/firmware/include -c delay.c -o delay.rel
make[4]: I…/…/…/usrp/firmware/include: Command not found
make[4]: [delay.rel] Error 127 (ignored)
I…/…/…/usrp/firmware/include -c fx2utils.c -o fx2utils.rel
make[4]: I…/…/…/usrp/firmware/include: Command not found
make[4]: [fx2utils.rel] Error 127 (ignored)
I…/…/…/usrp/firmware/include -c i2c.c -o i2c.rel
make[4]: I…/…/…/usrp/firmware/include: Command not found
make[4]: [i2c.rel] Error 127 (ignored)
I…/…/…/usrp/firmware/include -c isr.c -o isr.rel
make[4]: I…/…/…/usrp/firmware/include: Command not found
make[4]: [isr.rel] Error 127 (ignored)
I…/…/…/usrp/firmware/include -c timer.c -o timer.rel
make[4]: I…/…/…/usrp/firmware/include: Command not found
make[4]: [timer.rel] Error 127 (ignored)
I…/…/…/usrp/firmware/include -c usb_common.c -o usb_common.rel
make[4]: I…/…/…/usrp/firmware/include: Command not found
make[4]: [usb_common.rel] Error 127 (ignored)

  1. usrp2 errors - “ undefined symbol encountered during assembly”

make[5]: Entering directory
/home/brabante/devel/gnuradio/gnuradio-3.2.2/usrp/firmware/src/usrp2' test -f basename ‘eeprom_boot.a51’ || ln -s 'eeprom_boot.a51' . test -f ../common/basename ‘eeprom_boot.a51’-o \ \! -fdirname ‘eeprom_boot.a51’/../common/basename
‘eeprom_boot.a51’\ || ln -sdirname ‘eeprom_boot.a51’/../common/basename
‘eeprom_boot.a51’ ../common/basename ‘eeprom_boot.a51’/usr/local/bin/sdas8051basename ‘eeprom_boot.a51’eeprom_boot.a51:553: Error: <u> undefined symbol encountered during assembly removing make[5]: *** [eeprom_boot.rel] Error 2 make[5]: Leaving directory /home/brabante/devel/gnuradio/gnuradio-3.2.2/usrp/firmware/src/usrp2’
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory
/home/brabante/devel/gnuradio/gnuradio-3.2.2/usrp/firmware/src' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory /home/brabante/devel/gnuradio/gnuradio-3.2.2/usrp/firmware’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
/home/brabante/devel/gnuradio/gnuradio-3.2.2/usrp' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory /home/brabante/devel/gnuradio/gnuradio-3.2.2’
make: *** [all] Error 2

 The above errors occurred after I commented out line 51 in 

config/grc_usrp.m4
(“USRP_SDCC([2.4.0],[],[passed=no;AC_MSG_RESULT([Unable to find firmware
compiler SDCC.])])”) to resolve the following error during a previous
execution of “make” for gnuradio:

      make[4]: Entering directory 

`/home/brabante/devel/gnuradio/gnuradio-3.2.2/usrp/firmware/lib’
/usr/local/bin/sdcc -I…/…/…/usrp/firmware/include -c
delay.c -o delay.rel
delay.c:27: syntax error: token → ‘_naked’ ; column 21
make[4]: *** [delay.rel] Error 1

This change was made per the recommendation in the email from Tom
Rondeau (Mon, 22 Nov 2010 18:20:12 -0500, URL
Re: [Discuss-gnuradio] SDCC 3.0.0?).

 The following covers the steps I executed in attempting to install 

gnuradio-3.2.2.tar.bz.
I ran the gnuradio 3.2.2 “bootstrap” script.
I then ran the gnuradio 3.2.2 “configure” script with the following
arguments:

      --disable-all-components --with-gruel --enable-gnuradio-core 

–enable-usrp --enable-gr-usrp --enable-omnithread

Before< the edit to config/grc_usrp.m4 described above, the console output of the
configure is attached in “config_before_edit_grc_usrp_m4.console”,
the log output of the configure is attached in
“config_before_edit_grc_usrp_m4.log” and the console output of the make
is attached in
“make_before_edit_grc_usrp_m4.console”.
After< the edit to config/grc_usrp.m4 described above, the console output of the
configure is attached in “config_after_edit_grc_usrp_m4.console”, the log output
of the configure is attached in “config_after_edit_grc_usrp_m4.log” and the
console output of the make is attached in
“make_after_edit_grc_usrp_m4.console”.

 gnuradio depends on SDCC (Small Device C Compiler).  I had to build 

that from source, since no binary distribution for CentOS 6.3 x86_64
exists.
The “configure” script, “make” and “make install” for SDCC executed
without errors and were passed no arguments.

 This is on CentOS 6.3 on an x86_64 architecture.

 Environment variables relevant to gnuradio 3.2.2 set in my login 

session are:
export
LD_LIBRARY_PATH=/lib64:/usr/lib64:/usr/local/lib64:/usr/local/lib

      # PKG_CONFIG_PATH is for the gnuradio-3.2.2 configure script 

to find fftw3.pc,
# fftw3f.pc and fftw3l.pc in /usr/lib64/pkgconfig/
export
PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/local/lib64/pkgconfig

      export SDCC_HOME=/usr/local

      # XAS is for the gnuradio-3.2.2 configure script to find the 

SDCC 8051 assembler.
# GNU Radio refers to this assembler as “asx8051”, the old
name. SDCC v3.0.0
# renamed this assembler “sdas8051”
export XAS=/usr/local/bin/sdas8051

      export PYTHONPATH=/usr/local/lib64/python2.6/site-packages

 If anyone knows how to resolve the usrp and usrp2 problems in the 

“make” of gnuradio 3.2.2 listed at the top, I’d appreciate a reply.

Regards,
Ed Brabant, Contractor
SPAWAR (Space and Naval Warfare Systems Command) Systems Center (SSC)
Pacific
Joint Tactical Networking Center (JTNC), Technical Directorate (TD),
Standards Group
office: 619-767-4397