[gelöst] Lazarus trunk kompilieren mit fpc trunk

Für Fragen rund um die Ide und zum Debugger
Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4150
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

[gelöst] Lazarus trunk kompilieren mit fpc trunk

Beitrag von af0815 »

Ich habe ein Problem wenn ich Lazarus (Trunk) mit dem aktuellen fpc (Trunk) kompilieren will

Code: Alles auswählen

Lazarus-Quelltext aufräumen: Erfolg
............. a lot of stuff deleted ..............
fgl.pp(1547,1) Hint: "inherited" not yet supported inside inline procedure/function
fgl.pp(1547,1) Hint: Inlining disabled
fgl.pp(1562,1) Hint: "inherited" not yet supported inside inline procedure/function
fgl.pp(1562,1) Hint: Inlining disabled
fgl.pp(1567,1) Hint: "inherited" not yet supported inside inline procedure/function
fgl.pp(1567,1) Hint: Inlining disabled
fgl.pp(1572,1) Hint: "inherited" not yet supported inside inline procedure/function
fgl.pp(1572,1) Hint: Inlining disabled
lazarus.pp(158,1) Error: Compilation raised exception internally
Fatal: No memory left
 


Was soll ich mit der Fehlermeldung anfangen ?! Bzw. was kann ich dagegen tun ?

Edit:

Code: Alles auswählen

make: Entering directory `C:/Data/lazarus'
C:/Data/development/fpctrunk/fpc/bin/i386-win32/make -C ide idepkg
make[1]: Entering directory `C:/Data/lazarus/ide'
../tools/svn2revisioninc.exe .. revision.inc
Created C:\Data\lazarus\ide\revision.inc for revision: 54106M
C:/Data/development/fpctrunk/fpc/bin/i386-win32/make --assume-new=lazarus.pp lazarus.exe OPT=' -WG @C:\Users\andi\AppData\Local\lazarus\idemake.cfg'
make[2]: Entering directory `C:/Data/lazarus/ide'
C:/Data/development/fpctrunk/fpc/bin/i386-win32/fpc.exe -gl -vbqewnhi -Sci -dlclwin32 -Fu../designer -Fu../debugger -Fu../debugger/frames -Fu../converter -Fu../packager -Fu../packager/frames -Fu../components/custom -Fuinclude/win -Fuframes -Fu. -Fiinclude -Fiinclude/win32 -Fi../images -FE.. -FU../units/i386-win32/win32 -WG @C:\Users\andi\AppData\Local\lazarus\idemake.cfg -di386 lazarus.pp
Hint: (11030) Start of reading config file C:\Data\development\fpctrunk\fpc\bin\i386-win32\fpc.cfg
Hint: (11031) End of reading config file C:\Data\development\fpctrunk\fpc\bin\i386-win32\fpc.cfg
Hint: (11030) Start of reading config file C:\Users\andi\AppData\Local\lazarus\idemake.cfg
Hint: (11031) End of reading config file C:\Users\andi\AppData\Local\lazarus\idemake.cfg
Free Pascal Compiler version 3.1.1 [2017/02/07] for i386
Copyright (c) 1993-2017 by Florian Klaempfl and others
(1002) Target OS: Win32 for i386
(3104) Compiling lazarus.pp
C:\Data\lazarus\ide\lazarus.pp(108,20) Warning: (5044) Symbol "MainFormOnTaskBar" is not portable
(9022) Compiling resource C:\Data\lazarus\units\i386-win32\win32\lazarus.or
(9015) Linking ..\lazarus.exe
C:\Data\lazarus\ide\lazarus.pp(158,1) Error: (1026) Compilation raised exception internally
Fatal: (1009) No memory left
Error: C:\Data\development\fpctrunk\fpc\bin\i386-win32\ppc386.exe returned an error exitcode
make[2]: *** [lazarus.exe] Error 1
make[2]: Leaving directory `C:/Data/lazarus/ide'
make[1]: *** [idepkg] Error 2
make[1]: Leaving directory `C:/Data/lazarus/ide'
make: *** [idepkg] Error 2
make: Leaving directory `C:/Data/lazarus'
 
Zuletzt geändert von af0815 am So 12. Mär 2017, 16:00, insgesamt 1-mal geändert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

shokwave
Beiträge: 434
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win10 (L 1.6 FPC 3.0.0)
CPU-Target: i386,x64
Wohnort: Rudolstadt

Re: Lazarus trunk kompilieren mit fpc trunk

Beitrag von shokwave »

Hi,

bei mir läuft es durch, bin auf Win10 64bit unterwegs, benutze aber auch einen 32bit fpc.

Code: Alles auswählen

fgl.pp(1572,1) Hint: "inherited" not yet supported inside inline procedure/function
fgl.pp(1572,1) Hint: Inlining disabled

Die Zeilen kommen bei mir auch, also nicht das Problem.

Code: Alles auswählen

Fatal: No memory left

Die Ursache liegt wohl eher hier. Wie siehts bei dir mit Ram aus?
mfg Ingo

marcov
Beiträge: 1072
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: Lazarus trunk kompilieren mit fpc trunk

Beitrag von marcov »

Hier gehst auch. (win32 build auf win64 system) Kann aber Komponente, settings sein.

Versuch mal alle .o und .ppu zu entfernen aus dem lazarus dir, und dann neu zu compilieren. Im Notfall settings entfernen, und neu einstellen.

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

Re: Lazarus trunk kompilieren mit fpc trunk

Beitrag von af0815 »

shokwave hat geschrieben:

Code: Alles auswählen

Fatal: No memory left

Die Ursache liegt wohl eher hier. Wie siehts bei dir mit Ram aus?


24GB :-) Ich tippe auf Heap.
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: 4150
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Lazarus trunk kompilieren mit fpc trunk

Beitrag von af0815 »

marcov hat geschrieben:Hier gehst auch. (win32 build auf win64 system) Kann aber Komponente, settings sein.


Ich habe natürlich einige Komponenten in Verwendung. Wenn ich die Config komplett neu mache, Lazarus ohne Pakete compiliere geht es hier auch. (Win10/64, Win32 Lazarus)

Der Hauptspeicher kann es NICHT sein. die 3GB (von 24GB) werden nicht ansatzweise verbraucht, ich tippe eher das den Heap vom fpc, wie hier beschrieben.

Code: Alles auswählen

If the previous two don’t work, recompile the compiler with a bigger heap. (You can use the -Ch option for this, -Ch (see page 103).)

Quelle: http://www.freepascal.org/docs-html/3.0.0/user/userse60.html

Wie kann ich das "-Chxxxx' beim Erstellen vom fpc mitgeben (fpcup) und vor allen was ist normalerweise default ?

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 3257
Registriert: Fr 8. Apr 2011, 09:01

Re: Lazarus trunk kompilieren mit fpc trunk

Beitrag von wp_xyz »

af0815 hat geschrieben:Ich habe natürlich einige Komponenten in Verwendung. Wenn ich die Config komplett neu mache, Lazarus ohne Pakete compiliere geht es hier auch. (Win10/64, Win32 Lazarus)

Dann würde ich auf eine der Komponenten wetten. Hast du schon versucht, die Komponenten einzeln, eine nach der anderen, zu installieren, dann würdest du sehen, welches Package das schuldige ist. Die Rückmeldung wäre für den Package-Maintainer sicher sehr hilfreich.

marcov
Beiträge: 1072
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: Lazarus trunk kompilieren mit fpc trunk

Beitrag von marcov »

af0815 hat geschrieben:
marcov hat geschrieben:Hier gehst auch. (win32 build auf win64 system) Kann aber Komponente, settings sein.


Ich habe natürlich einige Komponenten in Verwendung. Wenn ich die Config komplett neu mache, Lazarus ohne Pakete compiliere geht es hier auch. (Win10/64, Win32 Lazarus)


Das ist was ich erwarten wurde. Out of memory errors bekommt man auch wenn etwas sich rekursiv anruft (stack ist dann voll).

Also vergiss Memory, und betrachte es als access violation. Und wie gesagt wenn mir das passiert (typisch wenn ich eine ältere Lazarus Installation aktualisiere), dann mach ich alles neu (alle .o .ppu raus + neue configuration), und 9 von 10 funktioniert es dann wieder.

Ich würde sehr dankbar wenn es ein weg gab nur ein teil der Konfiguration neu zu machen. (zb session info raus, aber settings behalten)

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

Re: Lazarus trunk kompilieren mit fpc trunk

Beitrag von af0815 »

marcov hat geschrieben:(typisch wenn ich eine ältere Lazarus Installation aktualisiere)


Es war keine Lazarusaktualisierung, sondern nur der FPC wurde auf Trunk umgeschalten. Deshalb habe ich auch Lazarus neu kompiliert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 3257
Registriert: Fr 8. Apr 2011, 09:01

Re: Lazarus trunk kompilieren mit fpc trunk

Beitrag von wp_xyz »

"Tools" / "Rescan FPC source directory" ?

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

Re: Lazarus trunk kompilieren mit fpc trunk

Beitrag von af0815 »

wp_xyz hat geschrieben:"Tools" / "Rescan FPC source directory" ?


Das sowieso. Ich habe gerade mir ein Paket gemacht, will einbinden -> Fatal: No memory left

Nur mit Trunk -> stable geht immer.

Code: Alles auswählen

Free Pascal Compiler version 3.1.1 [2017/02/07] for i386
Copyright (c) 1993-2017 by Florian Klaempfl and others
(1002) Target OS: Win32 for i386
(3104) Compiling lr_extexp.pas
(3104) Compiling lr_e_img.pas
(3104) Compiling lr_e_htmldiv.pas
(3104) Compiling lr_e_extreg.pas
(1008) 470 lines compiled, 1.2 sec
(1022) 2 hint(s) issued
make: Entering directory `C:/Data/lazarus'
C:/Data/development/fpctrunk/fpc/bin/i386-win32/make -C ide idepkg
make[1]: Entering directory `C:/Data/lazarus/ide'

../tools/svn2revisioninc.exe .. revision.inc
Created C:\Data\lazarus\ide\revision.inc for revision: 54106M
C:/Data/development/fpctrunk/fpc/bin/i386-win32/make --assume-new=lazarus.pp lazarus.exe OPT=' -WG @C:\Users\andi\AppData\Local\lazarus\idemake.cfg'
make[2]: Entering directory `C:/Data/lazarus/ide'
C:/Data/development/fpctrunk/fpc/bin/i386-win32/fpc.exe -gl -vbqewnhi -Sci -dlclwin32 -Fu../designer -Fu../debugger -Fu../debugger/frames -Fu../converter -Fu../packager -Fu../packager/frames -Fu../components/custom -Fuinclude/win -Fuframes -Fu. -Fiinclude -Fiinclude/win32 -Fi../images -FE.. -FU../units/i386-win32/win32 -WG @C:\Users\andi\AppData\Local\lazarus\idemake.cfg -di386 lazarus.pp
Hint: (11030) Start of reading config file C:\Data\development\fpctrunk\fpc\bin\i386-win32\fpc.cfg
Hint: (11031) End of reading config file C:\Data\development\fpctrunk\fpc\bin\i386-win32\fpc.cfg
Hint: (11030) Start of reading config file C:\Users\andi\AppData\Local\lazarus\idemake.cfg
Hint: (11031) End of reading config file C:\Users\andi\AppData\Local\lazarus\idemake.cfg
Free Pascal Compiler version 3.1.1 [2017/02/07] for i386
Copyright (c) 1993-2017 by Florian Klaempfl and others
(1002) Target OS: Win32 for i386
(3104) Compiling lazarus.pp
C:\Data\lazarus\ide\lazarus.pp(108,20) Warning: (5044) Symbol "MainFormOnTaskBar" is not portable
(9022) Compiling resource C:\Data\lazarus\units\i386-win32\win32\lazarus.or
(9015) Linking ..\lazarus.exe
C:\Data\lazarus\ide\lazarus.pp(158,1) Error: (1026) Compilation raised exception internally
Fatal: (1009) No memory left
Error: C:\Data\development\fpctrunk\fpc\bin\i386-win32\ppc386.exe returned an error exitcode
make[2]: *** [lazarus.exe] Error 1
make[2]: Leaving directory `C:/Data/lazarus/ide'

make[1]: *** [idepkg] Error 2
make[1]: Leaving directory `C:/Data/lazarus/ide'
make: *** [idepkg] Error 2
make: Leaving directory `C:/Data/lazarus'

 
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: 4150
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Lazarus trunk kompilieren mit fpc trunk

Beitrag von af0815 »

Jetzt geht es. Ich habe die fpc.cfg geändert und den fpc neu kompiliert. Heap von ?? auf 32MB gesetzt. Ich hatte keine Ahnung was default ist. mit fpc -i habe ich auch nicht herausgefunden.

Code: Alles auswählen

# ---------------
# Code generation
# ---------------
 
# Uncomment the next line if you always want static/dynamic units by default
# (can be overruled with -CD, -CS at the commandline)
#-CS
#-CD
 
# Set the default heapsize to 8Mb
-Ch32000000
 
# Set default codegeneration checks (iocheck, overflow, range, stack)
#-Ci
#-Co
#-Cr
#-Ct
 
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: 4150
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Lazarus trunk kompilieren mit fpc trunk

Beitrag von af0815 »

Gelöst:
Der Fehler beim linken kommt nur in Win32.

Es gibt einen fix, man muss den fpc patchen und selbst übersetzen.

Aus der Mailingliste:

Code: Alles auswählen

One change is in the pp.pas aroud line 150. Now i patched the actual 
trunk 35551. Now fpc compiles the 'Big' Lazarus for me.
 
Andreas

Code: Alles auswählen

 
{$ifdef win32}
   { 256 MB stack }
   { under windows the stack can't grow }
   {$MAXSTACKSIZE 256000000}
   {$setpeflags $20} //<--- hier
{$else win32}
   {$ifdef win64}
     { 512 MB stack }
     { under windows the stack can't grow }
     {$MAXSTACKSIZE 512000000}
   {$else win64}
     { 1 MB stack }
     {$MINSTACKSIZE 1000000}
   {$endif win64}
{$endif win32}
 


Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mathias
Beiträge: 4864
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Lazarus trunk kompilieren mit fpc trunk

Beitrag von Mathias »

Was auch schon genutzt hat, 2-3 Tage warten. Die Trunk ist nicht immer fehlerfrei.

PS: Habe vorhin Linux 64 Bit übersetzt, ging anstandslos.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

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

Re: Lazarus trunk kompilieren mit fpc trunk

Beitrag von af0815 »

Mathias hat geschrieben:Was auch schon genutzt hat, 2-3 Tage warten. Die Trunk ist nicht immer fehlerfrei.

PS: Habe vorhin Linux 64 Bit übersetzt, ging anstandslos.

Ist auch nur auf 32Bit Windows aufgetreten, wenn man eine schwergewichtigere IDE hat. Das mit dem Trunk zieht sich schon seit Dezember hin (zumindest bei mir), also auch nix mit 2-3 Tage warten. Und vor allen benötige ich die Generics und die gibts NUR im Trunk.
Ich habe von der Mailingliste einen Tip bekommen, das CodeTyphoon das gefixt haben soll. Also habe ich mir angesehen was dort alles geändert wurde. Und das war die einzige sinnvolle Stelle, wo das Symptom mit der Lösung zusammenstimmt. Schaut so aus, als würde der Linker vom FPC langsam an seine Grenzen stoßen bei Win32.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mathias
Beiträge: 4864
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Lazarus trunk kompilieren mit fpc trunk

Beitrag von Mathias »

Und vor allen benötige ich die Generics und die gibts NUR im Trunk.

Ist dies im kürzlich erschienen FPC 3.0.2 nicht enthalten ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

Antworten