Installing Lazarus

From Free Pascal wiki

Deutsch (de) English (en) español (es) suomi (fi) français (fr) magyar (hu) 日本語 (ja) 한국어 (ko) português (pt) русский (ru) slovenčina (sk) Tiếng Việt (vi) 中文(中国大陆)‎ (zh_CN)


A real "in depth" build guide is here.

For binary downloads of Lazarus see Download and install Lazarus release version.

For people who simply want to install Lazarus and start using it for programming, the easiest approach is to download and install a recent, reasonably stable binary release (such as a Linux ".rpm" package, a Windows ".exe" installer, or a macOS ".dmg" disk image or installer ".pkg" package). You can read the sections under Linux or Windows entitled "fpc binaries" or the first paragraphs in the sections on installing Lazarus in Linux or Windows; most of the remaining information can be safely ignored.

For those who want to participate in the development of the compiler or the IDE, or for those who want the most up-to-date tools, an installation from source files is necessary, and much of the rest of this information is relevant.

Lazarus provides two main parts:

  • LCL - the Lazarus Component Library
  • IDE - the RAD tool

These in turn are dependent on:

  • FPC - the Free Pascal compiler
  • FCL - the Free Pascal Component library, containing most of the non-graphic components used by Lazarus

Lazarus system requirements

  1. A Free Pascal Compiler, packages, and sources. (*Important*: of the same version/date)
  2. A supported widget set:
    The native Win32 API can be used, or the Qt widgetset.
    GTK+ 2.x or Qt : Most Linux distributions and *BSDs already install the GTK+ 2.x libraries. You can also find them at
    Qt is also supported with all distributions (auto installed if you prefer KDE).
    You need the Apple Xcode developer tools. For macOS versions before 10.15 (Catalina), the 32 bit Carbon or 64 bit Cocoa widget sets can be used.
    For macOS 10.15 onwards, the 64 bit Cocoa widget set must be used as all 32 bit support has been removed by Apple.
    Qt can be used too, but it requires much more effort.
The Qt widget set is supported on Linux 32/64, Win 32/64, macOS 32/64, FreeBSD 32/64, Haiku and embedded Linux (qtopia) platforms. For more details about the installation of Qt, see the Qt Interface article.

Operating system specific guides

While the remainder of this page has much valuable information, many users may need no more than the following operating system specific guides.







By far the easiest and most common way to install Lazarus on windows is to go to the Lazarus SourceForge download site, select an appropriate combined FPC/Lazarus installation package, download and install.

Installing Lazarus

Ubuntu/Debian Linux

It is recommended to use the fpcUP updater-installer for first time users of Lazarus, which installs Free Pascal and Lazarus in one go into a single subdirectory structure ( ~/development ).

A way to get a current working installation of Lazarus is to download the .deb files for Free Pascal and Lazarus from the SourceForge repository. Here is how: Getting Lazarus from our Ubuntu repository.

Note that installing from the default Ubuntu sources will not install the Free Pascal Source Libraries - use the method above.


Note: on Linux Ubuntu at least, the command to start Lazarus from a console is startlazarus. If you installed it from a Debian package, you should have a Lazarus menu entry under Application/Programming. (Issue: there is an ambiguity with a program also called "lazarus" from a "tct" package available for Ubuntu).

Building debs the easy way

The easiest way to get a current working installation of Lazarus is to download and build your own .deb packages by following the instructions at How to setup a FPC and Lazarus Ubuntu repository

Installing using rpms

The next easiest way is to download the RPMs for Free Pascal and Lazarus from the SourceForge repository.

You need to download the selected version of:

  • the compiler (eg fpc-3.0.4-1.i686.rpm)
  • the pascal source library (eg fpc-src-3.0.4-2.i686.rpm)
  • the Lazarus package (eg lazarus-2.0.8-0.i686.rpm).

Uninstall the old packages:

rpm -ev lazarus
rpm -ev fpc
rpm -ev fpc-src

Install the new packages:

rpm -ivh fpc-*
rpm -ivh lazarus-*

Arch or Manjaro Linux (aarch64)

To install Free Pascal and Lazarus, see Install on aarch64 Arch or Manjaro.

Fedora Linux

Recent packages of Lazarus and Free Pascal are included in Fedora by default. See Install on Fedora on how to install them.

Scientific Linux

Scientific Linux is an RPM-based distribution focussing on science and research. See Scientific Linux for details.

Debian GNU Linux

There are preliminary Debian packages for lazarus available for download. They are not the latest versions, however. Make sure you read /usr/share/doc/lazarus/README.Debian carefully before you start using it. Feedback is needed and appreciated; please send your comments to Carlos Laviola <>.

Note that for a fully working Lazarus install, no older or incompatible versions of, for example, the fpc source or fpc compiler must be installed. Remove them by typing

dpkg -r <package name>

without .deb extension. And then install the newest versions as described.

From source on Linux

If you prefer to install from source and compile the files yourself, follow these instructions. Because the whole Lazarus toolchain is installed into one directory, uninstall is very easy and you don't need to be root to install Lazarus. You can get tgz files for FPC, the FPC source and Lazarus from the downloads section or you can download it directly via svn.

Here is an example of installing 0.9.28 to Ubuntu 6.06. If you understand Linux commands and bash script, you can get what steps are needed. Just copy the script (change the version number when a new version has been released), paste it into a text editor, and save it as something like "". Give it execute permission, and run it in a console.


Note: In this example, FPC is installed in /opt. So when prompted 'Install prefix', enter '/opt/fpc'.

# Installing the required packages
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
sudo apt-get install libgdk-pixbuf-dev
# Installing the Free Pascal source
cd /opt
sudo wget
sudo tar -xvf fpc-src-2.4.2.source.tgz
sudo mv fpc fpcsrc
# Installing the Free Pascal binaries
sudo mkdir fpc
cd fpc
sudo wget
sudo tar -xvf fpc-2.4.2.i686-linux.tar
echo "Enter '/opt/fpc' when prompted 'Install prefix'"
sudo sh
# Adding the FPC path to the PATH
echo "#FPC PATH" >> ~/.bash_profile
echo "if [ -d /opt/fpc/bin ] ; then" >> ~/.bash_profile 
echo PATH=/opt/fpc/bin:"${PATH}" >> ~/.bash_profile
echo "fi" >> ~/.bash_profile
# Installing the Lazarus IDE
cd ../
sudo wget
# sudo wget
sudo tar -zxvf lazarus-0.9.30-0.tar.gz
sudo chmod -R 777 lazarus
cd lazarus
make clean all bigide

Note: You have to manually set fpc-src path in the Environmental Options.

Downloading Lazarus Source Code

Both the Lazarus and FPC source code reside in SVN/subversion repositories. SVN provides an easy way to update your sources by only downloading the changes. This is the recommended way and saves you a lot of time. A connection to the internet is needed for this, but you don't need to be root.

Please note these instructions are for subversion, but there is also a Git mirror repository of Free Pascal Compiler and Lazarus: see Git mirror. You can also use git directly with the subversion server using git-svn link: see Lazarus git-svn.

Lazarus does not need any special permissions, neither during installation nor at runtime.

If you decide to use TortoiseSVN, remember to check "command line client tools" during its installation if you want Lazarus to show the SVN revision number in the About dialog.

Now get the Lazarus source:

 svn checkout lazarus

(replace the last lazarus with any other dir where you want to place your sources)

On subsequent occasions, to update simply type:

 svn update lazarus

For more information on Subversion, see:

Compiling and running

When you have checked out the source from svn, the next step is:

Compile Lazarus
 cd lazarus
 make bigide

If FPC is installed correctly, the compilation should work without problems. If not, see the Lazarus FAQ.

Start lazarus

The Lazarus IDE should start. If you started lazarus in a terminal, you can see some notes about missing settings. This is normal at first start. The IDE automatically tries to find out where the Free Pascal compiler and its sources are installed by searching in the most common directories.

Check the paths
Use the IDE menu to go to
Environment -> Environment Options -> Files

The 'FPC Source directory' should point to your fpc source directory. This directory normally ends with /fpc/ or /fpcsrc/ (e.g. /usr/src/fpcsrc or /home/username/freepascal/fpc) and contains directories like 'compiler', 'docs', 'fcl', 'rtl' and 'packages'.

See here for the documentation about this dialog: IDE Options.


To update lazarus you can use:

 svn update lazarus

then for either update path:

 make clean all bigide

This will rebuild Lazarus and create an IDE without your installed Lazarus packages. To link your installed packages do after the above:

./lazbuild --build-ide=

You may have to append other options if for example you use a custom config directory. See lazbuild.


The current releases of the Windows Lazarus binary packages install very easily, and should work 'out-of-the-box'. Upgrading is as simple as downloading the new installer and running it.

Win98 and WinME need a special flag to compile. You need to use make OPT="-dWIN9XPLATFORM" otherwise the lazarus.exe will not be able to run on these operating systems.

Installing Lazarus on Portable USB Drive

It is even possible to install the whole Lazarus/FPC package on a portable USB drive (capacity at least 256 MB), for use in environments where you are not allowed to install software on your Windows workstation or where you haven't got administrator privileges. You do have to be a little careful about adjusting the paths in the compiler and environment options and the fpc.cfg file. It may also be necessary to keep the directory for test compilation on your portable drive.


A: This is what I do. It's relatively convoluted, but it's the best solution I've found. I have a "bin" directory on my USB drive, where I have several scripts and utilities installed. Inside that directory is a batch file called "setenv.bat" which sets an environment variable called THUMBDRIVE. It is set by using this command in the batch file:

set THUMBDRIVE=%CD:~0,2%

This is used in setenv.bat to set some paths to other things I have installed on the USB drive. I also have a link in the root directory of the thumb drive with this property:

%SystemRoot%\system32\cmd.exe /k bin\setenv

so that when I click on that link when the thumb drive folder is diplayed after inserting it, it will open a command prompt at the thumb drive with the environment variables set from setenv.bat.

Also inside the bin directory is sed (the actual binary is one I obtained from the mingw distribution). So I created another batch file called fixlaz.bat which takes one argument, the drive letter which is currently in the Lazarus/fpc settings files that you want to change (note that this is the previous drive letter the last time you ran fixlaz.bat, not the current one of your USB drive which fixlaz.bat already knows). You will need to create this batch file to fit where you installed Lazarus in the root directory structure of the drive if you didn't install it directly in the root folder, and then repeat these lines also for the editoroptions.xml and fpc.cfg files (fpc.cfg is the the fpc bin directory, which might be buried deep in the lazarus folder):

copy %THUMBDRIVE%\lazarus\environmentoptions.xml %THUMBDRIVE%\lazarus\environmentoptions.bak
sed -e 's/%1/%THUMBDRIVE%/g' %THUMBDRIVE%\lazarus\environmentoptions.bak > %THUMBDRIVE%\lazarus\environmentoptions.xml

So to use it, I would type at the command prompt of the USB drive:

fixlaz G:

if "G:" was the previous drive letter used the last time I ran it. This will then scan the file(s) and replace "G:" with the current drive letter of the USB drive, which is in the %THUMBDRIVE% environment variable (after running setenv.bat). Note that you could write it to save the current drive letter in a separate file, so that you wouldn't have to remember it yourself the next time. But this works well enough for me right now. >>

The binary package is available for Linux and Windows from

Download the latest release and launch the application. You will be taken through a typical Windows installation, in which the FPC compiler and source libraries are installed within the same directory structure as Lazarus, and the IDE should launch and operate without significant problems, provided you have uninstalled(!!!) any previous version of Lazarus and/or FPC (often found in the C:\pp directory).

You can also use a Lazarus Snapshot. For download locations see Lazarus Snapshots Downloads.

Tip: It's perhaps a good idea to reboot your Windows system after you have installed Lazarus and before you try to install additional Lazarus components such as zeoslib for example.

From source on Windows

If you prefer to install from sources, then follow these instructions.

Please note these instructions are for SubVersion, but there is also a Git mirror repository of Free Pascal Compiler and Lazarus. See Git mirror for details. You can also use git directly with SubVersion server using git-svn link. See Lazarus git-svn for details.

Open a command prompt window. Start->Run...>CMD or choose MS-DOS icon. You will use this window to enter the commands below

You have to download the lazarus source from one of the snapshots servers. Then unzip it to c:\lazarus for example [below called $(LazarusDir)].

Or you use SVN (example for text mode SVN; adapt to GUI tools such as TortoiseSVN if you want to):

mkdir c:\lazarus
cd /d c:\lazarus
svn checkout c:\lazarus

You have to install at least the latests stable FPC version (e.g. FPC 3.0.4, but an FPC 3.1.1 snapshot is also possible).

Type (replace "YourLazarusDir" with the path you have unzipped/checked out Lazarus; replace

cd "YourLazarusDir"
rem Of course change the first path variable to
rem the path of your FPC compiler
set path=c:\freepascal\bin\x86_64-win64;%PATH%
  • Win9x/WinME: use make OPT="-dWIN9XPLATFORM" otherwise the lazarus.exe will not be able to run on this platform.

If this works, you can type: lazarus.exe.

You can compile examples also:

cd "YourLazarusDir"\examples

Installing from source starting with a stable release

An alternative version of the instructions above.

1> First of all install the latest stable Lazarus to obtain a good starting FPC, for example in C:\lazarus_1_4

2> Now use TortoiseSVN to checkout into c:\lazarus

3> Make the following C:\lazarus\build.bat file:

Replace $(LazarusDir) with your Lazarus did and make sure the FPC version number matches

SET PATH=$(LazarusDir)\fpc\2.6.4\bin\i386-win32\
make bigide

Now create a shortcut in your desktop to start Lazarus and put the following command to start Lazarus which will make sure that it separates the config files from the stable and the SVN versions:

$(LazarusDir)\startlazarus.exe --pcp=$(LazarusDir)\configdir

Always start Lazarus from this shortcut, never directly from the executable. At the first time you start Lazarus configure you FPC dir, FPC sources dir and Lazarus dir.

Building Lazarus on Win98 and WinME

Because the Lazarus IDE by default links to a dll-call "CreateToolhelp32Snapshot", which does not exist on the Win9x platform, the IDE will not run on Win9x out of the box. In order to make it run you have to rebuild the IDE with make "-dWIN9XPLATFORM".

What does the bigide make argument do?

The bigide make argument adds a bunch of packages to Lazarus that many find useful and cannot do without. The packages that are added are:

  • cairocanvas
  • chmhelp
  • datetimectrls
  • externhelp
  • fpcunit
  • fpdebug
  • instantfpc
  • jcf2
  • lazcontrols
  • lazdebuggers
  • lclextensions
  • leakview
  • macroscript
  • memds
  • onlinepackagemanager
  • pas2js
  • PascalScript
  • printers
  • projecttemplates
  • rtticontrols
  • sdf
  • sqldb
  • synedit
  • tachart
  • tdbf
  • todolist
  • turbopower_ipro
  • virtualtreeview

The above list is sourced from the [Lazarus source directory]/IDE/Makefile.fpc and may be subject to change.

Note that if you have not compiled your own Lazarus IDE with the bigide argument, you can install any of these packages yourself using the Lazarus IDE Package > Install/Uninstall Packages... dialog.

Multiple Lazarus installs

Please see Multiple Lazarus for details on having more than one Lazarus version installed on one system. We cover issues that can arise due to multiple Lazarus installs here, because they can also happen when installing over a previous version.


Troubleshooting details that should (hopefully) be applicable across platforms may be found in the article Installation Troubleshooting.

Lazarus FAQ

The Lazarus FAQ - Frequently Asked Questions - page is available here.

Installing old versions

See Installation hints for old versions

See also