Re: gdb-7.12.1 for arm-rtems4.12 fails to build on FreeBSD 11.0
Chris Johns <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
On 28/02/2017 21:42, Yao Qi wrote: > Chris Johns <[email protected]> writes: > >> I am getting the following build failure on FreeBSD 11.0: >> >> In file included from ../../gdb-7.12.1/gdb/arch/arm.c:20: >> In file included from ../../gdb-7.12.1/gdb/common/common-defs.h:31: >> In file included from build-gnulib/import/stdio.h:53: >> build-gnulib/import/stddef.h:104:3: error: typedef redefinition with >> different types ('union max_align_t' vs 'long double') >> } max_align_t; >> ^ >> /usr/include/c++/v1/stddef.h:57:21: note: previous definition is here >> typedef long double max_align_t; >> ^ >> It seems build-gnulib/import/stddef.h is created assuming there is no >> host provided version. I cannot figure out how the configure phase >> test works and why this is happening. >> >> Any hints? > > Looks a gnulib issue to me. We upgrade gnulib after 7.12 release to fix > this issue. https://sourceware.org/ml/gdb-patches/2016-10/msg00320.html Thank you for the hint. > Does GDB mainline fail also? No it does not build and git includes another patch for gnulib by Pedro in November. I have raised the bug #21206 to track the issue. The build output is: /usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/opt/work/chris/rtems/rsb/rtems-source-builder.git/rtems/build/tmp/sb-chris/4.12/rtems-arm/opt/work/rtems/4.12/include -std=gnu++11 -I. -I../../binutils-gdb/gdb -I../../binutils-gdb/gdb/common -I../../binutils-gdb/gdb/config -DLOCALEDIR="\"/opt/work/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../binutils-gdb/gdb/../include/ opcode -I../../binutils-gdb/gdb/../opcodes/.. -I../../binutils-gdb/gdb/../readline/.. -I../../binutils-gdb/gdb/../zlib -I../bfd -I../../binutils-gdb/gdb/../bfd -I../../binutils-gdb/gdb/../include -I../libdecnumber -I../../binutils-gdb/gdb/../libdecnumber -I../../binutils-gdb/gdb/gnulib/import -Ibuild-gnulib/import -DTUI=1 -I/opt/work/rtems/4.12/include -I/usr/local/inclu de/python2.7 -I/usr/local/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral -c -o gdb.o -MT gdb.o -MMD -MP -MF .deps/gdb.Tpo ../../binutils-gdb/gdb/gdb.c c++: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option] warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option] In file included from ../../binutils-gdb/gdb/gdb.c:19: In file included from ../../binutils-gdb/gdb/defs.h:28: In file included from ../../binutils-gdb/gdb/common/common-defs.h:52: In file included from build-gnulib/import/stdio.h:53: build-gnulib/import/stddef.h:106:3: error: typedef redefinition with different types ('union max_align_t' vs 'long double') } max_align_t; ^ /usr/include/c++/v1/stddef.h:57:21: note: previous definition is here typedef long double max_align_t; ^ In file included from ../../binutils-gdb/gdb/gdb.c:19: In file included from ../../binutils-gdb/gdb/defs.h:53: ../../binutils-gdb/gdb/ui-file.h:93:28: warning: struct 'ui_file' was previously declared as a class [-Wmismatched-tags] extern int ui_file_isatty (struct ui_file *); ^ ../../binutils-gdb/gdb/ui-file.h:26:7: note: previous use is here class ui_file ^ ../../binutils-gdb/gdb/ui-file.h:93:28: note: did you mean class here? extern int ui_file_isatty (struct ui_file *); ^~~~~~ class ../../binutils-gdb/gdb/ui-file.h:95:28: warning: struct 'ui_file' was previously declared as a class [-Wmismatched-tags] extern void ui_file_write (struct ui_file *file, const char *buf, ^ ../../binutils-gdb/gdb/ui-file.h:26:7: note: previous use is here class ui_file ^ ../../binutils-gdb/gdb/ui-file.h:95:28: note: did you mean class here? extern void ui_file_write (struct ui_file *file, const char *buf, ^~~~~~ class ../../binutils-gdb/gdb/ui-file.h:98:39: warning: struct 'ui_file' was previously declared as a class [-Wmismatched-tags] extern void ui_file_write_async_safe (struct ui_file *file, const char *buf, ^ ../../binutils-gdb/gdb/ui-file.h:26:7: note: previous use is here class ui_file ^ ../../binutils-gdb/gdb/ui-file.h:98:39: note: did you mean class here? extern void ui_file_write_async_safe (struct ui_file *file, const char *buf, ^~~~~~ class ../../binutils-gdb/gdb/ui-file.h:101:27: warning: struct 'ui_file' was previously declared as a class [-Wmismatched-tags] extern long ui_file_read (struct ui_file *file, char *buf, long length_buf); ^ ../../binutils-gdb/gdb/ui-file.h:26:7: note: previous use is here class ui_file ^ ../../binutils-gdb/gdb/ui-file.h:101:27: note: did you mean class here? extern long ui_file_read (struct ui_file *file, char *buf, long length_buf); ^~~~~~ class In file included from ../../binutils-gdb/gdb/gdb.c:19: ../../binutils-gdb/gdb/defs.h:327:8: warning: struct 'ui_file' was previously declared as a class [-Wmismatched-tags] struct ui_file *, int, char *); ^ ../../binutils-gdb/gdb/ui-file.h:26:7: note: previous use is here class ui_file ^ ../../binutils-gdb/gdb/defs.h:327:8: note: did you mean class here? struct ui_file *, int, char *); ^~~~~~ class ../../binutils-gdb/gdb/defs.h:338:57: warning: struct 'ui_file' was previously declared as a class [-Wmismatched-tags] extern void print_address (struct gdbarch *, CORE_ADDR, struct ui_file *); ^ ../../binutils-gdb/gdb/ui-file.h:26:7: note: previous use is here class ui_file ^ Chris