Hi David,
Hi Raymond,
On 20.12.2013 00:12, Steele, Raymond wrote:
Raymond and I are in the process of rebuilding OpenOffice with the debug flags,
but have run into some errors that didn't occur the first time through in the
build. The current error has caused me quite a bit of problems.
We are getting a link error, unrecognized symbol in /svx/source/engine3d/e3dundo.cxx. However the
symbol that it is looking for is not present inside e3dundo.cxx. The symbol is
"ParagraphData&ParagraphData::operator=(const ParagraphData&)" [sic] which we
have located in /editeng/inc/editeng/paragraphdata.hxx and the implementation appears to in
/editeng/source/outliner/paralist.cxx.
There are some very odd things going on here.
1) paragraphdata.hxx is not included in paralist.cxx even though this is
where the prototype is declared.
2) e3dundo.cxx doesn't seem to use the ParagraphData class at all.
3) e3dundo.cxx doesn't seem to include the libraries where these classes
are used.
From what I can gather from the relevant parts of that code an
OutlinerParaObject constructor has a ParagraphDataVector argument that
is default initialized with an empty ParagraphDataVector. I guess the
assignment in this default initialization needs ParagraphData's
assignment operator.
Maybe removing the default argument for ParagraphDataVector in
OutlinerParaObject's constructor helps? This can be done by creating
another constructor that takes only one argument.
Most other compilers seem to optimize the assignment operator away even
when compiling in debugging mode.
I want to note that we first started the debug build using multiple processors
(-P8) and perhaps that has caused problems in the ordering in which the
libraries were compiled and linked. It is conceivable that this problem may be
resolved with a complete system clean and rebuild in linear mode, but before we
committed to another day of building the product, we wanted to check with you
to see if this problem has occurred before, is it recognized or if there is a
solution that you could recommend?
I wouldn't vouch for our build systems ordering at such high parallelism
levels... if you want to increase parallelism I'd recommend to change
from e.g.
build --all -P8
to e.g.
build --all -P2 -- -P4
The first -P is for build's parallelism, the second -P is for dmake's
parallelism. I'm too polite to tell what I really feel about these
mechanisms...
We'd appreciate any help or insight you could provide.
I hope the above helps. If not just add the library that provides the
missing symbol to the link list.
P.S. I will be on holiday for the next two weeks and I believe Raymond will be
as well so we may be out of communication.
I'll be (mostly) offline for the rest of the year too :-)
Merry Christmas and a Happy New Year!
Herbert
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org