[PD] Compilation - errors, options and questions

Yoann Le BORGNE yoann.le.borgne at free.fr
Wed Aug 16 00:25:05 CEST 2017


Hi!

First of all, congrats for the 0.48 release and thanks to everyone 
involved in Pd development!
I've already successfully compiled previous versions of Pd in the past 
using:

     ./autogen.sh
     ./configure
     make

(by the way I'm building for Linux Mint 18.2 64bits) but this time I set 
some options, namely:

     ./configure --disable-locales --enable-fftw --enable-jack 
--disable-portaudio --disable-oss

Compilation stops with

libtool: link: g++ -g -O2 -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_alsa.o pd-s_audio_alsamm.o pd-s_midi_alsa.o 
pd-s_audio_jack.o pd-d_fft_fftw.o -Wl,--export-dynamic  -lm -lasound 
-ljack -lpthread -ldl -lrt -lfftw3f
pd-s_file.o: In function `glob_loadpreferences':
/home/yoann/Sources/pd-0.48-0/src/s_file.c:624: undefined reference to 
`sys_close_midi'
pd-s_inter.o: In function `glob_quit':
/home/yoann/Sources/pd-0.48-0/src/s_inter.c:1378: undefined reference to 
`sys_close_midi'
pd-s_midi.o: In function `sys_putnext':
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:118: undefined reference to 
`sys_putmidibyte'
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:119: undefined reference to 
`sys_putmidimess'
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:118: undefined reference to 
`sys_putmidibyte'
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:119: undefined reference to 
`sys_putmidimess'
pd-s_midi.o: In function `sys_get_midi_devs':
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:813: undefined reference to 
`midi_getdevs'
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:813: undefined reference to 
`midi_getdevs'
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:813: undefined reference to 
`midi_getdevs'
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:813: undefined reference to 
`midi_getdevs'
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:813: undefined reference to 
`midi_getdevs'
pd-s_midi.o: In function `sys_putnext':
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:118: undefined reference to 
`sys_putmidibyte'
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:119: undefined reference to 
`sys_putmidimess'
pd-s_midi.o: In function `sys_pollmidiqueue':
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:479: undefined reference to 
`sys_poll_midi'
pd-s_midi.o: In function `sys_putnext':
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:118: undefined reference to 
`sys_putmidibyte'
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:119: undefined reference to 
`sys_putmidimess'
pd-s_midi.o: In function `sys_open_midi':
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:582: undefined reference to 
`sys_do_open_midi'
pd-s_midi.o: In function `sys_get_midi_devs':
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:813: undefined reference to 
`midi_getdevs'
pd-s_midi.o: In function `glob_midi_setapi':
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:646: undefined reference to 
`sys_close_midi'
pd-s_midi.o: In function `glob_midi_dialog':
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:796: undefined reference to 
`sys_close_midi'
pd-s_midi.o: In function `sys_get_midi_devs':
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:813: undefined reference to 
`midi_getdevs'
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:813: undefined reference to 
`midi_getdevs'
pd-s_midi.o: In function `outmidi_byte':
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:250: undefined reference to 
`sys_putmidibyte'
pd-s_midi.o: In function `sys_get_midi_devs':
/home/yoann/Sources/pd-0.48-0/src/s_midi.c:813: undefined reference to 
`midi_getdevs'
collect2: error: ld returned 1 exit status

This happens only when I try to disable OSS (that I don't need as I use 
Alsa and Jack). After reading src/makefile.gnu, I could however compile 
with OSS disabled by using:

     make -f makefile.gnu JACK=true PA=false OSS=false

But doing this compiles Pd without working Jack support

API 5 not supported, reverting to 1 (ALSA)

Anyway I simply went with OSS enabled but wanted to give some feedback 
on this behavior.


While browsing makefile.gnu, I saw

# You can add compiler flags using CODECFLAGS, MORECFLAGS and/or 
MORELDFLAGS.
# For example, you can turn off optimizing and enable debugging: 
CODECFLAGS=-g
# or *compile with native double precision: MORECFLAGS=-DPD_FLOATSIZE=64*

Is this flag enabling double precision as explained here -> 
http://www.katjaas.nl/doubleprecision/doubleprecision.html ? If yes, is 
it supported/experimental/deprecated? If no, what is the current state 
on this topic?

In a more general way, what are the best compilation options to get the 
most out of Pd on one side, and my computer on the other side?

Thanks and happy patching!
Yoann
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20170816/1149a076/attachment.html>


More information about the Pd-list mailing list