[SERVER-26756] Build fails with boost v1.62.0 Created: 25/Oct/16  Updated: 29/Jan/18  Resolved: 26/Oct/17

Status: Closed
Project: Core Server
Component/s: Build
Affects Version/s: 3.2.10
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Ultrabug Assignee: DO NOT USE - Backlog - Platform Team
Resolution: Duplicate Votes: 2
Labels: platforms-re-triaged
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-31119 Compilation fails with boost 1.62 Closed
Related
is related to SERVER-27881 Upgrade to boost >= 1.63 Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Participants:

 Description   

As per Gentoo Linux bug https://bugs.gentoo.org/show_bug.cgi?id=596222

We are currently maintaining a patch for this which would be good to be dropped on future releases of mongodb (once you upgrade your vendor copy of boost for instance !)

The patch to fix this is here : https://596222.bugs.gentoo.org/attachment.cgi?id=450918

Build fails with:

/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_pair.h:227:5: note: template argument deduction/substitution failed:
src/mongo/db/fts/unicode/string.cpp:277:96: note: mismatched types 'const std::pair<_T1, _T2>' and 'mongo::StringData::const_iterator

Unknown macro: {aka const char*}

'
haystack.begin(), haystack.end(), needle.begin(), needle.end()) != haystack.end();



 Comments   
Comment by Ultrabug [ 27/Dec/17 ]

Thank you guys, I'm looking forward for 3.4.11 to be released then!

Comment by Mark Benvenuto [ 26/Oct/17 ]

It is fixed in 3.6.0-rc0, and was backported to 3.4.11 as part of SERVER-31119

Comment by Marek Skalický [ 26/Oct/17 ]

Seems to be fixed in MongoDB 3.6.0

Comment by Mark Benvenuto [ 25/Oct/16 ]

Boost changed the return type of the method in 1.62.0 from:

      template<typename patIter, typename corpusIter> 
      corpusIter boyer_moore_search(corpusIter, corpusIter, patIter, patIter);

to

      template<typename patIter, typename corpusIter> 
      std::pair< corpusIter, corpusIter > 
      boyer_moore_search(corpusIter, corpusIter, patIter, patIter);

See
http://www.boost.org/doc/libs/1_60_0/libs/algorithm/doc/html/header/boost/algorithm/searching/boyer_moore_hpp.html
http://www.boost.org/doc/libs/1_62_0/libs/algorithm/doc/html/header/boost/algorithm/searching/boyer_moore_hpp.html

Generated at Thu Feb 08 04:13:07 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.