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