[quagga-dev 4616] Re: Which Linux Kernel Version?

Paul Jakma paul at clubi.ie
Fri Mar 9 19:30:46 GMT 2007


On Fri, 9 Mar 2007, Andrew J. Schorr wrote:

> But if I try to build isisd, it fails even with the altered CFLAGS:
>

>   gcc -DHAVE_CONFIG_H -DSYSCONFDIR=\"/usr/local/etc/\" -I. -I.. -I../../../cvs/isisd -I.. -I../../../cvs -I../../../cvs/lib     -Wall -Os -MT isis_circuit.o -MD -MP -MF .deps/isis_circuit.Tpo -c -o isis_circuit.o ../../../cvs/isisd/isis_circuit.c
>   In file included from /usr/include/net/ethernet.h:27,
> 		    from ../../../cvs/isisd/isis_circuit.c:24:
>   /usr/include/linux/if_ether.h:107: error: expected specifier-qualifier-list before ‘__be16’
>   ../../../cvs/isisd/isis_circuit.c: In function ‘isis_circuit_type’:
>   ../../../cvs/isisd/isis_circuit.c:955: warning: pointer targets in passing argument 1 of ‘string2circuit_t’ differ in signedness

Hmm, it works for me though, as long as I specify CFLAGS.

First to prove I have same problem as you with isis_circuit.c and 
default CFLAGS:

$ touch isis_circuit.c; make  isis_circuit.o > /dev/null
In file included from /usr/include/linux/rtnetlink.h:5,
                     from ../lib/zebra.h:165,
                     from isis_circuit.c:22:
/usr/include/linux/if_link.h:43: error: expected 
specifier-qualifier-list before ‘__u64’
In file included from /usr/include/linux/rtnetlink.h:7,
                     from ../lib/zebra.h:165,
                     from isis_circuit.c:22:
/usr/include/linux/neighbour.h:92: error: expected 
specifier-qualifier-list before ‘__u64’
isis_circuit.c: In function ‘isis_circuit_type’:
isis_circuit.c:955: warning: pointer targets in passing argument 1 of 
‘string2circuit_t’ differ in signedness
make: *** [isis_circuit.o] Error 1

But with the work-around it works for me:

$ touch isis_circuit.c; make CFLAGS="-Wall -Os" isis_circuit.o > 
/dev/null
isis_circuit.c: In function ‘isis_circuit_type’:
isis_circuit.c:955: warning: pointer targets in passing argument 1 of 
‘string2circuit_t’ differ in signedness

> 64 bits, I don't need to change the CFLAGS.  The build gives the 
> exact same results with or without overriding CFLAGS: everything 
> except isisd builds fine.

Damn strange.

> Those are the only 2 files in the entire distro that try to
> include <net/ethernet.h>...

Except I can build isisd on FC6, with the CFLAGS=.. hack..

regards,
-- 
Paul Jakma	paul at clubi.ie	paul at jakma.org	Key ID: 64A2FF6A
Fortune:
What an author likes to write most is his signature on the back of a cheque.
    		-- Brendan Francis


More information about the Quagga-dev mailing list