[PD-dev] trying to compile Pd on OS X (10.11)

cjniven cjniven at gmail.com
Sat May 6 17:55:10 CEST 2017


Thanks for this fix, its working now, however I’m stuck again at the same stage that Roman was before (linking Jackmp):

/bin/sh ../libtool  --tag=CXX   --mode=link g++  -g -O2 -weak_framework Jackmp    -L/opt/local/lib -L/usr/local/lib  -o pd pd-d_arithmetic.o pd-d_array.o pd-d_ctl.o pd-d_dac.o pd-d_delay.o pd-d_fft.o pd-d_filter.o pd-d_global.o pd-d_math.o pd-d_misc.o pd-d_osc.o pd-d_resample.o pd-d_soundfile.o pd-d_ugen.o pd-g_all_guis.o pd-g_array.o pd-g_bang.o pd-g_canvas.o pd-g_clone.o pd-g_editor.o pd-g_graph.o pd-g_guiconnect.o pd-g_hdial.o pd-g_hslider.o pd-g_io.o pd-g_mycanvas.o pd-g_numbox.o pd-g_readwrite.o pd-g_rtext.o pd-g_scalar.o pd-g_template.o pd-g_text.o pd-g_toggle.o pd-g_traversal.o pd-g_vdial.o pd-g_vslider.o pd-g_vumeter.o pd-m_atom.o pd-m_binbuf.o pd-m_class.o pd-m_conf.o pd-m_glob.o pd-m_memory.o pd-m_obj.o pd-m_pd.o pd-m_sched.o pd-s_audio.o pd-s_entry.o pd-s_file.o pd-s_inter.o pd-s_loader.o pd-s_main.o pd-s_midi.o pd-s_path.o pd-s_print.o pd-s_utf8.o pd-x_acoustics.o pd-x_arithmetic.o pd-x_array.o pd-x_connective.o pd-x_gui.o pd-x_interface.o pd-x_list.o pd-x_midi.o pd-x_misc.o pd-x_net.o pd-x_scalar.o pd-x_text.o pd-x_time.o pd-x_vexp.o pd-x_vexp_fun.o pd-x_vexp_if.o  pd-s_audio_jack.o   pd-s_audio_pa.o pd-s_audio_paring.o pd-s_midi_pm.o    pd-d_fft_fftsg.o   ../portaudio/libportaudio.la   ../portmidi/libportmidi.la  -lpthread -ldl  -framework CoreAudio -framework CoreMIDI -framework AudioUnit -framework AudioToolbox -framework Carbon -framework CoreFoundation -framework Carbon -ldl -lm -lpthread
libtool: link: g++ -g -O2 -weak_framework Jackmp -o pd pd-d_arithmetic.o pd-d_array.o pd-d_ctl.o pd-d_dac.o pd-d_delay.o pd-d_fft.o pd-d_filter.o pd-d_global.o pd-d_math.o pd-d_misc.o pd-d_osc.o pd-d_resample.o pd-d_soundfile.o pd-d_ugen.o pd-g_all_guis.o pd-g_array.o pd-g_bang.o pd-g_canvas.o pd-g_clone.o pd-g_editor.o pd-g_graph.o pd-g_guiconnect.o pd-g_hdial.o pd-g_hslider.o pd-g_io.o pd-g_mycanvas.o pd-g_numbox.o pd-g_readwrite.o pd-g_rtext.o pd-g_scalar.o pd-g_template.o pd-g_text.o pd-g_toggle.o pd-g_traversal.o pd-g_vdial.o pd-g_vslider.o pd-g_vumeter.o pd-m_atom.o pd-m_binbuf.o pd-m_class.o pd-m_conf.o pd-m_glob.o pd-m_memory.o pd-m_obj.o pd-m_pd.o pd-m_sched.o pd-s_audio.o pd-s_entry.o pd-s_file.o pd-s_inter.o pd-s_loader.o pd-s_main.o pd-s_midi.o pd-s_path.o pd-s_print.o pd-s_utf8.o pd-x_acoustics.o pd-x_arithmetic.o pd-x_array.o pd-x_connective.o pd-x_gui.o pd-x_interface.o pd-x_list.o pd-x_midi.o pd-x_misc.o pd-x_net.o pd-x_scalar.o pd-x_text.o pd-x_time.o pd-x_vexp.o pd-x_vexp_fun.o pd-x_vexp_if.o pd-s_audio_jack.o pd-s_audio_pa.o pd-s_audio_paring.o pd-s_midi_pm.o pd-d_fft_fftsg.o -Wl,-bind_at_load  -L/opt/local/lib -L/usr/local/lib ../portaudio/.libs/libportaudio.a ../portmidi/.libs/libportmidi.a -framework CoreAudio -framework CoreMIDI -framework AudioUnit -framework AudioToolbox -framework Carbon -framework CoreFoundation -ldl -lm -lpthread
ld: framework not found Jackmp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [pd] Error 1


I have Jackmp.framework installed in /Library/Frameworks, and building jack2 worked fine, but somehow it’s still not being found. 
Do I need to add a link to Jackmp.framework in /usr/local/lib (where libjack is sitting currently)? 

Thanks,
-c


> On May 5, 2017, at 10:32 PM, Miller Puckette <msp at ucsd.edu> wrote:
> 
> Here's teh fix...  in m_pd.h, it should be:
> 
> #if defined(PDTHREADS) && defined(PDINSTANCE)
> #define PERTHREAD __thread
> #else
> #define PERTHREAD
> #endif
> 
> cheers
> M
> 
> On Fri, May 05, 2017 at 07:23:57PM -0400, cjniven wrote:
>> Alright, I still don’t see it on my end but I’ll wait for this one.
>> 
>> Thanks,
>> 
>> -c
>> 
>>> On May 5, 2017, at 5:47 PM, Miller Puckette <msp at ucsd.edu> wrote:
>>> 
>>> Yeah, I just now uploaded it.... e0aff65977890fc44b69136ec78859bb694ce476
>>> cheers
>>> M
>>> 
>>> On Fri, May 05, 2017 at 05:45:37PM -0400, cjniven wrote:
>>>> Hi Miller,
>>>> 
>>>> Unfortunately, I checked this version out an hour or so ago and still got this error. 
>>>> 
>>>> -c
>>>> 
>>>> 
>>>>> On May 5, 2017, at 5:42 PM, Miller Puckette <msp at ucsd.edu> wrote:
>>>>> 
>>>>> Sorry - this should now be fixed in the git repo.
>>>>> 
>>>>> Miller
>>>>> 
>>>>> On Fri, May 05, 2017 at 05:21:45PM -0400, cjniven wrote:
>>>>>> I was able to build jack2 properly and pd was able to find it, but I received another error when running make (with or without the ‘-j’ flag)
>>>>>> 
>>>>>> Making all in src
>>>>>> gcc -DPACKAGE_NAME=\"pd\" -DPACKAGE_TARNAME=\"pd\" -DPACKAGE_VERSION=\"0.47.1\" -DPACKAGE_STRING=\"pd\ 0.47.1\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"pd\" -DVERSION=\"0.47.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_NETDB_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_STDDEF_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMEB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_FORK=1 -DHAVE_VFORK=1 -DHAVE_WORKING_VFORK=1 -DHAVE_WORKING_FORK=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_STDLIB_H=1 -DHAVE_REALLOC=1 -DRETSIGTYPE=void -DHAVE_DUP2=1 -DHAVE_FLOOR=1 -DHAVE_GETCWD=1 -DHAVE_GETHOSTBYNAME=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_MEMMOVE=1 -DHAVE_MEMSET=1 -DHAVE_POW=1 -DHAVE_REGCOMP=1 -DHAVE_SELECT=1 -DHAVE_SOCKET=1 -DHAVE_SQRT=1 -DHAVE_STRCHR=1 -DHAVE_STRERROR=1 -DHAVE_STRRCHR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_LIBDL=1 -I.  -I/opt/local/include  -I../portaudio/portaudio/include -I../portmidi/portmidi/pm_common -I../portmidi/portmidi/porttime  -DPD -DINSTALL_PREFIX=\"/usr/local\" -DPD_INTERNAL  -DUSEAPI_JACK -DJACK_XRUN   -DUSEAPI_PORTAUDIO  -DMACOSX  -mmacosx-version-min=10.6 -g -O2 -ffast-math -funroll-loops -fomit-frame-pointer -MT pd-d_ugen.o -MD -MP -MF .deps/pd-d_ugen.Tpo -c -o pd-d_ugen.o `test -f 'd_ugen.c' || echo './'`d_ugen.c
>>>>>> d_ugen.c:580:8: error: thread-local storage is not supported for the current target
>>>>>> static PERTHREAD t_dspcontext *ugen_currentcontext;
>>>>>>     ^
>>>>>> ./m_pd.h:839:19: note: expanded from macro 'PERTHREAD'
>>>>>> #define PERTHREAD __thread
>>>>>>                ^
>>>>>> 1 error generated.
>>>>>> 
>>>>>> 
>>>>>> Can anyone tell me what’s going on here?
>>>>>> 
>>>>>> Thanks,
>>>>>> 
>>>>>> -c
>>>>>> 
>>>>>>> On May 5, 2017, at 4:15 PM, Roman Haefeli <reduzent at gmail.com> wrote:
>>>>>>> 
>>>>>>> On Fre, 2017-05-05 at 09:35 -0400, cjniven wrote:
>>>>>>>> What version of jack did you end up installing? I’m having the same
>>>>>>>> problem myself on OS X 10.12.
>>>>>>> 
>>>>>>> 
>>>>>>> Pd works fine with jack now after I installed the JackOSX package from
>>>>>>> IOhannes' second link. The package apparently installs (along a lot of
>>>>>>> other stuff) something called Jackmp.framework, which is what Pd is
>>>>>>> looking for. Also, it installs a jackd binary to /usr/local/bin.
>>>>>>> Interestingly, once the framework is installed, I can replace the jackd
>>>>>>> binary by the one provided by homebrew or by a self-compiled one from
>>>>>>> the jack2 [1] repository and Pd (and other software) seem still to work
>>>>>>> fine. 
>>>>>>> 
>>>>>>> Since it doesn't seem to be a technical necessity, I believe it would
>>>>>>> be good if Pd would also connect to a jackd that comes without
>>>>>>> Jackmp.framework, as Dan suggested.
>>>>>>> 
>>>>>>> Roman
>>>>>>> 
>>>>>>> [1] https://github.com/jackaudio/jack2
>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Pd-dev mailing list
>>>>>> Pd-dev at lists.iem.at
>>>>>> https://lists.puredata.info/listinfo/pd-dev
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Pd-dev mailing list
>>>> Pd-dev at lists.iem.at
>>>> https://lists.puredata.info/listinfo/pd-dev
>> 




More information about the Pd-dev mailing list