Kompilierung der Lazarus/FPC Online Hilfe

Für Dinge rund um die Unterstützung des offizielen Lazarusprojekts, wie Übersetzungsabsprachen und anderem.

Kompilierung der Lazarus/FPC Online Hilfe

Beitragvon af0815 » 9. Nov 2010, 07:54 Kompilierung der Lazarus/FPC Online Hilfe

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).
af0815
 
Beiträge: 3455
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon marcov » 9. Nov 2010, 16:54 Re: Kompilierung der Lazarus/FPC Online Hilfe

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)
marcov
 
Beiträge: 1031
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

Beitragvon af0815 » 9. Nov 2010, 18:12 Re: Kompilierung der Lazarus/FPC Online Hilfe

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).
af0815
 
Beiträge: 3455
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon marcov » 9. Nov 2010, 18:30 Re: Kompilierung der Lazarus/FPC Online Hilfe

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
marcov
 
Beiträge: 1031
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

Beitragvon af0815 » 9. Nov 2010, 18:54 Re: Kompilierung der Lazarus/FPC Online Hilfe

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).
af0815
 
Beiträge: 3455
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon af0815 » 9. Nov 2010, 21:19 Re: Kompilierung der Lazarus/FPC Online Hilfe

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).
af0815
 
Beiträge: 3455
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon marcov » 11. Nov 2010, 10:26 Re: Kompilierung der Lazarus/FPC Online Hilfe

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: 1031
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

Beitragvon marcov » 13. Nov 2010, 12:32 Re: Kompilierung der Lazarus/FPC Online Hilfe

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.
marcov
 
Beiträge: 1031
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

Beitragvon af0815 » 13. Nov 2010, 23:25 Re: Kompilierung der Lazarus/FPC Online Hilfe

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).
af0815
 
Beiträge: 3455
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon af0815 » 14. Nov 2010, 12:42 Re: Kompilierung der Lazarus/FPC Online Hilfe

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 :-)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3455
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon marcov » 14. Nov 2010, 16:15 Re: Kompilierung der Lazarus/FPC Online Hilfe

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.
marcov
 
Beiträge: 1031
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

Beitragvon af0815 » 14. Nov 2010, 17:35 Re: Kompilierung der Lazarus/FPC Online Hilfe

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).
af0815
 
Beiträge: 3455
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon af0815 » 19. Nov 2010, 23:30 Re: Kompilierung der Lazarus/FPC Online Hilfe

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).
af0815
 
Beiträge: 3455
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon marcov » 14. Dez 2010, 21:51 Re: Kompilierung der Lazarus/FPC Online Hilfe

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.
marcov
 
Beiträge: 1031
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

Beitragvon af0815 » 15. Dez 2010, 21:44 Re: Kompilierung der Lazarus/FPC Online Hilfe

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).
af0815
 
Beiträge: 3455
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

• Themenende •

Zurück zu Unterstützung Lazarusproject



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried