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