[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