caio <elcaio at gmail.com> writes: >> On Tue, Jun 23, 2009 at 1:59 AM, caio <elcaio at gmail.com >> <mailto:elcaio at gmail.com>> wrote: >> # make chan_ss7.so >> Makefile:163: .depend: No such file or directory >> gcc -MM -E -I/usr/include/zaptel -I/usr/include/asterisk >> In file included from >> /usr/include/gentoo-multilib/amd64/bits/string2.h:52, >> 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/asterisk/endian.h:61:2: error: #error Need to know >> endianess So this looks like the root problem. 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. Or some similar fix to remove the problem. Hope this helps, - Kristian.