Bug#858553: Re Bug#858553: [lazarus-doc-1.6] Package lazarus-doc-1.6 is empty and does not ship documentation files
Hi, I finally found the file that is causing the issue. When I run the attached command (debug.sh) in the lazarus tree in the docs/html/lcl directory, with the attached inputfile.txt file, I get the same error as during the build. When I remove the line containing "../../../lcl/extctrls.pp -Fi../../../lcl/include" the build command is successful. Does anybody see what is wrong with that file? Paul By the way, the fpdoc command return exit code 0 on failure ../../../lcl/alllclunits.pp -Fi../../../lcl/include ../../../lcl/arrow.pp -Fi../../../lcl/include ../../../lcl/asyncprocess.pp -Fi../../../lcl/include ../../../lcl/buttonpanel.pas -Fi../../../lcl/include ../../../lcl/buttons.pp -Fi../../../lcl/include ../../../lcl/calendar.pp -Fi../../../lcl/include ../../../lcl/checklst.pas -Fi../../../lcl/include ../../../lcl/clipbrd.pp -Fi../../../lcl/include ../../../lcl/colorbox.pas -Fi../../../lcl/include ../../../lcl/comboex.pas -Fi../../../lcl/include ../../../lcl/comctrls.pp -Fi../../../lcl/include ../../../lcl/controls.pp -Fi../../../lcl/include ../../../lcl/customdrawncontrols.pas -Fi../../../lcl/include ../../../lcl/customdrawndrawers.pas -Fi../../../lcl/include ../../../lcl/customdrawn_android.pas -Fi../../../lcl/include ../../../lcl/customdrawn_common.pas -Fi../../../lcl/include ../../../lcl/customdrawn_winxp.pas -Fi../../../lcl/include ../../../lcl/customtimer.pas -Fi../../../lcl/include ../../../lcl/dbactns.pp -Fi../../../lcl/include ../../../lcl/dbctrls.pp -Fi../../../lcl/include ../../../lcl/dbextctrls.pp -Fi../../../lcl/include ../../../lcl/dbgrids.pas -Fi../../../lcl/include ../../../lcl/defaulttranslator.pas -Fi../../../lcl/include ../../../lcl/dialogs.pp -Fi../../../lcl/include ../../../lcl/dynamicarray.pas -Fi../../../lcl/include ../../../lcl/dynhasharray.pp -Fi../../../lcl/include ../../../lcl/dynqueue.pas -Fi../../../lcl/include ../../../lcl/editbtn.pas -Fi../../../lcl/include ../../../lcl/extctrls.pp -Fi../../../lcl/include ../../../lcl/extdlgs.pas -Fi../../../lcl/include ../../../lcl/extendedstrings.pas -Fi../../../lcl/include ../../../lcl/extgraphics.pas -Fi../../../lcl/include ../../../lcl/filectrl.pp -Fi../../../lcl/include ../../../lcl/forms.pp -Fi../../../lcl/include ../../../lcl/graphics.pp -Fi../../../lcl/include ../../../lcl/graphmath.pp -Fi../../../lcl/include ../../../lcl/graphtype.pp -Fi../../../lcl/include ../../../lcl/graphutil.pp -Fi../../../lcl/include ../../../lcl/grids.pas -Fi../../../lcl/include ../../../lcl/helpintfs.pas -Fi../../../lcl/include ../../../lcl/icnstypes.pas -Fi../../../lcl/include ../../../lcl/imagelistcache.pas -Fi../../../lcl/include ../../../lcl/imglist.pp -Fi../../../lcl/include ../../../lcl/industrialbase.pp -Fi../../../lcl/include ../../../lcl/inipropstorage.pas -Fi../../../lcl/include ../../../lcl/interfacebase.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkdef.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkfontcache.pas -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkglobals.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkint.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkmsgqueue.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkproc.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwinapiwindow.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwsbuttons.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwscalendar.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwschecklst.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwscomctrls.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwscontrols.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwsdialogs.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwsextctrls.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwsextdlgs.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwsforms.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwsgrids.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwsimglist.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwsmenus.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwspairsplitter.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwsspin.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/gtkwsstdctrls.pp -Fi../../../lcl/include ../../../lcl/interfaces/gtk/interfaces.pp -Fi../../../lcl/include ../../../lcl/interfaces/win32/win32int.pp -Fi../../../lcl/include ../../../lcl/intfgraphics.pas -Fi../../../lcl/include ../../../lcl/lazcanvas.pas -Fi../../../lcl/include ../../../lcl/lazdeviceapis.pas -Fi../../../lcl/include ../../../lcl/lazdialogs.pas -Fi../../../lcl/include ../../../lcl/lazfreetypeintfdrawer.pas -Fi../../../lcl/include ../../../lcl/lazhelphtml.pas -Fi../../../lcl/include ../../../lcl/lazhelpintf.pas -Fi../../../lcl/include ../../../lcl/lazlinkedlist.pas -Fi../../../lcl/include ../../../lcl/lazregions.pas -Fi../../../lcl/include ../../../lcl/lclclasses.pp -Fi../../../lcl/include .
Bug#858553: Re Bug#858553: [lazarus-doc-1.6] Package lazarus-doc-1.6 is empty and does not ship documentation files
Control: reassing -1 src:lazarus Control: found -1 1.6.2+dfsg-1 On 01-04-17 21:45, Paul Gevers wrote: > First shot at debugging from my side. Second shot... > 2) lazarus may have xml files that need updating. Well, turns out that at least the error handling is going wrong in the lazarus package. I had other errors introduced, and the build still continued. I have no idea why yet, but this is hinting at lazarus d/rules somehow. Therefor, reassigning back. Anyways, as noted before the magic is going on in docs/html/build_lcl_docs.lpr. It is that file that in the end creates the code that runs fpdoc. I added a debug statement and found the fpdoc call that was executed (or at least part of it, see ¹²). Because of the failure to error out in a different situation as well, I stopped chasing the error ignoring for a moment and found that in docs/xml/ there are functions to update the xml files that are apparently causing the issues or could fix the issue. I haven't found the right incantations for multi_makeskel.pl yet to regenerate the xml files. With my current tries, I seem to: a) get ISO-8859-1 instead of UTF-8 b) loose information about the nodes that should be in the xml tree. Will continue later. Paul ¹ http://debomatic-amd64.debian.net/distribution#unstable/lazarus/1.6.2+dfsg-2/buildlog ² fpdoc --content=lcl.xct --package=lcl --descr=../../xml/lcl/lcl.xml --input=@inputfile.txt --format=html --descr=../../xml/lcl/actnlist.xml --descr=../../xml/lcl/alllclunits.xml --descr=../../xml/lcl/arrow.xml --descr=../../xml/lcl/asyncprocess.xml --descr=../../xml/lcl/buttonpanel.xml . etc signature.asc Description: OpenPGP digital signature
Bug#858553: Re Bug#858553: [lazarus-doc-1.6] Package lazarus-doc-1.6 is empty and does not ship documentation files
First shot at debugging from my side. Because the error says: Exception at 004BDB6C: 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);http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision&revision=2042 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. Paul signature.asc Description: OpenPGP digital signature