<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 18, 2015 at 3:08 PM, Mattias Gaertner <span dir="ltr"><<a href="mailto:nc-gaertnma@netcologne.de" target="_blank">nc-gaertnma@netcologne.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, 17 Mar 2015 14:54:12 -0700<br>
Mehmet Erol Sanliturk <<a href="mailto:m.e.sanliturk@gmail.com">m.e.sanliturk@gmail.com</a>> wrote:<br>
<br>
> On Tue, Mar 17, 2015 at 2:12 PM, Mattias Gaertner <<a href="mailto:nc-gaertnma@netcologne.de">nc-gaertnma@netcologne.de</a><br>
> > wrote:<br>
><br>
>[...]<br>
> > > I am using a batch or shell script file to erase all of the .ppu and .o<br>
> > > files before starting the compilation .<br>
> > ><br>
> > > Selecting "Build" from Lazarus "Run" menu is starting to build Lazarus<br>
> > > itself which is NOT possible because Lazarus is owned by the "root" .<br>
> ><br>
> > I'm not sure what you mean 'build Lazarus itself' and 'Lazarus is owned<br>
> > by the "root"'.<br>
> > Can you give more details?<br>
> ><br>
> Units supplied by the Lazarus , i.e. , when Lazarus is installed by the<br>
> "root" , such as<br>
><br>
> /usr/lib64/lazarus/<br>
><br>
> which its owner is "root" .<br>
<br>
Ok. So /usr/lib64/lazarus/ is readable by normal users, but not<br>
writable. This is normal when you installed for example a deb or rpm<br>
package.<br>
The deb/rpm packages install ppu files compiled with a specific<br>
Widgetset and some default compiler options.<br>
<br>
<br>
> When "Build" is selected from the "Run" menu of Lazarus , it should NOT<br>
> include building of units installed by the Lazarus , but units of the user<br>
> program .<br>
<br>
A project can effect the compiler parameters of its packages. For<br>
example when you change the widgetset of the project to 'qt'. Or when<br>
you add a parameter to 'Configure Build Lazarus'.<br>
You can see what and why packages will be rebuilt in View / IDE<br>
Internals / What needs building.<br>
You can see why a package was rebuilt by selecting the message 'Compile<br>
package FooBar', then right click / About / About Compile Package<br>
FooBar.<br>
<br>
<br>
> There is a menu item in "Tools" about building the Lazarus itself .<br>
><br>
> > > Using -B option seems that it is NOT effective when there are existing<br>
> > .ppu<br>
> > > and .o files .<br>
> ><br>
> > Do you mean lazbuild -B or fpc -B?<br>
> ><br>
> ><br>
> ><br>
> In one of the fields of the Lazarus menus , ( I could not find it now ) I<br>
> have set -B option to force the compilation in "Build" mode instead of<br>
> "Make" mode to make it to recognize record element changes :<br>
<br>
Probably you know, but just making sure: The -B option tells the<br>
compiler to recompile every unit, which has a source. Even if the sources<br>
have not changed. So basically all units of the project, but no unit of<br>
the packages.<br>
Lazarus automatically appends -B when the compiler<br>
parameter changes.<br>
<br>
<br>
> When Lazarus is starting to compile in GUI mode , it is displaying "options<br>
> changed , ... -B  ..."<br>
> but it is not taken into consideration the record type changes mentioned<br>
> above .<br>
<br>
Are the altered units in the project or in a package?<br>
<br></blockquote><div><br><br></div><div>Altered units are in a project ( I never use any "package" ) , not loaded into Lazarus GUI , but their directories are defined .<br></div><div><br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
> I am not using -B option in lazbuild command line statement because I am<br>
> assuming that .lpi file contains such an option .<br>
><br>
> I am not using fpc directly to compile the programs : Either by Lazarus GUI<br>
> or lazbuild through scripts without -B option in the command line with the<br>
> assumption that it is specified in .lpi file .<br>
><br>
> Actually , in "Make" mode such changes should be detected .<br>
><br>
><br>
> Deleting .ppu and .o files is causing a compile time more than 17 minutes<br>
> for me instead of a shorter compilation time .<br>
<br>
17 minutes? Even the 3+ millions lines of FPC and Lazarus normally only<br>
takes a few minutes on a recent machine.<br>
<br></blockquote><div><br><br></div><div>Yes : Seventeen minutes  ( without debug related additions ) .<br></div><div><br>Processor :  Intel i5-3470 , Quad-core . 3.2 GigaHerz <br></div><div> <br><br><br></div><div>Alongside the ( NOT detecting record element additions / changes /deletions ) , another very important problem for me is to <br><br></div><div>( Discontinuation of compilation on errors )<br><br></div><div>although in an item "Display error messages up to 1 000 000 ( million )" is selected .<br><br><br></div><div>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 ) .<br><br></div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Mattias<br>
<br>
--<br>
_______________________________________________<br>
Lazarus mailing list<br>
<a href="mailto:Lazarus@lists.lazarus.freepascal.org">Lazarus@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus</a><br>
</blockquote></div><br></div></div>