Boost logo

Boost Users :

From: Manuel Jung (gzahl_at_[hidden])
Date: 2007-03-01 15:47:42


Manuel Jung wrote:

> Am 26.02.2007, 23:32 Uhr, schrieb Joaquin M Lopez Munoz <joaquin_at_[hidden]>:
>
>> Manuel Jung <gzahl <at> arcor.de> writes:
>>
>>>
>>> Hi,
>>>
>>> Sorry for hte delay, but i was in a train again yesterday, with no
>>> internet...
>>> But here im back now.
>>>
>>> > I don't really know :) I'm trying to gain more info on the
>>> > context where the core happens. Let's begin with say the
>>> > header and then we will pull from this thread if necessary,
>>> > OK?
>>>
>>> you got two files with this message. These are the slots.h and
>>> octopus.h.
>>> They are the only ones with multi_index_container definitions. Tell me
>>> what
>>> you need else. The files are just how they are, nothing is stripped out.
>>
>> Hello, thanks for the files. There's a detail that smells
>> funny: octopus.h begins with
>>
>> #if !defined(NDEBUG)
>> #define BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING
>> #define BOOST_MULTI_INDEX_ENABLE_SAFE_MODE
>> #endif
>>
>> (which is commented out in the version you've sent, but
>> I guess it is when in effect that the crash happens, right?)
> Yeah, sure. Just commented out, so i can do my work, without minding my
> little problem.
>
>> whereas slot.h does not have these macros, unless they're
>> defined in diver.h or in myconnection.h.
> No, they dont have them.
>
>> Could it be that Boost.MultiIndex headers are included by
>> diver.h or myconnection.h or slot.cpp (assuming this is
>> the name where queue::AddQuery etc. are define) *without*
>> defining safe mode and invariant checking macros?
> Yeah, this is true. The headers where defined in the diver.h, because i
> was trying and moving code a little bit around at the beginning of using
> Boost.MultiIndex.
> I have now fixed it. I dont get an error yet, but a i cannot run a full
> test, because some of the functions are broken at the moment. Ill fix that
> this evening and than well see whats up.
>
>> If so, you've got a problem: these macros have to be
>> defined/undefined *globally*. i.e. you cannot compile one
>> .cpp with them turned on and other without them: object
>> incompatibility ensues.
>
> Is this in the documentation and i didn realize? Maybe it should be said
> explicit, if its not in there.
>
>> Looking forward to your feedback,
>
> Some more results in about 12 hours.

Hi,

Took somewhat more time than 12 hours, but now im back here and the work is
done. And my problem is fixed now. So the problem was that i defined tine
INVARIANT and SAFE_MODE scripts not for every Boost.Multi_Index. Ill hope
nobody will ran in this again :-o.
Thanks very much to you Joaquín. You helped very fast and friendly. Even
thanks for your great library. Maybe ill have some question again sometime.
Not a very easy to use library at first, because its so nice and is very
flexible. But now i think i got the most things i need.
Thank you! I would send you some flowers, if you were not that far away (i
think?).
Best wishes,
Manuel Jung

> Greetings
> Manuel Jung
>
>> Joaquín M López Muñoz
>> Telefónica, Investigación y Desarrollo
>>
>> PS: I answer your other question at a separate thread.
>>
>> _______________________________________________
>> Boost-users mailing list
>> Boost-users_at_[hidden]
>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
>
>


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net