Error compiling audio_osx _sink on OS X 10.6.2 "audio_osx_sink.cc: 101: error: ‘ComponentDescripti

% sw_vers
ProductName: Mac OS X
ProductVersion: 10.6.2
BuildVersion: 10C540

% gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5646.1~2/src/configure
–disable-checking --enable-werror --prefix=/usr --mandir=/share/man
–enable-languages=c,objc,c++,obj-c++
–program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib
–build=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
–program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10
–target=i686-apple-darwin10
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5646) (dot 1)

% ./configure --with-md-cpu=x86_64
% make

[…]

libtool: compile: g++ -DHAVE_CONFIG_H -I. -I…/… -DOMNITHREAD_POSIX=1
-I/usr/local/include -I/tmp/gnuradio-3.2.2/omnithread -I/tmp/gnurad
io-3.2.2/gnuradio-core/src/lib/runtime
-I/tmp/gnuradio-3.2.2/gnuradio-core/src/lib/general
-I/tmp/gnuradio-3.2.2/gnuradio-core/src/lib/gene
ral -I/tmp/gnuradio-3.2.2/gnuradio-core/src/lib/gengen
-I/tmp/gnuradio-3.2.2/gnuradio-core/src/lib/gengen
-I/tmp/gnuradio-3.2.2/gnuradio-co
re/src/lib/filter -I/tmp/gnuradio-3.2.2/gnuradio-core/src/lib/filter
-I/tmp/gnuradio-3.2.2/gnuradio-core/src/lib/missing -I/tmp/gnuradio-3.
2.2/gnuradio-core/src/lib/reed-solomon
-I/tmp/gnuradio-3.2.2/gnuradio-core/src/lib/viterbi
-I/tmp/gnuradio-3.2.2/gnuradio-core/src/lib/io -
I/tmp/gnuradio-3.2.2/gnuradio-core/src/lib/g72x
-I/tmp/gnuradio-3.2.2/gnuradio-core/src/lib/swig
-I/tmp/gnuradio-3.2.2/gnuradio-core/src/li
b/hier -I/tmp/gnuradio-3.2.2/gnuradio-core/src/lib/swig
-I/usr/local/include -I/usr/local/include
-I/tmp/gnuradio-3.2.2/gruel/src/include -
I/tmp/gnuradio-3.2.2/gruel/src/include
-I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6
-g -O1 -Wno-strict-alia
sing -Wno-parentheses -D_THREAD_SAFE -MT _audio_osx_la-audio_osx_sink.lo
-MD -MP -MF .deps/_audio_osx_la-audio_osx_sink.Tpo -c audio_osx_si
nk.cc -fno-common -DPIC -o .libs/_audio_osx_la-audio_osx_sink.o
audio_osx_sink.cc: In constructor ‘audio_osx_sink::audio_osx_sink(int,
std::string, bool, int, int)’:
audio_osx_sink.cc:101: error: ‘ComponentDescription’ was not declared in
this scope
audio_osx_sink.cc:101: error: expected ;' before ‘desc’ audio_osx_sink.cc:102: error: ‘desc’ was not declared in this scope audio_osx_sink.cc:108: error: ‘Component’ was not declared in this scope audio_osx_sink.cc:108: error: expected;’ before ‘comp’
audio_osx_sink.cc:109: error: ‘comp’ was not declared in this scope
audio_osx_sink.cc:114: error: ‘comp’ was not declared in this scope
audio_osx_sink.cc:114: error: ‘OpenAComponent’ was not declared in this
scope
audio_osx_sink.cc:115: warning: format ‘%ld’ expects type ‘long int’,
but argument 4 has type ‘OSStatus’
audio_osx_sink.cc:129: warning: format ‘%ld’ expects type ‘long int’,
but argument 4 has type ‘OSStatus’
audio_osx_sink.cc:153: warning: format ‘%ld’ expects type ‘long int’,
but argument 4 has type ‘OSStatus’
audio_osx_sink.cc:159: warning: format ‘%ld’ expects type ‘long int’,
but argument 4 has type ‘OSStatus’
audio_osx_sink.cc:166: warning: format ‘%ld’ expects type ‘long int’,
but argument 4 has type ‘OSStatus’
audio_osx_sink.cc: In member function ‘bool
audio_osx_sink::IsRunning()’:
audio_osx_sink.cc:188: warning: format ‘%ld’ expects type ‘long int’,
but argument 4 has type ‘OSStatus’
audio_osx_sink.cc: In member function ‘virtual bool
audio_osx_sink::start()’:
audio_osx_sink.cc:198: warning: format ‘%ld’ expects type ‘long int’,
but argument 4 has type ‘OSStatus’
audio_osx_sink.cc: In member function ‘virtual bool
audio_osx_sink::stop()’:
audio_osx_sink.cc:208: warning: format ‘%ld’ expects type ‘long int’,
but argument 4 has type ‘OSStatus’
audio_osx_sink.cc: In destructor ‘virtual
audio_osx_sink::~audio_osx_sink()’:
audio_osx_sink.cc:223: error: ‘CloseComponent’ was not declared in this
scope
./circular_buffer.h: In member function ‘int
circular_buffer::enqueue(T*, UInt32) [with T = float]’:
audio_osx_sink.cc:306: instantiated from here
./circular_buffer.h:155: warning: format ‘%ld’ expects type ‘long int’,
but argument 3 has type ‘UInt32’
./circular_buffer.h:155: warning: format ‘%ld’ expects type ‘long int’,
but argument 4 has type ‘UInt32’
./circular_buffer.h: In member function ‘int
circular_buffer::dequeue(T*, UInt32*) [with T = float]’:
audio_osx_sink.cc:369: instantiated from here
./circular_buffer.h:247: warning: format ‘%ld’ expects type ‘long int’,
but argument 3 has type ‘UInt32’
./circular_buffer.h:247: warning: format ‘%ld’ expects type ‘long int’,
but argument 4 has type ‘UInt32’make[4]: ***
[_audio_osx_la-audio_osx_sink.lo] Error 1

Hi Trevor - It looks like you’re trying to compile GNU Radio release
version 3.2.2, yes? If so, you will note some discussion on this list
a while ago that neither that version nor the (then) GIT master worked
on 10.6 (in either 32 or 64-bit kernel more). We updated the GIT
master to (hopefully) work on all versions of Mac OS X 10.5 (PPC,
PPC64, i386, and x86_64) and 10.6 (i386 an x86_64). So, if the above
it correct then please try using the GIT master – or wait for the
next number release of GNU Radio. If the above isn’t correct, then
please post the version of GNU Radio you’re trying to compile. - MLD

Hi Michael,

Thanks for the reply. I tried compiling from trunk, but unfortunately I
receive this error -

% ./bootstrap
./bootstrap: line 28: libtoolize: command not found
configure.ac:126: required file `./ltmain.sh’ not found

% ./configure
[…]
Component docs passed configuration checks; building.
configure: creating ./config.status
config.status: error: cannot find input file: gruel/Makefile.in

I saw someone else has had this issue previously, but I couldn’t find a
solution that would work for me.

You need to modify ‘bootstrap’ to use ‘glibtoolize’ instead of
‘libtoolize’.

The list archives are your friend:
http://lists.gnu.org/archive/html/discuss-gnuradio/
, and then search for the term … e.g. “libtoolize” top 2 hits are
about building under OSX, and the need to modify bootstrap as per the
above. Hopefully this simple change will take care of your problem &
get you moving with GNU Radio on OSX.

Please do note that, at this time, the WX Python interface is not 64-
bit compatible so you’ll need to compile as 32-bit for now. WX itself
(wxWidgets) release 2.9.0 is out & is supposed to be fully 32/64-bit
on OSX now, but the Python interface is not yet. There was some
discussion on this topic recently … search for it in the archives if
necessary when you get to that point. - MLD