Sign in Join

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

Mailing lists / lazarus / 2019-12

Update Lazarus from svn, what happens on rebuild?

7 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

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

Bo Berglund

Say I have retrieved Lazarus sources from SVN and worked with it some time.
I usually install certain extra packages suiting my development projects etc.
Now I update from SVN and rebuild Lazarus, is there some way to make sure that what non-standard packages I had installed earlier gets installed again?

The reason I ask is that I have run into a problem with a Raspberry Pi installation the other day. I wanted to install fpWeb, which is part of available packages in Lazarus. I had already installed two packages via On Line Package Manager and one from sources copied into the components dir.
What happened is that the rebuild IDE failed and I could not get it to succeed no matter what I tried, so I did this:
- Closed Lazarus
- Navigated into the Lazarus/2.0.6 dir and then
- make clean
- make bigide OPT=-dFPC_ARMHF FPC=/home/pi/bin/ppcarm

After this was done (no errors) I opened Lazarus and found that the extra packages I had previously installed was missing from the palette so I had to re-install them. This worked without the previous errors, though.

Is there some method in this case to actually get Lazarus populated with the previously configured set of packages without starting over from scratch?

I assume the same would be needed if I update from SVN and then
rebuild Lazarus?
Bo Berglund Developer in Sweden

Reply by email

John Landmesser
to Bo Berglund

All packages become part of the lazarus executable.

Thats different from Delphi for example where packages are dynamical loaded.

This one builds the IDE with all extra packages you installed yourself:

make clean lazbuild useride starter

i Hope, thats a useful and correct answer!

Bo Berglund wrote 33 lines
Say I have retrieved Lazarus sources from SVN and worked with it some time. I usually install certain extra packages suiting my development projects etc. Now I update from SVN and rebuild Lazarus, is there some way to make sure that what non-standard packages I had installed earlier gets installed again? The reason I ask is that I have run into a problem with a Raspberry Pi installation the other day. I wanted to install fpWeb, which is part of available packages in Lazarus. I had already installed two packages via On Line Package Manager and one from sources copied into the components dir. What happened is that the rebuild IDE failed and I could not get it to succeed no matter what I tried, so I did this: - Closed Lazarus - Navigated into the Lazarus/2.0.6 dir and then - make clean - make bigide OPT=-dFPC_ARMHF FPC=/home/pi/bin/ppcarm After this was done (no errors) I opened Lazarus and found that the extra packages I had previously installed was missing from the palette so I had to re-install them. This worked without the previous errors, though. Is there some method in this case to actually get Lazarus populated with the previously configured set of packages without starting over from scratch? I assume the same would be needed if I update from SVN and then rebuild Lazarus? h

Reply by email

Bo Berglund
to John Landmesser
John Landmesser wrote 6 lines
This one builds the IDE with all extra packages you installed yourself: make clean lazbuild useride starter i Hope, thats a useful and correct answer!

I have not tested it yet since I have a working system at the moment..

But I have a question regarding this command since I have several different versions of Lazarus installed on my Raspbian system:

Do I have to specify the --pcp directory in order for the command to correctly find the already installed packages that need to be built into the IDE?

If so how is that information incorporated into the command? The command itself will be executed from within the Lazarus source dir (retrieved from SVN).

Bo Berglund Developer in Sweden

Reply by email

John Landmesser
to Bo Berglund
Do I have to specify the --pcp directory in order for the command to correctly find the already installed packages that need to be built into the IDE?

I have only one Lazarus (svn) version installed, so i guess:

Show quoted text 6 lines
If so how is that information incorporated into the command? The command itself will be executed from within the Lazarus source dir (retrieved from SVN).

Yes, cd  to source-tree, open a terminal and execute

make clean lazbuild useride starter --pcp='/your/lazarus/config/path/'

Just try it out!

Regards

John

Reply by email

Luca Olivetti
to Bo Berglund: On Wed, 18 Dec 2019 22:26:32 +0100, John Landmesser via lazarus I have not tested it yet…

El 22/12/19 a les 13:40, Bo Berglund via lazarus ha escrit:

Show quoted text 22 lines
On Wed, 18 Dec 2019 22:26:32 +0100, John Landmesser via lazarus wrote: > This one builds the IDE with all extra packages you installed yourself: > > make clean lazbuild useride starter > > i Hope, thats a useful and correct answer! > I have not tested it yet since I have a working system at the moment.. But I have a question regarding this command since I have several different versions of Lazarus installed on my Raspbian system: Do I have to specify the --pcp directory in order for the command to correctly find the already installed packages that need to be built into the IDE? If so how is that information incorporated into the command? The command itself will be executed from within the Lazarus source dir (retrieved from SVN).

Omit the "useride" from the make command then

lazbuild --lazarusdir=. --build-ide= --pcp=your-config-dir

(which is the same thing ·"make useride" would do with the --pcp added at the end).

Bye

Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007

Reply by email

Bo Berglund
to Luca Olivetti
Luca Olivetti wrote 31 lines
El 22/12/19 a les 13:40, Bo Berglund via lazarus ha escrit: > On Wed, 18 Dec 2019 22:26:32 +0100, John Landmesser via lazarus > wrote: > >> This one builds the IDE with all extra packages you installed yourself: >> >> make clean lazbuild useride starter >> >> i Hope, thats a useful and correct answer! >> > > I have not tested it yet since I have a working system at the moment.. > > But I have a question regarding this command since I have several > different versions of Lazarus installed on my Raspbian system: > > Do I have to specify the --pcp directory in order for the command to > correctly find the already installed packages that need to be built > into the IDE? > > If so how is that information incorporated into the command? > The command itself will be executed from within the Lazarus source dir > (retrieved from SVN). Omit the "useride" from the make command then lazbuild --lazarusdir=. --build-ide= --pcp=your-config-dir (which is the same thing ·"make useride" would do with the --pcp added at the end).

Thanks Luca & John!
Then I wonder about the "starter" command in the first proposal from John, what does it do?

Should I use:

make clean lazbuild useride starter --pcp=/home/pi/.lazarus_2.0.6 or
make clean lazbuild starter --pcp=/home/pi/.lazarus_2.0.6 or
make clean lazbuild --pcp=/home/pi/.lazarus_2.0.6

AFAIK starter is the go-between when Lazarus rebuilds itself, right? So is it removed and has to be rebuilt if one executes make clean?

Bo Berglund Developer in Sweden

Reply by email

Bo Berglund
to Bo Berglund
Bo Berglund wrote 15 lines
Thanks Luca & John! Then I wonder about the "starter" command in the first proposal from John, what does it do? Should I use: make clean lazbuild useride starter --pcp=/home/pi/.lazarus_2.0.6 or make clean lazbuild starter --pcp=/home/pi/.lazarus_2.0.6 or make clean lazbuild --pcp=/home/pi/.lazarus_2.0.6 AFAIK starter is the go-between when Lazarus rebuilds itself, right? So is it removed and has to be rebuilt if one executes make clean?

Me again...

Interestingly on the Lazarus wiki I found this:
https://wiki.freepascal.org/IDE_Window:_Configure_Build_Lazarus#If_something_went_wrong

At the bottom it reads:

<quote>
After rebuilding the IDE, it crashes or is unusable and you don't have a backup:

Dont' panic!

You can easily compile a basic IDE on the command line.

cd /path/to/lazarus
make clean all

This will compile an IDE without special packages. Your old installed packages are not installed, but are marked for installations. That means when you build the IDE with the IDE, it will create an IDE with all your packages. If you installed a buggy package, then you can simply open the package and uninstall it.
</quote>

So this is really what I saw and which triggered this thread, I get a base version of Lazarus without my added packages. But I did not realize that if I then used the command *within* Lazarus to rebuild the IDE I would have gotten the missing packages installed....

This is available in menu:
Tools/Build Lazarus with profile: Normal IDE

I am learning things all the time...

Bo Berglund Developer in Sweden

Reply by email