Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2011-09

Spurious package rebuild

15 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Mark Morgan Lloyd

I'm in the habit of building Lazarus from clean using make bigide rather than rebuilding from inside the IDE. Part of the reason for that is that until recently a couple of the platforms I use here (SPARC and ARM) did not have a functional IDE due to alignment issues.

Over the last few weeks I've noticed that the first project I build inside the IDE also (re)builds a number of packages before it gets onto the project, this takes a significant amount of time on a tight system and is particularly inefficient since a chunk of RAM is occupied by the IDE.

If these packages are being rebuilt, what can be done to force them to be built correctly during the initial make?

If they are not being rebuilt, what needs to be done to force them to be built during the initial make?

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Mark Morgan Lloyd
to Mark Morgan Lloyd
Mark Morgan Lloyd wrote 16 lines
I'm in the habit of building Lazarus from clean using make bigide rather than rebuilding from inside the IDE. Part of the reason for that is that until recently a couple of the platforms I use here (SPARC and ARM) did not have a functional IDE due to alignment issues. Over the last few weeks I've noticed that the first project I build inside the IDE also (re)builds a number of packages before it gets onto the project, this takes a significant amount of time on a tight system and is particularly inefficient since a chunk of RAM is occupied by the IDE. If these packages are being rebuilt, what can be done to force them to be built correctly during the initial make? If they are not being rebuilt, what needs to be done to force them to be built during the initial make?

I missed a bit. This is Lazarus trunk on FPC 2.7.1, and at the start of the project build (i.e. the point at which I tell it to build an app) the console shows

[TMainIDE.DoRunProject] A
TMainIDE.DoInitProjectRun A True 0
TMainIDE.DoInitProjectRun B
TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile Compiler custom params changed for FCL 1.0.1
Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l fcllaz.pas" Now=" -MObjFPC -Scghi -O1 -gw2 -godwarfsets -gl -vewnhi -l -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas"

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Mattias Gaertner
to Mark Morgan Lloyd
Show quoted text 6 lines
[...] TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile Compiler custom params changed for FCL 1.0.1 Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l fcllaz.pas" Now=" -MObjFPC -Scghi -O1 -gw2 -godwarfsets -gl -vewnhi -l -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas"

Either use lazbuild to build the packages.
Or remove the options from the 'Configure build lazarus' dialog to compile the same as 'make'.

Mattias

Reply by email

Martin
to Mattias Gaertner
Mattias Gaertner wrote 13 lines
On Thu, 22 Sep 2011 14:02:05 +0000 Mark Morgan Lloyd wrote: > [...] > TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile Compiler custom params > changed for FCL 1.0.1 > Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l fcllaz.pas" > Now=" -MObjFPC -Scghi -O1 -gw2 -godwarfsets -gl -vewnhi -l -gw -gl > -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas" Either use lazbuild to build the packages. Or remove the options from the 'Configure build lazarus' dialog to compile the same as 'make'.

Actually this is a temporary problem.

The makefiles will need to be updated, as soon as the current work on the compiler option dialog is finished.
Every package uses the compileroption dialog. And that has changed the default

Reply by email

Mark Morgan Lloyd
to Martin
Martin wrote 21 lines
On 22/09/2011 17:16, Mattias Gaertner wrote: > On Thu, 22 Sep 2011 14:02:05 +0000 > Mark Morgan Lloyd wrote: > >> [...] >> TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile Compiler custom params >> changed for FCL 1.0.1 >> Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l fcllaz.pas" >> Now=" -MObjFPC -Scghi -O1 -gw2 -godwarfsets -gl -vewnhi -l -gw -gl >> -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas" > Either use lazbuild to build the packages. > Or remove the options from the 'Configure build lazarus' dialog to > compile the same as 'make'. > Actually this is a temporary problem. The makefiles will need to be updated, as soon as the current work on the compiler option dialog is finished. Every package uses the compileroption dialog. And that has changed the default

Thanks Martin and Mattias, so in effect it's something best tolerated for the moment.

Are the options used when compiling FPC itself relevant?

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Martin
to Mark Morgan Lloyd
Mark Morgan Lloyd wrote 29 lines
Martin wrote: > On 22/09/2011 17:16, Mattias Gaertner wrote: >> On Thu, 22 Sep 2011 14:02:05 +0000 >> Mark Morgan Lloyd wrote: >> >>> [...] >>> TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile Compiler custom >>> params >>> changed for FCL 1.0.1 >>> Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l fcllaz.pas" >>> Now=" -MObjFPC -Scghi -O1 -gw2 -godwarfsets -gl -vewnhi -l -gw -gl >>> -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas" >> Either use lazbuild to build the packages. >> Or remove the options from the 'Configure build lazarus' dialog to >> compile the same as 'make'. >> > > Actually this is a temporary problem. > > The makefiles will need to be updated, as soon as the current work on > the compiler option dialog is finished. > Every package uses the compileroption dialog. And that has changed > the default Thanks Martin and Mattias, so in effect it's something best tolerated for the moment. Are the options used when compiling FPC itself relevant?

I don't think so.

Actually to be noted that your diffs seem more than just the change of compiler-options-dialog

Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l fcllaz.pas" Now=" -MObjFPC -Scghi -O1 -gw2 -godwarfsets -gl -vewnhi -l -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas"

the first "-gl" versus "-gw -godwarfset" is the option dialog. The rest is something you must have put in somewhere.

Also seeing the -gw -godwarsets twice => I guess you already had that in there before?

Reply by email

cobines
to Martin

2011/9/22 Martin :

Show quoted text 6 lines
? ?Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l fcllaz.pas" ? ?Now=" -MObjFPC -Scghi -O1 -gw2 -godwarfsets -gl -vewnhi -l -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas" the first "-gl" versus "-gw -godwarfset" is the option dialog. The rest is something you must have put in somewhere.

I have the same. Somehow "-gw2 -godwarfsets" is added automatically. I searched everywhere, only Makefiles from some components in Lazarus have this, I have no other files containing it.

I have "-gs -gl" in build lazarus options. I don't have "-gw2 -godwarfsets" there or in fpc.cfg. I checked with clean profile too.

"make lcl" builds LCL with "-gl" only (as per lcl/Makefile). I checked LCLBase.compiled.

Then I start IDE, new project, build it, and it rebuilds FCL, LCL:

Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l fcllaz.pas" Now=" -MObjFPC -Scghi -O1 -gw2 -godwarfsets -gl -vewnhi -l -gs -gl fcllaz.pas"

As you see it put in "-gs -gl" from my build lazarus options box but "-gw2 -godwarfsets" I don't know where it comes from.

cobines

Reply by email

Martin
to cobines

Open the package, look at the compileroptions of the package. It will be in there.

The problem is:it is yet missing in the Makefiles.

cobines wrote 33 lines
2011/9/22 Martin: > Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l fcllaz.pas" > Now=" -MObjFPC -Scghi -O1 -gw2 -godwarfsets -gl -vewnhi -l -gw -gl > -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas" > > the first "-gl" versus "-gw -godwarfset" is the option dialog. The rest is > something you must have put in somewhere. I have the same. Somehow "-gw2 -godwarfsets" is added automatically. I searched everywhere, only Makefiles from some components in Lazarus have this, I have no other files containing it. I have "-gs -gl" in build lazarus options. I don't have "-gw2 -godwarfsets" there or in fpc.cfg. I checked with clean profile too. "make lcl" builds LCL with "-gl" only (as per lcl/Makefile). I checked LCLBase.compiled. Then I start IDE, new project, build it, and it rebuilds FCL, LCL: Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l fcllaz.pas" Now=" -MObjFPC -Scghi -O1 -gw2 -godwarfsets -gl -vewnhi -l -gs -gl fcllaz.pas" As you see it put in "-gs -gl" from my build lazarus options box but "-gw2 -godwarfsets" I don't know where it comes from. -- cobines -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

cobines
to Martin

2011/9/22 Martin :

Open the package, look at the compileroptions of the package. It will be in there. The problem is:it is yet missing in the Makefiles.

Ah, I see. It is not explicitly stated in lclbase.lpk because it is the default value now. But I open lclbase.lpk in IDE, in Linking page the debugging info is set to "Automatic (Dwarf with Sets(-gw -godwarfsets))". So that must be it.

cobines

Reply by email

Mark Morgan Lloyd
to Martin: I don't think so. Actually to be noted that your diffs seem more than just the change of…
Martin wrote 45 lines
On 22/09/2011 18:46, Mark Morgan Lloyd wrote: > Martin wrote: >> On 22/09/2011 17:16, Mattias Gaertner wrote: >>> On Thu, 22 Sep 2011 14:02:05 +0000 >>> Mark Morgan Lloyd wrote: >>> >>>> [...] >>>> TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile Compiler custom >>>> params >>>> changed for FCL 1.0.1 >>>> Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l fcllaz.pas" >>>> Now=" -MObjFPC -Scghi -O1 -gw2 -godwarfsets -gl -vewnhi -l -gw -gl >>>> -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas" >>> Either use lazbuild to build the packages. >>> Or remove the options from the 'Configure build lazarus' dialog to >>> compile the same as 'make'. >>> >> >> Actually this is a temporary problem. >> >> The makefiles will need to be updated, as soon as the current work on >> the compiler option dialog is finished. >> Every package uses the compileroption dialog. And that has changed >> the default > > Thanks Martin and Mattias, so in effect it's something best tolerated > for the moment. > > Are the options used when compiling FPC itself relevant? > I don't think so. Actually to be noted that your diffs seem more than just the change of compiler-options-dialog Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l fcllaz.pas" Now=" -MObjFPC -Scghi -O1 -gw2 -godwarfsets -gl -vewnhi -l -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas" the first "-gl" versus "-gw -godwarfset" is the option dialog. The rest is something you must have put in somewhere. Also seeing the -gw -godwarsets twice => I guess you already had that in there before?

Not as far as I know. The compiler was built with NOGDB=1 OPT='-O- -gl -vt', Lazarus with LCL_PLATFORM=gtk2 bigide, ~/.lazarus was wiped before the run and I've not intentionally changed anything in the project options except for a couple of -d settings.

Grepping in the project directory for dwarfsets gives me only

HeavyWethers.compiled: <Params Value=" -MObjFPC -Scagi -O1 -gw2 -godwarfsets -gl -vewnhi -Se3 -l ... -dLCL -dLCLgtk2 HeavyWethers.lpr"/>

with the omitted bit being -Fi options etc.

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Mattias Gaertner
to Ing. Héctor F. Fiandor Rosario: Dear colleagues: i have downloaded from http://www.freepascal.org/download.var the file…
Show quoted text 8 lines
Dear colleagues: i have downloaded from http://www.freepascal.org/download.var the file fpc-2.4.4.i386-win32.exe and the file fpc-2.4.4.i386-win64.exe and when installed the win32 version, i obtained an icon in the desktop and a folder in C:\FPC\2.4.4 but when i execute, i dont obtain the interface of Lazarus, i obtain the Compiler interface.

FPC is the Free Pascal Compiler.
Lazarus is an IDE for FPC. Both projects are closely related but not the same.

http://www.lazarus.freepascal.org/

See Downloads or daily snapshots.
The Lazarus Windows installer comes bundled with FPC.

i will appreciate very much if somebody can furnish me the url to obtain the correct version. Now i was using the 2.2.3 version.

Mattias

Reply by email

Ing. Héctor F. Fiandor Rosario
to Mattias Gaertner: On Thu, 22 Sep 2011 14:02:05 +0000 Either use lazbuild to build the packages. Or remove…

Dear colleagues:

i have downloaded from http://www.freepascal.org/download.var the file fpc-2.4.4.i386-win32.exe and the file fpc-2.4.4.i386-win64.exe and when installed the win32 version, i obtained an icon in the desktop and a folder in C:\FPC\2.4.4
but when i execute, i dont obtain the interface of Lazarus, i obtain the Compiler interface.

i will appreciate very much if somebody can furnish me the url to obtain the correct version. Now i was using the 2.2.3 version.

thanks in advance,

Ing. H?ctor F. Fiandor Rosario

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

Ing. Héctor F. Fiandor Rosario
to Mattias Gaertner: On Thu, 22 Sep 2011 17:42:34 -0500 FPC is the Free Pascal Compiler. Lazarus is an IDE for…

Dear Mattias, thanks very much.

Ing. H?ctor F. Fiandor Rosario

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

Ing. Héctor F. Fiandor Rosario

Dear Mattias, thanks very much.

Ing. H?ctor F. Fiandor Rosario

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

Martin
to cobines: 2011/9/22 Martin : Ah, I see. It is not explicitly stated in lclbase.lpk because it is…
cobines wrote 10 lines
2011/9/22 Martin: > Open the package, look at the compileroptions of the package. > It will be in there. > > The problem is:it is yet missing in the Makefiles. Ah, I see. It is not explicitly stated in lclbase.lpk because it is the default value now. But I open lclbase.lpk in IDE, in Linking page the debugging info is set to "Automatic (Dwarf with Sets(-gw -godwarfsets))". So that must be it.

Problem should be solved.
Automatic is now "-g", so options should match.

Unfortunately, improving the default turned out to require more work, than I currently have time for.

As for inspecting properties (those that map to fields) : Or any other dwarf benefit (now or future), people will have to switch to dwarf them self (unless they are on a platform where fpc defaults to dwarf)

Reply by email