Error building the mb-gcc toolchain on Mac OS X 10.6.4

Hi,
I’m trying to build the mb-gcc toolchain on Mac OS X 10.6.4, but
it doesnt progress. Without a mb-gcc, gnuradio configure doesnt proceed
with building support for the USRP2, so I can’t try out the UHD drivers
on Mac OS X.

I followed these steps

$ svn export
http://gnuradio.org/svn/gnuradio/trunk/dtools/microblaze/mb-gcc-4.1.1-gr-1.patch
$ wget http://gnuradio.org/tools/EDK101_GPL_GNU_src.tar.gz
$ tar -xzvf EDK101_GPL_GNU_src.tar.gz
$ patch -p1 <mb-gcc-4.1.1-gr-1.patch
$ cd Xilinx_EDK_GNU_10.1i/mb
$ /bin/bash ./build_binutils.sh
$ /bin/bash ./build_gcc.sh
$ cp -r release/lin/mb /opt/microblaze

Here is the output of the build commands:

Elvis-Dowsons-iMac:mb elvis$ bash ./build_binutils.sh
Building MicroBlaze Binutils
Current directory is /Users/elvis/Tool/xilinx-edk-gnu-10.1i/mb
Platform is
Target is microblaze-xilinx-elf
Unpacking binutils sources
Applying patch binutils-2.16_microblaze_support.patch – rc=0
Applying patch binutils-2.16_microblaze_new_instr.patch – rc=0
Applying patch binutils-2.16_line_separator.patch – rc=0
Applying patch binutils-2.16_mb_chksegment.patch – rc=0
Applying patch binutils-2.16_mb_relax_assert.patch – rc=0
Applying patch binutils-2.16_mb_ldscript.patch – rc=0
Applying patch binutils-2.16_mb_ldscript_fix.patch – rc=0
Applying patch binutils-2.16_mb_relax_assert-2.patch – rc=0
Applying patch binutils-2.16_mb_relax_fix.patch – rc=0
Applying patch binutils-2.16_mb_lin64.patch – rc=0
Applying patch binutils-2.16_mb_lin64-2.patch – rc=0
Applying patch binutils-2.16_mb_fsl.patch – rc=0
Applying patch binutils-2.16_mb_debug_loc.patch – rc=0
Applying patch binutils-2.16_relax-1.patch – rc=0
Applying patch binutils-2.16_relax_workaround.patch – rc=0
Applying patch binutils-2.16_fixes-1.patch – rc=0
Applying patch binutils-2.16_fixes-2.patch – rc=0
Applying patch binutils-2.16_pcrel.patch – rc=0
Applying patch binutils-2.16_fx_offset.patch – rc=0
Applying patch binutils-2.16_debug_loc-1.patch – rc=0
Applying patch binutils-2.16_pic.patch – rc=0
Applying patch binutils-2.16_mb_create_got.patch – rc=0
Applying patch binutils-2.16_microblaze_pic_plt.patch – rc=0
Applying patch binutils-2.16_mb_msrclr.patch – rc=0
Applying patch binutils-2.16_elf_comm.patch – rc=0
Applying patch binutils-2.16_no_dup_line.patch – rc=0
Applying patch binutils-2.16_debug_loc-2.patch – rc=0
Applying patch binutils-2.16_sbss.patch – rc=0
Applying patch binutils-2.16_mb_pic_2.patch – rc=0
Applying patch binutils-2.16_linux.patch – rc=0
Applying patch binutils-2.16_mb_copy_reloc.patch – rc=0
Applying patch binutils-2.16_mb_pic_3.patch – rc=0
Applying patch binutils-2.16_mb_ldscript_fix2.patch – rc=0
Applying patch binutils-2.16_mb_as_fatal.patch – rc=0
Applying patch binutils-2.16_local_sym.patch – rc=0
Applying patch binutils-2.16_sbss_check.patch – rc=0
Patch errors=0
Configuring Binutils – rc=0
Compiling Binutils make – rc=0 install – rc=0
cp:
/Users/elvis/Tool/xilinx-edk-gnu-10.1i/mb/build//bld_bin/build/bfd/libbfd.a:
No such file or directory
install libbfd.a – rc=0
cp:
/Users/elvis/Tool/xilinx-edk-gnu-10.1i/mb/build//bld_bin/build/bfd/bfd.h:
No such file or directory
install libbfd headers – rc=0
Configuring Gprof – rc=0
Compiling Gprof make – rc=0 install – rc=0
Building elf2flt
Current directory is /Users/elvis/Tool/xilinx-edk-gnu-10.1i/mb
Platform is
Unpacking elf2flt sources
Applying patch elf2flt_reloc.patch – rc=0
checking build system type… i686-apple-darwin10.4.0
checking host system type… i686-apple-darwin10.4.0
checking target system type… microblaze-xilinx-elf
checking for gcc… gcc
checking for C compiler default output… a.out
checking whether the C compiler works… yes
checking whether we are cross compiling… no
checking for suffix of executables…
checking for suffix of object files… o
checking whether we are using the GNU C compiler… yes
checking whether gcc accepts -g… yes
checking for gcc option to accept ANSI C… none needed
checking for a BSD-compatible install… /usr/bin/install -c
checking how to run the C preprocessor… gcc -E
checking for egrep… grep -E
checking for ANSI C header files… no
checking for sys/types.h… yes
checking for sys/stat.h… yes
checking for stdlib.h… yes
checking for string.h… yes
checking for memory.h… yes
checking for strings.h… yes
checking for inttypes.h… yes
checking for stdint.h… yes
checking for unistd.h… yes
checking fcntl.h usability… yes
checking fcntl.h presence… yes
checking for fcntl.h… yes
checking for unistd.h… (cached) yes
checking bfd.h usability… no
checking bfd.h presence… no
checking for bfd.h… no
checking for an ANSI C-conforming const… yes
checking for vprintf… no
checking for dcgettext… no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating ld-elf2flt
Compiling elf2flt make – rc=127 install – rc=71
MicroBlaze elf2flt Build Done

Building genromfs
Current directory is /Users/elvis/Tool/xilinx-edk-gnu-10.1i/mb
Platform is
Unpacking genromfs sources
rm -f genromfs *.o
gcc -O2 -Wall -DVERSION="0.5.2" genromfs.c -c -o genromfs.o
gcc -s genromfs.o -o genromfs
ld: warning: option -s is obsolete and being ignored
cp: directory /Users/elvis/Tool/xilinx-edk-gnu-10.1i/mb/release//mb/bin
does not exist
MicroBlaze genromfs Build Done
MicroBlaze Binutils Build Done
Elvis-Dowsons-iMac:mb elvis$ bash ./build_gcc.sh
Building MicroBlaze GCC
Current directory is /Users/elvis/Tool/xilinx-edk-gnu-10.1i/mb
Platform is
Target is microblaze-xilinx-elf
Unpacking gcc sources
Unpacking newlib sources
Applying patch gcc-4.1.1_microblaze.patch – rc=0
Applying patch gcc-4.1.1_microblaze-1.patch – rc=0
Applying patch gcc-4.1.1_microblaze-2.patch – rc=0
Applying patch gcc-4.1.1_microblaze-3.patch – rc=0
Applying patch gcc-4.1.1_microblaze-5.patch – rc=0
Applying patch gcc-4.1.1_microblaze-6.patch – rc=0
Applying patch gcc-4.1.1_microblaze-7.patch – rc=0
Applying patch gcc-4.1.1_microblaze-8.patch – rc=0
Applying patch gcc-4.1.1_microblaze-9.patch – rc=0
Applying patch gcc-4.1.1_microblaze-10.patch – rc=0
Applying patch newlib-1.14_configure.patch – rc=0
Applying patch gcc-4.1.1_microblaze-11.patch – rc=0
Applying patch gcc-4.1.1_microblaze-12.patch – rc=0
Applying patch gcc-4.1.1_microblaze-13.patch – rc=0
Applying patch newlib-1.14_functions.patch – rc=0
Applying patch gcc-4.1.1_microblaze-14.patch – rc=0
Applying patch gcc-4.1.1_microblaze-feb2007.patch – rc=0
Applying patch gcc-4.1.1_microblaze-15.patch – rc=0
Applying patch gcc-4.1.1_startgroup.patch – rc=0
Applying patch gcc-4.1.1_libstdc++.patch – rc=0
Applying patch newlib-1.14_crt.patch – rc=0
Applying patch newlib-1.14_configure-2.patch – rc=0
Applying patch newlib-1.14_configure-3.patch – rc=0
Applying patch gcc-4.1.1_dbxelf.patch – rc=0
Applying patch gcc-4.1.1_dbxarg.patch – rc=0
Applying patch gcc-4.1.1_mb_dbx.patch – rc=0
Applying patch gcc-4.1.1_mb_genBR.patch – rc=0
Applying patch gcc-4.1.1_dwarf.patch – rc=0
Applying patch gcc-4.1.1_eh.patch – rc=0
Applying patch gcc-4.1.1_fixflow.patch – rc=0
Applying patch gcc-4.1.1_fixopt.patch – rc=0
Applying patch gcc-4.1.1_dwarf-3.patch – rc=0
Applying patch newlib-1.14.0_ar_args.patch – rc=0
Applying patch newlib-1.14.0_reent_small.patch – rc=0
Applying patch newlib-1.14.0_msg00796.patch – rc=0
Applying patch newlib-1.14.0_msg00037.patch – rc=0
Applying patch newlib-1.14_syscalls.patch – rc=0
Applying patch gcc-4.1.1_mb_defaults.patch – rc=0
Applying patch newlib-1.14.0_libgloss.patch – rc=0
Applying patch newlib-1.14.0_libmb.patch – rc=0
Applying patch newlib-1.14.0_update_libgloss.patch – rc=0
Applying patch newlib-1.14.0_libgloss_funs.patch – rc=0
Applying patch newlib-1.14.0_libgloss_more_funcs.patch – rc=0
Applying patch newlib-1.14.0_xmk_fixes-1.patch – rc=0
Applying patch newlib-1.14.0_atexit.patch – rc=0
Applying patch newlib-1.14_crt_exitmods.patch – rc=0
Applying patch gcc-4.1.1_pr26885.patch – rc=0
Applying patch gcc-4.1.1_local_alignment.patch – rc=0
Applying patch gcc-4.1.1_sdata.patch – rc=0
Applying patch gcc-4.1.1_dwarfline.patch – rc=0
Applying patch gcc-4.1.1_optimize_memory_libstdc++.patch – rc=0
Applying patch gcc-4.1.1_retpc.patch – rc=0
Applying patch gcc-4.1.1_microblaze_save_volatiles.patch – rc=0
Applying patch newlib-1.14_setjmp_longjmp.patch – rc=0
Applying patch newlib-1.14.0_stringops.patch – rc=0
Applying patch gcc-4.1.1_microblaze_protos.patch – rc=0
Applying patch gcc-4.1.1_cleanup.patch – rc=0
Applying patch gcc-4.1.1_Wlscript.patch – rc=0
Applying patch gcc-4.1.1_xilinx_ldscript.patch – rc=0
Applying patch newlib-1.14.0_xilinx_ldscript.patch – rc=0
Applying patch gcc-4.1.1_dwarf_ret.patch – rc=0
Applying patch gcc-4.1.1_mb_funarg.patch – rc=0
Applying patch gcc-4.1.1_Noption.patch – rc=0
Applying patch gcc-4.1.1_pic.patch – rc=0
Applying patch gcc-4.1.1_ret_promote.patch – rc=0
Applying patch gcc-4.1.1_mb_noflushcache.patch – rc=0
Applying patch gcc-4.1.1_output_ascii.patch – rc=0
Applying patch gcc-4.1.1_mb_movdf_pic.patch – rc=0
Applying patch gcc-4.1.1_pr27226.patch – rc=0
Applying patch gcc-4.1.1_mb_block_moves.patch – rc=0
Applying patch gcc-4.1.1_newlib_nomulti.patch – rc=0
Applying patch gcc-4.1.1_pass_sbss_size.patch – rc=0
Applying patch gcc-4.1.1_mb_pic_2.patch – rc=0
Applying patch gcc-4.1.1_linux.patch – rc=0
Applying patch gcc-4.1.1_revert_Noption.patch – rc=0
Applying patch gcc-4.1.1_fix_builtin_ret.patch – rc=0
Applying patch newlib-1.14_fix_xilprintf.patch – rc=0
Applying patch gcc-4.1.1_mb_pic_3.patch – rc=0
Applying patch gcc-4.1.1_mb_divsi.patch – rc=0
Applying patch gcc-4.1.1_mb_func_type.patch – rc=0
Applying patch gcc-4.1.1_libgcc_pic.patch – rc=0
Applying patch gcc-4.1.1_libgcc_func_type.patch – rc=0
Applying patch gcc-4.1.1_usmul.patch – rc=0
Applying patch gcc-4.1.1_mb_usmul.patch – rc=0
Applying patch gcc-4.1.1_sections_cleanup.patch – rc=0
Applying patch gcc-4.1.1_mb_nomergestr.patch – rc=0
Configuring GCC – rc=0
Compiling GCC make – rc=127

Exiting because of previous errors

Elvis-Dowsons-iMac:mb elvis$

Best regards,

Elvis

On Sun, Sep 5, 2010 at 2:20 AM, Elvis D. [email protected]
wrote:

Hi,
I’m trying to build the mb-gcc toolchain on Mac OS X 10.6.4, but it
doesnt progress. Without a mb-gcc, gnuradio configure doesnt proceed with
building support for the USRP2, so I can’t try out the UHD drivers on Mac OS
X.

Elvis,

The usrp2 target in GNUradio can be skipped and you will still get
full UHD functionality. The uhd target is the only required target
for UHD support within GNUradio.

The only reason you would need to successfully build the usrp2 target
(ie. have a working mb-gcc) is if you wanted to build your own version
of the USRP2 firmware image.

For getting started, you can use the prebuilt USRP2 images from the
Ettus R. Website:

http://code.ettus.com/redmine/ettus/projects/public/wiki/U2binaries

Jason