Sebastian,

Yes, we are linked with odbc32.lib and I don't know why. Clearly, you took
it out and that did no harm. I did the same and it removed the odbc32 link
error but just exposed another. Did you have the Platform SDK installed as
well?

I've noticed some other oddities as well, such as some build configurations
specify pre-compiled headers and some don't.

I think we should clean this up so that the settings we have are ones we
need and understand. I'm making some progress with this as part of
introducing stdcxx. I suspect a lot of the settings are just defaults that
were never changed.

Geoff.

On 13/09/06, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:

Geoffrey Winn wrote:
> Sebastian,
>
> I've installed Microsoft Visual C++ 2005 Express Edition and used it
> to open
> the tuscany_sdo.sln file in a fresh extract from svn and a debug build
> fails
> claiming that it can't find odbc32.lib. Have you seen that before? I'm
> a bit
> puzzled because it ran a wizard that claimed to be migrating the
projects
> and they all build happily in MS VC 7.1.
>
> Regards,
>
> Geoff.
>
> On 13/09/06, Geoffrey Winn <[EMAIL PROTECTED]> wrote:
>>
>> That's a shame. OK. I guess I'll have to do it the hard way and install
>> VC++ Express.
>>
>>
>> On 12/09/06, Jean-Sebastien Delfino (JIRA) < [email protected]>
>> wrote:
>> >
>> >     [
>> >
>>
http://issues.apache.org/jira/browse/TUSCANY-719?page=comments#action_12434304
]
>>
>> >
>> > Jean-Sebastien Delfino commented on TUSCANY-719:
>> > ------------------------------------------------
>> >
>> > Hi Geoff,
>> >
>> > I tried your patch on Windows / VC++ express 2005 and got the same
>> > exception as before: incompatible list iterator
>> >
>> >
>> >
>> > > Exception in SDO runtime on Windows using VC++ Express 2005
>> > > -----------------------------------------------------------
>> > >
>> > >                 Key: TUSCANY-719
>> > >                 URL:
>> http://issues.apache.org/jira/browse/TUSCANY-719
>> > >             Project: Tuscany
>> > >          Issue Type: Bug
>> > >          Components: C++ SDO
>> > >    Affects Versions: Cpp-current
>> > >         Environment: Windows and VC++ Express 2005
>> > >            Reporter: Geoff Winn
>> > >            Priority: Minor
>> > >         Attachments: TUSCANY-jsd.patch
>> > >
>> > >
>> > > Here's the Exception and call stack I'm getting from sdo_test on
>> > > Windows, built with VC++ Express 2005:
>> > >     msvcp80d.dll!104f9961()
>> > >     [Frames below may be incorrect and/or missing, no symbols
loaded
>> > > for msvcp80d.dll]
>> > >  >
>> > >
>> >
>>
tuscany_sdo.dll!std::list<commonj::sdo::rdo,std::allocator<commonj::sdo::rdo>
>>
>> > >  >::_Const_iterator<1>::_Compat(const
>> > > std::list<commonj::sdo::rdo,std::allocator<commonj::sdo::rdo>
>> > >  >::_Const_iterator<1> & _Right={first=3452816845 second={...}
>> > })  Line
>> > > 309 + 0x17 bytes    C++
>> > >
>> >
>>
tuscany_sdo.dll!std::list<commonj::sdo::rdo,std::allocator<commonj::sdo::rdo>
>>
>> > >  >::_Const_iterator<1>::operator==(const
>> > > std::list<commonj::sdo::rdo,std::allocator<commonj::sdo::rdo>
>> > >  >::_Const_iterator<1> & _Right={first=3452816845 second={...}
>> > })  Line
>> > > 290    C++
>> > >     tuscany_sdo.dll!commonj::sdo::DataObjectImpl::~DataObjectImpl()
>> > > Line 4564 + 0x37 bytes    C++
>> > >     tuscany_sdo.dll!commonj::sdo::DataObjectImpl::`scalar deleting
>> > > destructor'()  + 0x2b bytes    C++
>> > >
>> > tuscany_sdo.dll!commonj::sdo::RefCountingObject::releaseRef()  Line
>> > > 69 + 0x4c bytes    C++
>> > >
>> >
>>
sdo_test.exe!commonj::sdo::RefCountingPointer<commonj::sdo::DataObject>::~RefCountingPointer<commonj::sdo::DataObject>()
>>
>> >
>> > > Line 133 + 0x15 bytes    C++
>> > >     sdo_test.exe!sdotest::scopetest()  Line 69 + 0x19 bytes    C++
>> > >     sdo_test.exe!main(int argc=1, char * * argv=0x00386018)  Line
>> 48 +
>> > > 0x5 bytes    C++
>> > >     sdo_test.exe!__tmainCRTStartup()  Line 586 + 0x19 bytes    C
>> > >     sdo_test.exe!mainCRTStartup()  Line 403    C
>> > > The exception is raised in list.cpp - line 309:
>> > >  #if _HAS_ITERATOR_DEBUGGING
>> > >        void _Compat(const _Myt_iter& _Right) const
>> > >            {    // test for compatible iterator pair
>> > >            if (this->_Mycont == 0 || this->_Mycont !=
>> _Right._Mycont)
>> > >                {
>> > >                _DEBUG_ERROR("list iterators incompatible"); <----
>> > There
>> > >                _SCL_SECURE_TRAITS_INVALID_ARGUMENT;
>> > >                }
>> > >            }
>> > > This is called from DataObjectImpl::~DataObjectImpl():
>> > >         PropertyValueMap::iterator i = PropertyValues.begin();
>> > >        while (i != PropertyValues.end ())
>> > >        {
>> > >            unset((*i).first);
>> > >            if (i == PropertyValues.begin())  <-- There
>> > >            {
>> > >                // unset has not removed the item from the list -
>> do it
>> >
>> > >                // here instead
>> > >                PropertyValues.erase(i);
>> > >            }
>> > >            i = PropertyValues.begin();
>> > >        }
>> > > And I am a little puzzled by the code in the above loop...
>> Although I
>> > > didn't spend much time trying to grasp the logic here, and I have
>> not
>> > > been playing with C++ iterators too much lately, my experience is
>> that
>> > > removing entries from a collection that you're iterating on is
>> usually
>> > a
>> > > sure way to shoot yourself in the foot :) so I may be wrong but I
>> > sense
>> > > a bug somewhere in this loop...
>> >
>> > --
>> > This message is automatically generated by JIRA.
>> > -
>> > If you think it was sent incorrectly contact one of the
>> administrators:
>> > http://issues.apache.org/jira/secure/Administrators.jspa
>> > -
>> > For more information on JIRA, see:
>> http://www.atlassian.com/software/jira
>> >
>> >
>> >
>> >
>>
>
Geoff,

Yes I've seen that, this is the only thing I had to change to get it to
build on VC++ 2005. If I remember correctly I believe I had mentioned
this in my original email in the "[C++] windows build system thread.

This actually raises another question: Are we linking with odbc32.lib on
VC6 and VC7 (which I guess you migrated to VC++2005), and if the answer
is yes, why? :)

--
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to