Bug#957147: docopt.cpp: ftbfs with GCC-10
Matthias Klose
doko at debian.org
Fri Apr 17 11:59:01 BST 2020
Package: src:docopt.cpp
Version: 0.6.2-2
Severity: normal
Tags: sid bullseye
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-10
Please keep this issue open in the bug tracker for the package it
was filed for. If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.
The package fails to build in a test rebuild on at least amd64 with
gcc-10/g++-10, but succeeds to build with gcc-9/g++-9. The
severity of this report will be raised before the bullseye release,
so nothing has to be done for the buster release.
The full build log can be found at:
http://people.debian.org/~doko/logs/gcc10-20200225/docopt.cpp_0.6.2-2_unstable_gcc10.log
The last lines of the build log are at the end of this report.
To build with GCC 10, either set CC=gcc-10 CXX=g++-10 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
Common build failures are new warnings resulting in build failures with
-Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-10/porting_to.html
[...]
/<<PKGBUILDDIR>>/docopt.h:46:9: note: no known conversion for argument 1 from ‘const char [43]’ to ‘docopt::DocoptLanguageError&&’
/<<PKGBUILDDIR>>/docopt.cpp: In function ‘std::map<std::__cxx11::basic_string<char>, docopt::value> docopt::docopt_parse(const string&, const std::vector<std::__cxx11::basic_string<char> >&, bool, bool, bool)’:
/<<PKGBUILDDIR>>/docopt.cpp:622:41: error: no matching function for call to ‘docopt::DocoptLanguageError::DocoptLanguageError(const char*)’
622 | throw DocoptLanguageError(error.what());
| ^
In file included from /<<PKGBUILDDIR>>/docopt.cpp:9:
/<<PKGBUILDDIR>>/docopt.h:46:9: note: candidate: ‘constexpr docopt::DocoptLanguageError::DocoptLanguageError()’
46 | struct DocoptLanguageError : std::runtime_error { using runtime_error::runtime_error; };
| ^~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/docopt.h:46:9: note: candidate expects 0 arguments, 1 provided
/<<PKGBUILDDIR>>/docopt.h:46:9: note: candidate: ‘constexpr docopt::DocoptLanguageError::DocoptLanguageError(const docopt::DocoptLanguageError&)’
/<<PKGBUILDDIR>>/docopt.h:46:9: note: no known conversion for argument 1 from ‘const char*’ to ‘const docopt::DocoptLanguageError&’
/<<PKGBUILDDIR>>/docopt.h:46:9: note: candidate: ‘constexpr docopt::DocoptLanguageError::DocoptLanguageError(docopt::DocoptLanguageError&&)’
/<<PKGBUILDDIR>>/docopt.h:46:9: note: no known conversion for argument 1 from ‘const char*’ to ‘docopt::DocoptLanguageError&&’
/<<PKGBUILDDIR>>/docopt.cpp:629:41: error: no matching function for call to ‘docopt::DocoptArgumentError::DocoptArgumentError(const char*)’
629 | throw DocoptArgumentError(error.what());
| ^
In file included from /<<PKGBUILDDIR>>/docopt.cpp:9:
/<<PKGBUILDDIR>>/docopt.h:49:9: note: candidate: ‘constexpr docopt::DocoptArgumentError::DocoptArgumentError()’
49 | struct DocoptArgumentError : std::runtime_error { using runtime_error::runtime_error; };
| ^~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/docopt.h:49:9: note: candidate expects 0 arguments, 1 provided
/<<PKGBUILDDIR>>/docopt.h:49:9: note: candidate: ‘constexpr docopt::DocoptArgumentError::DocoptArgumentError(const docopt::DocoptArgumentError&)’
/<<PKGBUILDDIR>>/docopt.h:49:9: note: no known conversion for argument 1 from ‘const char*’ to ‘const docopt::DocoptArgumentError&’
/<<PKGBUILDDIR>>/docopt.h:49:9: note: candidate: ‘constexpr docopt::DocoptArgumentError::DocoptArgumentError(docopt::DocoptArgumentError&&)’
/<<PKGBUILDDIR>>/docopt.h:49:9: note: no known conversion for argument 1 from ‘const char*’ to ‘docopt::DocoptArgumentError&&’
/<<PKGBUILDDIR>>/docopt.cpp:653:63: error: no matching function for call to ‘docopt::DocoptArgumentError::DocoptArgumentError(std::__cxx11::basic_string<char>)’
653 | throw DocoptArgumentError("Unexpected argument: " + leftover);
| ^
In file included from /<<PKGBUILDDIR>>/docopt.cpp:9:
/<<PKGBUILDDIR>>/docopt.h:49:9: note: candidate: ‘constexpr docopt::DocoptArgumentError::DocoptArgumentError()’
49 | struct DocoptArgumentError : std::runtime_error { using runtime_error::runtime_error; };
| ^~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/docopt.h:49:9: note: candidate expects 0 arguments, 1 provided
/<<PKGBUILDDIR>>/docopt.h:49:9: note: candidate: ‘constexpr docopt::DocoptArgumentError::DocoptArgumentError(const docopt::DocoptArgumentError&)’
/<<PKGBUILDDIR>>/docopt.h:49:9: note: no known conversion for argument 1 from ‘std::__cxx11::basic_string<char>’ to ‘const docopt::DocoptArgumentError&’
/<<PKGBUILDDIR>>/docopt.h:49:9: note: candidate: ‘constexpr docopt::DocoptArgumentError::DocoptArgumentError(docopt::DocoptArgumentError&&)’
/<<PKGBUILDDIR>>/docopt.h:49:9: note: no known conversion for argument 1 from ‘std::__cxx11::basic_string<char>’ to ‘docopt::DocoptArgumentError&&’
/<<PKGBUILDDIR>>/docopt.cpp:656:71: error: no matching function for call to ‘docopt::DocoptArgumentError::DocoptArgumentError(const char [42])’
656 | throw DocoptArgumentError("Arguments did not match expected patterns"); // BLEH. Bad error.
| ^
In file included from /<<PKGBUILDDIR>>/docopt.cpp:9:
/<<PKGBUILDDIR>>/docopt.h:49:9: note: candidate: ‘constexpr docopt::DocoptArgumentError::DocoptArgumentError()’
49 | struct DocoptArgumentError : std::runtime_error { using runtime_error::runtime_error; };
| ^~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/docopt.h:49:9: note: candidate expects 0 arguments, 1 provided
/<<PKGBUILDDIR>>/docopt.h:49:9: note: candidate: ‘constexpr docopt::DocoptArgumentError::DocoptArgumentError(const docopt::DocoptArgumentError&)’
/<<PKGBUILDDIR>>/docopt.h:49:9: note: no known conversion for argument 1 from ‘const char [42]’ to ‘const docopt::DocoptArgumentError&’
/<<PKGBUILDDIR>>/docopt.h:49:9: note: candidate: ‘constexpr docopt::DocoptArgumentError::DocoptArgumentError(docopt::DocoptArgumentError&&)’
/<<PKGBUILDDIR>>/docopt.h:49:9: note: no known conversion for argument 1 from ‘const char [42]’ to ‘docopt::DocoptArgumentError&&’
/<<PKGBUILDDIR>>/docopt.cpp: In function ‘std::map<std::__cxx11::basic_string<char>, docopt::value> docopt::docopt(const string&, const std::vector<std::__cxx11::basic_string<char> >&, bool, const string&, bool)’:
/<<PKGBUILDDIR>>/docopt.cpp:677:22: error: ‘const struct docopt::DocoptLanguageError’ has no member named ‘what’
677 | std::cerr << error.what() << std::endl;
| ^~~~
/<<PKGBUILDDIR>>/docopt.cpp:680:22: error: ‘const struct docopt::DocoptArgumentError’ has no member named ‘what’
680 | std::cerr << error.what();
| ^~~~
/<<PKGBUILDDIR>>/docopt.cpp: In function ‘std::map<std::__cxx11::basic_string<char>, docopt::value> docopt::docopt_parse(const string&, const std::vector<std::__cxx11::basic_string<char> >&, bool, bool, bool)’:
/<<PKGBUILDDIR>>/docopt.cpp:617:11: warning: control reaches end of non-void function [-Wreturn-type]
617 | Required pattern;
| ^~~~~~~
make[3]: *** [CMakeFiles/docopt_o.dir/build.make:66: CMakeFiles/docopt_o.dir/docopt.cpp.o] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:166: CMakeFiles/docopt_o.dir/all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make[1]: *** [Makefile:155: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j4 returned exit code 2
make: *** [debian/rules:9: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
More information about the debian-science-maintainers
mailing list