
I see many compilation problems here in the list, so I hope you will
forgive me adding to the clutter.
Can someone tell me what I'm doing wrong or missing to get the following.
When building Boost 1.33.0, the date_time, program_options and wave
libraries fail to build. I am after the program_options in particular.
My environment is intel_win32 running in the MSVC v6 IDE.
The output from the build runs to 176Kb, but of the very many errors,
the typical ones are:
C:\Libraries\boost_1_33_0\libs\program_options\build\../src/options_description.cpp(378):
error: too few arguments for class template "std::reverse_iterator"
find(reverse_iteratorstring::const_iterator(line_end - 1),
C:\Libraries\boost_1_33_0\libs\program_options\build\../src/variables_map.cpp(81):
error: no instance of overloaded function "std::set<_K, _Pr, _A>::insert
[with _K=std::string, _Pr=std::lessstd::string,
_A=std::allocatorstd::string]" matches the argument list
argument types are: (std::set

Rob Marsden wrote:
I see many compilation problems here in the list, so I hope you will forgive me adding to the clutter.
Can someone tell me what I'm doing wrong or missing to get the following.
When building Boost 1.33.0, the date_time, program_options and wave libraries fail to build. I am after the program_options in particular.
My environment is intel_win32 running in the MSVC v6 IDE.
Have you seen: http://engineering.meta-comm.com/boost-regression/CVS-RC_1_33_0/user/ Reachable from www.boost.org on the far right under Regression Tests Release Looks like wave is not supported by VC6. Jeff Flinn

Jeff Flinn wrote:
Have you seen: http://engineering.meta-comm.com/boost-regression/CVS-RC_1_33_0/user/
Reachable from www.boost.org on the far right under Regression Tests Release
Looks like wave is not supported by VC6.
Jeff Flinn
Jeff, thanks for that pointer. I was unaware of it. Though it does show the Intel compiler that I'm using under MSVC6 is fully compliant with all the relevant libraries. It even passes all bar 2 of the Spirit tests. So there must be something associated with the environment on this machine (Win2K). Another machine in the office running XP with VS 2003 does a clean compile, but VS 2003 isn't available to this project. Though, if push comes to shove, I might move the compiled libraries across along with their include files (that would need approval from QA though). -- Rob Marsden Gistix (Northern) Limited

Jeff, thanks for that pointer. I was unaware of it. Though it does show the Intel compiler that I'm using under MSVC6 is fully compliant with all the relevant libraries. It even passes all bar 2 of the Spirit tests.
So there must be something associated with the environment on this machine (Win2K). Another machine in the office running XP with VS 2003 does a clean compile, but VS 2003 isn't available to this project. Though, if push comes to shove, I might move the compiled libraries across along with their include files (that would need approval from QA though).
There are two issues here: the compiler which as you say is a very capable and conformant one, and the standard library it's forced to sit on top of, which is highly non-conforming. The results on our test page would most likely have been run with Intel sitting on top of VC7.1 which is a whole other ball game. The errors you are seeing: C:\Libraries\boost_1_33_0\libs\program_options\build\../src/options_description.cpp(378): error: too few arguments for class template "std::reverse_iterator" find(reverse_iteratorstring::const_iterator(line_end - 1), All stem from not having a conforming std lib to work with. They're probably work-roundable, but it's a lot of work (at our end) for what is an obsolete std lib that's no longer even supported by MS. You may have better luck if you're able to use STLport, but frankly if you can't get approval for VC7.1 which is just so much more stable and reliable than VC6 (all IMO of course), then I'd be surprised if you can get approval for STLport either. :-( So I'm afraid you're likely to be limited to the sub-set of Boost that works with VC6, sorry, John Maddock.

John Maddock wrote:
There are two issues here: the compiler which as you say is a very capable and conformant one, and the standard library it's forced to sit on top of, which is highly non-conforming. The results on our test page would most likely have been run with Intel sitting on top of VC7.1 which is a whole other ball game.
The errors you are seeing:
C:\Libraries\boost_1_33_0\libs\program_options\build\../src/options_description.cpp(378): error: too few arguments for class template "std::reverse_iterator" find(reverse_iteratorstring::const_iterator(line_end - 1),
All stem from not having a conforming std lib to work with. They're probably work-roundable, but it's a lot of work (at our end) for what is an obsolete std lib that's no longer even supported by MS. You may have better luck if you're able to use STLport, but frankly if you can't get approval for VC7.1 which is just so much more stable and reliable than VC6 (all IMO of course), then I'd be surprised if you can get approval for STLport either. :-(
So I'm afraid you're likely to be limited to the sub-set of Boost that works with VC6, sorry,
Thanks John. I certainly wouldn't expect the library to be changed just because of my odd-ball circumstances. The library that I needed urgently, 'program_options' I managed to compile as an MSVC lib project by just altering a few lines (I moved it out of boost so as not to contaminate the source). It's taken me a couple of days to suss everything out, but it's got me out of a hole. When the pressure's off, I'll experiment to see if I can't replace the MSVC6 libraries with more conformant ones. Perhaps using make or even bjam. For the time being though, I'm stuck with MSVC6 for an IDE. The reason I'm stuck with VC6, is due to the legacy nature of this app. it extends back 1995. We have VC8 in use in the office, but our clients are starting to ask about Linux. So who knows where will be going next. -- Rob Marsden Gistix (Northern) Limited
participants (3)
-
Jeff Flinn
-
John Maddock
-
Rob Marsden