On 30.01.2010, at 10:50, Petter Reinholdtsen wrote: > > > tags 567366 + patch > thanks > > I believe the enclosed patch solve the problem, by making sure all > source files include the changesForSqueak.h file which define > memoryAllocate(). The patch also make sure changesForSqueak.c include > <stdlib.h> to make sure the prototype for free() is available when > free() is used. > > After looking at the source, I must admit the code quality is not very > good. Function protypes are unknown when the functions are used (a > problem for argument parsing and return type handling), several > functions fail to always provide return values and a lot of unused > variables are sprinkled around the source. The gcc warnings are > instructive, and I suspect all the warnings reported by gcc during > build should be looked and fixed. I do not try to do so with this > patch, as it is better to fix it upstream. > > diff -ur > squeak-vm-3.11.3+svn2147/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c > > squeak-vm-3.11.3+svn2147-pere/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c > --- > squeak-vm-3.11.3+svn2147/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c > 2009-12-29 09:34:53.000000000 +0100 > +++ > squeak-vm-3.11.3+svn2147-pere/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c > 2010-01-30 19:12:49.000000000 +0100 > @@ -47,6 +47,8 @@ > #include <windows.h> > #endif > > +#include <stdlib.h> /* for free() */ > + > mpeg3_demuxer_t* mpeg3_new_demuxer(mpeg3_t *file, int do_audio, int do_video, > int stream_id); > mpeg3_title_t* mpeg3_new_title(mpeg3_t *file, char *path); > mpeg3demux_timecode_t* mpeg3_append_timecode(mpeg3_demuxer_t *demuxer, > diff -ur > squeak-vm-3.11.3+svn2147/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.h > > squeak-vm-3.11.3+svn2147-pere/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.h > --- > squeak-vm-3.11.3+svn2147/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.h > 2009-12-29 09:34:53.000000000 +0100 > +++ > squeak-vm-3.11.3+svn2147-pere/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.h > 2010-01-30 19:26:48.000000000 +0100 > @@ -1,4 +1,9 @@ > +#ifndef CHANGESFORSQUEAK_H > +#define CHANGESFORSQUEAK_H > + > #include "mpeg3private.h" > int mpeg3_generate_toc_for_Squeak(mpeg3_t *file, int timecode_search, int > print_streams, char *buffer, int buffer_size); > void * memoryAllocate(int number,unsigned size); > void memoryFree(void *stuff); > + > +#endif /* CHANGESFORSQUEAK_H */ > diff -ur > squeak-vm-3.11.3+svn2147/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3protos.h > > squeak-vm-3.11.3+svn2147-pere/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3protos.h > --- > squeak-vm-3.11.3+svn2147/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3protos.h > 2009-12-29 09:34:53.000000000 +0100 > +++ > squeak-vm-3.11.3+svn2147-pere/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3protos.h > 2010-01-30 19:25:58.000000000 +0100 > @@ -1,6 +1,8 @@ > #ifndef MPEG3PROTOS_H > #define MPEG3PROTOS_H > > +#include "changesForSqueak.h" > + > /* CSS */ > > mpeg3_css_t* mpeg3_new_css(); > diff -ur > squeak-vm-3.11.3+svn2147/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3videoprotos.h > > squeak-vm-3.11.3+svn2147-pere/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3videoprotos.h > --- > squeak-vm-3.11.3+svn2147/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3videoprotos.h > 2009-12-29 09:34:53.000000000 +0100 > +++ > squeak-vm-3.11.3+svn2147-pere/platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3videoprotos.h > 2010-01-30 19:41:42.000000000 +0100 > @@ -1,6 +1,8 @@ > #ifndef MPEG3VIDEOPROTOS_H > #define MPEG3VIDEOPROTOS_H > > +#include "changesForSqueak.h" > + > void mpeg3video_idct_conversion(short* block); > unsigned int mpeg3slice_showbits(mpeg3_slice_buffer_t *slice_buffer, int > bits); > > > Happy hacking, > -- > Petter Reinholdtsen
This might make it compile but upstream says it won't work. Better to disable that plugin altogether on 64 bit platforms: http://lists.squeak.org/pipermail/vm-dev/2010-January/003806.html - Bert - -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org