[gelöst] Lazarus trunk kompilieren mit fpc trunk

Für Fragen rund um die Ide und zum Debugger

[gelöst] Lazarus trunk kompilieren mit fpc trunk

Beitragvon af0815 » 7. Feb 2017, 09:39 [gelöst] Lazarus trunk kompilieren mit fpc trunk

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 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).
af0815
 
Beiträge: 3851
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 shokwave » 7. Feb 2017, 15:24 Re: Lazarus trunk kompilieren mit fpc trunk

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
shokwave
 
Beiträge: 419
Registriert: 15. Nov 2007, 16:58
Wohnort: Rudolstadt
OS, Lazarus, FPC: Win10 (L 1.6 FPC 3.0.0) | 
CPU-Target: i386,x64
Nach oben

Beitragvon marcov » 7. Feb 2017, 15:34 Re: Lazarus trunk kompilieren mit fpc trunk

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.
marcov
 
Beiträge: 1061
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 » 7. Feb 2017, 16:52 Re: Lazarus trunk kompilieren mit fpc trunk

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).
af0815
 
Beiträge: 3851
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 » 7. Feb 2017, 17:16 Re: Lazarus trunk kompilieren mit fpc trunk

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).
af0815
 
Beiträge: 3851
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 wp_xyz » 7. Feb 2017, 17:28 Re: Lazarus trunk kompilieren mit fpc trunk

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.
wp_xyz
 
Beiträge: 3043
Registriert: 8. Apr 2011, 08:01

Beitragvon marcov » 7. Feb 2017, 17:43 Re: Lazarus trunk kompilieren mit fpc trunk

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)
marcov
 
Beiträge: 1061
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 » 7. Feb 2017, 22:01 Re: Lazarus trunk kompilieren mit fpc trunk

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).
af0815
 
Beiträge: 3851
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 wp_xyz » 7. Feb 2017, 22:46 Re: Lazarus trunk kompilieren mit fpc trunk

"Tools" / "Rescan FPC source directory" ?
wp_xyz
 
Beiträge: 3043
Registriert: 8. Apr 2011, 08:01

Beitragvon af0815 » 8. Feb 2017, 12:09 Re: Lazarus trunk kompilieren mit fpc trunk

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).
af0815
 
Beiträge: 3851
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 » 8. Feb 2017, 12:45 Re: Lazarus trunk kompilieren mit fpc trunk

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).
af0815
 
Beiträge: 3851
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. Mär 2017, 19:02 Lazarus trunk kompilieren mit fpc trunk

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).
af0815
 
Beiträge: 3851
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 Mathias » 9. Mär 2017, 19:59 Re: Lazarus trunk kompilieren mit fpc trunk

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
Mathias
 
Beiträge: 4394
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon af0815 » 9. Mär 2017, 23:05 Re: Lazarus trunk kompilieren mit fpc trunk

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).
af0815
 
Beiträge: 3851
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 Mathias » 9. Mär 2017, 23:13 Re: Lazarus trunk kompilieren mit fpc trunk

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
Mathias
 
Beiträge: 4394
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

» Weitere Beiträge siehe nächste Seite »
Nächste

Zurück zu Benutzung der IDE



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried