[PD-dev] iem_tab on amd64 WAS: Building extended on amd64

martin.peach at sympatico.ca martin.peach at sympatico.ca
Mon Oct 5 21:57:35 CEST 2009


hans wrote:
On Oct 4, 2009, at 9:19 PM, András Murányi wrote:...
         Cool. We're here now:

 cc -DPD -I/home/muranyia/Download/0.41/pd/src -Wall -W -ggdb -I/home/muranyia/Download/0.41/Gem/src -I/home/muranyia/Download/0.41/externals/pdp/include -DUNIX -Dunix -DDL_OPEN -fPIC -DIEMTAB_SINGLE_OBJ -o "/home/muranyia/Download/0.41/externals/iem/iem_tab/src/tab_add_scalar.o" -c "/home/muranyia/Download/0.41/externals/iem/iem_tab/src/tab_add_scalar.c"
 /home/muranyia/Download/0.41/externals/iem/iem_tab/src/tab_add_scalar.c: In function ‘tab_add_scalar_list’:
/home/muranyia/Download/0.41/externals/iem/iem_tab/src/tab_add_scalar.c:85: error: incompatible types in assignment
 /home/muranyia/Download/0.41/externals/iem/iem_tab/src/tab_add_scalar.c:105: error: invalid operands to binary +
/home/muranyia/Download/0.41/externals/iem/iem_tab/src/tab_add_scalar.c: At top level:
 /home/muranyia/Download/0.41/externals/iem/iem_tab/src/tab_add_scalar.c:69: warning: unused parameter ‘s’
/home/muranyia/Download/0.41/externals/iem/iem_tab/src/tab_add_scalar.c:119: warning: unused parameter ‘x’
 /home/muranyia/Download/0.41/externals/iem/iem_tab/src/tab_add_scalar.c:123: warning: unused parameter ‘s’
make[2]: *** [/home/muranyia/Download/0.41/externals/iem/iem_tab/src/tab_add_scalar.o] Error 1
 make[2]: Leaving directory `/home/muranyia/Download/0.41/externals'
make[1]: *** [externals_install] Error 2
make[1]: Leaving directory `/home/muranyia/Download/0.41/packages'
 make: *** [install] Error 2
 Andras

Strange one there, seems to be something else since -fPIC is set.  IEM people, any ideas?

Not an IEM peep but in iemlib.h we find this:

/* on 64bit systems we cannot use garray_getfloatarray... */
#if (defined __x86_64__)
# define iemarray_t t_word
# define iemarray_getarray garray_getfloatwords
# define iemarray_getfloat(pointer, index) (pointer[index].w_float)
# define iemarray_setfloat(pointer, index, fvalue) (pointer[index].w_float = fvalue)
#else
# define iemarray_t t_float
# define iemarray_getarray garray_getfloatarray
# define iemarray_getfloat(pointer, index) (pointer[index])
# define iemarray_setfloat(pointer, index, fvalue) (pointer[index] = fvalue)
#endif

Then in  tab_add_scalar the variable add is defined:


iemarray_t *vec_src1, *vec_dst, add;


...and then at line 85 an error occurs because add is a t_word, not a t_float:
add = (t_float)atom_getfloatarg(3, argc, argv);

...so probably
add.w_float = (t_float)atom_getfloatarg(3, argc, argv);

would work, but this is likely not the only place this will happen.


Martin

 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20091005/78428f21/attachment.htm>


More information about the Pd-dev mailing list