[PD] pd on Ubuntu 64bit?

Hans-Christoph Steiner hans at eds.org
Thu Feb 26 20:23:17 CET 2009


On Feb 26, 2009, at 3:49 AM, IOhannes m zmoelnig wrote:

> John Harrison wrote:
>>
>>
>> danomatika wrote:
>>>
>>> I made a 64bit build of pd-extended using the pd core (0.41 I  
>>> believe)
>>> from the pd-extended svn and it has this table bug.  It seems to  
>>> only
>>> access half of the table, at least in the C08 and C09 audio example
>>> patches.  They work fine in my build using pd-vanilla 0.42.4.
>> Wow I am surprised to hear that. I remember seeing this table bug in
>> 0.40 but thought it disappeared on my 64 bit ubuntu Hardy build of  
>> 0.41.
>>
>
>
> it's definitely fixed in 0.41
>
> there are 2 possibilites, i see:
> - dan has (despite his claims) not built a 0.41 version but a prior  
> one
> - the bug he is experiencing comes from some externals using
> garray_getfloatarray() rather than garray_getfloatwords()
>
> in the latter case, there ought to be some printout in the Pd-console
> about the illegal use of garray_getfloatarray() on 64bit.


I just ran a check of the code in SVN, turns out there are many using  
garray_getfloatarray().  What's the conversion path for that?  That  
would be good to fix, so we can have fully working 64-bit builds of  
all this:

hans at palatschinken.at.or.at:trunk > find . -type f -print0 | xargs -0  
grep garray_getfloatarray | grep -v desiredata | grep -v svn
./extensions/xgui/xgui-lib/m_pd.h:EXTERN int  
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/algocomp/m_pd.h:EXTERN int garray_getfloatarray(t_garray  
*x, int *size, t_float **vec);
./externals/bsaylor/partconv~.c:	} else if ( !  
garray_getfloatarray(arrayobj, &arraysize, &array)) {
./externals/bsaylor/pvoc~.c:	} else if ( ! garray_getfloatarray(x- 
 >arrayobj, &x->arraysize, &x->array)) {
./externals/build/include/m_pd.h:EXTERN int  
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/creb/modules/statwav~.c:    else if (! 
garray_getfloatarray(a, &x->x_npoints, &x->x_vec))
./externals/creb/modules/tabreadmix~.c:    else if (! 
garray_getfloatarray(a, &x->x_npoints, &x->x_vec))
./externals/cxc/mean~.c:    else if (!garray_getfloatarray(a, &x- 
 >x_nsampsintab, &x->x_vec))
./externals/cxc/mean~.c:  garray_getfloatarray(a,&x->x_nsampsintab,&x- 
 >x_vec);
./externals/cxc/mean~.c:    else if (!garray_getfloatarray(a, &x- 
 >x_nsampsintab, &x->x_vec))
./externals/cxc/mean~.c:  garray_getfloatarray(a,&x->x_nsampsintab,&x- 
 >x_vec);
./externals/cxc/mean~.c:    else if (!garray_getfloatarray(a, &x- 
 >x_nsampsintab, &x->x_vec))
./externals/cxc/mean~.c:  garray_getfloatarray(a,&x->x_nsampsintab,&x- 
 >x_vec);
./externals/cxc/mean~.c:    else if (!garray_getfloatarray(a, &x- 
 >x_nsampsintab, &x->x_vec))
./externals/cxc/mean~.c:  garray_getfloatarray(a,&x->x_nsampsintab,&x- 
 >x_vec);
./externals/dfx/transverb/prep.i:extern  int  
garray_getfloatarray(struct _garray  *x, int *size, t_float **vec);
./externals/ekext/framescore~/m_pd.h:EXTERN int  
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/ekext/framespect~/m_pd.h:EXTERN int  
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/ekext/hssc~/m_pd.h:EXTERN int  
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/ekext/listmoses/m_pd.h:EXTERN int  
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/ekext/simile/m_pd.h:EXTERN int  
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/ekext/simile~/m_pd.h:EXTERN int  
garray_getfloatarray(t_garray *x, int *size, t_float **vec);
./externals/frankenstein/chord_melo.c:    else if (! 
garray_getfloatarray(arysrc_note, &vecsize, &(x->vecsrc_note)))
./externals/frankenstein/chord_melo.c:    else if (! 
garray_getfloatarray(arysrc_octave, &vecsize, &(x->vecsrc_octave)))
./externals/frankenstein/chord_melo.c:    else if (! 
garray_getfloatarray(arysrc_passing, &vecsize, &(x->vecsrc_passing)))
./externals/frankenstein/chord_melo.c:    else if (! 
garray_getfloatarray(arysrc_played, &vecsize, &(x->vecsrc_played)))
./externals/frankenstein/chord_melo.c:    else if (! 
garray_getfloatarray(arydest_note, &vecsize, &(x->vecdest_note)))
./externals/frankenstein/chord_melo.c:    else if (! 
garray_getfloatarray(arydest_octave, &vecsize, &(x->vecdest_octave)))
./externals/frankenstein/chord_melo.c:    else if (! 
garray_getfloatarray(arydest_passing, &vecsize, &(x->vecdest_passing)))
./externals/frankenstein/chord_melo.c:    else if (! 
garray_getfloatarray(arydest_played, &vecsize, &(x->vecdest_played)))
./externals/frankenstein/GArhythm.c:    else if (! 
garray_getfloatarray(arysrc_strum1, &vecsize, &vecsrc_strum1))
./externals/frankenstein/GArhythm.c:    else if (! 
garray_getfloatarray(arysrc_strum2, &vecsize, &vecsrc_strum2))
./externals/frankenstein/GArhythm.c:    else if (! 
garray_getfloatarray(arysrc_strum3, &vecsize, &vecsrc_strum3))
./externals/frankenstein/GArhythm.c:    else if (! 
garray_getfloatarray(arysrc_strum4, &vecsize, &vecsrc_strum4))
./externals/frankenstein/GArhythm.c:    else if (! 
garray_getfloatarray(arysrc_strum1, &vecsize, &vecsrc_strum1))
./externals/frankenstein/GArhythm.c:    else if (! 
garray_getfloatarray(arysrc_strum2, &vecsize, &vecsrc_strum2))
./externals/frankenstein/GArhythm.c:    else if (! 
garray_getfloatarray(arysrc_strum3, &vecsize, &vecsrc_strum3))
./externals/frankenstein/GArhythm.c:    else if (! 
garray_getfloatarray(arysrc_strum4, &vecsize, &vecsrc_strum4))
./externals/frankenstein/GArhythm.c:    else if (! 
garray_getfloatarray(arydest_strum1, &vecsize, &vecdest_strum1))
./externals/frankenstein/GArhythm.c:    else if (! 
garray_getfloatarray(arydest_strum2, &vecsize, &vecdest_strum2))
./externals/frankenstein/GArhythm.c:    else if (! 
garray_getfloatarray(arydest_strum3, &vecsize, &vecdest_strum3))
./externals/frankenstein/GArhythm.c:    else if (! 
garray_getfloatarray(arydest_strum4, &vecsize, &vecdest_strum4))
./externals/frankenstein/ritmo1.c:    else if (! 
garray_getfloatarray(arysrc, &vecsize, &vecsrc))
./externals/frankenstein/ritmo1.c:    else if (! 
garray_getfloatarray(arydest, &vecsize, &vecdest))
./externals/ggee/experimental/fofsynth~.c:     else if (! 
garray_getfloatarray(a,points,vec))
./externals/ggee/experimental/tabwrite4~.c:    else if (! 
garray_getfloatarray(a, &x->x_npoints, &x->x_vec))
./externals/grill/flext/source/flbuf.cpp:        else if(! 
garray_getfloatarray(arr, &frames1, &data1))
./externals/grill/flext/source/flbuf.cpp:    if(! 
garray_getfloatarray(arr, &frames1, &data1)) {
./externals/hcs/TAGS:int garray_getfloatarray(1153,38595
./externals/hcs/usbhid/TAGS:int garray_getfloatarray(1153,38595
./externals/iem/iem_adaptfilt/src/n_CLNLMS~.c:  else if(! 
garray_getfloatarray(a, &n_points, &vec))
./externals/iem/iem_adaptfilt/src/n_CNLMS~.c:  else if(! 
garray_getfloatarray(a, &n_points, &vec))
./externals/iem/iem_adaptfilt/src/NLMSCC~.c:    else if(! 
garray_getfloatarray(a, &n_points, &vec))
./externals/iem/iem_adaptfilt/src/NLMS~.c:    else if(! 
garray_getfloatarray(a, &n_points, &vec))
./externals/iem/iem_bin_ambi/src/iemlib.h:/* on 64bit systems we  
cannot use garray_getfloatarray... */
./externals/iem/iem_bin_ambi/src/iemlib.h:# define iemarray_getarray  
garray_getfloatarray
./externals/iem/iem_spec2/src/iemlib.h:/* on 64bit systems we cannot  
use garray_getfloatarray... */
./externals/iem/iem_spec2/src/iemlib.h:# define iemarray_getarray  
garray_getfloatarray
./externals/iem/iem_tab/src/iemlib.h:/* on 64bit systems we cannot use  
garray_getfloatarray... */
./externals/iem/iem_tab/src/iemlib.h:# define iemarray_getarray  
garray_getfloatarray
./externals/iem16/src/table16.c:  if (!garray_getfloatarray(a,  
&npoints, &vec)){
./externals/iemlib/iemlib1/src/FIR~.c:  else if(! 
garray_getfloatarray(ga, &table_size, &x->x_coef_beg))
./externals/io/hidio/TAGS:int garray_getfloatarray(1153,38595
./externals/loaders/pdj/src/MSPBuffer.c:  	if ( !  
garray_getfloatarray(array, &size, &vec) )
./externals/loaders/pdj/src/MSPBuffer.c:  	if ( !  
garray_getfloatarray(array, &size, &vec) )
./externals/loaders/pdj/src/MSPBuffer.c:  	if ( !  
garray_getfloatarray(array, &size, &vec) )
./externals/loaders/pdj/src/MSPBuffer.c:  	if ( !  
garray_getfloatarray(array, &size, &vec) )
./externals/maxlib/src/arbran.c:	if (!garray_getfloatarray(bx, &ix,  
&tx))
./externals/maxlib/src/arbran.c:	if (!garray_getfloatarray(bp, &ip,  
&tp))
./externals/maxlib/src/arbran.c:	if (!garray_getfloatarray(bx, &ix,  
&tx))
./externals/maxlib/src/arbran.c:	if (!garray_getfloatarray(bp, &ip,  
&tp))
./externals/maxlib/src/arraycopy.c:	if (!garray_getfloatarray(b,  
&items, &tab))
./externals/maxlib/src/arraycopy.c:	else if (!garray_getfloatarray(A,  
&npoints, &vec))
./externals/maxlib/src/score.c:	if (!garray_getfloatarray(b, &items,  
&tab))
./externals/maxlib/src/subst.c:	else if (!garray_getfloatarray(A,  
&npoints, &vec))
./externals/maxlib/src/subst.c:	if (!garray_getfloatarray(b, &items,  
&tab))
./externals/miXed/shared/common/vefl.c:	    if  
(garray_getfloatarray(ap, &vsz, &vec))
./externals/miXed/shared/common/vefl.c:	&& !garray_getfloatarray(vp- 
 >v_garray, &vp->v_size, &vp->v_data))
./externals/miXed/shared/common/vefl.c:	else if (! 
garray_getfloatarray(vp->v_garray, &vp->v_size, &vp->v_data))
./externals/moocow/flite/flite.c:  if (!garray_getfloatarray(a,  
&vecsize, &vec))
./externals/moocow/pdstring/src/array2rawbytes.c:  if (! 
garray_getfloatarray(a, &fvecsize, &fvec))
./externals/moocow/pdstring/src/pdstringUtils.c:  if (! 
garray_getfloatarray(fa->fa_garray, &fa->fa_vlen, &fa->fa_vec)) {
./externals/moocow/pdstring/src/pdstringUtils.c:    pd_error(x,  
"pdstring_floatarray_getvec(): garray_getfloatarray() failed for array  
'%s'", fa->fa_name->s_name);
./externals/moocow/pdstring/src/rawbytes2array.c:  if (! 
garray_getfloatarray(a, &fvecsize, &fvec))
./externals/moonlib/readsfv~.c:    	else if (! 
garray_getfloatarray(garrays[i], &vecsize, &vecs[i]))
./externals/moonlib/readsfv~.c:	    garray_getfloatarray(garrays[i],  
&vecsize, &vecs[i]);
./externals/moonlib/readsfv~.c:	garray_getfloatarray(garrays[i],  
&vecsize, &vecs[i]);
./externals/moonlib/readsfv~.c:	garray_getfloatarray(garrays[i],  
&vecsize, &foo);
./externals/moonlib/readsfv~.c:    	else if (! 
garray_getfloatarray(garrays[i], &vecsize, &vecs[i]))
./externals/moonlib/tabdump2.c:  else if (!garray_getfloatarray(A,  
&npoints, &vec))
./externals/moonlib/tabdump2.c:  else if (!garray_getfloatarray(A,  
&npoints, &vec))
./externals/moonlib/tabenv.c:    else if (!garray_getfloatarray(a, &x- 
 >x_nsampsintab, &x->x_vec))
./externals/moonlib/tabreadl.c:    else if (!garray_getfloatarray(a,  
&npoints, &vec))
./externals/moonlib/tabsort.c:    else if (!garray_getfloatarray(a,  
&n1, &vec1))
./externals/moonlib/tabsort.c:    else if (!garray_getfloatarray(a,  
&n2, &vec2))
./externals/moonlib/tabsort2.c:    else if (!garray_getfloatarray(a,  
&n1, &vec1))
./externals/moonlib/tabsort2.c:    else if (!garray_getfloatarray(a,  
&n2, &vec2))
./externals/moonlib/tabsort2.c:    else if (!garray_getfloatarray(a,  
&n3, &vec3))
./externals/mrpeach/flist2tab/flist2tab.c:/* garray_getfloatarray uses  
t_float but is not 64-bit */
./externals/mrpeach/flist2tab/flist2tab.c:    else if (! 
garray_getfloatarray(a, &npoints, &vec))
./externals/mrpeach/flist2tab/flist2tab.c:            if (! 
garray_getfloatarray(a, &npoints, &vec))
./externals/mrpeach/flist2tab/flist2tab.c:    else if (! 
garray_getfloatarray(a, &npoints, &vec))
./externals/mrpeach/flist2tab/flist2tab.c:            if (! 
garray_getfloatarray(a, &npoints, &vec))
./externals/mrpeach/tab2flist/tab2flist.c:/* garray_getfloatarray uses  
t_float but is not 64-bit */
./externals/mrpeach/tab2flist/tab2flist.c:    else if (! 
garray_getfloatarray(a, &tabpoints, &vec))
./externals/mrpeach/tabfind/tabfind.c:/* garray_getfloatarray uses  
t_float but is not 64-bit */
./externals/mrpeach/tabfind/tabfind.c:    else if (! 
garray_getfloatarray(a, &npoints, &vec))
./externals/mrpeach/tabfind/tabfind.c:    else if (! 
garray_getfloatarray(a, &npoints, &vec))
./externals/oscbank~/oscbank~.c:    else if (!garray_getfloatarray(a,  
&x->wavetablesize, &x->wavetable))
./externals/pdp/modules/image_basic/pdp_cheby.c:    else if (! 
garray_getfloatarray(a, &x->x_nbpoints, &x->x_vec)){
./externals/pdp/modules/image_io/pdp_qt.c:    garray_getfloatarray(g,  
&vecsize, &f);
./externals/pdp/modules/image_special/pdp_array.c:    if (! 
garray_getfloatarray(a, &x->x_nbpoints, &x->x_vec)){
./externals/pdp/modules/image_special/pdp_histo.c:    else if (! 
garray_getfloatarray(a, &nbpoints, &vec)){
./externals/pdp/modules/matrix_basic/clusterstuff.c:    else if (! 
garray_getfloatarray(a, &nbpoints, &vec)){
./externals/rhythm_estimator/pd_rhythm_ioi_histogram.c:    else if (! 
garray_getfloatarray (a, &x->array_nsampsintab, &x->array_vec))
./externals/rhythm_estimator/pd_rhythm_ioi_histogram.c:    else if (! 
garray_getfloatarray (a, &x->array_nsampsintab, &x->array_vec))
./externals/rhythm_estimator/pd_rhythm_quantum.c:    else if (! 
garray_getfloatarray (a, &x->array_nsampsintab, &x->array_vec))
./externals/rhythm_estimator/pd_rhythm_quantum.c:    else if (! 
garray_getfloatarray (a, &x->array_nsampsintab, &x->array_vec))
./externals/signal/expr~/vexp_if.c:	    !garray_getfloatarray(garray,  
&size, &vec))
./externals/signal/expr~/vexp_if.c:		!garray_getfloatarray(garray,  
&size, &vec))  {		\
./externals/signal/pique/pique.c:    	!garray_getfloatarray(a, &n,  
&fpreal) ||
./externals/signal/pique/pique.c:    	!garray_getfloatarray(a, &n,  
&fpimag) ||
./externals/tb/sndfiler/src/sndfiler.c:         
if(garray_getfloatarray(array, &size, &dummy))
./externals/tclpd/tcl_wrap.cxx:_wrap_garray_getfloatarray(ClientData  
clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST  
objv[]) {
./externals/tclpd/tcl_wrap.cxx:  if (SWIG_GetArgs(interp, objc,  
objv,"ooo:garray_getfloatarray x size vec ",(void *)0,(void *)0,(void  
*)0) == TCL_ERROR) SWIG_fail;
./externals/tclpd/tcl_wrap.cxx:     
SWIG_exception_fail(SWIG_ArgError(res1), "in method '"  
"garray_getfloatarray" "', argument " "1"" of type '" "_garray *""'");
./externals/tclpd/tcl_wrap.cxx:     
SWIG_exception_fail(SWIG_ArgError(res2), "in method '"  
"garray_getfloatarray" "', argument " "2"" of type '" "int *""'");
./externals/tclpd/tcl_wrap.cxx:     
SWIG_exception_fail(SWIG_ArgError(res3), "in method '"  
"garray_getfloatarray" "', argument " "3"" of type '" "t_float **""'");
./externals/tclpd/tcl_wrap.cxx:  result =  
(int)garray_getfloatarray(arg1,arg2,arg3);
./externals/tclpd/tcl_wrap.cxx:    { SWIG_prefix  
"garray_getfloatarray", (swig_wrapper_func)  
_wrap_garray_getfloatarray, NULL},
./externals/zexy/src/zexy.h:# define zarray_getarray  
garray_getfloatarray
./Gem/src/Manips/linear_path.cpp:    if (! 
garray_getfloatarray(m_array, &size, &vec))
./Gem/src/Manips/spline_path.cpp:    if (! 
garray_getfloatarray(m_array, &size, &vec))
./Gem/src/Pixes/pix_curve.cpp:    else if (!garray_getfloatarray(a,  
length, &fp))
./Gem/src/Pixes/pix_histo.cpp:    else if (!garray_getfloatarray(a,  
length, &fp))
./Gem/src/Vertex/vertex_tabread.cpp:  } else if (! 
garray_getfloatarray(a, length, &fp))   {




----------------------------------------------------------------------------

Mistrust authority - promote decentralization.  - the hacker ethic






More information about the Pd-list mailing list