Hi Lazarus Developers List, Can you please help on this issue? fpdoc fails when building Laazarus 1.6.2 documentation. This leads to a serious (RC) bug that may lead to remove Lazarus form next Debian release which will be really a pity.
On Sat, 2017-04-01 at 21:45 +0200, Paul Gevers wrote: > First shot at debugging from my side. > > Because the error says: > Exception at 00000000004BDB6C: EDOMError: > EDOMError in DOMDocument.CreateElement. > > I searched for "DOMDocument.CreateElement". Low and behold, I find > something interesting in fpcsrc/packages/fcl-xml/src/dom.pp: > > function TDOMDocument.CreateElement(const tagName: DOMString): TDOMElement; > begin > if not IsXmlName(tagName) then > raise EDOMError.Create(INVALID_CHARACTER_ERR, > 'DOMDocument.CreateElement'); > TDOMNode(Result) := Alloc(TDOMElement); > > Result.Create(Self); > Result.FNSI.QName := FNames.FindOrAdd(DOMPChar(tagName), Length(tagName)); > Result.AttachDefaultAttrs; > end; > > First idea that pops into my mind is: it looks like the source of > lazarus has characters that fp-docs can't convert. Apparently an error > is raised, but converted by fp-docs into exit code 0. > > Interesting to note, is the delta between 2.4.6 and 3.0.0: > - if not IsXmlName(tagName, FXMLVersion = xmlVersion11) then > + if not IsXmlName(tagName) then > which was done in this commit: > http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision&revision=20422 > > Sending now as I am about to stop for today, but summary as I currently > suspect the situation is: > 1) fp-doc fails to create error exit code during error > 2) lazarus may have xml files that need updating. > > Probably the next time I spend time on this will be to bisect the > documentation creation to see which file(s) need fixing -> to > potentially solve issue 2 if that is indeed the issue. It looks like the file extctrls.pp or the corresponding xml is not supported by the used version of fpdoc. ]$fpdoc --content=lcl.xct --package=lcl --descr=../../xml/lcl/lcl.xml -- input='../../../lcl/extctrls.pp -Fi../../../lcl/include' --format=html -- descr=../../xml/lcl/extctrls.xmlFPDoc - Free Pascal Documentation ToolVersion 3.0.0 [2017/02/08](c) 2000 - 2003 Areca Systems GmbH / Sebastian Guenther, sg@fr eepascal.org(c) 2005 - 2012 various FPC contributors Writing 757 pages...Exception at 00000000004BDACC: EDOMError:EDOMError in DOMDocument.CreateElement.While with an other page this leads to: $fpdoc --content=lcl.xct --package=lcl --descr=../../xml/lcl/lcl.xml -- input='../../../lcl/interfaces/gtk/gtkwsextctrls.pp -Fi../../../lcl/include' --format=html --descr=../../xml/lcl/interfaces/gtk/gtkwsextctrls.xmlFPDoc - Free Pascal Documentation ToolVersion 3.0.0 [2017/02/08](c) 2000 - 2003 Areca Systems GmbH / Sebastian Guenther, s...@freepascal.org(c) 2005 - 2012 various FPC contributors Writing 128 pages...Using built-in CSS fileCreating plus imageCreating minus imageDone.Here there are no errors. Just goes fine to end. -- Cheers, Abou Al Montacir
signature.asc
Description: This is a digitally signed message part