Sign in Join

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

Mailing lists / lazarus / 2015-03

suggestion for lazbuild

43 messages · 8 people · –

Reply by email Subscribe to this list Your subscription

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

FreeMan

Is it possible add parameter for hide verbose ".... not used" hint I don't need see every build, a lot off sender not used info on terminal. --quiet parameter not hide this hints.
Thank you.

Reply by email

Henry Vermaak
to FreeMan
FreeMan wrote
Is it possible add parameter for hide verbose ".... not used" hint I don't need see every build, a lot off sender not used info on terminal. --quiet parameter not hide this hints.

Hide these hints by setting the options in the Verbosity section of the compiler options. You can make a quiet build mode and use --build-mode to select it from the command line. I have a noisy debug mode and a quiet release mode, for example.

What annoys me is the "TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile" messages, despite the --quiet option passed.

Henry

Reply by email

FreeMan
to Henry Vermaak
Henry Vermaak wrote
Hide these hints by setting the options in the Verbosity section of the compiler options. You can make a quiet build mode and use --build-mode to select it from the command line. I have a noisy debug mode and a quiet release mode, for example.

Sorry Henry, But I didn't understand clearly. I'm talk about in command line, parameter of lazbuild. This is my commandline,

./lazbuild --pcp=/Users/freeman/.lazarus _*--quiet*_ --build-all --skip-dependencies --build-ide= --ws=qt--cpu=x86_64

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150317/1463a4c9/attachment.html>

Reply by email

Henry Vermaak
to FreeMan
FreeMan wrote 10 lines
On 17.03.2015 16:39, Henry Vermaak wrote: >Hide these hints by setting the options in the Verbosity section of the >compiler options. You can make a quiet build mode and use --build-mode >to select it from the command line. I have a noisy debug mode and a >quiet release mode, for example. Sorry Henry, But I didn't understand clearly. I'm talk about in command line, parameter of lazbuild. This is my commandline, ./lazbuild --pcp=/Users/freeman/.lazarus _*--quiet*_ --build-all --skip-dependencies --build-ide= --ws=qt--cpu=x86_64

Yes, this is to tell _lazbuild_ to be quiet (which it doesn't obey properly, either). The hints you are talking about is coming from the _compiler_, so you have to change the compiler options to silence the warnings.

Henry

Reply by email

FreeMan
to Henry Vermaak: Yes, this is to tell _lazbuild_ to be quiet (which it doesn't obey properly, either). …

make -s clean .......
this my compiler make command line.

Henry Vermaak wrote 24 lines
On Tue, Mar 17, 2015 at 05:38:03PM +0200, FreeMan wrote: > On 17.03.2015 16:39, Henry Vermaak wrote: >> Hide these hints by setting the options in the Verbosity section of the >> compiler options. You can make a quiet build mode and use --build-mode >> to select it from the command line. I have a noisy debug mode and a >> quiet release mode, for example. > Sorry Henry, But I didn't understand clearly. I'm talk about in > command line, parameter of lazbuild. This is my commandline, > > ./lazbuild --pcp=/Users/freeman/.lazarus _*--quiet*_ --build-all > --skip-dependencies --build-ide= --ws=qt--cpu=x86_64 Yes, this is to tell _lazbuild_ to be quiet (which it doesn't obey properly, either). The hints you are talking about is coming from the _compiler_, so you have to change the compiler options to silence the warnings. Henry -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

Henry Vermaak
to FreeMan
FreeMan wrote
make -s clean ....... this my compiler make command line.

Eh? You're using lazbuild, why are you talking about make?

If you are building lazarus with lazbuild, you can add compiler options, under Tools->Configure "Build Lazarus", see "Options". Add the options for the build mode that you're using.

Henry

Reply by email

Mark Morgan Lloyd
to Henry Vermaak: Hide these hints by setting the options in the Verbosity section of the compiler options.…
Henry Vermaak wrote 8 lines
On Tue, Mar 17, 2015 at 04:28:06PM +0200, FreeMan wrote: > Is it possible add parameter for hide verbose ".... not used" hint I > don't need see every build, a lot off sender not used info on > terminal. > --quiet parameter not hide this hints. What annoys me is the "TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile" messages, despite the --quiet option passed.

What annoys me is that if there's a problem in the IDE it can be difficult (verging on impossible) to construct a consistent set of configuration files that Lazbuild can subsequently use.

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

Mehmet Erol Sanliturk
to Henry Vermaak: Eh? You're using lazbuild, why are you talking about make? If you are building lazarus…
Henry Vermaak wrote 15 lines
On Tue, Mar 17, 2015 at 06:03:15PM +0200, FreeMan wrote: > make -s clean ....... > this my compiler make command line. Eh? You're using lazbuild, why are you talking about make? If you are building lazarus with lazbuild, you can add compiler options, under Tools->Configure "Build Lazarus", see "Options". Add the options for the build mode that you're using. Henry -- _______________________________________________

There is an important problem in Lazarus compilations :

Assume some units only include source files in their interface parts having record types ( i.e. , there is no any declaration statement within unit source and no any entries in their implementation parts ) .

Other units include source files containing procedures and use type declaration units .

If a modification is performed in one of the procedure sources , Lazarus is detecting it and compiling that unit .

BUT

If a new record element is added to one of the records , it is NOT detecting that change and it is using the old compiled .ppu and .o for this type definition source file included unit with a subsequent error message that the newly added element is NOT defined in the respective record .

I am using a batch or shell script file to erase all of the .ppu and .o files before starting the compilation .

Selecting "Build" from Lazarus "Run" menu is starting to build Lazarus itself which is NOT possible because Lazarus is owned by the "root" .

Using -B option seems that it is NOT effective when there are existing .ppu and .o files .

Then the only way is to "clean" existing .ppu or .o files in a selected way .

I do not know why

make -s clean

is used , but implication is that deletion of existing .ppu and .o files are required before starting to compilation .

Thank you very much .

Mehmet Erol Sanliturk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150317/4f305b69/attachment.html>

Reply by email

Mattias Gaertner
to Mehmet Erol Sanliturk
Show quoted text 21 lines
[...] There is an important problem in Lazarus compilations : Assume some units only include source files in their interface parts having record types ( i.e. , there is no any declaration statement within unit source and no any entries in their implementation parts ) . Other units include source files containing procedures and use type declaration units . If a modification is performed in one of the procedure sources , Lazarus is detecting it and compiling that unit . BUT If a new record element is added to one of the records , it is NOT detecting that change and it is using the old compiled .ppu and .o for this type definition source file included unit with a subsequent error message that the newly added element is NOT defined in the respective record .

That sounds more like a FPC bug than Lazarus. Lazarus only checks file dates. If a change is in interface or implementation doesn't matter. Or maybe I misunderstand?

Show quoted text 5 lines
I am using a batch or shell script file to erase all of the .ppu and .o files before starting the compilation . Selecting "Build" from Lazarus "Run" menu is starting to build Lazarus itself which is NOT possible because Lazarus is owned by the "root" .

I'm not sure what you mean 'build Lazarus itself' and 'Lazarus is owned by the "root"'.
Can you give more details?

Using -B option seems that it is NOT effective when there are existing .ppu and .o files .

Do you mean lazbuild -B or fpc -B?

Show quoted text 6 lines
Then the only way is to "clean" existing .ppu or .o files in a selected way . I do not know why make -s clean

-s Silent operation; do not print the commands as they are executed.

is used , but implication is that deletion of existing .ppu and .o files are required before starting to compilation .

'make clean' in Lazarus source directory deletes .ppu and .o files of IDE, lazbuild and bigide components. This is useful, when a source file was removed from a package.

Mattias

Reply by email

Mehmet Erol Sanliturk
to Mattias Gaertner

On Tue, Mar 17, 2015 at 2:12 PM, Mattias Gaertner <

Show quoted text 46 lines
wrote: On Tue, 17 Mar 2015 10:29:11 -0700 Mehmet Erol Sanliturk wrote: >[...] > There is an important problem in Lazarus compilations : > > Assume some units only include source files in their interface parts having > record types ( i.e. , there is no any declaration statement within unit > source and no any entries in their implementation parts ) . > > Other units include source files containing procedures and use type > declaration units . > > > If a modification is performed in one of the procedure sources , Lazarus is > detecting it and compiling that unit . > > BUT > > If a new record element is added to one of the records , it is NOT > detecting that change and it is using the old compiled .ppu and .o for > this type definition source file included unit with > a subsequent error message that the newly added element is NOT defined in > the respective record . That sounds more like a FPC bug than Lazarus. Lazarus only checks file dates. If a change is in interface or implementation doesn't matter. Or maybe I misunderstand? > I am using a batch or shell script file to erase all of the .ppu and .o > files before starting the compilation . > > Selecting "Build" from Lazarus "Run" menu is starting to build Lazarus > itself which is NOT possible because Lazarus is owned by the "root" . I'm not sure what you mean 'build Lazarus itself' and 'Lazarus is owned by the "root"'. Can you give more details?

Units supplied by the Lazarus , i.e. , when Lazarus is installed by the "root" , such as

/usr/lib64/lazarus/

which its owner is "root" .

When "Build" is selected from the "Run" menu of Lazarus , it should NOT include building of units installed by the Lazarus , but units of the user program .

There is a menu item in "Tools" about building the Lazarus itself .

Show quoted text 8 lines
> Using -B option seems that it is NOT effective when there are existing .ppu > and .o files . Do you mean lazbuild -B or fpc -B?

In one of the fields of the Lazarus menus , ( I could not find it now ) I have set -B option to force the compilation in "Build" mode instead of "Make" mode to make it to recognize record element changes : When Lazarus is starting to compile in GUI mode , it is displaying "options changed , ... -B ..."
but it is not taken into consideration the record type changes mentioned above .

I am not using -B option in lazbuild command line statement because I am assuming that .lpi file contains such an option .

I am not using fpc directly to compile the programs : Either by Lazarus GUI or lazbuild through scripts without -B option in the command line with the assumption that it is specified in .lpi file .

Actually , in "Make" mode such changes should be detected .

Deleting .ppu and .o files is causing a compile time more than 17 minutes for me instead of a shorter compilation time .

Show quoted text 26 lines
> Then the only way is to "clean" existing .ppu or .o files in a selected way > . > > I do not know why > > make -s clean -s Silent operation; do not print the commands as they are executed. > is used , but implication is that deletion of existing .ppu and .o files > are required before starting to compilation . 'make clean' in Lazarus source directory deletes .ppu and .o files of IDE, lazbuild and bigide components. This is useful, when a source file was removed from a package. Mattias -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150317/ab78e636/attachment-0001.html>

Reply by email

Mattias Gaertner
to Mehmet Erol Sanliturk: On Tue, Mar 17, 2015 at 2:12 PM, Mattias Gaertner < Units supplied by the Lazarus , i.e.…
Show quoted text 16 lines
On Tue, Mar 17, 2015 at 2:12 PM, Mattias Gaertner < > wrote: > On Tue, 17 Mar 2015 10:29:11 -0700 > Mehmet Erol Sanliturk wrote: > > >[...] > > If a new record element is added to one of the records , it is NOT > > detecting that change and it is using the old compiled .ppu and .o for > > this type definition source file included unit with > > a subsequent error message that the newly added element is NOT defined in > > the respective record . > > That sounds more like a FPC bug than Lazarus. Lazarus only checks file > dates. If a change is in interface or implementation doesn't matter. > Or maybe I misunderstand?

It works here.
Can you give an example?

Mattias

Reply by email

Mattias Gaertner
to Mehmet Erol Sanliturk: On Tue, Mar 17, 2015 at 2:12 PM, Mattias Gaertner < Units supplied by the Lazarus , i.e.…
Show quoted text 20 lines
On Tue, Mar 17, 2015 at 2:12 PM, Mattias Gaertner < > wrote: [...] > > I am using a batch or shell script file to erase all of the .ppu and .o > > files before starting the compilation . > > > > Selecting "Build" from Lazarus "Run" menu is starting to build Lazarus > > itself which is NOT possible because Lazarus is owned by the "root" . > > I'm not sure what you mean 'build Lazarus itself' and 'Lazarus is owned > by the "root"'. > Can you give more details? > Units supplied by the Lazarus , i.e. , when Lazarus is installed by the "root" , such as /usr/lib64/lazarus/ which its owner is "root" .

Ok. So /usr/lib64/lazarus/ is readable by normal users, but not writable. This is normal when you installed for example a deb or rpm package.
The deb/rpm packages install ppu files compiled with a specific Widgetset and some default compiler options.

When "Build" is selected from the "Run" menu of Lazarus , it should NOT include building of units installed by the Lazarus , but units of the user program .

A project can effect the compiler parameters of its packages. For example when you change the widgetset of the project to 'qt'. Or when you add a parameter to 'Configure Build Lazarus'.
You can see what and why packages will be rebuilt in View / IDE Internals / What needs building.
You can see why a package was rebuilt by selecting the message 'Compile package FooBar', then right click / About / About Compile Package FooBar.

Show quoted text 13 lines
There is a menu item in "Tools" about building the Lazarus itself . > > Using -B option seems that it is NOT effective when there are existing > .ppu > > and .o files . > > Do you mean lazbuild -B or fpc -B? > > > In one of the fields of the Lazarus menus , ( I could not find it now ) I have set -B option to force the compilation in "Build" mode instead of "Make" mode to make it to recognize record element changes :

Probably you know, but just making sure: The -B option tells the compiler to recompile every unit, which has a source. Even if the sources have not changed. So basically all units of the project, but no unit of the packages.
Lazarus automatically appends -B when the compiler parameter changes.

When Lazarus is starting to compile in GUI mode , it is displaying "options changed , ... -B ..." but it is not taken into consideration the record type changes mentioned above .

Are the altered units in the project or in a package?

Show quoted text 12 lines
I am not using -B option in lazbuild command line statement because I am assuming that .lpi file contains such an option . I am not using fpc directly to compile the programs : Either by Lazarus GUI or lazbuild through scripts without -B option in the command line with the assumption that it is specified in .lpi file . Actually , in "Make" mode such changes should be detected . Deleting .ppu and .o files is causing a compile time more than 17 minutes for me instead of a shorter compilation time .

17 minutes? Even the 3+ millions lines of FPC and Lazarus normally only takes a few minutes on a recent machine.

Mattias

Reply by email

Mehmet Erol Sanliturk
to Mattias Gaertner: On Tue, 17 Mar 2015 14:54:12 -0700 Ok. So /usr/lib64/lazarus/ is readable by normal…

On Wed, Mar 18, 2015 at 3:08 PM, Mattias Gaertner <

Show quoted text 83 lines
wrote: On Tue, 17 Mar 2015 14:54:12 -0700 Mehmet Erol Sanliturk wrote: > On Tue, Mar 17, 2015 at 2:12 PM, Mattias Gaertner < > > wrote: > >[...] > > > I am using a batch or shell script file to erase all of the .ppu and .o > > > files before starting the compilation . > > > > > > Selecting "Build" from Lazarus "Run" menu is starting to build Lazarus > > > itself which is NOT possible because Lazarus is owned by the "root" . > > > > I'm not sure what you mean 'build Lazarus itself' and 'Lazarus is owned > > by the "root"'. > > Can you give more details? > > > Units supplied by the Lazarus , i.e. , when Lazarus is installed by the > "root" , such as > > /usr/lib64/lazarus/ > > which its owner is "root" . Ok. So /usr/lib64/lazarus/ is readable by normal users, but not writable. This is normal when you installed for example a deb or rpm package. The deb/rpm packages install ppu files compiled with a specific Widgetset and some default compiler options. > When "Build" is selected from the "Run" menu of Lazarus , it should NOT > include building of units installed by the Lazarus , but units of the user > program . A project can effect the compiler parameters of its packages. For example when you change the widgetset of the project to 'qt'. Or when you add a parameter to 'Configure Build Lazarus'. You can see what and why packages will be rebuilt in View / IDE Internals / What needs building. You can see why a package was rebuilt by selecting the message 'Compile package FooBar', then right click / About / About Compile Package FooBar. > There is a menu item in "Tools" about building the Lazarus itself . > > > > Using -B option seems that it is NOT effective when there are existing > > .ppu > > > and .o files . > > > > Do you mean lazbuild -B or fpc -B? > > > > > > > In one of the fields of the Lazarus menus , ( I could not find it now ) I > have set -B option to force the compilation in "Build" mode instead of > "Make" mode to make it to recognize record element changes : Probably you know, but just making sure: The -B option tells the compiler to recompile every unit, which has a source. Even if the sources have not changed. So basically all units of the project, but no unit of the packages. Lazarus automatically appends -B when the compiler parameter changes. > When Lazarus is starting to compile in GUI mode , it is displaying "options > changed , ... -B ..." > but it is not taken into consideration the record type changes mentioned > above . Are the altered units in the project or in a package?

Altered units are in a project ( I never use any "package" ) , not loaded into Lazarus GUI , but their directories are defined .

Show quoted text 20 lines
> I am not using -B option in lazbuild command line statement because I am > assuming that .lpi file contains such an option . > > I am not using fpc directly to compile the programs : Either by Lazarus GUI > or lazbuild through scripts without -B option in the command line with the > assumption that it is specified in .lpi file . > > Actually , in "Make" mode such changes should be detected . > > > Deleting .ppu and .o files is causing a compile time more than 17 minutes > for me instead of a shorter compilation time . 17 minutes? Even the 3+ millions lines of FPC and Lazarus normally only takes a few minutes on a recent machine.

Yes : Seventeen minutes ( without debug related additions ) .

Processor : Intel i5-3470 , Quad-core . 3.2 GigaHerz

Alongside the ( NOT detecting record element additions / changes /deletions ) , another very important problem for me is to

( Discontinuation of compilation on errors )

although in an item "Display error messages up to 1 000 000 ( million )" is selected .

This number is NOT taken into consideration , and it is stopping compilation at the end of a unit or after a small number ( around 50 ) .

Show quoted text 8 lines
Mattias -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150318/8175df0e/attachment.html>

Reply by email

Mattias Gaertner
to Mehmet Erol Sanliturk
Show quoted text 10 lines
[...] > > but it is not taken into consideration the record type changes mentioned > > above . > > Are the altered units in the project or in a package? > > Altered units are in a project ( I never use any "package" ) , not loaded into Lazarus GUI , but their directories are defined .

Then I have no clue how to reproduce this. You have to create an example. Is there already a bug report?

Show quoted text 7 lines
[...] > 17 minutes? Even the 3+ millions lines of FPC and Lazarus normally only > takes a few minutes on a recent machine. Yes : Seventeen minutes ( without debug related additions ) . Processor : Intel i5-3470 , Quad-core . 3.2 GigaHerz

How big is that project?

Show quoted text 11 lines
Alongside the ( NOT detecting record element additions / changes /deletions ) , another very important problem for me is to ( Discontinuation of compilation on errors ) although in an item "Display error messages up to 1 000 000 ( million )" is selected . This number is NOT taken into consideration , and it is stopping compilation at the end of a unit or after a small number ( around 50 ) .

For me FPC is so fast, that I never needed that feature. Please create a bug report.

Mattias

Reply by email

Mehmet Erol Sanliturk
to Mattias Gaertner

On Wed, Mar 18, 2015 at 6:06 PM, Mattias Gaertner <

Show quoted text 22 lines
wrote: On Wed, 18 Mar 2015 17:22:25 -0700 Mehmet Erol Sanliturk wrote: >[...] > > > but it is not taken into consideration the record type changes mentioned > > > above . > > > > Are the altered units in the project or in a package? > > > > > > Altered units are in a project ( I never use any "package" ) , not loaded > into Lazarus GUI , but their directories are defined . Then I have no clue how to reproduce this. You have to create an example. Is there already a bug report?

I do not remember , but many years ago I have entered some bug reports . I have discontinued to enter any bug reports because some one has complained about so much bug reports .

Show quoted text 12 lines
>[...] > > 17 minutes? Even the 3+ millions lines of FPC and Lazarus normally only > > takes a few minutes on a recent machine. > > Yes : Seventeen minutes ( without debug related additions ) . > > Processor : Intel i5-3470 , Quad-core . 3.2 GigaHerz How big is that project?

My program writing style is very different from existing conventions . The line count is not so much similar to Lazarus . There are more than 700 units and more than 11000 procedures , each procedure in a different source file , and approximately each record in a different file ( around 4000 ) .

Show quoted text 17 lines
> Alongside the ( NOT detecting record element additions / changes /deletions > ) , another very important problem for me is to > > ( Discontinuation of compilation on errors ) > > although in an item "Display error messages up to 1 000 000 ( million )" is > selected . > > > This number is NOT taken into consideration , and it is stopping > compilation at the end of a unit or after a small number ( around 50 ) . For me FPC is so fast, that I never needed that feature. Please create a bug report.

It is NOT possible , because I am NO a subscriber of Free Pascal mailing lists .

Actually I am working toward converting my program to C , and in parallel , I am trying to write a Pascal compiler from scratch by using

http://www.standardpascal.org/p5.html
( The P5 compiler )

as a seed .

Show quoted text 9 lines
Mattias -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150318/e6c83926/attachment-0001.html>

Reply by email

Michael Van Canneyt
to Mattias Gaertner: On Wed, 18 Mar 2015 17:22:25 -0700 Then I have no clue how to reproduce this. You have to…
Mattias Gaertner wrote 40 lines
On Wed, 18 Mar 2015 17:22:25 -0700 Mehmet Erol Sanliturk wrote: > [...] >>> but it is not taken into consideration the record type changes mentioned >>> above . >> >> Are the altered units in the project or in a package? >> >> > > Altered units are in a project ( I never use any "package" ) , not loaded > into Lazarus GUI , but their directories are defined . Then I have no clue how to reproduce this. You have to create an example. Is there already a bug report? > [...] >> 17 minutes? Even the 3+ millions lines of FPC and Lazarus normally only >> takes a few minutes on a recent machine. > > Yes : Seventeen minutes ( without debug related additions ) . > > Processor : Intel i5-3470 , Quad-core . 3.2 GigaHerz How big is that project? > Alongside the ( NOT detecting record element additions / changes /deletions > ) , another very important problem for me is to > > ( Discontinuation of compilation on errors ) > > although in an item "Display error messages up to 1 000 000 ( million )" is > selected . > > > This number is NOT taken into consideration , and it is stopping > compilation at the end of a unit or after a small number ( around 50 ) .

The compiler simply stops after N errors or at the end of the unit that contains errors. There is nothing you can do about this.

Michael.

Reply by email

Mehmet Erol Sanliturk
to Mattias Gaertner: On Wed, 18 Mar 2015 17:22:25 -0700 Then I have no clue how to reproduce this. You have to…

On Wed, Mar 18, 2015 at 6:06 PM, Mattias Gaertner <

Show quoted text 22 lines
wrote: On Wed, 18 Mar 2015 17:22:25 -0700 Mehmet Erol Sanliturk wrote: >[...] > > > but it is not taken into consideration the record type changes mentioned > > > above . > > > > Are the altered units in the project or in a package? > > > > > > Altered units are in a project ( I never use any "package" ) , not loaded > into Lazarus GUI , but their directories are defined . Then I have no clue how to reproduce this. You have to create an example. Is there already a bug report?

My set up is like the following :

(1)

/dir_one/dir_two/type_source.pas

contains :

type numbers = record

     k : Integer ;
     end ;

(2)

/dir_three/dir_four/type_unit.pas

contains :

unit type_unit ;
interface
{$I /dir_one/dir_two/type_source.pas }
implementation

end .

(3)

/dir_three/dir_four/source_unit.pas

contains :

unit source_unit ;
uses type_unit ;
interface
implementation
{$I /dir_one/dir_five/compute_source.pas }

end .

(4)

/dir_one/dir_five/compute_source.pas

contains :

procedure compute ;
var V : type_unit . Numbers ;
begin
  v . k := 0 ;
end ;

(5)

There is a program in

/dir_six/dir_seven/computer.lpi

through its local units ,
one of the units

uses source_unit ;

and a procedure uses

   ...
   compute ;
   ...

and computer.lpi is compiled and executed succeefully .

All of the compiled units are stored into

/dir_eight/dir_nine/

(6)

Assume that a new element is included into record Numbers as

  m : Integer ;

(7)

A new statement included into

procedure compute as

  v . m := 0 ;

(8)

Computer.lpi is compiled in "Make" mode :

error is like

v . m : Undefined element

because type_unit is NOT compiled , but existing .ppu and .o is used .

(9)

During compilation with Lazarus , only

Computer.lpr

is loaded , and NO any other parts .

As a summary :

/dir_one/dir_two/type_source.pas
/dir_one/dir_five/compute_source.pas

/dir_three/dir_four/type_unit.pas
/dir_three/dir_four/source_unit.pas

/dir_six/dir_seven/computer.lpi

/dir_eight/dir_nine/ : Compiled units

At present , all of the directories are relative as ../ ... but , when directories are absolute , the same error is displayed .

This situation is persisting at least since around 2007 .

( I do not remember which subject , during entering a bug report , the ( only report page ) is disappeared from my browser and it could not be possible re_enter any more anything into that page . This was my last bug report attempt )

Show quoted text 36 lines
>[...] > > 17 minutes? Even the 3+ millions lines of FPC and Lazarus normally only > > takes a few minutes on a recent machine. > > Yes : Seventeen minutes ( without debug related additions ) . > > Processor : Intel i5-3470 , Quad-core . 3.2 GigaHerz How big is that project? > Alongside the ( NOT detecting record element additions / changes /deletions > ) , another very important problem for me is to > > ( Discontinuation of compilation on errors ) > > although in an item "Display error messages up to 1 000 000 ( million )" is > selected . > > > This number is NOT taken into consideration , and it is stopping > compilation at the end of a unit or after a small number ( around 50 ) . For me FPC is so fast, that I never needed that feature. Please create a bug report. Mattias -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150320/8e8684e4/attachment.html>

Reply by email

FreeMan
to FreeMan: make -s clean ....... this my compiler make command line.

in osx yosemite

./lazbuild --quiet -> hints still showing billion "sender not used" massage. Not counting line but with --quit parameter or without this parameter not change output lines

if not add "--max-process-count=8" parameter,
show this line, and freezing. only one line
SetPrimaryConfigPath NewValue="/Users/freeman35/.lazarus" -> "/Users/freeman35/.lazarus"

after add, in 1min 29 second ide builded.many 3party components added. this is so fast on my system, nearly 50% faster then before added this parameter.

Reply by email

Henry Vermaak
to FreeMan
FreeMan wrote 5 lines
in osx yosemite ./lazbuild --quiet -> hints still showing billion "sender not used" massage. Not counting line but with --quit parameter or without this parameter not change output lines

What did you add to your compiler options inside the "Configure Build Lazarus..." window?

if not add "--max-process-count=8" parameter, show this line, and freezing. only one line SetPrimaryConfigPath NewValue="/Users/freeman35/.lazarus" -> "/Users/freeman35/.lazarus"

It freezes for me, too.

Henry

Reply by email

Mattias Gaertner
to FreeMan: in osx yosemite ./lazbuild --quiet -> hints still showing billion "sender not used"…
Show quoted text 5 lines
in osx yosemite ./lazbuild --quiet -> hints still showing billion "sender not used" massage. Not counting line but with --quit parameter or without this parameter not change output lines

As already mentioned --quiet only makes lazbuild quiet. It still writes all output of the compiler.
If you don't want any output use ./lazbuild options > /dev/null. This will still write stderr (e.g. ld and fpcres use that).

if not add "--max-process-count=8" parameter, show this line, and freezing. only one line SetPrimaryConfigPath NewValue="/Users/freeman35/.lazarus" -> "/Users/freeman35/.lazarus"

FreeMan, English requires subjects and objects.

For example, this is my guess what you mean:
If [I do] not add "--max-process-count=8" parameter, [lazbuild] shows this line and freezes. Only [this] one line:
SetPrimaryConfigPath NewValue="/Users/freeman35/.lazarus" -> "/Users/freeman35/.lazarus"

after add, in 1min 29 second ide builded.many 3party components added. this is so fast on my system, nearly 50% faster then before added this parameter.

Does it freeze without --quiet? What is the output without --quiet?

Mattias

Reply by email

FreeMan
to Henry Vermaak: What did you add to your compiler options inside the "Configure Build Lazarus..." window?…

lcl widget type= qt Target OS : Darwin Target CPU: x86_64 no options

Henry Vermaak wrote 9 lines
On Fri, Mar 20, 2015 at 02:53:12PM +0200, FreeMan wrote: > >in osx yosemite > > > >./lazbuild --quiet -> hints still showing billion "sender not used" > >massage. Not counting line but with --quit parameter or without this > >parameter not change output lines What did you add to your compiler options inside the "Configure Build Lazarus..." window?

Reply by email

Henry Vermaak
to Mattias Gaertner: On Fri, 20 Mar 2015 13:29:15 +0000 It freezes only with --quiet? Mattias
Mattias Gaertner wrote 7 lines
On Fri, 20 Mar 2015 13:29:15 +0000 Henry Vermaak wrote: >[...] > It freezes for me, too. It freezes only with --quiet?

Without --quiet:

hcv at technical09:~/source/lazarus$ ./lazbuild --verbose --verbose --build-ide= Parameter: build-ide=
Hint: (lazarus) primary config path: /home/hcv/.lazarus Hint: (lazarus) [TBuildManager.SetBuildTarget] OS=linux CPU=i386 CompQueryOptions= DefaultOS=linux DefaultCPU=i386 Hint: (lazarus) [TBuildManager.SetBuildTarget] Old=i386-linux-gtk2 New=i386-linux-gtk2 FPC=True LCL=False Hint: (lazarus) Building Lazarus IDE with profile "Build All" Hint: (lazarus) [TBuildManager.SetBuildTargetIDE] OS= CPU= WS=gtk2 Hint: (lazarus) [TBuildManager.SetBuildTarget] OS=linux CPU=i386 CompQueryOptions= DefaultOS=linux DefaultCPU=i386 Hint: (lazarus) [TBuildManager.SetBuildTarget] Old=i386-linux-gtk2 New=i386-linux-gtk2 FPC=True LCL=False Hint: (lazarus) Missing state file of ...
...more missing state file lines..
Hint: (lazarus) TBuildManager.MacroFuncInstantFPCCache /usr/local/bin/instantfpc RunTool /usr/local/bin/instantfpc "--get-cache"
Hint: (lazarus) [TBuildManager.MacroFuncInstantFPCCache] /home/hcv/.cache/instantfpc/

It just sits there and I have to ctrl-c to get out. If I add --max-process-count=9 it works nicely.

Henry

Reply by email

FreeMan
to Mattias Gaertner: On Fri, 20 Mar 2015 14:53:12 +0200 As already mentioned --quiet only makes lazbuild…
Mattias Gaertner wrote
FreeMan, English requires subjects and objects.

I wrote before, I'm not english and I'm not from english colony. I'm using dictionary. And I'm not teenage, I can not learn quickly after 46 years old sorry.

Show quoted text 12 lines
For example, this is my guess what you mean: If [I do] not add "--max-process-count=8" parameter, [lazbuild] shows this line and freezes. Only [this] one line: SetPrimaryConfigPath NewValue="/Users/freeman35/.lazarus" -> "/Users/freeman35/.lazarus" > >after add, in 1min 29 second ide builded.many 3party components added. > >this is so fast on my system, nearly 50% faster then before added this > >parameter. Does it freeze without --quiet? What is the output without --quiet? Mattias

Only [this] one line: with or without --quite parameter. same result. SetPrimaryConfigPath NewValue="/Users/freeman35/.lazarus" -> "/Users/freeman35/.lazarus"

Reply by email

Henry Vermaak
to Henry Vermaak: Well, what do you expect then? Try to add -vh- -vn- if you don't want to see hints or…
Henry Vermaak wrote 6 lines
On Fri, Mar 20, 2015 at 03:45:49PM +0200, FreeMan wrote: > lcl widget type= qt Target OS : Darwin Target CPU: x86_64 > no options Well, what do you expect then? Try to add -vh- -vn- if you don't want to see hints or notes.

These options don't get passed to the packages, so you'll still see messages. I don't know if there's a way to pass the options along to the packages, too.

Henry

Reply by email

Henry Vermaak
to FreeMan
FreeMan wrote
Thank you Henry, but nothing change on command line result, after add -vh -vn in "options:"

It adds it only to the IDE build command line. For instance, I use "-O2 -g- -Xs -vn-h-i- -l-" to build an optimised IDE and this is what I see after all the packages are built:

/usr/bin/make --assume-new=lazarus.pp lazarus OPT=' -O2 -g- -Xs -vn-h-i- -l- @/home/hcv/.lazarus/idemake.cfg -vbq -FU/home/hcv/source/lazarus/units/i386-linux/gtk2' make[2]: Entering directory `/home/hcv/source/lazarus/ide' /usr/local/lib/fpc/2.6.4/ppc386 -gl -vbqewnhi -Sci -dlclgtk2 -Fu../designer -Fu../debugger -Fu../debugger/frames -Fu../converter -Fu../packager -Fu../packager/frames -Fu../components/custom -Fuframes -Fu. -Fu/usr/local/lib/fpc/2.6.4/units/i386-linux/rtl -Fu/usr/local/lib/fpc/2.6.4/units/i386-linux/paszlib -Fu/usr/local/lib/fpc/2.6.4/units/i386-linux/fcl-process -Fu/usr/local/lib/fpc/2.6.4/units/i386-linux/h ash -Fu/usr/local/lib/fpc/2.6.4/units/i386-linux/fpmkunit -Fu/usr/local/lib/fpc/2.6.4/units/i386-linux/regexpr -Fiinclude -Fiinclude/linux -Fi../images -FE.. -FU../units/i386-linux/gtk2 -Fl/usr/lib/gcc/i48 6-linux-gnu/4.7 -Flinclude -Fl/etc/ld.so.conf.d/*.conf -O2 -g- -Xs -vn-h-i- -l- @/home/hcv/.lazarus/idemake.cfg -vbq -FU/home/hcv/source/lazarus/units/i386-linux/gtk2 -di386 lazarus.pp /home/hcv/source/lazarus/ide/keymapping.pp(3588,43) Warning: (4056) Conversion between ordinals and pointers is not portable /home/hcv/source/lazarus/ide/keymapping.pp(3625,43) Warning: (4056) Conversion between ordinals and pointers is not portable /home/hcv/source/lazarus/debugger/processdebugger.pp(110,92) Warning: (5043) Symbol "CommandLine" is deprecated /home/hcv/source/lazarus/packager/pkglinksdlg.pas(276,19) Warning: (6018) unreachable code /home/hcv/source/lazarus/ide/./frames/project_misc_options.pas(101,43) Warning: (6018) unreachable code /usr/bin/ld: warning: ../link.res contains output sections; did you forget -T? make[2]: Leaving directory `/home/hcv/source/lazarus/ide' make[1]: Leaving directory `/home/hcv/source/lazarus/ide' make: Leaving directory `/home/hcv/source/lazarus'

Reply by email

Mattias Gaertner
to FreeMan: I wrote before, I'm not english and I'm not from english colony. I'm using dictionary. …
Show quoted text 5 lines
On 20.03.2015 15:43, Mattias Gaertner wrote: > FreeMan, English requires subjects and objects. I wrote before, I'm not english and I'm not from english colony. I'm using dictionary. And I'm not teenage, I can not learn quickly after 46 years old sorry.

Most here aren't native English speakers. We are used to wrong English. But there is a difference between using English wrong, and not writing add more subjects and objects. Otherwise your
sentences are ambiguous.

Mattias

Reply by email

Mattias Gaertner
to Henry Vermaak: These options don't get passed to the packages, so you'll still see messages. I don't…
Show quoted text 11 lines
On Fri, Mar 20, 2015 at 02:00:11PM +0000, Henry Vermaak wrote: > On Fri, Mar 20, 2015 at 03:45:49PM +0200, FreeMan wrote: > > lcl widget type= qt Target OS : Darwin Target CPU: x86_64 > > no options > > Well, what do you expect then? Try to add -vh- -vn- if you don't want > to see hints or notes. These options don't get passed to the packages, so you'll still see messages. I don't know if there's a way to pass the options along to the packages, too.

How to pass options to all packages:

http://wiki.lazarus.freepascal.org/IDE_Window:_Compiler_Options#Add_a_flag_to_project_and_all_packages

Mattias

Reply by email

FreeMan
to Henry Vermaak: It adds it only to the IDE build command line. For instance, I use "-O2 -g- -Xs -vn-h-i-…

-dUSE_QT_45 -g -gl -vn-h-i-
this is my OPT parameter been now. I added your suggestion "-vn-h-i-" I talked about this. But lazbuild not get this parameters :( so lazbuild print many hints
Thank you Henry

Henry Vermaak wrote
It adds it only to the IDE build command line. For instance, I use "-O2 -g- -Xs -vn-h-i- -l-" to build an optimised IDE and this is what I see after all the packages are built:

Reply by email

Henry Vermaak
to Mattias Gaertner: On Fri, 20 Mar 2015 14:16:07 +0000 How to pass options to all packages:…
Mattias Gaertner wrote 18 lines
On Fri, 20 Mar 2015 14:16:07 +0000 Henry Vermaak wrote: > On Fri, Mar 20, 2015 at 02:00:11PM +0000, Henry Vermaak wrote: > > On Fri, Mar 20, 2015 at 03:45:49PM +0200, FreeMan wrote: > > > lcl widget type= qt Target OS : Darwin Target CPU: x86_64 > > > no options > > > > Well, what do you expect then? Try to add -vh- -vn- if you don't want > > to see hints or notes. > > These options don't get passed to the packages, so you'll still see > messages. I don't know if there's a way to pass the options along to > the packages, too. How to pass options to all packages: http://wiki.lazarus.freepascal.org/IDE_Window:_Compiler_Options#Add_a_flag_to_project_and_all_packages

I'm building the IDE, though, and the options I add in the "Configure Build Lazarus" dialog don't get passed to packages. It would be good to shut up e.g. the hints and notes when packages get built, too.

Henry

Reply by email

Mattias Gaertner
to Henry Vermaak
Show quoted text 8 lines
[...] > How to pass options to all packages: > > http://wiki.lazarus.freepascal.org/IDE_Window:_Compiler_Options#Add_a_flag_to_project_and_all_packages I'm building the IDE, though, and the options I add in the "Configure Build Lazarus" dialog don't get passed to packages. It would be good to shut up e.g. the hints and notes when packages get built, too.

See the hint about "Stored in IDE".
I added a screen shot to make it more clear.

Mattias

Reply by email

FreeMan
to Mattias Gaertner: On Fri, 20 Mar 2015 15:19:16 +0000 See the hint about "Stored in IDE". I added a screen…

I did it and tested in lazarus r48432

Set custom option "-vn-h-i-" then move this line to "Store in IDE" in command line result not changed, I mean :
before ending lazbuild job, last hints, (I'm not count all messages) opt/lazarus/ide/main.pp(485,37) Hint: (5024) Parameter "Sender" not used this line 240 times printing continuesly.

Mattias Gaertner wrote 5 lines
See the hint about "Stored in IDE". I added a screen shot to make it more clear. Mattias

Reply by email

Mattias Gaertner
to FreeMan
Show quoted text 7 lines
I did it and tested in lazarus r48432 Set custom option "-vn-h-i-" then move this line to "Store in IDE" in command line result not changed, I mean : before ending lazbuild job, last hints, (I'm not count all messages) opt/lazarus/ide/main.pp(485,37) Hint: (5024) Parameter "Sender" not used this line 240 times printing continuesly.

Fixed.

Mattias

Reply by email

FreeMan
to Mattias Gaertner: On Fri, 20 Mar 2015 18:30:43 +0200 Fixed. Mattias

Tested lazarus r48448 osx yosemite qtx64
make --quiet OPT = -k'-framework' -k'ApplicationServices' -dUSE_QT_45 -g -gl -vn-h-i-
and
./lazbuild --quiet --max-process-count=8
not show hint output now.
lazbuild work time for me, 1minute 26second now, this mean 4 seconds less time.
thanx

Mattias Gaertner wrote 13 lines
On Fri, 20 Mar 2015 18:30:43 +0200 FreeMan wrote: > I did it and tested in lazarus r48432 > > Set custom option "-vn-h-i-" then move this line to "Store in IDE" > in command line result not changed, I mean : > before ending lazbuild job, last hints, (I'm not count all messages) > opt/lazarus/ide/main.pp(485,37) Hint: (5024) Parameter "Sender" not used > this line 240 times printing continuesly. Fixed. Mattias

Reply by email

Alexsander Rosa
to Henry Vermaak: These options don't get passed to the packages, so you'll still see messages. I don't…

I wish there were a parameter to hide warnings in some directories. Like:
--hide-warnings-in-dir=/usr/share/lazarus/1.2.6/components OR
--show-warnings-only-in-dir=/home/myuser/myproject

2015-03-20 11:16 GMT-03:00 Henry Vermaak :

Show quoted text 20 lines
On Fri, Mar 20, 2015 at 02:00:11PM +0000, Henry Vermaak wrote: > On Fri, Mar 20, 2015 at 03:45:49PM +0200, FreeMan wrote: > > lcl widget type= qt Target OS : Darwin Target CPU: x86_64 > > no options > > Well, what do you expect then? Try to add -vh- -vn- if you don't want > to see hints or notes. These options don't get passed to the packages, so you'll still see messages. I don't know if there's a way to pass the options along to the packages, too. Henry -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Atenciosamente, Alexsander da Rosa -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150321/861b8518/attachment.html>

Reply by email