Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MSVC] Build failure with error C2131 error #4917

Closed
xkszltl opened this issue Jan 24, 2019 · 3 comments
Closed

[MSVC] Build failure with error C2131 error #4917

xkszltl opened this issue Jan 24, 2019 · 3 comments

Comments

@xkszltl
Copy link
Contributor

xkszltl commented Jan 24, 2019

Get the following error recently on Win10 with VS 2017

[1/12] Building CXX object CMakeFiles\rocksdb.dir\tools\db_bench_tool.cc.obj
FAILED: CMakeFiles/rocksdb.dir/tools/db_bench_tool.cc.obj
C:\PROGRA~2\MICROS~4\2017\ENTERP~1\VC\Tools\MSVC\1416~1.270\bin\Hostx64\x64\cl.exe  /nologo /TP -DGFLAGS=gflags -DHAVE_PCLMUL -DHAVE_SSE42 -DNOMINMAX -DOS_WIN -DROCKSDB_SUPPORT_THREAD_LOCAL -DSNAPPY -DWIN32 -DWIN64 -DXPRESS -DZLIB -D_MBCS -I"C:\P
rogram Files\GFlags\include" -I"C:\Program Files\Snappy\include" -I"C:\Program Files\zlib\include" -I..\ -I..\include -I..\third-party\gtest-1.7.0\fused-src /EHsc /GL /MP /Zi /nologo /EHsc /GS /Gd /GR /GF /fp:precise /Zc:wchar_t /Zc:forScope /err
orReport:queue /FC /d2Zi+ /W4 /wd4127 /wd4800 /wd4996 /wd4351 /wd4100 /wd4204 /wd4324 /arch:AVX2 /MD /O2 /Ob2 /DNDEBUG /GR- /Oxt /Zp8 /Gm- /Gy /MD   /Fd./rocksdb.pdb /showIncludes /FoCMakeFiles\rocksdb.dir\tools\db_bench_tool.cc.obj /FdCMakeFiles
\rocksdb.dir\rocksdb.pdb /FS -c ..\tools\db_bench_tool.cc
cl : Command line warning D9025 : overriding '/GR' with '/GR-'
cl : Command line warning D9025 : overriding '/Fd./rocksdb.pdb' with '/FdCMakeFiles\rocksdb.dir\rocksdb.pdb'
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4675): error C2131: expression did not evaluate to a constant
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4675): note: failure was caused by a read of a variable outside its lifetime
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4675): note: see usage of 'value_max'
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4692): warning C4244: 'argument': conversion from 'double' to 'int64_t', possible loss of data
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4695): warning C4244: 'argument': conversion from 'double' to 'int64_t', possible loss of data
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4731): warning C4244: 'argument': conversion from 'double' to 'int64_t', possible loss of data
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4733): warning C4244: 'argument': conversion from 'double' to 'int64_t', possible loss of data
[2/12] Building CXX object CMakeFiles\rocksdb-shared.dir\tools\db_bench_tool.cc.obj
FAILED: CMakeFiles/rocksdb-shared.dir/tools/db_bench_tool.cc.obj
C:\PROGRA~2\MICROS~4\2017\ENTERP~1\VC\Tools\MSVC\1416~1.270\bin\Hostx64\x64\cl.exe  /nologo /TP -DGFLAGS=gflags -DHAVE_PCLMUL -DHAVE_SSE42 -DNOMINMAX -DOS_WIN -DROCKSDB_DLL -DROCKSDB_LIBRARY_EXPORTS -DROCKSDB_SUPPORT_THREAD_LOCAL -DSNAPPY -DWIN32
 -DWIN64 -DXPRESS -DZLIB -D_MBCS -Drocksdb_shared_EXPORTS -I"C:\Program Files\GFlags\include" -I"C:\Program Files\Snappy\include" -I"C:\Program Files\zlib\include" -I..\ -I..\include -I..\third-party\gtest-1.7.0\fused-src /EHsc /GL /MP /Zi /nolog
o /EHsc /GS /Gd /GR /GF /fp:precise /Zc:wchar_t /Zc:forScope /errorReport:queue /FC /d2Zi+ /W4 /wd4127 /wd4800 /wd4996 /wd4351 /wd4100 /wd4204 /wd4324 /arch:AVX2 /MD /O2 /Ob2 /DNDEBUG /GR- /Oxt /Zp8 /Gm- /Gy /MD   /Fd./rocksdb-shared.pdb /showInc
ludes /FoCMakeFiles\rocksdb-shared.dir\tools\db_bench_tool.cc.obj /FdCMakeFiles\rocksdb-shared.dir\ /FS -c ..\tools\db_bench_tool.cc
cl : Command line warning D9025 : overriding '/GR' with '/GR-'
cl : Command line warning D9025 : overriding '/Fd./rocksdb-shared.pdb' with '/FdCMakeFiles\rocksdb-shared.dir\'
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4675): error C2131: expression did not evaluate to a constant
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4675): note: failure was caused by a read of a variable outside its lifetime
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4675): note: see usage of 'value_max'
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4692): warning C4244: 'argument': conversion from 'double' to 'int64_t', possible loss of data
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4695): warning C4244: 'argument': conversion from 'double' to 'int64_t', possible loss of data
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4731): warning C4244: 'argument': conversion from 'double' to 'int64_t', possible loss of data
c:\users\tolia\appdata\local\temp\rocksdb\tools\db_bench_tool.cc(4733): warning C4244: 'argument': conversion from 'double' to 'int64_t', possible loss of data
@xkszltl
Copy link
Contributor Author

xkszltl commented Jan 24, 2019

char value_buffer[2 * value_max];

This line from #4788 uses dynamic array, which is not standard C++.

@zhichao-cao
Copy link
Contributor

rocksdb/tools/db_bench_tool.cc

Line 4675 in e07aa86

char value_buffer[2 * value_max];
This line from #4788 uses dynamic array, which is not standard C++.

Fixing it now.

@sagar0
Copy link
Contributor

sagar0 commented Feb 11, 2019

Fixed in #4918 .

@sagar0 sagar0 closed this as completed Feb 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants