Wave library fails to compile with VC7.1 - Buffer overrun in cl.exe
It seems like this was fixed by turning off the rtti for VC7.1 and I
verified that both V1 and V2 jamfiles have the workaround line in them
(not sure which one is getting used as I'm not passing any parameters
for that)
C:\work\boost_1_33_1>..\boost-jam-3.1.11-1-ntx86\bjam.exe
"-sTOOLS=vc-7_1-stlport" "-sSTLPORT_PATH=.."
"-sBUILD=
Didier Malenfant wrote:
It seems like this was fixed by turning off the rtti for VC7.1 and I verified that both V1 and V2 jamfiles have the workaround line in them (not sure which one is getting used as I'm not passing any parameters for that)
V1 is used by default.
C:\work\boost_1_33_1>..\boost-jam-3.1.11-1-ntx86\bjam.exe "-sTOOLS=vc-7_1-stlport" "-sSTLPORT_PATH=.." "-sBUILD=
on" ****************************************************** Building Boost.Iostreams with bzip2 support disabled. To enable bzip2, consult the Boost.Iostreams documentation ****************************************************** ****************************************************** Building Boost.Iostreams with zlib and gzip support disabled. To enable zlib and gzip, consult the Boost.Iostreams documentation ****************************************************** Building Boost.Regex with the optional Unicode/ICU support disabled. Please refer to the Boost.Regex documentation for more information (and if you don't know what ICU is then you probably don't need it). ...found 11410 targets... ...updating 3 targets... vc-C++ bin\boost\libs\wave\build\libboost_wave.lib\vc-7_1-stlport\debug\ vc-C++ native-wchar_t-on\threading-multi\instantiate_cpp_grammar.obj instantiate_cpp_grammar.cpp "cl" /Zm800 -nologo /EHsc -c -D_STLP_DEBUG=1 -D_STLP_DEBUG_UNINITIALIZED=1 -D_STLP_USE_DYNAMIC_LIB=1 /Z7 /Od /Ob0 /EHsc /GR /MDd /Op /wd4675 /Zc:forScope /Zc:wchar_t -I"bin\boost\libs\wave\build" -I"C:\work\boost_1_33_1" -I"..\STLport-4.6.2\stlport" -I"C:\work\boost_1_33_1" -Fo"bin\boost\libs\wave\build\libboost_wave.lib\vc-7_1-stlport \debug\native-wchar_t-on\threading-multi\instantiate_cpp_gramm ar.obj" -Tp"C:\work\boost_1_33_1libs\wave\build\../src/instantiate_cpp _grammar.cpp"
/GR means rtti is on. [snip]
I still get the buffer overrun in cl.exe.
That is because of the /GR. Perhaps it gets automatically added for the stlport toolchain? Regards Hartmut
Managed to get it to compile by forcing rtti off for the whole boost
compilation (i.e. adding <rtti>off to BUILD)
It would seem then that
Didier Malenfant wrote:
It seems like this was fixed by turning off the rtti for VC7.1 and I verified that both V1 and V2 jamfiles have the workaround line in them (not sure which one is getting used as I'm not passing any parameters for that)
V1 is used by default.
C:\work\boost_1_33_1>..\boost-jam-3.1.11-1-ntx86\bjam.exe "-sTOOLS=vc-7_1-stlport" "-sSTLPORT_PATH=.." "-sBUILD=
on" ****************************************************** Building Boost.Iostreams with bzip2 support disabled. To enable bzip2, consult the Boost.Iostreams documentation ****************************************************** ****************************************************** Building Boost.Iostreams with zlib and gzip support disabled. To enable zlib and gzip, consult the Boost.Iostreams documentation ****************************************************** Building Boost.Regex with the optional Unicode/ICU support disabled. Please refer to the Boost.Regex documentation for more information (and if you don't know what ICU is then you probably don't need it). ...found 11410 targets... ...updating 3 targets... vc-C++ bin\boost\libs\wave\build\libboost_wave.lib\vc-7_1-stlport\debug\ vc-C++ native-wchar_t-on\threading-multi\instantiate_cpp_grammar.obj instantiate_cpp_grammar.cpp "cl" /Zm800 -nologo /EHsc -c -D_STLP_DEBUG=1 -D_STLP_DEBUG_UNINITIALIZED=1 -D_STLP_USE_DYNAMIC_LIB=1 /Z7 /Od /Ob0 /EHsc /GR /MDd /Op /wd4675 /Zc:forScope /Zc:wchar_t -I"bin\boost\libs\wave\build" -I"C:\work\boost_1_33_1" -I"..\STLport-4.6.2\stlport" -I"C:\work\boost_1_33_1" -Fo"bin\boost\libs\wave\build\libboost_wave.lib\vc-7_1-stlport \debug\native-wchar_t-on\threading-multi\instantiate_cpp_gramm ar.obj" -Tp"C:\work\boost_1_33_1libs\wave\build\../src/instantiate_cpp _grammar.cpp"
/GR means rtti is on.
[snip]
I still get the buffer overrun in cl.exe.
That is because of the /GR. Perhaps it gets automatically added for the stlport toolchain?
Regards Hartmut
Didier Malenfant wrote:
Managed to get it to compile by forcing rtti off for the whole boost compilation (i.e. adding <rtti>off to BUILD)
It would seem then that
<*><rtti>off in the wave JamFile doesn't work and is ignored in my case.
The
participants (2)
-
Didier Malenfant
-
Hartmut Kaiser