build-lazarus

Für Installationen unter Windows
Antworten
monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

build-lazarus

Beitrag von monta »

ich schlag mich gerade mal nen bisserl damit rum, Lazarus bzw. FPC vom SVN zu erstellen und mir da was zusammenzubauen.

Im Verzeichnis \tools\install\win gibts doch die Datei build-lazarus.cmd. (Zumindest, wenn mans aus dem SVn geholt hat).
Nach Namen geh ich mal davon aus, das die eigentlich Lazarus neu erstellen soll?

Code: Alles auswählen

SET OLDCURDRIVE=%CD:~,2%
SET OLDCURDIR=%CD%
 
%BUILDDRIVE%
cd %BUILDDIR%
%MAKEEXE% clean PP=%COMPILER% >> %LOGFILE%
%MAKEEXE% lcl OPT="-gl -Ur" PP=%COMPILER% >> %LOGFILE%
 
IF NOT "%FPCTARGETOS%"=="win32" GOTO BUILDIDE
%MAKEEXE% lcl OPT="-gl -Ur" PP=%COMPILER% LCL_PLATFORM=gtk2 >> %LOGFILE%
%MAKEEXE% lcl OPT="-gl -Ur" PP=%COMPILER% LCL_PLATFORM=qt >> %LOGFILE%
 
:BUILDIDE
%MAKEEXE% bigide OPT="-Xs -XX" PP=%COMPILER% >> %LOGFILE%
%MAKEEXE% lazbuilder OPT="-Xs -XX" PP=%COMPILER% >> %LOGFILE%
 
%FPCBINDIR%\strip.exe lazarus.exe
%FPCBINDIR%\strip.exe lazbuild.exe
%FPCBINDIR%\strip.exe startlazarus.exe
 
%OLDCURDRIVE%
cd %OLDCURDIR%


Funktioniert die bei irgendjemanden? Bzw. muss man dort noch irgendetwas anpassen?

Bei mir kommt folgende Meldung:

Code: Alles auswählen

E:\lazarus_snapshot\tools\install\win>build-lazarus.bat
E:\lazarus_snapshot\tools\install\win>SET OLDCURDRIVE=E:
E:\lazarus_snapshot\tools\install\win>SET OLDCURDIR=E:\lazarus_snapshot\tools\in
stall\win
E:\lazarus_snapshot\tools\install\win>cd
E:\lazarus_snapshot\tools\install\win
Syntaxfehler.
E:\lazarus_snapshot\tools\install\win> clean PP= >>
E:\lazarus_snapshot\tools\install\win>


und vielmehr passiert nicht.
Johannes

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Beitrag von knight »

Bei mir heißt die Datei build-lazarus.bat . Aufgrund der Parameter würde ich vermuten, daß sie von einer anderen Datei aufgerufen werden muß.

knight

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

stimmt, hab mich in der Endung verschrieben.

//hast recht, create_installer.bat ruft build-lazarus.bat auf
Zuletzt geändert von monta am Mo 27. Aug 2007, 12:30, insgesamt 3-mal geändert.
Johannes

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6217
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:

Beitrag von af0815 »

Auf welcher Plattform ?

Wenn, dann mache ich es mit 'make'. Übrigend bezüglich meines letzten Versuches gibt es ein Tutorial hier. Da hast Du alles drinnen wie ich es gemacht habe bei Windows.

Auf Scripte würde ich nicht soviel geben, die werden teilweise vom make erzeugt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
theo
Beiträge: 10500
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Das einfachste ist, du kopierst die "lazarus" ausführbare Datei der stable version ins SNV Verzeichnis, und machst damit den rebuild.
Achtung: Wenn du noch eine andere Installation hast, solltest du das ~/.lazarus verzeichnis umbenennen.

P.S: Habe ich auf win nicht getestet.
Zuletzt geändert von theo am Mo 27. Aug 2007, 12:45, insgesamt 2-mal geändert.

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

auf Windows.

Das Tut kenn ich ja ;)

Eigentlich dachte ich, wenn man nen FPC installiert, kann man Lazarus ohne größere Probleme aus dem SVN erstellen, aber zumindest so, wie es im Wiki steht, gehts nicht:

Code: Alles auswählen

cd c:\lazarus
set path=c:\pp\bin\win32;c:\lazarus  //of course change the first to
                                     //the path of yours
windres -i lazarus.rc -o lazarus.res
make



aber ich hab gerade den Fehler gefunden, werd das mal im Wiki anpassen:

cd $(LazarusDir)\ide
set path=c:\pp\bin\win32;($LazarusDir)
windres -i lazarus.rc -o lazarus.res
cd $(LazarusDir)
make

Da liegt das Problem, die lazarus.rc muss aus dem ide-Verzeichnis erstellt werden und make wiederrum muss aus dem LazarusDir heraus gestartet werden, dann geht es ohne Probleme.
Johannes

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

theo hat geschrieben:Das einfachste ist, du kopierst die "lazarus" ausführbare Datei der stable version ins SNV Verzeichnis, und machst damit den rebuild.
Achtung: Wenn du noch eine andere Installation hast, solltest du das ~/.lazarus verzeichnis umbenennen.


Na bei Windows schreibt Laz ja ins eigene Verzeichnis, da gehts.

darauf bin ich gar nicht gekommen, aber ich wollte es eh gern als kleine bat, die das dann automatisch täglich aktuell erstellt.
Johannes

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

ich seh nicht das Problem, wozu man GNU-Utils benötigt, nur wenn Lazarus nicht auf C liegt, daher hab ich es mal raus genohmen:

http://wiki.lazarus.freepascal.org/Inst ... m_source_2

Sollte es einen Grund geben, lass ich mich gerne belehren.
Johannes

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

einfach im frisch ausgecheckten lazarus svn ein

make

machen funktioniert.

beim fpc ist es

make install

u.U. noch sudo davor im linux.

die batch datei die du da gefunden hast ist für den automatischen build prozess da mit diesen batch dateien werden die snapshots automatisch gebaut. was dazu jedoch auf dem build system nötig ist weiss ich nicht.

in beiden fällen brauchst du einen lauffähigen compiler der auch im pfad steht.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

ich habs doch schon längst gemacht ;)
und sudo ist eh Mist, weil wenn, gehört Laz bei mir ins Home.

Aber windres -i lazarus.rc -o lazarus.res ist ja dann in der Erklärung auch völlig überflüssig.


Bezüglich dem Buildsystem, das steht in der Readme im selben Verzeichnis, ich glaube es waren die Sourcen für Lazarus und Freepascal, Innosetup und gdb sowie FPC.
Johannes

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

sudo brauchst du aber wenn du beim fpc make install machst das kopiert nämlich gleich einen fpc.cfg in /etc und legt symlinks an und kopiert die units nach /usr/local und jetzt erzähl mir mal wie du das ohne superuserrechte machen willst. bei lazarus hab ich gar nicht von sudo gesprochen ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

jaja hast ja Recht ;)

Ich hab mich nur auf Lazarus bezogen.
Am FPC spiel ich gerade rum...

und es geht natürlich nicht :lol:

er kompiliert ne Weile und irgendwann kommt die Fehlermeldung:

Code: Alles auswählen

graph.inc(2118,20) Error: Identifier not found "charmessagehandler"
sdlgraph.pp(947) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
make[5]: *** [sdlgraph.ppu] Error 1
make[5]: Leaving directory `E:/FPC/trunk/packages/extra/graph'
make[4]: *** [fpc_smart] Error 2
make[4]: Leaving directory `E:/FPC/trunk/packages/extra/graph'
make[3]: *** [graph_smart] Error 2
make[3]: Leaving directory `E:/FPC/trunk/packages/extra'
make[2]: *** [extra_smart] Error 2
make[2]: Leaving directory `E:/FPC/trunk/packages'
make[1]: *** [packages_extra_smart] Error 2
make[1]: Leaving directory `E:/FPC/trunk'
make: *** [build-stamp.i386-win32] Error 2
 
E:\FPC\trunk>


Gibt es eigentlich ne Mindestversion, die als FPC installiert sein muss, um das aktuelle SVN kompilieren zu können? Oder anders ausgedrückt, kann beispielsweise ein FPC 2.0.4 den 2.1.4er erstellen, oder muss man sich qusai häppchenweise nach oben arbeiten?
Johannes

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Nein, der fpc 2.0.4 kann alles aktuelle compilieren. Ich übersetz meinen 2.3.1 immer mit nem fpc 2.0.4 wenn ich n frisches system hab.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6217
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:

Beitrag von af0815 »

Es geht lt. FPC Dokus mit fast jeden Pascalcompiler als 'Bootsstrapcompiler'. Aber durch die Errors mußt du durch. Was kommt ein paar Zeilen vorher. Denn was du zeigst ist schon der Error selbst, nicht aber die Historie.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

naja, momentan läuft der 2.1.4.

Mit dem wollte ich das aktuelle SVN erstellen. Unten nochmal ne ausführlichere Ausgabe:

Code: Alles auswählen

make[4]: Entering directory `E:/FPC/trunk/packages/extra/graph'
make all LINKSMART=1 CREATESMART=1
make[5]: Entering directory `E:/FPC/trunk/packages/extra/graph'
E:/FPC/trunk/compiler/ppc386.exe -XX -CX -Ur -Xs -O2 -n -S2 -FuE:/FPC/trunk/rtl/
units/i386-win32 -FuE:/FPC/trunk/packages/base/pthreads -FuE:/FPC/trunk/packages
/extra/x11 -FuE:/FPC/trunk/packages/extra/sdl/units/i386-win32 -Fiwin32 -Fiinc -
FE. -FUunits/i386-win32 -di386 -dRELEASE -Iinc win32/graph.pp
E:/FPC/trunk/compiler/ppc386.exe -XX -CX -Ur -Xs -O2 -n -S2 -FuE:/FPC/trunk/rtl/
units/i386-win32 -FuE:/FPC/trunk/packages/base/pthreads -FuE:/FPC/trunk/packages
/extra/x11 -FuE:/FPC/trunk/packages/extra/sdl/units/i386-win32 -Fiwin32 -Fiinc -
FE. -FUunits/i386-win32 -di386 -dRELEASE win32/wincrt.pp
E:/FPC/trunk/compiler/ppc386.exe -XX -CX -Ur -Xs -O2 -n -S2 -FuE:/FPC/trunk/rtl/
units/i386-win32 -FuE:/FPC/trunk/packages/base/pthreads -FuE:/FPC/trunk/packages
/extra/x11 -FuE:/FPC/trunk/packages/extra/sdl/units/i386-win32 -Fiwin32 -Fiinc -
FE. -FUunits/i386-win32 -di386 -dRELEASE win32/winmouse.pp
E:/FPC/trunk/compiler/ppc386.exe -XX -CX -Ur -Xs -O2 -n -S2 -FuE:/FPC/trunk/rtl/
units/i386-win32 -FuE:/FPC/trunk/packages/base/pthreads -FuE:/FPC/trunk/packages
/extra/x11 -FuE:/FPC/trunk/packages/extra/sdl/units/i386-win32 -Fiwin32 -Fiinc -
FE. -FUunits/i386-win32 -di386 -dRELEASE -Iinc sdlgraph/sdlgraph.pp
graph.inc(2118,20) Error: Identifier not found "charmessagehandler"
sdlgraph.pp(947) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
make[5]: *** [sdlgraph.ppu] Error 1
make[5]: Leaving directory `E:/FPC/trunk/packages/extra/graph'
make[4]: *** [fpc_smart] Error 2
make[4]: Leaving directory `E:/FPC/trunk/packages/extra/graph'
make[3]: *** [graph_smart] Error 2
make[3]: Leaving directory `E:/FPC/trunk/packages/extra'
make[2]: *** [extra_smart] Error 2
make[2]: Leaving directory `E:/FPC/trunk/packages'
make[1]: *** [packages_extra_smart] Error 2
make[1]: Leaving directory `E:/FPC/trunk'
make: *** [build-stamp.i386-win32] Error 2
Johannes

Antworten