Sign in Join
Wiki copytemporary

Getting Lazarus: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## Download and install Lazarus release version
22
33### From SourceForge
44
5-Binary releases for various platforms are available via the [Lazarus Sourceforge download area](https://sourceforge.net/projects/lazarus/files/).
5+Binary releases for various platforms are available via the [Lazarus Sourceforge download area](<https://sourceforge.net/projects/lazarus/files/>).
66
7-For people who are blocked by SF, the Lazarus releases from Sourceforge are mirrored at:
7+For people who are blocked by SF, the Lazarus releases from Sourceforge are mirrored at:
88
9-- <ftp://ftp.freepascal.org/pub/lazarus/releases/>
10-- and later at (after some time for synchronization) <http://michael-ep3.physik.uni-halle.de/Lazarus/releases/>
11-- and <http://mirrors.iwi.me/lazarus/>
9+ * <https://download.lazarus-ide.org/>
10+ * <ftp://ftp.freepascal.org/pub/lazarus/releases/>
1211
12+Here are the [Checksums](<https://www.lazarus-ide.org/index.php?page=checksums>).
13+
1314### Specific for platform
1415
15-Get Lazarus for Windows - use the Sourceforge link above.
16+Get Lazarus for Windows - use the Sourceforge link above.
1617
1718[[ReactOS|Get Lazarus for ReactOS]]
1819
1920[[Lazarus release version for Ubuntu|Get Lazarus for Ubuntu]]
2021
2122[[Install on Fedora|Get Lazarus for Fedora]]
2223
2324[[Lazarus release version for Suse|Get Lazarus for Suse]]
2425
2526[[Scientific Linux|Get Lazarus for Scientific Linux]]
2627
2728[[Lazarus on Raspberry Pi|Get Lazarus for Raspberry Pi (Raspbian)]]
2829
2930[[Installing Lazarus on macOS|Get Lazarus for Mac]]
3031
3132[[Lazarus on Solaris]]
3233
3334## Getting a Git client
3435
3536### TortoiseGit client
3637
3738TortoiseGit Client is for Windows only. You may download it from <https://tortoisegit.org/>
3839
3940### Git for Windows
4041
41-Command line clients:
42+Command line clients:
4243
4344<https://gitforwindows.org/> <https://git-scm.com/download/win>
4445
4546### Other clients
4647
47-A GIT command line client is available from <https://git-scm.com/downloads> for many platforms.
48-
49-On Linux, it is recommended to install *git* using the package management system offered by your distribution. For example:
48+A GIT command line client is available from <https://git-scm.com/downloads> for many platforms.
5049
51-`sudo apt-get install git`
50+On Linux, it is recommended to install _git_ using the package management system offered by your distribution. For example:
51+```
52+sudo apt-get install git
53+```
5254
5355## Getting Lazarus from the GitLab server
5456
5557### Development version of Lazarus
5658
57-To get Lazarus for the first time, using command line:
58-
59-` git clone https://gitlab.com/freepascal.org/lazarus/lazarus.git lazarus`
59+To get Lazarus for the first time, using command line:
60+```
61+git clone https://gitlab.com/freepascal.org/lazarus/lazarus.git lazarus
62+```
6063
61-A new directory "lazarus" is then created under the current directory.
64+A new directory "lazarus" is then created under the current directory.
6265
6366### Fixes branch of latest Lazarus release
6467
65-Change into the directory created by the above **git clone** command and run
66-
67-` git switch  fixes_2_2`
68-
69-Amending the name of the branch according to what fixes version you want. Get a list with
68+Change into the directory created by the above **git clone** command and run
69+```
70+git switch fixes_2_2
71+```
7072
71-` git branch --all`
73+Amending the name of the branch according to what fixes version you want. Get a list with
74+```
75+git branch --all
76+```
7277
73-The output will contain lines similar to
78+The output will contain lines similar to
79+```
80+remote/origin/fixes_2_2
81+```
7482
75-` remote/origin/fixes_2_2`
83+The name of the branch is just the last part.
7684
77-The name of the branch is just the last part.
85+
7886
7987### Update the sources later
8088
81-Open a terminal/command prompt, change to the lazarus directory and type:
82-
83-` git switch main`\
84-` git pull `
89+Open a terminal/command prompt, change to the lazarus directory and type:
90+```
91+git switch main
92+ git pull
93+```
8594
86-instead of main, you may want to specify a fixes branch.
95+instead of main, you may want to specify a fixes branch.
8796
88-For compiling see this.
97+For compiling see this.
8998
9099## Scripts
91100
92101There are scripts for Windows and Linux to automate downloading and building Lazarus: [[LazarusScripts|Scripts for Lazarus]]
93102
94103## Compiling and running Lazarus
95104
96-See [[Installing Lazarus]] - a detailed installation guide.
105+See [[Installing Lazarus]] \- a detailed installation guide.
97106
98107### Using the command-line
99108
100-Lazarus is shipped with an autogenerated **Makefile** (of the name "Makefile") for the gnu "**make**" utility.
101-
102-> **Warning:** If you also have Embarcadero (or Borland) tools installed, their "make" might conflict with gnu "make". In that case you can either delete or rename the conflicting Embarcadero binary, or remove its directory from Windows PATH, or set the path in the console before calling *make*:
103->
104-> set path=c:\pascal\3.2.0\bin\i386-win32;%path%
109+Lazarus is shipped with an autogenerated **Makefile** (of the name "Makefile") for the gnu "**make** " utility.
105110
106-> **Warning:** "make" may also fail, if you have a shell (such as sh.exe) in your path. It depends on how this shell interprets quotes and backslashes.
111+[![Warning-icon.png](/wiki-images/b/b2/Warning-icon.png)](</File:Warning-icon.png>)
107112
108-**make** allows you to compile Lazarus from command-line easily. You need to have fpc and fpc-packages installed and configured first.
113+**Warning:** If you also have Embarcadero (or Borland) tools installed, their "make" might conflict with gnu "make". In that case you can either delete or rename the conflicting Embarcadero binary, or remove its directory from Windows PATH, or set the path in the console before calling _make_ :
114+```
115+set path=c:\pascal\3.2.0\bin\i386-win32;%path%
116+```
109117
110-To compile go to Lazarus directory in your terminal and type
118+[![Warning-icon.png](/wiki-images/b/b2/Warning-icon.png)](</File:Warning-icon.png>)
111119
112-` `**`make`**
120+**Warning:** "make" may also fail, if you have a shell (such as sh.exe) in your path. It depends on how this shell interprets quotes and backslashes.
113121
114-This should rebuild LCL and Lazarus IDE with basic packages installed.
122+**make** allows you to compile Lazarus from command-line easily. You need to have fpc and fpc-packages installed and configured first.
115123
116-Another useful command is
124+To compile go to Lazarus directory in your terminal and type
125+```
126+**make**
127+```
117128
118-` `**`make bigide`**
129+This should rebuild LCL and Lazarus IDE with basic packages installed.
119130
120-which adds the same packages that the release version has.
131+Another useful command is
132+```
133+**make bigide**
134+```
121135
122-Then you can run Lazarus from within the same source directory with command "lazarus" (in Unix systems "./lazarus").
136+which adds the same packages that the release version has.
123137
124-In case you want to run several versions, you can direct lazarus to use use specific configuration directories via the --pcp option, e.g. :
138+Then you can run Lazarus from within the same source directory with command "lazarus" (in Unix systems "./lazarus").
125139
126-`lazarus --pcp=/home/YOU/myLaz19`
140+In case you want to run several versions, you can direct lazarus to use use specific configuration directories via the --pcp option, e.g. :
141+```
142+lazarus --pcp=/home/YOU/myLaz19
143+```
127144
128145### Make targets
129146
130147#### make help
131148
132-To see a list of available targets for ***make*** type [[make help]]. Note: "**make help**" exists since 1.0. Here is the output of "**make help**":
133-
134-``` bash
135-
136-make help
149+To see a list of available targets for _**make**_ type [[make help]]. Note: "**make help** " exists since 1.0. Here is the output of "**make help** ":
137150
138- Main targets
139- Without any target, target 'all' will be invoked.
140- all build all needed, i.e. minimal IDE, lazbuild, startlazarus.
141- clean deletes files that 'bigide' creates. It does not clean up all possible
142- targets. Clean other target: make clean LCL_PLATFORM=qt
143- distclean Clean all targets and common leftovers.
144- lazbuild build lazbuild and lcl with nogui widgetset
145- bigide as all, except that the IDE is built with a lot of extra packages
146- useride calls lazbuild to build an IDE with your active profile, requires lazbuild
147- install installs Lazarus under /usr/local/share/lazarus
148- You can change the directory by appending INSTALL_PREFIX=/some/path
151+
149152
150- Sub targets
151- registration build package FCL
152- lazutils build package LazUtils, requires registration
153- codetools build package CodeTools, requires lazutils
154- lcl build package LCLBase and LCL, requires lazutils
155- tools build lazres, svn2revisioninc, updatepofiles, lrstolfm,
156- requires LCL with nogui widgetset
157- basecomponents build debuggerintf, lazdebuggergdbmi, lazcontrols, synedit, ideintf
158- for the LCL_PLATFORM, requires lcl
159- bigidecomponents build many extra packages for the LCL_PLATFORM, requires basecomponents
160- lhelp build lhelp, requires bigidecomponents
161- starter build startlazarus, requires basecomponents
162- examples build basic examples, requires basecomponents
163- Note: There are more examples having their own directory
164-
165- Flags:
166- PP=/path/to/fpc use another compiler
167- USESVN2REVISIONINC=0 do not update ide/revision.inc
168- INSTALL_PREFIX=/usr used by 'install' as path prefix
169- FPC_DIR=/usr/share/fpcsrc/3.0.4 used by fpcmake when regenerating Makefiles
170- OPT='-vwnbq -gh' append these options when calling the compiler
171-
172- Usage examples:
173-
174- Update svn and build a minimal IDE, startlazarus and lazbuild:
175- make clean
176- svn up
177- make clean all
178-
179- Note: You can start lazarus with 'startlazarus'
180- Note: Use the IDE or lazbuild to compile your projects/packages.
181-
182- Update svn and build an IDE with your last set of packages:
183- make clean
184- svn up
185- make clean lazbuild useride
186-
187- Clean up:
188- There is no command to clean up a svn repository completely, but
189- you can use the following command under Linux/OS X:
190- svn status | grep '\?' | sed -e 's/\? *//' | xargs rm -r
191-
192- Another possibility is to create a clean copy via the svn export command.
193-
194- Install:
195- Note: You can use Lazarus without installing. Just start the lazarus executable.
196- 1. Build Lazarus as normal user with one of the above commands.
197- 2. Install as root into /usr
198- sudo make install
199- This installs startlazarus, lazarus-ide, lazbuild under /usr/bin
200- and copies the whole lazarus source directory to /usr/share/lazarus
201153```
154+make help
155+
156+ Main targets
157+ Without any target, target 'all' will be invoked.
158+ all build all needed, i.e. minimal IDE, lazbuild, startlazarus.
159+ clean deletes files that 'bigide' creates. It does not clean up all possible
160+ targets. Clean other target: make clean LCL_PLATFORM=qt
161+ distclean Clean all targets and common leftovers.
162+ lazbuild build lazbuild and lcl with nogui widgetset
163+ bigide as all, except that the IDE is built with a lot of extra packages
164+ useride calls lazbuild to build an IDE with your active profile, requires lazbuild
165+ install installs Lazarus under /usr/local/share/lazarus
166+ You can change the directory by appending INSTALL_PREFIX=/some/path
167+
168+ Sub targets
169+ registration build package FCL
170+ lazutils build package LazUtils, requires registration
171+ codetools build package CodeTools, requires lazutils
172+ lcl build package LCLBase and LCL, requires lazutils
173+ tools build lazres, svn2revisioninc, updatepofiles, lrstolfm,
174+ requires LCL with nogui widgetset
175+ basecomponents build debuggerintf, lazdebuggergdbmi, lazcontrols, synedit, ideintf
176+ for the LCL_PLATFORM, requires lcl
177+ bigidecomponents build many extra packages for the LCL_PLATFORM, requires basecomponents
178+ lhelp build lhelp, requires bigidecomponents
179+ starter build startlazarus, requires basecomponents
180+ examples build basic examples, requires basecomponents
181+ Note: There are more examples having their own directory
182+
183+ Flags:
184+ PP=/path/to/fpc use another compiler
185+ USESVN2REVISIONINC=0 do not update ide/revision.inc
186+ INSTALL_PREFIX=/usr used by 'install' as path prefix
187+ FPC_DIR=/usr/share/fpcsrc/3.0.4 used by fpcmake when regenerating Makefiles
188+ OPT='-vwnbq -gh' append these options when calling the compiler
189+
190+ Usage examples:
191+
192+ Update svn and build a minimal IDE, startlazarus and lazbuild:
193+ make clean
194+ svn up
195+ make clean all
196+
197+ Note: You can start lazarus with 'startlazarus'
198+ Note: Use the IDE or lazbuild to compile your projects/packages.
199+
200+ Update svn and build an IDE with your last set of packages:
201+ make clean
202+ svn up
203+ make clean lazbuild useride
204+
205+ Clean up:
206+ There is no command to clean up a svn repository completely, but
207+ you can use the following command under Linux/OS X:
208+ svn status | grep '\?' | sed -e 's/\? *//' | xargs rm -r
209+
210+ Another possibility is to create a clean copy via the svn export command.
211+
212+ Install:
213+ Note: You can use Lazarus without installing. Just start the lazarus executable.
214+ 1. Build Lazarus as normal user with one of the above commands.
215+ 2. Install as root into /usr
216+ sudo make install
217+ This installs startlazarus, lazarus-ide, lazbuild under /usr/bin
218+ and copies the whole lazarus source directory to /usr/share/lazarus
219+```
202220
203221### Make parameters
204222
205-There are additional parameters which can be used to **make** Lazarus. See a fully working example above.
206-
207-- **OPT**=%compiler_switches
208-
209-the %compiler_switches is passed to each fpc call. The option is useful for specifying defines
210-
211-For example:
223+There are additional parameters which can be used to **make** Lazarus. See a fully working example above.
212224
213-` make bigide OPT="-dNoGdkPixBufLib -gw2" `
225+ * **OPT** =%compiler_switches
214226
215-makes LCL and ide with NoGdkPixBufLib defined and dwarf2 debug info.
227+the %compiler_switches is passed to each fpc call. The option is useful for specifying defines
216228
217-- **LCL_PLATFORM**=%platform
229+For example:
230+```
231+make bigide OPT="-dNoGdkPixBufLib -gw2"
232+```
218233
219-%platform is the target [[Widgetset|widgetset]]. It can be win32,wince,gtk,gtk2,qt,carbon,cocoa,customdrawn.
234+makes LCL and ide with NoGdkPixBufLib defined and dwarf2 debug info.
220235
221-For example:
236+ * **LCL_PLATFORM** =%platform
222237
223-` make LCL_PLATFORM=gtk2`
238+%platform is the target [[Widgetset|widgetset]]. It can be win32,wince,gtk,gtk2,qt,carbon,cocoa,customdrawn.
224239
225-Rebuilds LCL and IDE for gtk2 widgetset
240+For example:
241+```
242+make LCL_PLATFORM=gtk2
243+```
226244
227-- **FPC**=%compiler_path
245+Rebuilds LCL and IDE for gtk2 widgetset
228246
229-or
247+ * **FPC** =%compiler_path
230248
231-- **PP**=%compiler_path
249+or
232250
233-%compiler_path is the path+filename to a custom compiler binary you want to build the target with.
251+ * **PP** =%compiler_path
234252
235-such as:
253+%compiler_path is the path+filename to a custom compiler binary you want to build the target with.
236254
237-`make FPC="~/Pfad/fpc"`
255+such as:
256+```
257+make FPC="~/Pfad/fpc"
258+```
238259
239260## Browse the Source Repository with a Web Browser
240261
241-The contents of the GIT repro can also be browsed with your web-browser through [interface](https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/main).
262+The contents of the GIT repro can also be browsed with your web-browser through [interface](<https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/main>).
242263
243264## Lazarus Distributions
244265
245-There are some unofficial sites where you can find Lazarus and Free Pascal too:
266+There are some unofficial sites where you can find Lazarus and Free Pascal too:
246267
247-- [NewPascal](http://newpascal.org) is a curated distribution for Windows, which doesn't require an installer and implements some new features. (Is very out-of-date)
248-- The [getlazarus](http://www.getlazarus.org) distribution bundles cutting-edge versions of Lazarus with easy-to-use setup scripts for several platforms and additional components.
249-- [FreeSparta](https://freesparta.com/) is a commercial distribution of Lazarus for Windows.
250-- You can get a Ubuntu LiveCD from Austrian University of Applied Sciences hosting <http://www.sigma-server.com/liveCD/Ubuntu-7.10-NTC-Lazarus.iso> and md5sum file is here <http://www.sigma-server.com/liveCD/Ubuntu-7.10-NTC-Lazarus.iso.md5>.
251-- The [CodeTyphon](http://www.pilotlogic.com) distribution bundles Lazarus with additional packages and components.
252-- [LiteZarus](https://github.com/x2nie/LiteZarus) is a Lazarus distro intended for designing creating non-LCL projects.
253-- Lazarus is available on CDs and USB sticks from the [Blaise Pascal Magazine](http://www.blaisepascal.eu) store.
268+ * [NewPascal](<http://newpascal.org>) is a curated distribution for Windows, which doesn't require an installer and implements some new features. (Is very out-of-date)
269+ * The [getlazarus](<http://www.getlazarus.org>) distribution bundles cutting-edge versions of Lazarus with easy-to-use setup scripts for several platforms and additional components.
270+ * [FreeSparta](<https://freesparta.com/>) is a commercial distribution of Lazarus for Windows.
271+ * You can get a Ubuntu LiveCD from Austrian University of Applied Sciences hosting <http://www.sigma-server.com/liveCD/Ubuntu-7.10-NTC-Lazarus.iso> and md5sum file is here <http://www.sigma-server.com/liveCD/Ubuntu-7.10-NTC-Lazarus.iso.md5>.
272+ * The [CodeTyphon](<http://www.pilotlogic.com>) distribution bundles Lazarus with additional packages and components.
273+ * [LiteZarus](<https://github.com/x2nie/LiteZarus>) is a Lazarus distro intended for designing creating non-LCL projects.
274+ * Lazarus is available on CDs and USB sticks from the [Blaise Pascal Magazine](<http://www.blaisepascal.eu>) store.
254275
255276## See also
256277
257-- [Forum: Explanation of trunk installation in Windows](http://forum.lazarus.freepascal.org/index.php/topic,36347.msg242123.html#msg242123)
278+ * [Forum: Explanation of trunk installation in Windows](<http://forum.lazarus.freepascal.org/index.php/topic,36347.msg242123.html#msg242123>)
258279
259280---
260-*From the Free Pascal wiki, page "Getting Lazarus", as it stood on 2021-08-04 after a change by Dsiders, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
261-Category: Install
262-Category: Lazarus
281+*From the Free Pascal wiki, page "Getting Lazarus", as the Internet Archive kept it on 2025-01-09, last changed on 2024-09-29. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history