[PD] Fwd: Re: Building Pd App on OSX

Jonathan Wilkes jancsika at yahoo.com
Mon Jul 29 04:14:33 CEST 2013


Thanks.  I've got the xcode-select and -isysroot pointing at the correct location.
Any ideas on the error I'm getting (below)?

-Jonathan

cd ../obj;  cc -Wl -framework CoreAudio -framework AudioUnit -framework AudioToolbox -framework Carbon -framework CoreMIDI -arch i386 -arch ppc  -o ../bin/pd g_canvas.o g_graph.o g_text.o g_rtext.o g_array.o g_template.o g_io.o g_scalar.o g_traversal.o g_guiconnect.o g_readwrite.o g_editor.o g_all_guis.o g_bang.o g_hdial.o g_hslider.o g_mycanvas.o g_numbox.o g_toggle.o g_vdial.o g_vslider.o g_vumeter.o m_pd.o m_class.o m_obj.o m_atom.o m_memory.o m_binbuf.o m_conf.o m_glob.o m_sched.o s_main.o s_inter.o s_file.o s_print.o s_loader.o s_path.o s_entry.o s_audio.o s_midi.o s_utf8.o d_ugen.o d_ctl.o d_arithmetic.o d_osc.o d_filter.o d_dac.o d_misc.o d_math.o d_fft.o d_array.o d_global.o d_delay.o d_resample.o x_arithmetic.o x_connective.o x_interface.o x_midi.o x_misc.o x_time.o x_acoustics.o x_net.o x_qlist.o x_gui.o x_list.o d_soundfile.o s_midi_pm.o s_audio_pa.o s_audio_paring.o ../portaudio/src/common/pa_allocation.o
 ../portaudio/src/common/pa_converters.o ../portaudio/src/common/pa_cpuload.o ../portaudio/src/common/pa_dither.o ../portaudio/src/common/pa_front.o ../portaudio/src/common/pa_process.o ../portaudio/src/common/pa_stream.o ../portaudio/src/common/pa_trace.o ../portaudio/src/common/pa_debugprint.o ../portaudio/src/common/pa_ringbuffer.o ../portaudio/src/os/unix/pa_unix_util.o ../portaudio/src/os/mac_osx/pa_mac_hostapis.o ../portaudio/src/hostapi/coreaudio/pa_mac_core.o ../portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.o ../portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.o ../portmidi/pm_mac/pmmac.o ../portmidi/pm_mac/pmmacosxcm.o ../portmidi/pm_common/pmutil.o ../portmidi/pm_common/portmidi.o ../portmidi/porttime/ptmacosx_cf.o d_fft_mayer.o d_fftroutine.o  -ldl -lm -lpthread
clang: warning: unknown warning option '-Wl'
llvm-gcc-4.2: error trying to exec '/usr/bin/../llvm-gcc-4.2/bin/powerpc-apple-darwin11-llvm-gcc-4.2': execvp: No such file or directory
clang: error: linker (via gcc) command failed with exit code 255 (use -v to see invocation)
make: *** [../bin/pd] Error 255
macintosh-3:src David$ xcode-select -print-path
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer

Wee. You're lucky I just did a bunch of low level library compiling stuff on OSX/iOS for OpenFrameworks ... 

On Jul 27, 2013, at 5:51 AM, pd-list-request <at> iem.at wrote:

From: Jonathan Wilkes <jancsika <at> yahoo.com>
> 
>Subject: Re: [PD] Building Pd App on OSX
> 
>Date: July 27, 2013 1:34:11 AM EDT
> 
>To: Miller Puckette <msp <at> ucsd.edu>
> 
>Cc: "pd-list <at> iem.at" <pd-list <at> iem.at>
> 
>
>On 07/06/2013 06:18 PM, Miller Puckette wrote:
>
>Yeah... I originally assembled it by trial and error, starting from the
>>"Wish Shell" app and changing stuff by trial and error.  It might even
>>be the case that the "Wish Shell.app" archive used by the script below
>>can be replaced with your own local one... but I thought it safer to cache
>> copy once I had it all working.
>>
>After yet another wasted hour on a non-free OS,
>some questions regarding makefile.mac:
>
>* what is -O6?  It throws an error right off the bat.  (I changed it to -O3 to fix)
>* why is there "-arch ppc" as well as i386?
>

By specifying multiple architectures, OSX will build a "fat" lib that supports them in a single binary.

i386 + ppc is the old "universal binary/lib". The new 10.7+ format is i386 + x86_64 so I'd suggest dropping the old format
now as the vast majority of people are using newer Intel machines.

* Why is there -isysroot?  If I'm using Xcode 4.6 the directory
>specified after that flag in makefile.mac doesn't exist, and I get an error
>that stdlib.h doesn't exist.
>

sysroot should point to the Mac OSX SDK location. For newer Xcodes, there is a commandline util that returns the path to the Xcode
developer root: xcode-select -print-path. With Xcode 4.6, it returns:

/Applications/Xcode.app/Contents/Developer

For example, with the 10.8 SDK you can use this:
$(xcode-select -print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/

Naturally, you can do a search in that SDKs folder and choose the 
last one to build for the latest SDK or simply use a shell variable:

OSX_SDK_VER=10.8
SYSROOT=$(xcode-select -print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$OSX_SDK_VER.sdk/

* Any hint what -isysroot should be to find something as
>common as stdlib.h?
>

Yes, it contains all of the includes and libs for that particular SDK.

* Is "make -f makefile.mac" supposed to compile using cc, gcc, or something else?
>

gcc should be fine for now, you could target llvm-gcc if you want, but gcc isn't disappearing complete in the meantime.
--------
Dan Wilcox
<at> danomatika
danomatika.com
robotcowboy.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20130728/9f1a6df1/attachment-0001.htm>


More information about the Pd-list mailing list