Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-21930

Rocksdb does not build with latest VS 2019

Details

    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]

      {format}

      Meaning, soon rocksdb could not be compiled on MSVC once anyone is using latest released version of it.

      Attachments

        Activity

          There are no comments yet on this issue.

          People

            wlad Vladislav Vaintroub
            wlad Vladislav Vaintroub
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.