>>>>> "Jean-Marc" == Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes:

Jean-Marc> I can run both lyx-qt and lyx-xforms, but as soon as I
Jean-Marc> create a new file, I get:

OK, here is more information on the problem: it seems that
lyxerr::rdbuf is set to 0:
(gdb) p lyxerr.rdbuf()
$7 = (struct basic_streambuf<char,_STL::char_traits<char> > *) 0x0

This is probably due to this line in debug.C:
  LyXErr lyxerr(std::cerr.rdbuf());
and to the fact that cerr is defined by STLport as
  // Definitions of the eight global I/O objects that are declared in 
  // <iostream>. For VC++ we use the init_seg pragma to put the global I/O
  // objects into an intitialization segement that will not
  // be executed. We then explicitly invoke the constructors
  // with placement new in ios_base::_S_initialize() 
  [...]
  _STLP_DECLSPEC ostream cerr(0);

The streambuf is set later in some mysterious ios_base::_S_initialize.

I am not sure where this last method is invoked, but this smells like
faulty ordering of constructors.

Lars, is this clear enough to explain the problem? Do you have an
idea? And don't tell me that STLport is just broken...

JMarc

Reply via email to