Kompilierung der Lazarus/FPC Online Hilfe

Für Dinge rund um die Unterstützung des offizielen Lazarusprojekts, wie Übersetzungsabsprachen und anderem.
Antworten
Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von af0815 »

Umgebung Windows:

*) FPC-Sourcen
*) FPC aus dem SVN-Quellen kompiliert
*) Dokumentationssourcen aus dem SVN
*) Lazarus aus den SVN kompiliert

Zum Download der Sourcen ist die Free Pascal Wiki - Developmentpage die richtige.

af0815 hat geschrieben:Ich versuche es gerade unte Windows zu kompilieren
Das ist meine cmd Datei um die make datei aufzurufen

Code: Alles auswählen

set Path=X:\pascal\fpcbuild\install\binwin32;X:\Pascal\fpcbuild\install\binw32;%PATH%
X:
cd \pascal\fpcbuild\fpcdocs
make html PP=X:\Pascal\Pascal\lazarus\fpc\svn\bin\i386-win32\fpc.exe


Momentan hänge ich in Tex im Anhang aufgrund nicht erlaubten Zeichen im Input (comphelp.inc).


Bis vor einiger Zeit ging mit dem obigen Script das Compilieren der Hilfe als 'HTML' bzw. 'CHM'.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von marcov »

af0815 hat geschrieben:Umgebung Windows:

Zum Download der Sourcen ist die Free Pascal Wiki - Developmentpage die richtige.


Welche SVN Quelle exact? Ich habe ueberigens das nie auf Windows versucht, LaTeX nutze ich von fruher her immer auf *nix (freebsd meistens, heute auch Linux)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von af0815 »

marcov hat geschrieben:Welche SVN Quelle exact? Ich habe ueberigens das nie auf Windows versucht, LaTeX nutze ich von fruher her immer auf *nix (freebsd meistens, heute auch Linux)

http://svn.freepascal.org/svn/fpcdocs/trunk

Ich habe bisher folgenden Fehler gefunden - aber noch nicht reportet, ich will zuerst mal alles wieder compilieren können:
relinkdocs.pp - cthreads muß für Windows deaktiviert sein

Code: Alles auswählen

Uses {$ifdef linux}cthreads,{$endif}strutils,typinfo,Sax_HTML,sysutils,classes,dom_html,xmlwrite,htmwrite8859,relinkhtml;
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von marcov »

af0815 hat geschrieben:
marcov hat geschrieben:Welche SVN Quelle exact? Ich habe ueberigens das nie auf Windows versucht, LaTeX nutze ich von fruher her immer auf *nix (freebsd meistens, heute auch Linux)

http://svn.freepascal.org/svn/fpcdocs/trunk

Ich habe bisher folgenden Fehler gefunden - aber noch nicht reportet, ich will zuerst mal alles wieder compilieren können:
relinkdocs.pp - cthreads muß für Windows deaktiviert sein

Code: Alles auswählen

Uses {$ifdef linux}cthreads,{$endif}strutils,typinfo,Sax_HTML,sysutils,classes,dom_html,xmlwrite,htmwrite8859,relinkhtml;


Fixed, r722

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von af0815 »

Hier weis ich noch nicht wie ich damit umgehen soll:

Makefile:
Original funktioniert mit Linux, aber nicht mit Win. Es kommen für Latex nicht auswertbare Zeichen in die Sequenz hinein

Code: Alles auswählen

comphelp.inc:
   echo "% Automatically generated. Do not edit" > comphelp.inc
   echo -n '\' >> comphelp.inc
   echo 'begin{verbatim}' >> comphelp.inc
   $(FPC) -h >>comphelp.inc
   echo '\end{verbatim}' >> comphelp.inc

Das geht wieder unter Windows

Code: Alles auswählen

comphelp.inc:
   echo > comphelp.inc
   echo \begin{verbatim} >> comphelp.inc
   $(FPC) -h >>comphelp.inc
   echo \end{verbatim} >> comphelp.inc

Nuer hier im makefile.fpc bzw makefile habe ich keine idee wie man das fixen kann
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von af0815 »

Mit fpdoc und den includefiles häge ich derzeit.

Code: Alles auswählen

.............. schnippp ...............
X:\Pascal\fpcbuild\fpcsrc/rtl/inc/exeinfo.pp " --descr=lineinfo.xml --input="X:\
Pascal\fpcbuild\fpcsrc/rtl/inc/lineinfo.pp " --descr=lnfodwrf.xml --input="X:\Pa
scal\fpcbuild\fpcsrc/rtl/inc/lnfodwrf.pp " --descr=ctypes.xml --input="X:\Pascal
\fpcbuild\fpcsrc/rtl/inc/ctypes.pp -FiX:\Pascal\fpcbuild\fpcsrc/rtl/unix " --for
mat=latex
FPDoc - Free Pascal Documentation Tool
Version 2.5.1 [2010/10/05]
(c) 2000 - 2003 Areca Systems GmbH / Sebastian Guenther, sg@freepascal.org
 
X:\Pascal\fpcbuild\fpcsrc\rtl\inc\systemh.inc(381,15): Could not find include fi
le 'sysosh.inc'
X:\Pascal\fpcbuild\fpcsrc/rtl/unix/sockets.pp(20,15): Could not find include fil
e 'osdefs.inc'
X:\Pascal\fpcbuild\fpcsrc/rtl/unix/ipc.pp(26,15): Could not find include file 'o
sdefs.inc'
An unhandled exception occurred at $0046C55A :
EInOutError : Access denied
  $0046C55A
  $0046CBFC
  $0046DD9C
  $0046D09B
  $00438B0C
  $0043895E
  $004388E7
  $00438774
  $0043E540
  $0040296B
  $00402F43
 
make: *** [rtl.inc] Error 217


Er findet hier die BS/CPU typischen includes nicht. Die sind zwar vorhanden, liegen aber in speziellen Verzeichnissen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von marcov »

af0815 hat geschrieben:Hier weis ich noch nicht wie ich damit umgehen soll:
Das geht wieder unter Windows

Code: Alles auswählen

comphelp.inc:
   echo > comphelp.inc
   echo \begin{verbatim} >> comphelp.inc
   $(FPC) -h >>comphelp.inc
   echo \end{verbatim} >> comphelp.inc

Nuer hier im makefile.fpc bzw makefile habe ich keine idee wie man das fixen kann


Vielleicht soll da $(ECHO) genutzt werden statt echo. $(ECHO) ist ein makefile Macro das auf *nix "echo" behält, aber unter Windows "gecho" (gnu echo, kommt mit FPC, orginal von mingw coreutils)

Ich glaube das die Makefile immer versuchen Linux Documentationen zu machen. Das passiert hier auf FreeBSD auch, aber da funktioniert es. Es konnte die Mischung von \ und / sein die Probleme macht.

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von marcov »

af0815 hat geschrieben:Mit fpdoc und den includefiles häge ich derzeit.

[code=dos]
An unhandled exception occurred at $0046C55A :
EInOutError : Access denied
$0046C55A
$0046CBFC
$0046DD9C
$0046D09B
$00438B0C
$0043895E
$004388E7
$00438774
$0043E540
$0040296B
$00402F43


Halb gelöst in r16333. Der Exception gibts nicht mehr, aber das heißt das das Bestand einfach weg nicht geparsed wird.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von af0815 »

Kann das 'halb gelöst' bestätigen :-)

Code: Alles auswählen

FPDoc - Free Pascal Documentation Tool
Version 2.5.1 [2010/11/13]
(c) 2000 - 2003 Areca Systems GmbH / Sebastian Guenther, sg@freepascal.org
 
X:\Pascal\fpcbuild\fpcsrc\rtl\inc\systemh.inc(381,15): Could not find include fi
le 'sysosh.inc'
X:\Pascal\fpcbuild\fpcsrc/rtl/unix/sockets.pp(20,15): Could not find include fil
e 'osdefs.inc'
X:\Pascal\fpcbuild\fpcsrc/rtl/unix/ipc.pp(26,15): Could not find include file 'o
sdefs.inc'
X:\Pascal\fpcbuild\fpcsrc\rtl\linux\ptypes.inc(33,15): Could not find include fi
le 'ctypes.inc'
X:\Pascal\fpcbuild\fpcsrc/rtl/unix/baseunix.pp(24,17): Could not find include fi
le 'aliasptp.inc'
X:\Pascal\fpcbuild\fpcsrc/rtl/unix/unix.pp(24,17): Could not find include file '
aliasptp.inc'
An unhandled exception occurred at $0046EFCA :
EFileNotFoundError : 'X:\Pascal\fpcbuild\fpcsrc/rtl/win32/classes.pp
  $0046EFCA
  $0046F731
  $0043F6CD
  $004029BB
  $00402F93
 
make: *** [rtl.inc] Error 217

Das Problem fängt vorher an, es scheint mir so, als würde der fpdoc die includes nicht so auflösen wie der fpc. Dieser hat mit dem einlesen offensichtlich kein Problem, der fpdoc findet die, nach BS und CPU in Verzeichnissen abgelegten inc nicht.

fpc r16339 und fpcdocs r724

Edit: FPDOC sollte die Information über OS-Type und CPU-Type richtig auflösen können, er besitzt auch die Parameter ostarget und cputarget. Auch wenn diese Parameter versorgt werden, wird unter anderen die Include-Datei 'sysosh.inc' nicht gefunden. Dieses liegt aber im Verzeichnis 'X:\Pascal\fpcbuild\fpcsrc\rtl\win' und ist somit vorhanden.

Irgendwie verstehe ich die Logik noch nicht ganz.

Edit2: Das Makefile erstellt die Pfade für die Parameter des fpdoc nicht richtig. Es wird dort zB. /rtl/unix statt /rtl/win erzeugt.

Edit3: Das makefile hat mit Windows Probleme - manche Dateien liegen in win32, manche in win. Es ist definitiv das Problem in der makefile.fpc. Wenn ich es händisch nachbessere an einem Testauschnitt, so arbeitet der fpdoc richtig.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von af0815 »

Mit folgenden Patch lässt sich das Target pdf unter Windows erzeugen.

Vielleicht kann das wer gegenprüfen, dann schreib ich einen Bug-Reporrt mit Fix. Auch unter Linux :-)
Dateianhänge
Makefile.fpc.diff
Patch für Makefile.fpc der Doku
(863 Bytes) 224-mal heruntergeladen
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von marcov »

af0815 hat geschrieben:Mit folgenden Patch lässt sich das Target pdf unter Windows erzeugen.

Vielleicht kann das wer gegenprüfen, dann schreib ich einen Bug-Reporrt mit Fix. Auch unter Linux :-)


Erster Teil gecommit. Das zweite Unterschied ist absichtlich. Die alte Situation ist für 2.4.2 und minus, der neue für 2.5.1.

Wir müssen erst abwarten ob die großen fpweb/fcl-web Commits der letzter Zeit noch nach 2.4 gemerged werden. Anders muss fpcdocs in dieser Zustand bleiben bis nach 2.4.4. (wenn es das geben wird)

Documentation ist nicht gebranched weil es nur sehr wenig unterscheide gibt.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von af0815 »

Was derzeit unter Windows ein Problem für mich ist, das das Programm install bzw ginstall nicht richtig zugeordnet werden. Damit können die anderen Targets derzeit nicht erzeugt werden. Ich glaube, das ich dafür demnächst das Problem noch genauer im makefile.fpc eingrenzen/lösen kann.

Code: Alles auswählen

Appendix G.
(X:\Pascal\fpcbuild\fpcdocs\user.4ct) [610] [611] [612] [613] [614] [615]
[616] [617] [618] [619] [620] [621] [622] [623] [624] [625]
(X:\Pascal\fpcbuild\fpcdocs\user.aux)
 
LaTeX Font Warning: Some font shapes were not available, defaults substituted.
 
 
LaTeX Warning: There were multiply-defined labels.
 
 )
Output written on user.dvi (627 pages, 1651016 bytes).
Transcript written on user.log.
install -d user -m755
process_begin: CreateProcess((null), install -d user -m755, ...) failed.
make (e=2): The system cannot find the file specified.
make[1]: *** [user.chk] Error 2
make[1]: Leaving directory `X:/Pascal/fpcbuild/fpcdocs'
make: *** [chm] Error 2

Ich bin mir noch nicht sicher ob das die Auswertung install oder ginstall da nicht funktioniert oder nur meine Pfade nicht stimmen. Ich nehme an, das für Windows ginstall verwendet werdenn sollte.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von af0815 »

Ich komme dem Problem näher - das oben beschrieben Problem dürfte daher kommen, das die eingebundenen Makefile.4ht etc. nicht Plattformunabhängig (genug) geschrieben wurden.

Bei dem hier steige ich nicht mehr durch, wie ich das auf die DOS shell bekomme

Code: Alles auswählen

for ext in $(TEXEXTS); do [ -f $(basename $<)$$ext ] && mv $(basename $<)$$ext $(basename $<); done || true

Das ganze ist eine Zeile aus einem Makefile. In TEXEXT sind die verschiedenen Datei extension gespeichert. Nur was wird da wirklich verschoben mit dem mv Befehl. Kann mir wer bei dem Befehl verstehen helfen - danke.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von marcov »

af0815 hat geschrieben:Was derzeit unter Windows ein Problem für mich ist, das das Programm install bzw ginstall nicht richtig zugeordnet werden. Damit können die anderen Targets derzeit nicht erzeugt werden. Ich glaube, das ich dafür demnächst das Problem noch genauer im makefile.fpc eingrenzen/lösen kann.


Habe wieder ein paar Unixisms gelöst. (das INSTALL Problem). Aber das andere ist reines Shellscript, das wird schwer.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Kompilierung der Lazarus/FPC Online Hilfe

Beitrag von af0815 »

Das Script läuft jetzt durch bis zur RTL, dort ist die Kommandozeile zu lange

Code: Alles auswählen

...............
csrc/rtl/win -FiX:\Pascal\fpcbuild\fpcsrc/rtl/win32" --descr=lnfodwrf.xml --inpu
t="X:\Pascal\fpcbuild\fpcsrc/rtl/inc/lnfodwrf.pp -FiX:\Pascal\fpcbuild\fpcsrc/rt
l/win -FiX:\Pascal\fpcbuild\fpcsrc/rtl/win32" --descr=ctypes.xml --input="X:\Pas
cal\fpcbuild\fpcsrc/rtl/inc/ctypes.pp -FiX:\Pascal\fpcbuild\fpcsrc/rtl/unix -FiX
:\Pascal\fpcbuild\fpcsrc/rtl/win -FiX:\Pascal\fpcbuild\fpcsrc/rtl/win32" --forma
t=html --output=rtl --footer-date='mmm dd yyyy'
The input line is too long.
make: *** [rtl.chk] Error 255


Die Problem in der makefile.4ht sind für Windows fast gelöst, ich muß die Lösung nur sauberer machen. Das Statement das ich ein paar Posts vorher nicht begriffen habe ist mitlerweile kein Problem - es kopiert nur bestimmte Daten um, das lässt sich auch im Windows-Batch lösen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten