
Dear William E. Kempf, I installed the latest version of the boost-1.31.0 on Win xp pro with vc7.1 and tried to use the thread library. During the first build of several samples, MSVS(vc71) gave me a warning about the errors. However I ignored the errors and select option to proceed(the same result is in other case). It seems to me the samples work correctly in spite of errors and warning located below my message. I had no warning or errors on the next build of the same sample at all. Would you please tell me what is going on? And how do I fix it? Thanks Valery Salamakha VC71_ROOT\include\stdexcept(14): see declaration of 'std::logic_error' c:\Boost\include\boost-1_31\boost\thread\exceptions.hpp(28) : see declaration of 'boost::lock_error' c:\Boost\include\boost-1_31\boost\thread\thread.hpp(78): warning C4251: 'boost::thread_group::m_threads' : class 'std::list<_Ty>' needs to have dll-interface to be used by clients of class 'boost::thread_group' with [ _Ty=boost::thread * ] c:\Boost\include\boost-1_31\boost\thread\mutex.hpp(36): warning C4275: non dll-interface class 'boost::noncopyable' used as base for dll-interface class 'boost::mutex' c:\Boost\include\boost-1_31\boost\noncopyable.hpp(22) : see declaration of 'boost::noncopyable' c:\Boost\include\boost-1_31\boost\thread\mutex.hpp(35) : see declaration of 'boost::mutex' c:\Boost\include\boost-1_31\boost\thread\thread.hpp(38): warning C4275: non dll-interface class 'boost::noncopyable' used as base for dll-interface class 'boost::thread' c:\Boost\include\boost-1_31\boost\thread\thread.hpp(67): warning C4275: non dll-interface class 'boost::noncopyable' used as base for dll-interface class 'boost::thread_group' c:\Boost\include\boost-1_31\boost\noncopyable.hpp(22) : see declaration of 'boost::noncopyable' c:\Boost\include\boost-1_31\boost\thread\mutex.hpp(114): warning C4275: non dll-interface class 'boost::noncopyable' used as base for dll-interface class 'boost::timed_mutex' c:\Boost\include\boost-1_31\boost\noncopyable.hpp(22) : see declaration of 'boost::noncopyable' c:\Boost\include\boost-1_31\boost\thread\mutex.hpp(113) : see declaration of 'boost::timed_mutex' c:\Boost\include\boost-1_31\boost\thread\mutex.hpp(74): warning C4275: non dll-interface class 'boost::noncopyable' used as base for dll-interface class 'boost::try_mutex' c:\Boost\include\boost-1_31\boost\noncopyable.hpp(22) : see declaration of 'boost::noncopyable' c:\Boost\include\boost-1_31\boost\thread\mutex.hpp(73) : see declaration of 'boost::try_mutex' c:\Boost\include\boost-1_31\boost\thread\exceptions.hpp(29): warning C4275: non dll-interface class 'std::logic_error' used as base for dll-interface class 'boost::lock_error' c:\Boost\include\boost-1_31\boost\thread\exceptions.hpp(35): warning C4275: non dll-interface class 'std::runtime_error' used as base for dll-interface class 'boost::thread_resource_error' c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\stdexcept(136) : see declaration of 'std::runtime_error' c:\Boost\include\boost-1_31\boost\thread\exceptions.hpp(34) : see declaration of 'boost::thread_resource_error' __________________________________ Do you Yahoo!? Yahoo! Mail - Helps protect you from nasty viruses. http://promotions.yahoo.com/new_mail

val salamakha <v_s_ha@yahoo.com> writes:
Dear William E. Kempf,
I installed the latest version of the boost-1.31.0 on Win xp pro with vc7.1 and tried to use the thread library.
During the first build of several samples, MSVS(vc71) gave me a warning about the errors. However I ignored the errors and select option to proceed(the same result is in other case). It seems to me the samples work correctly in spite of errors and warning located below my message.
I had no warning or errors on the next build of the same sample at all.
Would you please tell me what is going on? And how do I fix it?
There are no errors in what you posted; it's all warnings. You can ignore them, or turn them off in your compiler options. Cheers, -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

--- David Abrahams <dave@boost-consulting.com> wrote:
There are no errors in what you posted; it's all warnings. You can ignore them, or turn them off in your compiler options.
The following text "(BOOST_ROOT)\include\stdexcept(14): see declaration of 'std::logic_error' c:\Boost\include\boost-1_31\boost\thread\exceptions.hpp(28) : see declaration of 'boost::lock_error'" marked as error by VC71. How do I distinguish the error from a warning? Do you have rules in Boost? Thanks Valery __________________________________ Do you Yahoo!? Yahoo! Mail Address AutoComplete - You start. We finish. http://promotions.yahoo.com/new_mail

"val salamakha" <v_s_ha@yahoo.com> wrote in message news:20040617225340.24707.qmail@web52305.mail.yahoo.com...
--- David Abrahams <dave@boost-consulting.com> wrote:
There are no errors in what you posted; it's all warnings. You can ignore them, or turn them off in your compiler options.
The following text
"(BOOST_ROOT)\include\stdexcept(14): see declaration of 'std::logic_error' c:\Boost\include\boost-1_31\boost\thread\exceptions.hpp(28) : see declaration of 'boost::lock_error'"
marked as error by VC71.
I believe this is a VC71 bug, in which a compile error is reported with no CXXXX code -- the error msg just starts in the middle, with 'see declaration'. The same thing has happened to me when building Boost.Threads from the IDE. I think after trying to build it a number of times the errors finally disappeared, for no apparent reason. I believe when I switched to bjam I had no further problems. Jonathan

--- Jonathan Turkanis <technews@kangaroologic.com> wrote:
I believe this is a VC71 bug, in which a compile error is reported with no CXXXX code -- the error msg just starts in the middle, with 'see declaration'. The same thing has happened to me when building Boost.Threads from the IDE. I think after trying to build it a number of times the errors finally disappeared, for no apparent reason.
Thanks. Valery __________________________________ Do you Yahoo!? Take Yahoo! Mail with you! Get it on your mobile phone. http://mobile.yahoo.com/maildemo

val salamakha wrote:
--- David Abrahams <dave@boost-consulting.com> wrote:
There are no errors in what you posted; it's all warnings. You can ignore them, or turn them off in your compiler options.
The following text
"(BOOST_ROOT)\include\stdexcept(14): see declaration of 'std::logic_error' c:\Boost\include\boost-1_31\boost\thread\exceptions.hpp(28)
see declaration of 'boost::lock_error'"
marked as error by VC71.
That is a bug in VC71. I reported it on the VC++ NG a long while back and it was ignored. The error message does not say it was an error, but the IDE thinks it was because it sees "lock_error". However everything was compiled and linked OK.
How do I distinguish the error from a warning? Do you have rules in Boost?
The compiler will tell you if it is an error or not by saying 'error' at the beginning of the message. In your case it is not an error.

--- Edward Diener <eddielee@tropicsoft.com> wrote:
The compiler will tell you if it is an error or not by saying 'error' at the beginning of the message. In your case it is not an error.
It's clear now. Have you any answer from Microsoft about fixing the bug? Thanks Valery Salamakha __________________________________ Do you Yahoo!? Take Yahoo! Mail with you! Get it on your mobile phone. http://mobile.yahoo.com/maildemo

val salamakha wrote:
--- Edward Diener <eddielee@tropicsoft.com> wrote:
The compiler will tell you if it is an error or not by saying 'error' at the beginning of the message. In your case it is not an error.
It's clear now.
Have you any answer from Microsoft about fixing the bug?
They didn't bother to acknowledge it when I reported it on the appropriate NG and since MS evidently has no intention of putting out a service pack for Visual Studio .NET, I am not going to bother to waste my time with them about it any further. Also since it is only a bug about incorrectly reporting an error when the compiler and linker do not actually generate an error, it can safely be ignored.

--- Edward Diener <eddielee@tropicsoft.com> wrote:
They didn't bother to acknowledge it when I reported it on the appropriate NG and since MS evidently has no intention of putting out a service pack for Visual Studio .NET, I am not going to bother to waste my time with them about it any further. Also since it is only a bug about incorrectly reporting an error when the compiler and linker do not actually generate an error, it can safely be ignored.
I got another MS bug in a file Parser.hpp where the boost lib is used Parser.hpp(311) : fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 2701) Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more This is a known MS bug in MSVS .NET 2003 /article 843408/ concerning using typedef and classes. Do you have any experience how to go around? Thanks Valery __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - Send 10MB messages! http://promotions.yahoo.com/new_mail

"val salamakha" <v_s_ha@yahoo.com> wrote in message
I got another MS bug in a file Parser.hpp where the boost lib is used
Parser.hpp(311) : fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 2701) Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more
This is a known MS bug in MSVS .NET 2003 /article 843408/ concerning using typedef and classes.
Do you have any experience how to go around?
Are you sure your problem is the same as the one mentioned in the artcile? There are a number of things that can lead to internal compiler errors. The article describes a situation in which invalid code -- which should generate a descriptive error message -- instead produces an internal error. The answer, in this case, is not to define a class and a typedef with the same name in the same scope. Jonathan

Edward Diener wrote:
NG and since MS evidently has no intention of putting out a service pack for Visual Studio .NET, I am not going to bother to waste my time with them
But there is Service Pack 1 for Visual Studio .NET (2002) currently in beta, and I hope it will be released soon (ie. this summer or autumn). I do not have any word from MS about this, but it's been in beta some time already. Things are little worse with .NET 2003 - I think that we need to wait till next year. B.
participants (5)
-
Bronek Kozicki
-
David Abrahams
-
Edward Diener
-
Jonathan Turkanis
-
val salamakha