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