This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: GDB 8.1 build error
On 2018-04-27 14:44, Paul Koning wrote:
I then asked specifically for probe.o ("cd gdb && make probe.o"):
g++ -x c++ -std=gnu++11 -g -O2 -I.
-I/Users/pkoning/Downloads/gdb-8.1/gdb
-I/Users/pkoning/Downloads/gdb-8.1/gdb/common
-I/Users/pkoning/Downloads/gdb-8.1/gdb/config
-DLOCALEDIR="\"/usr/local/trunk/share/locale\"" -DHAVE_CONFIG_H
-I/Users/pkoning/Downloads/gdb-8.1/gdb/../include/opcode
-I/Users/pkoning/Downloads/gdb-8.1/gdb/../opcodes/..
-I/Users/pkoning/Downloads/gdb-8.1/gdb/../readline/..
-I/Users/pkoning/Downloads/gdb-8.1/gdb/../zlib -I../bfd
-I/Users/pkoning/Downloads/gdb-8.1/gdb/../bfd
-I/Users/pkoning/Downloads/gdb-8.1/gdb/../include -I../libdecnumber
-I/Users/pkoning/Downloads/gdb-8.1/gdb/../libdecnumber
-I/Users/pkoning/Downloads/gdb-8.1/gdb/gnulib/import
-Ibuild-gnulib/import -DTUI=1
-I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
-I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
-w -c -o probe.o -MT probe.o -MMD -MP -MF ./.deps/probe.Tpo
/Users/pkoning/Downloads/gdb-8.1/gdb/probe.c
/Users/pkoning/Downloads/gdb-8.1/gdb/probe.c:63:28: error: default
initialization of an object of const type 'const
any_static_probe_ops'
without a user-provided default constructor
const any_static_probe_ops any_static_probe_ops;
^
{}
Paul-Konings-MacBook-Pro:buildgdb pkoning$ gcc --version
Configured with:
--prefix=/Applications/Xcode.app/Contents/Developer/usr
--with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin17.5.0
Thread model: posix
InstalledDir:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Paul-Konings-MacBook-Pro:buildgdb pkoning$ head config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by configure, which was
generated by GNU Autoconf 2.64. Invocation command line was
$ /Users/pkoning/Downloads/gdb-8.1/configure
--prefix=/usr/local/trunk --disable-build-warnings
OS is Mac OS 10.13.4.
These appear to be LLVM incompatibilities; if I feed those command
lines to (real) GCC 8.0, just built yesterday from current trunk, they
compile cleanly.
paul
This seems to be a bogus error that was fixed in clang 3.9:
https://stackoverflow.com/questions/7411515/why-does-c-require-a-user-provided-default-constructor-to-default-construct-a?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
You Apple LLVM 7.3.0 seems to map to upstream clang 3.8.0:
https://en.wikipedia.org/wiki/Xcode#Latest_versions
I indeed get the same error if I try building the file with clang 3.8 on
Linux:
$ clang++-3.8 -x c++ -std=gnu++11 -g3 -O0 <snip>
/home/emaisin/src/binutils-gdb/gdb/probe.c
/home/emaisin/src/binutils-gdb/gdb/probe.c:63:28: error: default
initialization of an object of
const type 'const any_static_probe_ops' without a user-provided
default constructor
const any_static_probe_ops any_static_probe_ops;
^
If compatibility with clang 3.8 is really important to you, we could
always add an empty constructor to that class. Otherwise, if it's easy
for you to update your Xcode, I'd say try that first.
Simon