martin.peach@sympatico.ca wrote:
Then in tab_add_scalar the variable add is defined:
iemarray_t *vec_src1, *vec_dst, add;
not in the version that i have here (revision 12534). "add" is declared as "t_float".
...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.
this is what i get: <snip> $ svn info Path: . URL: https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk/externals/iem/... Repository Root: https://pure-data.svn.sourceforge.net/svnroot/pure-data Repository UUID: df7eb9d6-776f-4174-a42d-0ffd8d5d5b5d Revision: 12534 Node Kind: directory Schedule: normal Last Changed Author: tmusil Last Changed Rev: 11380 Last Changed Date: 2009-05-16 03:46:10 +0200 (Sat, 16 May 2009)
$ uname -a Linux ligeti 2.6.26.8-rt16 #1 SMP PREEMPT RT Sat May 9 15:58:57 CEST 2009 x86_64 GNU/Linux
$ pd -version Pd version 0.41-4 compiled 11:22:30 Apr 22 2009
$ make cc -DPD -DUNIX -W -Wno-unused -Wno-parentheses -Wno-switch -O6 -funroll-loops -fomit-frame-pointer -fno-strict-aliasing -DDL_OPEN -fPIC -I. -I/usr/local/src/pd/src -c -o tab_abs.o tab_abs.c
cc -DPD -DUNIX -W -Wno-unused -Wno-parentheses -Wno-switch -O6 -funroll-loops -fomit-frame-pointer -fno-strict-aliasing -DDL_OPEN -fPIC -I. -I/usr/local/src/pd/src -c -o tab_add.o tab_add.c
cc -DPD -DUNIX -W -Wno-unused -Wno-parentheses -Wno-switch -O6 -funroll-loops -fomit-frame-pointer -fno-strict-aliasing -DDL_OPEN -fPIC -I. -I/usr/local/src/pd/src -c -o tab_add_scalar.o tab_add_scalar.c
cc -DPD -DUNIX -W -Wno-unused -Wno-parentheses -Wno-switch -O6 -funroll-loops -fomit-frame-pointer -fno-strict-aliasing -DDL_OPEN -fPIC -I. -I/usr/local/src/pd/src -c -o tab_carth2polar.o tab_carth2polar.c [...] cc -DPD -DUNIX -W -Wno-unused -Wno-parentheses -Wno-switch -O6 -funroll-loops -fomit-frame-pointer -fno-strict-aliasing -DDL_OPEN -fPIC -I. -I/usr/local/src/pd/src -c -o iem_tab.o iem_tab.c :: tab_abs.o tab_add.o tab_add_scalar.o tab_carth2polar.o tab_complex_inv.o tab_complex_mul.o tab_const.o tab_conv.o tab_copy.o tab_counter.o tab_cross_corr.o tab_div.o tab_eq.o tab_eq_scalar.o tab_fft.o tab_find_exact_peaks.o tab_find_peaks.o tab_ge.o tab_ge_scalar.o tab_gt.o tab_gt_scalar.o tab_get_size.o tab_ifft.o tab_le.o tab_le_scalar.o tab_lt.o tab_lt_scalar.o tab_max_index.o tab_min_index.o tab_min_max.o tab_mul.o tab_mul_scalar.o tab_ne.o tab_ne_scalar.o tab_reverse.o tab_rfft.o tab_rifft.o tab_sqrt.o tab_sub.o tab_sum.o iem_tab.o ld -export-dynamic -shared -o iem_tab.pd_linux *.o -ldl -lm strip --strip-unneeded iem_tab.pd_linux mv iem_tab.pd_linux ..
$ pd -nogui -lib iem_tab iem_tab (R-1.18) library loaded! (c) Thomas Musil 01.2009 musil@iem.at iem KUG Graz Austria </snip>
the main problem i see, is that iem_tab does not respect any search-paths for Pd; it only looks at /usr/local/src/pd/src i have fixed this now. otoh, the PdX build-system does not use iem_tab's makefile anyhow.
this is what i get here: <snip> $ pwd /home/pd/src/pure-data/externals
$ make iem_tab cc -Wl,-export_dynamic -shared -o /home/pd/src/pure-data/externals/iem/iem_tab/src/tab_add_scalar.pd_linux "/home/pd/src/pure-data/externals/iem/iem_tab/src/tab_add_scalar.o" /home/pd/src/pure-data/externals/iem/iem_tab/src/iem_tab.o -lm -lc
strip --strip-unneeded -R .note -R .comment /home/pd/src/pure-data/externals/iem/iem_tab/src/tab_add_scalar.pd_linux
chmod 755 /home/pd/src/pure-data/externals/iem/iem_tab/src/tab_add_scalar.pd_linux
</snip>
i guess you should upgrade to the latest and greatest version of iem_tab.
fgmasdr IOhannes