From: Sven R. <rei...@ma...> - 2002-10-25 04:36:32
|
Folks, the code submitted by Baptiste looks nice.. from the outside. Unfortunately, the extended use of the Boost library is more than gcc 2.96 (the most widespread version of the GNU Compiler Collection for Linux) can handle. This is neither Boost's nor Baptiste's fault; gcc 2 implemented just an "approximation" of the standard library; in fact it was developed while the standard wasn't fixed yet. So I moved to gcc 3. After figuring out how to run both versions on the same machine, this lead to an interesting other problem. This compiler tries to implement Standard C++ -- and is very picky about non-standard code, much more so than MSVC6, which Baptiste used for development. One example was in the blanker; the code looked something like std::string str; const char* _textBegin = str.begin(); What's wrong with that? Well, str.begin() is a string::iterator, and there is no standard way to convert that into a character pointer. However, this is easy to fix, since str.c_str() returns exactly what we need. Other things that happens are throw-specifications being too general. This all is just to let you know that it will take a few days to have a running program under Linux. I will fix the necessary files and commit the changes once it runs. After that I'll go back to testing. BTW, maybe my edition of Stroustrup is a bit outdated. Has <stdexception> been renamed to <stdexcept>? Both compilers seem to agree on that one. Have a good night (even if the Europeans are about to get up :) ) Sven. -- Sven Reichard Dept. of Math. Sci. University of Delaware rei...@ma... |
From: Baptiste L. <gai...@fr...> - 2002-10-25 06:54:33
|
----- Original Message ----- From: "Sven Reichard" <rei...@ma...> To: "CppTool Mailing List" <Cpp...@li...> Sent: Friday, October 25, 2002 6:35 AM Subject: [Cpptool-develop] Linux build problems > Folks, > > the code submitted by Baptiste looks nice.. from the outside. > Unfortunately, the extended use of the Boost library is more than gcc 2.96 > (the most widespread version of the GNU Compiler Collection for Linux) can > handle. This is neither Boost's nor Baptiste's fault; gcc 2 implemented > just an "approximation" of the standard library; in fact it was developed > while the standard wasn't fixed yet. Hmm, are you refering to lexical_cast ? I just looked over the compiler status and it seems to be the only one not to compile with gcc 2.95 with STLPort. I expect the compilation issue for Boost.FileSystem to be fixed once the development start again. Though, it would be nice if we could compile on gcc 2.95 which it a widely spread compiler I believe. > So I moved to gcc 3. After figuring out how to run both versions on the > same machine, this lead to an interesting other problem. This compiler > tries to implement Standard C++ -- and is very picky about non-standard > code, much more so than MSVC6, which Baptiste used for development. One > example was in the blanker; the code looked something like > std::string str; > const char* _textBegin = str.begin(); Left over of the original implementation which used std::string::iterator. But I switched back to using plain char, which works just as well. > What's wrong with that? Well, str.begin() is a string::iterator, and there > is no standard way to convert that into a character pointer. However, this > is easy to fix, since str.c_str() returns exactly what we need. > Other things that happens are throw-specifications being too general. This > all is just to let you know that it will take a few days to have a running > program under Linux. I will fix the necessary files and commit the changes > once it runs. After that I'll go back to testing. Are you refering to ParseError destructor and what() methods which should be marked with throw(), or something else ? > BTW, maybe my edition of Stroustrup is a bit outdated. Has <stdexception> > been renamed to <stdexcept>? Both compilers seem to agree on that one. I think it does. At least I know that it works for VC++ STL, gcc STL, CodeWarrior MTL... Baptiste. > Have a good night (even if the Europeans are about to get up :) ) > > Sven. > > -- > Sven Reichard > Dept. of Math. Sci. > University of Delaware > rei...@ma... |
From: Sven R. <rei...@ma...> - 2002-10-25 13:38:04
|
On Fri, 25 Oct 2002, Baptiste Lepilleur wrote: > ----- Original Message ----- > From: "Sven Reichard" <rei...@ma...> > > Folks, > > > > the code submitted by Baptiste looks nice.. from the outside. > > Unfortunately, the extended use of the Boost library is more than gcc 2.96 > > (the most widespread version of the GNU Compiler Collection for Linux) can > > handle <snip> > Hmm, are you refering to lexical_cast ? I just looked over the compiler > status and it seems to be the only one not to compile with gcc 2.95 with > STLPort. I expect the compilation issue for Boost.FileSystem to be fixed > once the development start again. No, it's that some headers (like <ostream>, which is included by <boost/format/format.hpp>) do not exist. > Though, it would be nice if we could compile on gcc 2.95 which it a widely > spread compiler I believe. It would be, but I wouldn't give it top priority. > Are you refering to ParseError destructor and what() methods which should be > marked with throw(), or something else ? Yes, right on. I'll try to fix whatever is necessary. Sven. -- Sven Reichard Dept. of Math. Sci. University of Delaware rei...@ma... |