Sign in Join
Wiki copytemporary

Getting Lazarus

Deutsch · English · Español · Français · Polski · Português · Slovenčina · Русский · 日本語

Download and install Lazarus release version

From SourceForge

Binary releases for various platforms are available via the Lazarus Sourceforge download area.

For people who are blocked by SF, the Lazarus releases from Sourceforge are mirrored at:

Here are the Checksums.

Specific for platform

Get Lazarus for Windows - use the Sourceforge link above.

Get Lazarus for ReactOS

Get Lazarus for Ubuntu

Get Lazarus for Fedora

Get Lazarus for Suse

Get Lazarus for Scientific Linux

Get Lazarus for Raspberry Pi (Raspbian)

Get Lazarus for Mac

Lazarus on Solaris

Getting a Git client

TortoiseGit client

TortoiseGit Client is for Windows only. You may download it from https://tortoisegit.org/

Git for Windows

Command line clients:

https://gitforwindows.org/ https://git-scm.com/download/win

Other clients

A GIT command line client is available from https://git-scm.com/downloads for many platforms.

On Linux, it is recommended to install git using the package management system offered by your distribution. For example:

pascal
sudo apt-get install git

Getting Lazarus from the GitLab server

Development version of Lazarus

To get Lazarus for the first time, using command line:

pascal
git clone https://gitlab.com/freepascal.org/lazarus/lazarus.git lazarus

A new directory "lazarus" is then created under the current directory.

Fixes branch of latest Lazarus release

Change into the directory created by the above git clone command and run

pascal
git switch  fixes_2_2

Amending the name of the branch according to what fixes version you want. Get a list with

pascal
git branch --all

The output will contain lines similar to

pascal
remote/origin/fixes_2_2

The name of the branch is just the last part.

Update the sources later

Open a terminal/command prompt, change to the lazarus directory and type:

pascal
git switch main
     git pull

instead of main, you may want to specify a fixes branch.

For compiling see this.

Scripts

There are scripts for Windows and Linux to automate downloading and building Lazarus: Scripts for Lazarus

Compiling and running Lazarus

See Installing Lazarus - a detailed installation guide.

Using the command-line

Lazarus is shipped with an autogenerated Makefile (of the name "Makefile") for the gnu "make " utility.

Warning-icon.png

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 :

pascal
set path=c:\pascal\3.2.0\bin\i386-win32;%path%

Warning-icon.png

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.

make allows you to compile Lazarus from command-line easily. You need to have fpc and fpc-packages installed and configured first.

To compile go to Lazarus directory in your terminal and type

pascal
**make**

This should rebuild LCL and Lazarus IDE with basic packages installed.

Another useful command is

pascal
**make bigide**

which adds the same packages that the release version has.

Then you can run Lazarus from within the same source directory with command "lazarus" (in Unix systems "./lazarus").

In case you want to run several versions, you can direct lazarus to use use specific configuration directories via the --pcp option, e.g. :

pascal
lazarus --pcp=/home/YOU/myLaz19

Make targets

make help

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 ":

pascal
make help 
    
     Main targets
                      Without any target, target 'all' will be invoked.
       all            build all needed, i.e. minimal IDE, lazbuild, startlazarus.
       clean          deletes files that 'bigide' creates. It does not clean up all possible
                      targets. Clean other target: make clean LCL_PLATFORM=qt
       distclean      Clean all targets and common leftovers.
       lazbuild       build lazbuild and lcl with nogui widgetset
       bigide         as all, except that the IDE is built with a lot of extra packages
       useride        calls lazbuild to build an IDE with your active profile, requires lazbuild
       install        installs Lazarus under /usr/local/share/lazarus
                      You can change the directory by appending INSTALL_PREFIX=/some/path
    
     Sub targets
       registration   build package FCL
       lazutils       build package LazUtils, requires registration
       codetools      build package CodeTools, requires lazutils
       lcl            build package LCLBase and LCL, requires lazutils
       tools          build lazres, svn2revisioninc, updatepofiles, lrstolfm,
                      requires LCL with nogui widgetset
       basecomponents build debuggerintf, lazdebuggergdbmi, lazcontrols, synedit, ideintf
                      for the LCL_PLATFORM, requires lcl
       bigidecomponents build many extra packages for the LCL_PLATFORM, requires basecomponents
       lhelp          build lhelp, requires bigidecomponents
       starter        build startlazarus, requires basecomponents
       examples       build basic examples, requires basecomponents                                                                                                        
                      Note: There are more examples having their own directory                                                                                             
                                                                                                                                                                           
     Flags:                                                                                                                                                                
       PP=/path/to/fpc        use another compiler                                                                                                                         
       USESVN2REVISIONINC=0   do not update ide/revision.inc                                                                                                               
       INSTALL_PREFIX=/usr    used by 'install' as path prefix                                                                                                             
       FPC_DIR=/usr/share/fpcsrc/3.0.4   used by fpcmake when regenerating Makefiles                                                                                       
       OPT='-vwnbq -gh'       append these options when calling the compiler                                                                                               
                                                                                                                                                                           
     Usage examples:                                                                                                                                                       
                                                                                                                                                                           
     Update svn and build a minimal IDE, startlazarus and lazbuild:                                                                                                      
       make clean                                                                                                                                                          
       svn up                                                                                                                                                               
       make clean all                                                                                                                                                      
                                                                                                                                                                           
     Note: You can start lazarus with 'startlazarus'                                                                                                                       
     Note: Use the IDE or lazbuild to compile your projects/packages.                                                                                                      
                                                                                                                                                                           
     Update svn and build an IDE with your last set of packages:                                                                                                         
       make clean                                                                                                                                                          
       svn up                                                                                                                                                              
       make clean lazbuild useride                                                                                                                                         
                                                                                                                                                                           
     Clean up:                                                                                                                                                             
      There is no command to clean up a svn repository completely, but                                                                                                     
      you can use the following command under Linux/OS X:                                                                                                                  
      svn status | grep '\?' | sed -e 's/\? *//' | xargs rm -r                                                                                                             
                                                                                                                                                                           
      Another possibility is to create a clean copy via the svn export command.                                                                                            
                                                                                                                                                                           
     Install:                                                                                                                                                              
       Note: You can use Lazarus without installing. Just start the lazarus executable.                                                                                    
       1. Build Lazarus as normal user with one of the above commands.                                                                                                     
       2. Install as root into /usr                                                                                                                                        
              sudo make install
          This installs startlazarus, lazarus-ide, lazbuild under /usr/bin
          and copies the whole lazarus source directory to /usr/share/lazarus

Make parameters

There are additional parameters which can be used to make Lazarus. See a fully working example above.

the %compiler_switches is passed to each fpc call. The option is useful for specifying defines

For example:

pascal
make bigide OPT="-dNoGdkPixBufLib -gw2"

makes LCL and ide with NoGdkPixBufLib defined and dwarf2 debug info.

%platform is the target widgetset. It can be win32,wince,gtk,gtk2,qt,carbon,cocoa,customdrawn.

For example:

pascal
make LCL_PLATFORM=gtk2

Rebuilds LCL and IDE for gtk2 widgetset

or

%compiler_path is the path+filename to a custom compiler binary you want to build the target with.

such as:

pascal
make FPC="~/Pfad/fpc"

Browse the Source Repository with a Web Browser

The contents of the GIT repro can also be browsed with your web-browser through interface.

Lazarus Distributions

There are some unofficial sites where you can find Lazarus and Free Pascal too:

See also


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.

Revision 2, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.