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


Attachment: pgpA3_Lx8fRkJ.pgp
Description: PGP signature

Reply via email to