[Lazarus] fpdocmanager questions & crash

Reinier Olislagers reinierolislagers at gmail.com
Sun Apr 1 18:39:22 CEST 2012


On 1-4-2012 18:28, Hans-Peter Diettrich wrote:
> Reinier Olislagers schrieb:
>> Have somme comments/questions - sorry if these have been raised before:
>> 1. What is the "common documentation directory" you are asked to select
>> when starting it for the first time? Does it contain your sources?
>> Compiled documentation? Would be nice if there were a bit more
>> description.
>> (Probably is the "root directory" in the config assistant. Ok.)
> 
> Sorry for the confusion :-(
> [Please suggest the most descriptive name for it]
Mmm yes, "Project directory" is even more vague.
Perhaps choose something like "FPDocManager documentation directory" and
make sure whatever you do, the names match between the readme, config
wizard and the dialog?

>> 2. Configuration assistant: good idea!
>> 2nd tab, FPC: "Now select the FPC
>> source directory and the FPC documentation directory in it"
>> Assuming that means the fpcdocs SVN repository
>> I keep fpcdocs separate as I have multiple fpc installs.
>> Is it required to have fpcdocs under your FPC directory?
> 
> No, that's why you have to tell the manager where that directory is.
I understand.
However, I'd suggest rewording the text in that tab. To me it implies
you have to have your docs under the FPC dir, while you just confirmed
it can be anywhere.

>> 3. RTL step: noticed you need to create 2 Windows batch files. Wouldn't
>> it be more useful if there were some cross platform way of generating
>> the rtl etc docs (e.g. shelling out to fpdoc with parameters like
>> lazbuild is doing right now?)
> 
> These files can be omitted as soon as somebody explains how to use the
> FPCDocs Makefile to *only* create the FPDoc projects.
Not going there... make files are not my forte at all..

>> 4. Trying to select the newly generated rtl.bat gives an access
>> violation (Lazarus SVN 36494, FPC SVN 20683 x86). Any fix for that?
> 
> That looks like a bug in the Makefile and/or FPDoc. Does the AV also
> occur when you invoke "make ..." directly, without generating the batch
> file? The Makefile is designed on/for Linux, with possible problems on
> other platforms.
No, it doesn't (at least for rtl.chk)

Just to clarify: make... > bla.bat (as instructed in the wizard) works
perfectly fine. Selecting the resulting .bat file in the wizard fails.
Does the wizard execute that batch file or something? That would be...
unexpected for a config wizard...

> Is it related to Mantis 0021148? (still open, no response)
rtl.bat now has:
C:\Development\extras\fpcdocs>type rtl.bat
fpdoc  --warn-no-node --package=rtl --descr=rtl.xml --content=rtl.xct
--hide-pr
tected --descr=system.xml --input="-dfpdocsystem -dHASGETHEAPSTATUS
-dSUPPORT_D
UBLE ../rtl/win64/system.pp -Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/inc
-Fi../
tl/i386 -dCPU32 -dHASVARIANT -dFPC_HAS_TYPE_EXTENDED -dHASWIDECHAR
-Fi../rtl/wi
 -Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux" --descr=objpas.xml
--input="-d
ASINTF ../rtl/objpas/objpas.pp -Fi../rtl/win -Fi../rtl/win64
-Fi../rtl/unix -Fi
./rtl/linux" --descr=types.xml --input="../rtl/objpas/types.pp
-Fi../rtl/win -F
../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux"  --descr=strutils.xml
--input="../
tl/objpas/strutils.pp -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix
-Fi../rtl/li
ux" --descr=sysutils.xml --input="../rtl/unix/sysutils.pp
-Fi../rtl/objpas/sysu
ils -Fi../rtl/inc -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix
-Fi../rtl/linux"
--descr=strings.xml --input="../rtl/inc/strings.pp -Fi../rtl/i386
-Fi../rtl/inc
-Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux"
--descr=mouse.xml
--input="../rtl/unix/mouse.pp -Fi../rtl/inc -Fi../rtl/win
-Fi../rtl/win64 -Fi..
rtl/unix -Fi../rtl/linux" --descr=keyboard.xml
--input="../rtl/unix/keyboard.pp
-Fi../rtl/inc -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix
-Fi../rtl/linux" --d
scr=crt.xml --input="../rtl/unix/crt.pp -Fi../rtl/inc -Fi../rtl/win
-Fi../rtl/w
n64 -Fi../rtl/unix -Fi../rtl/linux" --descr=video.xml
--input="../rtl/unix/vide
.pp -Fi../rtl/inc -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix
-Fi../rtl/linux"
--descr=dos.xml --input="../rtl/unix/dos.pp -Fi../rtl/inc -dcpui386
-Fi../rtl/w
n -Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux" --descr=sockets.xml
--input="
dver1_0 ../rtl/unix/sockets.pp -Fi../rtl/inc -Fi../rtl/win64
-Fi../rtl/win -Fi.
/rtl/win64 -Fi../rtl/unix -Fi../rtl/linux" --descr=objects.xml
--input="../rtl/
nc/objects.pp -Fi../rtl/i386 -Fi../rtl/win64 -Fi../rtl/win
-Fi../rtl/win64 -Fi.
/rtl/unix -Fi../rtl/linux" --descr=heaptrc.xml
--input="../rtl/inc/heaptrc.pp -
i../rtl/i386 -Fi../rtl/win64 -Fi../rtl/win -Fi../rtl/win64
-Fi../rtl/unix -Fi..
rtl/linux" --descr=mmx.xml --input="../rtl/i386/mmx.pp -Fi../rtl/win64
-Fi../rt
/win -Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux" --descr=ipc.xml
--input=".
/rtl/unix/ipc.pp -Fi../rtl/win64 -Fi../rtl/win -Fi../rtl/win64
-Fi../rtl/unix -
i../rtl/linux" --descr=printer.xml --input="../rtl/unix/printer.pp
-Fi../rtl/wi
64 -Fi../rtl/inc -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix
-Fi../rtl/linux"
-descr=typinfo.xml --input="../rtl/objpas/typinfo.pp -Fi../rtl/win64
-Fi../rtl/
in -Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux"  --descr=ports.xml
--input="
./rtl/unix/ports.pp -Fi../rtl/win64 -Fi../rtl/win -Fi../rtl/win64
-Fi../rtl/uni
 -Fi../rtl/linux" --descr=getopts.xml --input="../rtl/inc/getopts.pp
-Fi../rtl/
in64 -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux"
--descr=emu3
7.xml --input="../rtl/go32v2/emu387.pp -Fi../rtl/i386 -Fi../rtl/win
-Fi../rtl/w
n64 -Fi../rtl/unix -Fi../rtl/linux" --descr=dxeload.xml
--input="../rtl/go32v2/
xeload.pp -Fi../rtl/i386 -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix
-Fi../rtl
linux" --descr=go32.xml --input="../rtl/go32v2/go32.pp -Fi../rtl/i386
-Fi../rtl
win -Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux" --descr=gpm.xml
--input="-d
ER1_0 ../rtl/linux/gpm.pp -Fi../rtl/i386 -Fi../rtl/win -Fi../rtl/win64
-Fi../rt
/unix -Fi../rtl/linux" --descr=graph.xml
--input="../packages/graph/src/unix/gr
ph.pp -Fi../packages/graph/src/inc -Fi../rtl/win -Fi../rtl/win64
-Fi../rtl/unix
-Fi../rtl/linux" --descr=oldlinux.xml --input="../rtl/linux/oldlinux.pp
-Fi../r
l/linux -Fi../rtl/unix -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix
-Fi../rtl/l
nux" --descr=unixtype.xml --input="../rtl/unix/unixtype.pp
-Fi../rtl/unix -Fi..
rtl/linux -Fi../rtl/linux/i386 -Fi../rtl/win -Fi../rtl/win64
-Fi../rtl/unix -Fi
./rtl/linux" --descr=baseunix.xml --input="../rtl/unix/baseunix.pp
-Fi../rtl/un
x -Fi../rtl/linux -Fi../rtl/linux/i386 -Fi../rtl/win -Fi../rtl/win64
-Fi../rtl/
nix -Fi../rtl/linux" --descr=unix.xml  --input="../rtl/unix/unix.pp
-Fi../rtl/u
ix -Fi../rtl/linux -Fi../rtl/linux/i386 -Fi../rtl/win -Fi../rtl/win64
-Fi../rtl
unix -Fi../rtl/linux" --descr=classes.xml
--input="../rtl/win64/classes.pp -Fi.
/rtl/objpas/classes -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix
-Fi../rtl/linu
 -dfpdocsystem" --descr=unixutil.xml --input="../rtl/unix/unixutil.pp
-Fi../rtl
win -Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux" --descr=x86.xml
--input="..
rtl/unix/x86.pp -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix
-Fi../rtl/linux" -
descr=dynlibs.xml --input="../rtl/inc/dynlibs.pas -Fi../rtl/unix
-Fi../rtl/win
Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux" --descr=linux.xml
--input="../rt
/linux/linux.pp -Fi../rtl/linux -Fi../rtl/unix -Fi../rtl/win
-Fi../rtl/win64 -F
../rtl/unix -Fi../rtl/linux" --descr=math.xml
--input="../rtl/objpas/math.pp -F
../rtl/i386 -dFPC_HAS_TYPE_EXTENDED -Fi../rtl/win -Fi../rtl/win64
-Fi../rtl/uni
 -Fi../rtl/linux" --descr=matrix.xml --input="../rtl/inc/matrix.pp
-Fi../rtl/in
 -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux"
--descr=dateuti
s.xml --input="../rtl/objpas/dateutils.pp -Fi../rtl/objpas -Fi../rtl/win
-Fi../
tl/win64 -Fi../rtl/unix -Fi../rtl/linux" --descr=wincrt.xml
--input="../package
/graph/src/win32/wincrt.pp" --descr=clocale.xml
--input="../rtl/unix/clocale.pp
-Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux"
--descr=cthreads.
ml --input="../rtl/unix/cthreads.pp -Fi../rtl/win -Fi../rtl/win64
-Fi../rtl/uni
 -Fi../rtl/linux" --descr=cmem.xml --input="../rtl/inc/cmem.pp
-Fi../rtl/win -F
../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux" --descr=cwstring.xml
--input="../r
l/unix/cwstring.pp -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix
-Fi../rtl/linux
 --descr=exeinfo.xml --input="../rtl/inc/exeinfo.pp -Fi../rtl/win
-Fi../rtl/win
4 -Fi../rtl/unix -Fi../rtl/linux" --descr=lineinfo.xml
--input="../rtl/inc/line
nfo.pp -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux"
--descr=ln
odwrf.xml --input="../rtl/inc/lnfodwrf.pp -Fi../rtl/win -Fi../rtl/win64
-Fi../r
l/unix -Fi../rtl/linux" --descr=ctypes.xml --input="../rtl/inc/ctypes.pp
-Fi../
tl/unix -Fi../rtl/win -Fi../rtl/win64 -Fi../rtl/unix -Fi../rtl/linux"
--format=
tml --output=rtl --footer-date="mmm dd yyyy" --write-project=winrtl.xml
cp fpdoc.cst rtl/fpdoc.css
touch rtl.chk

Running it gives:
<snip huge amount of parameters>
FPDoc - Free Pascal Documentation Tool
Version 2.7.1 [2012/03/31]
(c) 2000 - 2003 Areca Systems GmbH / Sebastian Guenther, sg at freepascal.org

Done.

C:\Development\extras\fpcdocs>cp fpdoc.cst rtl/fpdoc.css
cp: cannot create regular file `rtl/fpdoc.css': No such file or directory
(fpdoc.cst exists, subdir rtl does not exist)
... so it seems to run with different errors - didn't generate those
errors you saw)..

> FPDoc showed a strange behaviour with duplicate paths and options, as
> may be inserted by the Makefile. If this is the reason of the AV, I'll
> have to supply an according patch for FPDoc.
Looking at todays bugtracker, there's more wrong with fpdoc in trunk
anyway...

> It's already known that "touch" is not normally available on Windows,
> and the CSS file didn't (still doesn't?) exist and consequently cannot
> be copied. These lines should be removed from the batch file, but they
> never should cause an AV.
Got my own touch in the path (not in FPC though).

Thanks,
Reinier




More information about the Lazarus mailing list