Problem building 5.2 for m68k-elf on Solaris

Andrew Cagney ac131313@ges.redhat.com
Wed Jun 26 20:38:00 GMT 2002


> $ ../gdb-5.2/configure --target=m68k-elf
>> [snip]
>> 
>> $ make
>> [snip]
>> gcc -c -g -O2  -I/usr/include/v9  -I. -I../../gdb-5.2/gdb
>> -I../../gdb-5.2/gdb/config -DHAVE_CONFIG_H
>> -I../../gdb-5.2/gdb/../include/opcode 
>> -I../../gdb-5.2/gdb/../readline/..
>> -I../bfd -I../../gdb-5.2/gdb/../bfd  -I../../gdb-5.2/gdb/../include
>> -I../intl -I../../gdb-5.2/gdb/../intl  -DMI_OUT=1 -DUI_OUT=1 
>> -Wimplicit
>> -Wreturn-type -Wcomment -Wtrigraphs -Wformat -Wparentheses 
>> -Wpointer-arith
>> -Wuninitialized  ../../gdb-5.2/gdb/ser-unix.c
>> In file included from /usr/include/netinet/in.h:41,
>>                  from /usr/include/sys/socket.h:200,
>>                  from ../../gdb-5.2/gdb/ser-unix.c:29:
>> /usr/include/sys/stream.h:327: redefinition of `struct bcache'
>> gmake[1]: *** [ser-unix.o] Error 1
>> 
>> Randy
>> 
> 
> 
> This is a namespace conflict.  The Solaris stream.h defines struct bcache
> which is also defined by GDB in bcache.h; the latter is being included
> unnecessarily in the files ser-unix.c, ser-pipe.c, and ser-tcp.c.
> 
> I was able to get the m68k-elf target to build by adding:
> 
> #define BCACHE_H 1
> 
> at the top of each of these files.  Not that I'd submit that as a patch ;-)
> but this allows me to build native Solaris and m68k-elf targets.
> 
> Hopefully someone more familiar with the code can come up with a more
> elegant solution?

Would you be able to determine/explain exactly how "bcache.h" came to be 
included?  Looking at ser-*.c, nothing obvious jumped out.

Andrew




More information about the Gdb mailing list