Package: puredata Version: 0.45.4-2 Usertags: goto-cc Thank you very much for the previous bugfix. Yet during another rebuild of all Debian packages in a clean sid chroot (using cowbuilder and pbuilder) the build failed with a further error. Please note that we use our research compiler tool-chain (using tools from the cbmc package), which permits extended reporting on type inconsistencies at link time.
[...] libtool: link: gcc -DPD -DINSTALL_PREFIX=\"/usr\" -DUSEAPI_ALSA -DUSEAPI_JACK -DJACK_XRUN -DUSEAPI_OSS -DUSEAPI_PORTAUDIO -O3 -funroll-loops -fomit-frame-pointer -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,--as-needed -o pd pd-g_canvas.o pd-g_graph.o pd-g_text.o pd-g_rtext.o pd-g_array.o pd-g_template.o pd-g_io.o pd-g_scalar.o pd-g_traversal.o pd-g_guiconnect.o pd-g_readwrite.o pd-g_editor.o pd-g_all_guis.o pd-g_bang.o pd-g_hdial.o pd-g_hslider.o pd-g_mycanvas.o pd-g_numbox.o pd-g_toggle.o pd-g_vdial.o pd-g_vslider.o pd-g_vumeter.o pd-m_pd.o pd-m_class.o pd-m_obj.o pd-m_atom.o pd-m_memory.o pd-m_binbuf.o pd-m_conf.o pd-m_glob.o pd-m_sched.o pd-s_main.o pd-s_inter.o pd-s_file.o pd-s_print.o pd-s_loader.o pd-s_path.o pd-s_entry.o pd-s_audio.o pd-s_midi.o pd-s_utf8.o pd-d_ugen.o pd-d_ctl.o pd-d_arithmetic.o pd-d_osc.o pd-d_filter.o pd-d_dac.o pd-d_misc.o pd-d_math.o pd-d_fft.o pd-d_array.o pd-d_global.o pd-d_delay.o pd-d_resample.o pd-d_soundfile.o pd-x_arithmetic.o pd-x_connective.o pd-x_interface.o pd-x_midi.o pd-x_misc.o pd-x_time.o pd-x_acoustics.o pd-x_net.o pd-x_text.o pd-x_gui.o pd-x_list.o pd-x_array.o pd-x_scalar.o pd-s_audio_alsa.o pd-s_audio_alsamm.o pd-s_midi_alsa.o pd-d_fft_mayer.o pd-d_fftroutine.o pd-s_audio_jack.o pd-s_audio_oss.o pd-s_midi_oss.o pd-s_audio_pa.o pd-s_audio_paring.o -Wl,--export-dynamic -lm -lasound -ljack -lportaudio -lpthread -ldl -lrt error: conflicting function declarations "canvas_properties" old definition in module g_canvas file g_canvas.c line 1532 void (struct _gobj *) new definition in module g_editor file g_editor.c line 1045 void (struct _glist *x) reason for conflict in types listed below (struct/struct): composite type component counts differ (2/47) struct _gobj { struct _class * g_pd; struct _gobj * g_next; } struct _glist { struct _text gl_obj; struct _gobj * gl_list; struct _gstub * gl_stub; signed int gl_valid; unsigned int $pad0; struct _glist * gl_owner; signed int gl_pixwidth; signed int gl_pixheight; float gl_x1; float gl_y1; float gl_x2; float gl_y2; signed int gl_screenx1; signed int gl_screeny1; signed int gl_screenx2; signed int gl_screeny2; signed int gl_xmargin; signed int gl_ymargin; struct _tick gl_xtick; signed int gl_nxlabels; struct _symbol ** gl_xlabel; float gl_xlabely; struct _tick gl_ytick; signed int gl_nylabels; unsigned int $pad1; struct _symbol ** gl_ylabel; float gl_ylabelx; unsigned int $pad2; struct _editor * gl_editor; struct _symbol * gl_name; signed int gl_font; unsigned int $pad3; struct _glist * gl_next; struct _canvasenvironment * gl_env; unsigned int gl_havewindow; unsigned int gl_mapped; unsigned int gl_dirty; unsigned int gl_loading; unsigned int gl_willvis; unsigned int gl_edit; unsigned int gl_isdeleting; unsigned int gl_goprect; unsigned int gl_isgraph; unsigned int gl_hidetext; unsigned int gl_private; unsigned __CPROVER_bitvector[5] $bit_field_pad0; unsigned __CPROVER_bitvector[48] $pad4; } Makefile:671: recipe for target 'pd' failed make[3]: *** [pd] Error 64 make[3]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-puredata/puredata-0.45.4/src' Makefile:903: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 So canvas_properties is defined here: http://sources.debian.net/src/puredata/0.45.4-2/src/g_editor.c?hl=1045#L1045 and as described above the declaration here http://sources.debian.net/src/puredata/0.45.4-2/src/g_canvas.c?hl=1532#L1532 conflicts. What is possibly more worrying, however, is the use here: http://sources.debian.net/src/puredata/0.45.4-2/src/g_canvas.c?hl=1607#L1607 as a t_propertiesfn really takes two arguments, one being a t_gobj and the other being a struct _glist (so combine the conflicting declaration to get that!?): http://sources.debian.net/src/puredata/0.45.4-2/src/m_pd.h?hl=479#L479 Consequently I'm not sure whether fixing the declaration only will do the trick here. Best, Michael
pgpA3_Lx8fRkJ.pgp
Description: PGP signature