[Debichem-devel] Bug#960421: libpwiz: FTBFS with boost 1.71

peter green plugwash at p10link.net
Mon Jun 8 04:23:19 BST 2020


Some googling lead me to

https://svnweb.freebsd.org/ports/head/multimedia/mkvtoolnix/files/patch-boost-1.69?view=markup&pathrev=482787

which suggests it is now necessary to manually convert from tribool to bool by writing bool{value}

Unfortunately after doing that I get

In file included from /usr/include/boost/type_traits/is_convertible.hpp:20,
                  from /usr/include/boost/iterator/interoperable.hpp:13,
                  from /usr/include/boost/iterator/iterator_facade.hpp:11,
                  from /usr/include/boost/range/iterator_range_core.hpp:27,
                  from /usr/include/boost/lexical_cast.hpp:30,
                  from ./pwiz/utility/misc/optimized_lexical_cast.hpp:29,
                  from ./pwiz/utility/misc/Environment.hpp:24,
                  from ./pwiz/utility/misc/Std.hpp:29,
                  from pwiz/data/identdata/Serializer_Text.cpp:25:
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp: In instantiation of ‘struct boost::detail::deduce_source_char_impl<boost::detail::deduce_character_type_later<boost::logic::tribool> >’:
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:279:89: required from ‘struct boost::detail::deduce_source_char<boost::logic::tribool>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:406:85: required from ‘struct boost::detail::lexical_cast_stream_traits<boost::logic::tribool, std::__cxx11::basic_string<char> >’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15: required from ‘struct boost::detail::lexical_converter_impl<std::__cxx11::basic_string<char>, boost::logic::tribool>’
/usr/include/boost/lexical_cast/try_lexical_convert.hpp:201:44: required from ‘bool boost::conversion::detail::try_lexical_convert(const Source&, Target&) [with Target = std::__cxx11::basic_string<char>; Source = boost::logic::tribool]’
/usr/include/boost/lexical_cast.hpp:41:60:   required from ‘Target boost::lexical_cast(const Source&) [with Target = std::__cxx11::basic_string<char>; Source = boost::logic::tribool]’
pwiz/data/identdata/TextWriter.hpp:136:57:   required from ‘pwiz::identdata::TextWriter& pwiz::identdata::TextWriter::operator()(const string&, const object_type&) [with object_type = boost::logic::tribool; std::string = std::__cxx11::basic_string<char>]’
pwiz/data/identdata/TextWriter.hpp:509:53:   required from here
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:210:13: error: static assertion failed: Source type is neither std::ostream`able nor std::wostream`able
   210 |             BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_left_shift< std::basic_ostream< type >, T >::value),
       |             ^~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:5478: pwiz/data/identdata/Serializer_Text.lo] Error 1

Which I have no clue about.

Debdiff of what I have done so far is attatched.

-------------- next part --------------
diff -Nru libpwiz-3.0.18342/debian/changelog libpwiz-3.0.18342/debian/changelog
--- libpwiz-3.0.18342/debian/changelog	2019-02-01 22:38:03.000000000 +0000
+++ libpwiz-3.0.18342/debian/changelog	2020-06-08 01:56:54.000000000 +0000
@@ -1,3 +1,10 @@
+libpwiz (3.0.18342-2+rpi1) bullseye-staging; urgency=medium
+
+  * Explicitly convert tribool to bool, this seems to be needed with the
+    new boost.
+
+ -- Peter Michael Green <plugwash at raspbian.org>  Mon, 08 Jun 2020 01:56:54 +0000
+
 libpwiz (3.0.18342-2) unstable; urgency=low
 
   * Improve header path (move pwiz to proteowizard) to ease with nested
diff -Nru libpwiz-3.0.18342/debian/patches/boost.patch libpwiz-3.0.18342/debian/patches/boost.patch
--- libpwiz-3.0.18342/debian/patches/boost.patch	1970-01-01 00:00:00.000000000 +0000
+++ libpwiz-3.0.18342/debian/patches/boost.patch	2020-06-08 01:56:54.000000000 +0000
@@ -0,0 +1,42 @@
+Description: Explicitly convert tribool to bool
+ this seems to be needed with the new boost.
+Author: Peter Michael Green <plugwash at raspbian.org>
+
+--- libpwiz-3.0.18342.orig/pwiz/data/identdata/IdentData.cpp
++++ libpwiz-3.0.18342/pwiz/data/identdata/IdentData.cpp
+@@ -1047,7 +1047,7 @@ PWIZ_API_DECL proteome::DigestedPeptide
+     BOOST_FOREACH(CVID cleavageAgent, cleavageAgents)
+     {
+         if (!findPeptideEvidenceWithRegex(pe, peptide, peptideSequenceInContext, cleavageAgent, "",
+-                                          sip.enzymes.independent, nTerminusIsSpecific, cTerminusIsSpecific,
++                                          bool{sip.enzymes.independent}, nTerminusIsSpecific, cTerminusIsSpecific,
+                                           bestSpecificity, bestResult))
+             break;
+     }
+@@ -1055,7 +1055,7 @@ PWIZ_API_DECL proteome::DigestedPeptide
+     BOOST_FOREACH(const string& regex, cleavageAgentRegexes)
+     {
+         if (!findPeptideEvidenceWithRegex(pe, peptide, peptideSequenceInContext, CVID_Unknown, regex,
+-                                          sip.enzymes.independent, nTerminusIsSpecific, cTerminusIsSpecific,
++                                          bool{sip.enzymes.independent}, nTerminusIsSpecific, cTerminusIsSpecific,
+                                           bestSpecificity, bestResult))
+             break;
+     }
+@@ -1109,7 +1109,7 @@ PWIZ_API_DECL vector<proteome::DigestedP
+         BOOST_FOREACH(CVID cleavageAgent, cleavageAgents)
+         {
+             if (!findPeptideEvidenceWithRegex(pe, peptide, peptideSequenceInContext, cleavageAgent, "",
+-                                              sip.enzymes.independent, nTerminusIsSpecific, cTerminusIsSpecific,
++                                              bool{sip.enzymes.independent}, nTerminusIsSpecific, cTerminusIsSpecific,
+                                               bestSpecificity, bestResult))
+                 break;
+         }
+@@ -1117,7 +1117,7 @@ PWIZ_API_DECL vector<proteome::DigestedP
+         BOOST_FOREACH(const string& regex, cleavageAgentRegexes)
+         {
+             if (!findPeptideEvidenceWithRegex(pe, peptide, peptideSequenceInContext, CVID_Unknown, regex,
+-                                              sip.enzymes.independent, nTerminusIsSpecific, cTerminusIsSpecific,
++                                              bool{sip.enzymes.independent}, nTerminusIsSpecific, cTerminusIsSpecific,
+                                               bestSpecificity, bestResult))
+                 break;
+         }
diff -Nru libpwiz-3.0.18342/debian/patches/series libpwiz-3.0.18342/debian/patches/series
--- libpwiz-3.0.18342/debian/patches/series	1970-01-01 00:00:00.000000000 +0000
+++ libpwiz-3.0.18342/debian/patches/series	2020-06-08 01:56:54.000000000 +0000
@@ -0,0 +1 @@
+boost.patch


More information about the Debichem-devel mailing list