Kristian Nielsen wrote: > Note how what is surely a gentoo system header seems to include an asterisk > header. /usr/include/gentoo-multilib/amd64/bits/string2.h seems to include > /usr/include/asterisk/endian.h. > > This surely was not intended. Most likely there are two headers on the system > both called endian.h, and the wrong one is picked up. > >>> In file included from /usr/include/bits/string2.h:8, >>> from /usr/include/gentoo-multilib/amd64/string.h:423, >>> from /usr/include/string.h:8, >>> from chan_ss7.c:29: >>> /usr/include/gentoo-multilib/amd64/bits/string2.h:98:21: error: >>> missing binary operator before token "(" > > This is probably a typedef that is missing due to not including the right > endian.h. > > You may have to fix the asterisk and/or chan_ss7 to workaround this. > > Maybe remove the -I/usr/include/asterisk from the Makefile, and then change > any includes that need it from #include <FOO.h> to #include <asterisk/FOO.h>. > This should make it so that the wrong endian.h cannot be picked up by mistake. > right answer.. thanks kristian. i've replaced entries like "asterisk/config.h" by "/usr/include/asterisk/config.h" on chan_ss7 *.c files and did not specify asterisk include path on Makefile. now seem to be a little dependency on asterisk-1.4 "abstract_jb.h" header file on these files: # grep abstract_jb *.c aststubs.c:#include "/usr/include/asterisk/abstract_jb.h" config.c:#include "/usr/include/asterisk/abstract_jb.h" because of this current error when running make: config.c:47:47: error: /usr/include/asterisk/abstract_jb.h: No such file or directory aststubs.c:37:47: error: /usr/include/asterisk/abstract_jb.h: No such file or directory ...cut... config.c:47:47: error: /usr/include/asterisk/abstract_jb.h: No such file or directory config.c:66: error: variable 'default_jbconf' has initializer but incomplete type ...cut... I think chan_ss7 were compatible with both, asterisk1.2 and asterisk1.4. caio