- 1 Overview
- 2 Installing The Free Pascal Compiler
- 2.1 Installing Free Pascal under Linux
- 2.1.1 FPC Binaries
- 2.1.2 FPC Sources
- 2.2 Installing Free Pascal under Windows
- 2.3 Installing Free Pascal under BSD/manually
- 2.4 Installing Free Pascal under Mac OS X
- 2.1 Installing Free Pascal under Linux
- 3 Installing Lazarus
- 3.1 Installing Lazarus under Linux
- 3.2 Installing Lazarus under Mac OS X
- 3.3 Installing Lazarus under Windows
- 3.4 Additional experiences and advice on installing FPC and Lazarus
- 3.5 Installing Lazarus under BSD
- 4 Original contributors and changes
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 or a Windows ".exe" 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 freePascal compiler
- FCL - the FreePascal Component library, containing most of the non-graphic components used by Lazarus
Lazarus System Requirements
- FreePascal compiler, packages, and sources. (*important*: of the same version/date)
- A supported Widget tool-kit
- : The native Win32 API can be used
- GTK+ 1.2.x : Most Linux distributions and *BSDs already install the GTK+ 1.2.x libraries. You can also find them at http://www.gtk.org.
You'll also want gdk-pixbuf, 0.13 or newer (preferably 0.18 or newer), which is also found in most recent distributions from the past 2 years. The source is available from ftp://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/
- Mac OS X
- GTK+ 1.2.x : You need the apple developer tools, X11 and GTK1.2. See below Installing under Mac OS X.
- GTK+ 2.x
- WARNING : The GTK2 interface is not yet complete and is only for testing purposes.
It's found in most recent distributions. For the source see http://www.gtk.org.
The FAQ - Frequently Asked Questions file is available at http://www.lazarus.freepascal.org . Some of the questions can be found in the local file 'FAQ'.
The following sections will describe how to get FreePascal and how to install lazarus properly.
Installing The Free Pascal Compiler
There is an extensive discussion of how to install and build Free Pascal compilers available here http://www.stack.nl/~marcov/buildfaq.pdf - it may be a little too detailed for some users, but is very comprehensive.
Lazarus requires fpc (FreePascal) version 1.9.x and it requires both the compiled fpc libs (binaries) and the fpc sources and of the same version. fpc 1.0.6 is too buggy and fpc 1.0.10 has problems opening forms created with fpc 1.9.x. FreePascal version 2.0.0 has now been released, and is the preferred compiler (fpc-2.0.0).
Installing Free Pascal under Linux
The latest release of FreePascal, version 2.0.1, can be obtained from the FreePascal website (http://www.freepascal.org/download.html, then choose a mirror) or from sourceforge (http://sourceforge.net/projects/lazarus).
At the lazarus downloads section (http://www.lazarus.freepascal.org ) you can get the RPM of the Free Pascal compiler (compiler / linux) and its packages. If you don't have an RPM-based distribution, you can download and install the tarballs from http://www.freepascal.org. If you want to compile the binaries for yourself, see the BSD section.
Download lastest files from http://sourceforge.net/project/showfiles.php?group_id=89339. As example:
and install them with:
- rpm -Uvh fpc-2.0.1-050923.i386.rpm
- rpm -Uvh fpcsrc-2.0.1-050923.i386.rpm
- rpm -Uvh lazarus-0.9.10-0.i386.rpm
Daily snapshot Debian packages can be downloaded from http://cYcnus.de/deb/. At present this contains only the compiled fpc components, but not the sources, which would be needed for most Lazarus programming.
Together with the release of version 2.0, FPC no longer uses CVS, but has migrated to Subversion (SVN). For now, there is no CVS mirror yet, so you have to use SVN to get the FPC sources.
Download Daily Source Snapshot of Development Tree (version 2.1.x)
You can download today's development (v 2.1.x) sources in the form of a packed snapshot from the SVN source repository: these snapshots are updated on a daily basis, and reflect the state of the source repository. The files are kept at the site which has the SVN archive. Entire public sources archive of v2.1.x: fpc.zip (24 MB)
Download Daily Source Snapshot of Release Tree (version 2.0.x)
You can download today's development (v 2.0.x) sources that will lead to the next stable release in form of a packed snapshot from the SVN source repository: these snapshots are updated on a daily basis, and reflect the state of the source repository. The files are kept at the site which has the SVN archive. Entire public sources archive of v2.0.x: fpc.zip (24 MB)
Connect to Source Repository with SVN (replaces section on connection to CVS)
As an alternative to the daily zip files of the SVN sources, the SVN repository has been made accessible for everyone, with read-only access. This means that you can directly access the code, and you will have really the last-minute sources available. It is also a method which requires less bandwidth once you have done the first download (checkout in SVN lingo).
How to do this? (You need to have SVN installed, of course. Look here for instructions on how to do that.)
Change Directory (cd) to the parent directory of your development area, eg
$ cd /home/username/FreePascal
To retrieve the full source repository, all publicly available modules, type
$ svn checkout http://svn.freepascal.org/svn/fpc/trunk fpc
Normally, you should perform this step just once.
To update the sources which were downloaded (checkout) above
$svn update fpc
Fixes to 2.0.x
The fixes need a separate directory, create a separate directory 'fixes', enter it, and repeat the above checkout command with the URL http://svn.freepascal.org/svn/fpc/branches/fixes_2_0:
$ cd mysvn/fixes $ svn checkout http://svn.freepascal.org/svn/fpc/branches/fixes_2_0 fpc
and to update:
$ svn update fpc
The sources of docs are in a separate repository called fpcdocs, so the command to get them is
$ svn checkout http://svn.freepascal.org/svn/fpcdocs/trunk fpcdocs
If you want to learn more about subversion, read this excellent Subversion book which is also available online in different formats for free.
For the curious: You have only read-only access, so don't try to commit anything :-)
For more information, see the FreePascal website
Installing Free Pascal under Windows
FPC Binaries for Windows
By far the easiest way to get a working installation of Free Pascal is to download the current binary Windows release of Lazarus from the SourceForge repository - the release contains the current versions of the FreePascal compiler and the FreePascal libraries as well as the lazarus IDE. If you want to install from sources, read on!
You can get the installer zip for fpc 2.0.0 at Free Pascal's download section http://www.freepascal.org/download.html, then choose a mirror). Installing from the sources -- see the next section to know how to get them -- is not for novices, since you need a starting compiler as well.
FPC Sources for Windows
<<<< See section above under FPC Sources for Linux, where the use of SVN is described >>>>
The easiest way to get the Free Pascal sources is via CVS; see the next section for more on that. You can also download the package as a whole -- see http://www.freepascal.org/develop.html for the daily snapshot of the 2.1.x release tree.
Windows FPC Sources via CVS ()
You will need to have a CVS client such as TortoiseCVS or WinCVS installed in order to perform the steps below. The exact commands vary between CVS clients; the ones given below are to be used under CVS home's client, which is available for download here.
First create a directory in which you'd like to put the sources. Any normal user can do this. Create a directory for fpc (e.g. C:\Source), then do the following at the command prompt:
C:\Source> set CVSROOT=:pserver:firstname.lastname@example.org:/FPC/CVS C:\Source> cvs login // password is 'cvs' without the commas C:\source> cvs -z3 co fpc // This will create a directory fpc, which can be later used in the IDE.
Hint: To download/update the latest changes you can simply do
C:\> cd Source\FPC C:\Source\FPC> cvs -z3 update -dP
ToDo: Write me.
Extending your PATH variable to the fpc directory:
- Win98: Edit autoexec.bat and add the line: PATH=%PATH%;C:\pp\bin\bin\win32
- WinXP/2k: My Computer (Right Click) -> Properties -> Advanced (Page) -> Enviroment Variables -> System Variables -> Edit "PATH", Add "C:\pp\bin\bin\win32" there.
Then restart windows.
ToDo: Explain how to download fpc sources and build the compiler
Installing Free Pascal under BSD/manually
Effectively, you need
A file with all sources, or two (fpc and lazarus)
1. e.g. for fpc ftp://ftp.freepascal.org/fpc/dist/Linux/separate/sources.tar preferably an export (no CVS/ dirs). The above file misses this. 2. Lazarus source snapshot.
- _any_ starting compiler from the 1.9 branch) You can do a check by parsing the output of ppc386 -i if it is 1.9.3 .. 2.0.x it is ok.
- - dependant packages. (for FreeBSD that is gtk12, glib12 and gdk_pixbuf and GNU make, iconv and gettext)
1. (fetch) necessary files (FPC source, starting compiler) 2. (extract) Then de-tgz in work directory, 3. (build) enter work/fpc/ and run
$MAKE all OPT='-gl -O3p3' PP=/path/to/startingcompiler-name-ppc386 (/path/to/ can be omitted when ppc386 is in the path) ($MAKE is make on linux and gmake on BSD)
4. (install) then, again in work/fpc, run
$MAKE install PP=compiler/ppc386 PREFIX=$THEPREFIX (THEPREFIX= usually is /usr/lcoal, but e.g. on NetBSD it is /usr/pkg for ports) Create a symlink: ln -s $THEPREFIX/lib/fpc/2.0.1/ppc386 $THEPREFIX/bin/ppc386 install sourceinstall PREFIX=$THEPREFIX
5. (configure) run compiler/utils/samplecfg $THEPREFIX/lib/fpc/2.0.1 $ETCDIR 6. (optional, test), see if ppc386 -i gives output, else give a warning that user need to add $PREFIX/bin to his current path. Try to compiler a program with -viwn, and see if that gives errors. Notes:
- If you need fpcmake package lists, you need to generate or supply them yourself, (in the port, or in an extra archive) either way, do a dummy install to /tmp/pack and determine the files installed with find . >ll
- $THEPREFIX and $ETCDIR should be user configurable. Otherwise local installs aren't possible.
- BSDHIER=1 on all make commands forces BSD hierarchy conventions.
Installing Free Pascal under Mac OS X
You need the Apple Developer-tools, X11, gtk1.2:
Downloading packages and installing them properly can be a time consuming task. Therefore there are various package managers. One of them is fink:
- Download fink from http://fink.sourceforge.net/download/index.php?phpLang=en; follow the install instructions.
Developer-tools: Are included on the original OSX installation-CDs, or download at ADC (free registration required)
Apple X11: On a fresh system: choose "Customize" in the install-dialogue, check "X11".
On an already installed system: download at
In the Terminal, run
sudo fink install gdk-pixbuf gtk+ gtk+-data gtk+-shlibs gtk-doc gtkglarea gtk-engines
The X11-Application is in /Applications/Utilities/X11.
Hint: Most X11 programs, including lazarus expect to receive focus, when the users clicks on a window. Under MacOSX this is deactivated. You can activate it for all X11 applications by typing in the terminal:
defaults write com.apple.x11 wm_click_through -bool true
- Free Pascal Compiler
Then download and install the Free Pascal Compiler (at least 1.9.5 from 16th August 2004) from
When compiling gtk-related software, you need to add two lines to the fpc.cfg file, to enable use of libraries
For lazarus you need the fpc sources as well (obsolete: use svn): Create a directory, where you would like to put the sources. You don't need to be root to do this. Any normal user can do this. First create a directory for fpc
- (e.g. /Users/username/freepascal)
then open a terminal and do the following:
$ bash $ export CVSROOT=:pserver:email@example.com:/FPC/CVS $ cvs login
password is 'cvs' without the 'quotes'
$ cvs -z3 co fpc
This will create a directory called 'fpc', which can be later used in the IDE. Hint: To download/update the latest changes you can simply do
$ cd /Users/username/freepascal/fpc $ cvs -z3 update -dP
Installing Lazarus under Linux
Installing using rpms
The easiest way to get a current working installation of Lazarus is to download the RPMs for FreePascal and Lazarus from the SourceForge repository.
You need to download the selected version of
- the compiler (eg fpc-1.9.5-041207.i386.rpm)
- the pascal source library (eg fpcsrc-1.9.5-041207.i386.rpm)
- the Lazarus package (eg lazarus-0.9.2.4-fpc_1.9.5_041207.i386.rpm).
You then issue the following commands (you need to have root privileges - use su or sudo)
rpm -Uvh fpc-1.9.5-041207.i386.rpm rpm -Uvh fpcsrc-1.9.5-041207.i386.rpm rpm -Uvh lazarus-0.9.2.4-fpc_1.9.5_041207.i386.rpm
Installing from source
If you prefer to install from source and compile the files yourself, follow these instructions. Because the whole lazarus stuff 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, fpcsrc and lazarus from the downloads section or you can download it directly via svn.
Downloading Lazarus SVN
The lazarus repository has moved from cvs to svn (Subversion). 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: you don't need to be root. Lazarus does not need any special permissions, neither during installation nor at runtime.
With the move we also changed the directory layout of the lazarus sources. The main difference is that all ide sources are moved from the root to a separate ide subdir. As anybody might understand, this has an impact on the Makefiles, the searchpaths etc. We are in progress of fixing things, so if something doesn't work, please let us know.
- Now the most important thing.... getting the sources
$ svn checkout http://svn.freepascal.org/svn/lazarus/trunk/ lazarus
(or 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: http://subversion.tigris.org/
Note: the CVS is still accessable, but it frozen. This means that no new updates are comitted.
Compiling and running
Whether you checkout from cvs or svn, the next step is:
- compile lazarus
$ cd lazarus $ make (gmake on BSD)
If fpc is installed correctly, the compilation should work without problems. If not, see FAQ.
- Start lazarus
The 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 freepascal 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'.
ToDo: explain the other paths
To update lazarus you can use
$ svn update lazarus
then for either update pathway:
$ make clean all (gmake on BSD)
This will rebuild lazarus and create an IDE without lazarus packages. To link your installed packages do after the above:
$ make idepkg
Installing Lazarus under Debian GNU/Linux
There are preliminary Debian packages for lazarus available for download. 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 <firstname.lastname@example.org>.
Another (?easier) way to install Lazarus under Debian
Added by User:Kirkpatc.
- Simple Lazarus Installation in Debian
(assume new Debian installation, without development libraries loaded)
From sourceforge repository, download latest fpc, fpclib and lazarus releases; follow links from http://lazarus.freepascal.org, click the "downloads" button on the left, then click on "binaries" then "linux" then "Current Lazarus RPM". This will bring you to
then download the following files (or more recent, if available)
cd to the directory where these files are stored, then become root (su) and type:
alien fpc* //this will convert both the fpc and fpcsrc files to debian format alien laz*
then install the generated Debian (.deb) packages by (as root):
dpkg -i fpc*.deb laz*.deb
or use kpackage or a similar utility to install the generated fpc, fpcsrc and lazarus .deb files.
Note, if you do not have alien type:
apt-get install alien
You need to produce a configuration file, which will reside in /etc/fpc.cfg. Still as root, cd to the main fpc directory /usr/lib/fpc/2.0.0 and then type
sh ./samplecfg /usr/lib/fpc/2.0.0 /etc
Check the contents of your new configuration file (cat /etc/fpc.cfg) and make any changes you want using vi or another text editor. Also make sure that there are no old configuration files in for example your home directory (~/.fpc.cfg).
You need to install the development packages of the GTK and pixbuf libraries, so
apt-get install libgtk2.0-dev apt-get install libgdk-pixbuf-dev
Then you should be ready to start programming!
Installing Lazarus under Mac OS X
Works pretty much the same as under Linux. But you need to install first the apple developer tools and X11.
Snapshots are available at http://www.de.freepascal.org/lazarus/.
If you want to experiment and develop the carbon widgetset interface, look at Installing Carbon on OSX.
Installing Lazarus under Windows
The current releases of the Windows Lazarus binary packages install very easily, and should work 'out-of-the-box'.
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. << DOES ANYONE KNOW HOW TO SET UP RELATIVE PATHS IN THESE TAGS AND FILES, SO THAT THE ADDRESSING WORKS WHEN YOU MOVE THE USB DEVICE TO ANOTHER MACHINE WHERE IT HAS A DIFFERENT DRIVE LETTER? >>
The binary package is available for Linux and Windows from
Download the latest release (currently Lazarus-0.9.6-20050225-win32.exe) 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 get a Lazarus Snapshot for Windows at: http://www.de.freepascal.org/lazarus/
Installing from source
If you prefer to install from sources, then follow these instructions (Thanks to Joe for the initial Step-by-step description)
You have to download the lazarus source:
Then unzip it to c:\lazarus for example. You have to install at least fpc-2.0.0, but a fpc-2.0.1 or fpc 2.1.1 snapshot is also possible. It compiles for me, and lazarus.exe works. The path to my fpc is: c:\pp\bin\win32. In this directory you can find a lot of exe (make, grep, ppc386, and so on).
Open a command line. Start->Run...>command or choose MS-DOS icon.
cd c:\lazarus set path=c:\pp\bin\win32;c:\lazarus //of course change the first to //the path of yours windres -i lazarus.rc -o lazarus.res make
If you are lucky then you can type: lazarus.exe. The source editor, dialogs and the property editor work, but not perfectly... Look and you will see.
You can compile examples also:
cd examples make
If you extracted lazarus to another drive, eg.: d:\lazarus. It can happen that you need the gnu utility to make it. If you have it, you can take its path to set path=...;<gmakepath> but it is simpler not to choose drive d:\
Additional experiences and advice on installing FPC and Lazarus
On linux, getting Lazarus to work can be complicated. If you have already installed earlier versions of FPC and/or Lazarus, you have to take great care that the PATHS are adjusted so that only your new versions are called.
Pitfalls that I have experienced in various attempts with SuSE linux include:
The rpm versions often install FPC in /bin or /usr/bin, with the libraries in /lib or /usr/lib.
If you perform a make install on a source version or use a .tar.gz, the compiler is usually installed in /usr/local/bin with the libraries in /usr/local/lib.
So if earlier versions have been installed from rpm, make sure all links are changed to reflect the directory structure of your new compiler. The place to make the changes is in /etc/fpc.cfg ; make sure there are no remnant configuration files in your home directory or in your FPC download directory. Typically they are found in ~/.fpc.cfg
Make sure the links in /etc/fpc.cfg point to the correct versions of the libraries (particularly if you have older versions still lurking around).
In /usr/local/bin or /usr/bin there is a file called fpc ; this is the executable that is called when you invoke the compiler. One of the first things it does is to open ppc386 in the same directory. This has to be the same version as the fpc file, or can be a link pointing to the true ppc386 in some other directory (such as a library directory, or the fpc directory in your own development space); be sure to update your link if you install a newer version of the compiler.
Try running the compiler from the command line using one of the simple example programs or one which you wrote yourself.
Turning to Lazarus:
If you use a downloaded snapshot (.tar.gz) or get the source from CVS, enter your lazarus directory and type
and hopefully the IDE should load. There may be a message saying it can't find the sources; if so, go to the menu at the top and select Environment -> Environment options and insert the name of the directory where you expect to find your lazarus files (eg ~/FreePascal/lazarus), your compiler (eg /usr/local/bin/ppc386), the FreePascal source directory (eg /usr/local/lib/fpc/$version/fpc or a directory in your own space eg ~/FreePascal/fpc). Then close the dialog and start programming.
You may find further problems when you start programming or compiling; most of these will be related to PATH selection.
Many of the difficulties are dealt with in the Lazarus FAQ, found either on this WiKi site, or a more complete list on the main Lazarus site
From the top menu select Run -> Compiler Options (or Project -> Compiler Options in more recent releases of Lazarus) and select the Paths tab on the resulting dialog. There are several boxes for entry of paths for Unit files, Include files, Other source files, Libraries etc. For each of these, it is worth pressing the ... (ellipsis) button on the right, and you will be given a blank window for inserting path information, and a lower window giving some suggestions. Select as many as you like (or ALL!) and press the ADD button to transfer the selections to the upper window. When your selection is complete, press OK and move on to the next box. If you know of other paths which need to be followed, press the Browse button associated with each box, and insert the additional paths.
When you think you have got your paths right, try to compile your application. If there are further path-related errors ('can't find unit .......') then go back and check your paths, both in /etc/fpc.cfg and in your Run -> Compiler Options dialog (or Project -> Compiler Options depending on your version).
Once you have got the environment and PATHS correct, it is worth saving the settings to a file, otherwise you will have to go through this process for each new project. In the Run -> Compiler options dialog there is a Load/Save button; select this and then save the setings to the filename of your choice: mine is ~/FreePascal/default.cfg. Then each time I start a new project, I can go to the Run -> Compiler Options dialog (or Project -> Compiler Options), select Load/Save, and load my default.cfg file to the new project. You can, of course, modify the options for each new project if you so desire.
Installing Lazarus under BSD
Please write me!
Original contributors and changes
This page has been converted from the epikwiki version.
- Initially imported and formatted. VlxAdmin 9/22/2003
- Changed Joe's part for Windows to require fpc 1.0.10. Vincent 9/25/2003
- Updated "What is required for lazarus". AndrewJohnson 10/1/2003
- Finished formatted the InstallingLazarus page VlxAdmin 2/22/2004
- Posted some notes about Installing FPC and Lazarus: mostly reflecting experiences in trying to get the PATHS right in Linux. 3/11/2004 User:Kirkpatc
- Copied the contents of my note into the main InstallingLazarus section, edited it slightly. I don't know how to remove the original note. 3/12/2004 User:Kirkpatc
- Removed the original note. Tidied the wiki and formatting a bit. VlxAdmin
- Corrected a couple of typos - 3/12/2004 User:Kirkpatc
- Added link for daily snapshot deb packages - 3/27/2004 Vincent
- Fixed links in GettingLazarus (downloading binaries) and several other pages. 22 July 2004 User:Kirkpatc
- Added link for lazarus deb packages - 19 August 2004 VincentSnijders
- Added a short note on installing in Debian - 23 Nov 2004 User:Kirkpatc
- Considerable re-write and re-organization of installation section - 11 Dec 2004 User:Kirkpatc
- Fixed broken link - 9 Oct 2005 User:Avantman42