Details
-
Bug
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
-
10.2(EOL)
-
None
-
Windows, Visual Studio 16.5 Preview
Description
The problem is in the facebook rocksdb library that we use.
Current head of https://github.com/facebook/rocksdb builds fine.
The outdated submodule version in MariaDB source (at 10.5, revision e731f4402258554812c46334dc0d9483e6cc769b) fails.
Here is the error message
 |
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\algorithm(2749,60): error C2676: binary '[': '_RanIt' does not define this operator or a conversion to a
type acceptable to the predefined operator [C:\work\rocksdb2\rocksdb-shared.vcxproj]
with
[
_RanIt=rocksdb::autovector<rocksdb::KeyContext *,32>::iterator_impl<rocksdb::autovector<rocksdb::KeyContext *,32>,rocksdb::KeyContext *>
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\algorithm(3494): message : see reference to function template instantiation 'void std::_Make_heap_unchec
ked<_RanIt,_Pr>(_RanIt,_RanIt,_Pr)' being compiled [C:\work\rocksdb2\rocksdb-shared.vcxproj]
with
[
_RanIt=rocksdb::autovector<rocksdb::KeyContext *,32>::iterator_impl<rocksdb::autovector<rocksdb::KeyContext *,32>,rocksdb::KeyContext *>,
_Pr=rocksdb::CompareKeyContext
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\algorithm(3506): message : see reference to function template instantiation 'void std::Sort_unchecked<
RanIt,Fn>(_RanIt,_RanIt,_int64,_Pr)' being compiled [C:\work\rocksdb2\rocksdb-shared.vcxproj]
with
[
_RanIt=rocksdb::autovector<rocksdb::KeyContext *,32>::iterator_impl<rocksdb::autovector<rocksdb::KeyContext *,32>,rocksdb::KeyContext *>,
_Fn=rocksdb::CompareKeyContext,
_Pr=rocksdb::CompareKeyContext
]
C:\work\rocksdb2\db\db_impl\db_impl.cc(1794): message : see reference to function template instantiation 'void std::sort<rocksdb::autovector<rocksdb::KeyContext *,32>::iterator_impl<rocksdb::autovec
tor<rocksdb::KeyContext *,32>,rocksdb::KeyContext *>,rocksdb::CompareKeyContext>(const _RanIt,const _RanIt,_Pr)' being compiled [C:\work\rocksdb2\rocksdb-shared.vcxproj]
with
[
_RanIt=rocksdb::autovector<rocksdb::KeyContext *,32>::iterator_impl<rocksdb::autovector<rocksdb::KeyContext *,32>,rocksdb::KeyContext *>,
_Pr=rocksdb::CompareKeyContext
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\algorithm(2749,43): error C2672: 'std::move': no matching overloaded function found [C:\work\rocksdb2\ro
cksdb-shared.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\algorithm(2749,1): error C2780: '_DestTy *std::move(_InIt,_InIt,_DestTy (&)[_DestSize])': expects 3 argu
ments - 1 provided [C:\work\rocksdb2\rocksdb-shared.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\xutility(3951): message : see declaration of 'std::move' [C:\work\rocksdb2\rocksdb-shared.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\algorithm(2749,1): error C2780: '_OutIt std::move(_InIt,_InIt,_OutIt)': expects 3 arguments - 1 provided
[C:\work\rocksdb2\rocksdb-shared.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\xutility(3939): message : see declaration of 'std::move' [C:\work\rocksdb2\rocksdb-shared.vcxproj]
db_filesnapshot.cc
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\algorithm(2749,60): error C2676: binary '[': '_RanIt' does not define this operator or a conversion to a
type acceptable to the predefined operator [C:\work\rocksdb2\rocksdb.vcxproj]
with
[
_RanIt=rocksdb::autovector<rocksdb::KeyContext *,32>::iterator_impl<rocksdb::autovector<rocksdb::KeyContext *,32>,rocksdb::KeyContext *>
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\algorithm(3494): message : see reference to function template instantiation 'void std::_Make_heap_unchec
ked<_RanIt,_Pr>(_RanIt,_RanIt,_Pr)' being compiled [C:\work\rocksdb2\rocksdb.vcxproj]
with
[
_RanIt=rocksdb::autovector<rocksdb::KeyContext *,32>::iterator_impl<rocksdb::autovector<rocksdb::KeyContext *,32>,rocksdb::KeyContext *>,
_Pr=rocksdb::CompareKeyContext
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\algorithm(3506): message : see reference to function template instantiation 'void std::Sort_unchecked<
RanIt,Fn>(_RanIt,_RanIt,_int64,_Pr)' being compiled [C:\work\rocksdb2\rocksdb.vcxproj]
with
[
_RanIt=rocksdb::autovector<rocksdb::KeyContext *,32>::iterator_impl<rocksdb::autovector<rocksdb::KeyContext *,32>,rocksdb::KeyContext *>,
_Fn=rocksdb::CompareKeyContext,
_Pr=rocksdb::CompareKeyContext
]
C:\work\rocksdb2\db\db_impl\db_impl.cc(1794): message : see reference to function template instantiation 'void std::sort<rocksdb::autovector<rocksdb::KeyContext *,32>::iterator_impl<rocksdb::autovec
tor<rocksdb::KeyContext *,32>,rocksdb::KeyContext *>,rocksdb::CompareKeyContext>(const _RanIt,const _RanIt,_Pr)' being compiled [C:\work\rocksdb2\rocksdb.vcxproj]
with
[
_RanIt=rocksdb::autovector<rocksdb::KeyContext *,32>::iterator_impl<rocksdb::autovector<rocksdb::KeyContext *,32>,rocksdb::KeyContext *>,
_Pr=rocksdb::CompareKeyContext
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\algorithm(2749,43): error C2672: 'std::move': no matching overloaded function found [C:\work\rocksdb2\ro
cksdb.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\algorithm(2749,1): error C2780: '_DestTy *std::move(_InIt,_InIt,_DestTy (&)[_DestSize])': expects 3 argu
ments - 1 provided [C:\work\rocksdb2\rocksdb.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\xutility(3951): message : see declaration of 'std::move' [C:\work\rocksdb2\rocksdb.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\algorithm(2749,1): error C2780: '_OutIt std::move(_InIt,_InIt,_OutIt)': expects 3 arguments - 1 provided
[C:\work\rocksdb2\rocksdb.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.25.28610\include\xutility(3939): message : see declaration of 'std::move' [C:\work\rocksdb2\rocksdb.vcxproj]
Meaning, soon rocksdb could not be compiled on MSVC once anyone is using latest released version of it.