aubio


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gcc compiler options on MAC OSX



Hi, I got the same problems trying to compile the PD plugins under OS X (10.4.5) and tried both of the command lines suggested below. gcc -bundle -undefined suppress -flat_namespace -o aubio.pd_darwin *.o gave me a aubio.pd_darwin (20Kb) that I placed the in the Contents/Resources/Extra directory, but Pd couldn't create any of the objects.
gcc -bundle -bundle_loader /Applications/Pd-extended.app/Contents/MacOS/Pd -flat_namespace -o aubio.pd_darwin *.o

gave me the following error:

/usr/bin/ld: Undefined symbols:
_post
_aubio_onsetdetection
_aubio_peakpick_pimrt
_aubio_pvoc_do
_aubio_silence_detection
_class_addmethod
_class_domainsignalin
_class_new
_dsp_add
etc...

I'm fairly unfamiliar with building / linking code and using Make files, so I could be making some basic mistakes.  Appreciate any advice or modified Make files that might work for OS X.

-Scott




Paul Brossier wrote:

Hi Ed,

Thanks for your report.

On Tue, Aug 15, 2006 at 03:11:53PM +0100, Ed Kelly wrote:
Hi Paul,

I'm having some problems building the aubio pd
externals on Mac OSX. I had to set PKG_CONFIG_PATH
environment variables for the sources for libsndfile,
libsamplerate and fftw3 manually, then the
libtoolkludge passes a couple of unrecognized options
to gcc and ld.

I think the pkg-config issue as a bug in pkg-config, or maybe a missing
compilation flag to it. If package descriptions get installed by default
in some location, then pkg-config should look for them in that location
by default. There is not much we could do in aubio to solve it anyway.

gcc -shared option is not supported in Apple's gcc
3.3, and ld -export_dynamic does not work either. the
first is documented here:
http://developer.apple.com/documentation/DeveloperTools/gcc-3.3/gcc/Link-Options.html
but I cannot find documentation on the ld option
-export_dynamic.

Yes, the PD plugin lacks the correct command line to create the external
on OS X. Reading other external Makefiles, it seems the following
command should create aubio.pd_darwin correctly:

 gcc -bundle -undefined suppress -flat_namespace -o aubio.pd_darwin *.o

or:

 gcc -bundle -bundle_loader <path_to_PD> -flat_namespace -o aubio.pd_darwin *.o

See also http://lists.puredata.info/pipermail/pd-dev/2003-05/001238.html

I don't have access to a OS X at the moment. Let us know if this works for you!

Thanks, Paul





--
To unsubscribe, send mail to aubio-unsubscribe@piem.org.