Difference between revisions of "Installing Lazarus"

From Lazarus wiki
Jump to navigationJump to search
(Windows STEP #4: Create fpc.cfg file: couldn't create fpc.cfg using fpcmkcfg fixed.)
Line 212: Line 212:
 
   Enter: fpcmkcfg -d basepath=C:\freepascal\fpc\2.5.1 -o .\fpc.cfg
 
   Enter: fpcmkcfg -d basepath=C:\freepascal\fpc\2.5.1 -o .\fpc.cfg
 
)
 
)
 +
 +
The main reason because doesn't work is because fpcmkcfg create config file with wrong directories (different from the used in this tutorial).
  
 
If this doesn't work for you, here another solution:
 
If this doesn't work for you, here another solution:

Revision as of 17:45, 18 April 2011

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

Overview

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 Mac OS X ".dmg" 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. Free Pascal compiler, packages, and sources. (*important*: of the same version/date)
  2. A supported widget tool-kit
    Win32
    The native Win32 API can be used, or Qt widgetset.
    Linux/xxxBSD
    GTK+ 2.x or Qt : Most Linux distributions and *BSDs already install the GTK+ 2.x libraries. You can also find them at http://www.gtk.org.
    Qt is also supported with all distributions (auto installed if you prefer KDE).
    Mac OS X
    You need the Apple developer tools. See Installing under Mac OS X below. Qt can be used too.

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'.

Qt widget set is supported on Linux 32/64,Win32/64,Mac OS X, Haiku and embedded linux (qtopia) platforms.
More about installation http://wiki.lazarus.freepascal.org/index.php/Qt_Interface

The following sections describe how to get Free Pascal 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 0.9.30 requires fpc (Free Pascal) version 2.4.2 or higher and it requires both the compiled fpc libs (binaries) and the fpc sources and of the same version.


Installing Free Pascal under Linux

FPC Binaries

The latest release of Free Pascal, version 2.4.2, can be obtained from the Free Pascal website (http://www.freepascal.org/download.var, 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 or DEB of the Free Pascal compiler (compiler / Linux) and its packages. If you don't have an RPM-based or debian-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.

Instructions:

WARNING: if you're not using RPMs or debian packages (even if you plan to use alien) it's best to get latest stable fpc (2.4.2 as of now) and install Lazarus from source.

Start Linux and login as root.

Download lastest files from http://sourceforge.net/project/showfiles.php?group_id=89339. As example:

  • fpc-2.4.2-0.i686.rpm
  • fpc-src-2.4.2-0.i686.rpm
  • lazarus-0.9.30-0.i686.rpm

and install them with:

  • rpm -Uvh fpc-2.4.2-0.6386.rpm
  • rpm -Uvh fpc-src-2.4.2-0.i686.rpm
  • rpm -Uvh lazarus-0.9.30-0.i686.rpm

Debian users will need to resort to either alien (warning, it doesn't generate fpc.cfg) or the tarball install.

FPC Sources

Since the version 2.0 release, FPC has migrated to Subversion (SVN). There is currently no CVS mirror, so you will have to use SVN to get the FPC sources.

Download Daily Source Snapshot of Development Tree (version 2.5.1)

You can download today's development (v 2.5.1) 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. They are not tested, might not work or even crash your system. The files are kept at the site which has the SVN archive. Entire public sources archive of v2.5.1: http://www.hu.freepascal.org/lazarus/

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).

Development snapshots

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.4.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_4:

[]$ cd mysvn/fixes
[]$ svn checkout http://svn.freepascal.org/svn/fpc/branches/fixes_2_4 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 Free Pascal 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 [1] - the release contains the current versions of the Free Pascal Compiler and the Free Pascal 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.4.2 at Free Pascal's download section http://www.freepascal.org/download.var, 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 SVN; see the next section for more on that. You can also download the package as a whole -- see http://www.freepascal.org/develop.var for the daily snapshot of the 2.5.x release tree.

Windows FPC Sources via SVN

You will need to have a SVN client such as TortoiseSVN installed in order to perform the steps below. The exact commands vary between SVN clients; the ones given below are to be used under SVN 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> svn co http://svn.freepascal.org/svn/fpc/trunk fpc

Hint: To download/update the latest changes you can simply do

 C:\> cd Source\FPC
 C:\Source\FPC> svn up

See: http://www.freepascal.org/down/i386/win32.var . Download FPC as one big file, unzip it and run the install.exe.

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) -> Environment Variables -> System Variables -> Edit "PATH", Add "C:\pp\bin\bin\win32" there.

Then restart windows.

After you have FPC binaries installed you can build FPC source from subversion.

Hints:

  • Windows (7+) requires that an elevated user status command prompt be used. From the start menu for "Command Prompt" right click and select "Run as Administrator".
  • YOUR-PREFIX is totally dependant on where you installed FPC to. Default location at the time of writing this the binaries instructed to install to "C:\FPC" were placed in "c:\FPC\2.4.2". Under Linux, the make install scripts were adjusted to create a new sub-folder IFF the FPC version changed since last build. The Windows scripts do not. So if you know the sub-folder name ie. 2.5.1 you can specify that. However, since versions change frequently, it is recommended that you just select and maintain a single PREFIX with no respect for FPC versions. A good prefix is C:\FPC but you must also make sure that the C:\FPC\bin\i386-win32\ folder is added to your path environment variable (see above on how to set your path and change it from the binary version to the newly compiled one).

Instructions:

  • In command Prompt navigate to the localized FPC source. ie.)type "cd c:\Developer\FPC"
  • To build FPC type "make all"
  • To overwrite existing FPC type "make install PREFIX=YOUR-PREFIX"
  • To install source type "make install sourceinstall PREFIX=YOUR-PREFIX"

Compiling/installing FPC and Lazarus from Sources of SVN (Win32)

--MD 14:35, 4 October 2010 (CEST)

STEP #1: Create directories and get the sources

Create the following directories:

 c:\freepascal\
 c:\freepascal\binutils\
 c:\freepascal\binutils\i386-win32\
 c:\freepascal\fpc\
 c:\freepascal\fpc\2.4.3\
 c:\freepascal\laz\

You will need a compiler to build a new compiler. Get the ppc386 (the compiler) in FTP (below) and unzip it in c:\freepascal\binutils\

 ftp://ftp.freepascal.org/pub/fpc/dist/2.4.2/bootstrap/i386-win32-ppc386.zip

After installing TortoiseSVN, download the sources from SVN using a URL for each directory, see:

 Dir: c:\freepascal\binutils\i386-win32\
 URL: http://svn.freepascal.org/svn/fpcbuild/branches/fixes_2_4/install/binw32
 Dir: c:\freepascal\fpc\2.4.3
 URL: http://svn.freepascal.org/svn/fpc/branches/fixes_2_4/
 Dir: c:\freepascal\laz
 URL: http://svn.freepascal.org/svn/lazarus/trunk
STEP #2: Create a BAT file to compile FPC

After all downloaded, we need a BAT file to compile the sources of the FPC. Create a new file c:\freepascal\makefpc.bat and copy/paste the following script:

 @echo on
 set myversion=2.4.3
 set mypath=c:\freepascal\fpc\%myversion%
 set mybinutils=c:\freepascal\binutils
 set PATH=%mybinutils%\i386-win32;%mypath%\bin\i386-win32;%PATH%
 cd %mypath%
 make clean all install INSTALL_PREFIX=%mypath% PP=%mybinutils%\ppc386.exe
STEP #3: Make FPC

At the prompt(cmd.exe), navigate to the directory c:\freepascal and type: makefpc.bat

STEP #4: Create fpc.cfg file

Now we need to have a configuration file to FPC. This can be done with the fpcmkcfg tool in the fpc bin directory. Steps:

 In a console, cd into the bin directory, e.g. C:\freepascal\fpc\2.4.3\bin\i386-win32.
 Enter: fpcmkcfg -d basepath=C:\freepascal\fpc\2.4.3\bin\i386-win32 -o fpc.cfg

(This didn't work for me, JimBeam, on fpc 2.5.1; I used this:

 In a console, cd into the bin directory, e.g. C:\freepascal\fpc\2.5.1\bin\i386-win32.
 Enter: fpcmkcfg -d basepath=C:\freepascal\fpc\2.5.1 -o .\fpc.cfg

)

The main reason because doesn't work is because fpcmkcfg create config file with wrong directories (different from the used in this tutorial).

If this doesn't work for you, here another solution:

Below contains a text file fpc.cfg standard already directed to the directories created. Copy/paste the code below into a new file name fpc.cfg in the directory c:\freepascal\fpc\2.4.3\bin\i386-win32

 #
 # Config file generated by fpcmkcfg on 24/12/2010 - 18:17:42
 # Example fpc.cfg for Free Pascal Compiler
 #
 
 # ----------------------
 # Defines (preprocessor)
 # ----------------------
 
 #
 # nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
 #
 # -d is the same as #DEFINE
 # -u is the same as #UNDEF
 #
 
 #
 # Some examples (for switches see below, and the -? helppages)
 #
 # Try compiling with the -dRELEASE or -dDEBUG on the commandline
 #
 
 # For a release compile with optimizes and strip debuginfo
 #IFDEF RELEASE
   -O2
   -Xs
   #WRITE Compiling Release Version
 #ENDIF
 
 # For a debug version compile with debuginfo and all codegeneration checks on
 #IFDEF DEBUG
   -glh
   -Crtoi
   #WRITE Compiling Debug Version
 #ENDIF
 
 # ----------------
 # Parsing switches
 # ----------------
 
 # Pascal language mode
 #      -Mfpc      free pascal dialect (default)
 #      -Mobjfpc   switch some Delphi 2 extensions on
 #      -Mdelphi   tries to be Delphi compatible
 #      -Mtp       tries to be TP/BP 7.0 compatible
 #      -Mgpc      tries to be gpc compatible
 #      -Mmacpas   tries to be compatible to the macintosh pascal dialects
 #
 # Turn on Object Pascal extensions by default
 #-Mobjfpc
 
 # Assembler reader mode
 #      -Rdefault  use default assembler
 #      -Ratt      read AT&T style assembler
 #      -Rintel    read Intel style assembler
 #
 # All assembler blocks are AT&T styled by default
 #-Ratt
 
 # Semantic checking
 #      -S2        same as -Mobjfpc
 #      -Sc        supports operators like C (*=,+=,/= and -=)
 #      -Sa        include assertion code.
 #      -Sd        same as -Mdelphi
 #      -Se<x>     compiler stops after the <x> errors (default is 1)
 #      -Sg        allow LABEL and GOTO
 #      -Sh        Use ansistrings
 #      -Si        support C++ styled INLINE
 #      -SI<x>     set interface style to <x>
 #         -SIcomCOM compatible interface (default)
 #         -SIcorbaCORBA compatible interface
 #      -Sm        support macros like C (global)
 #      -So        same as -Mtp
 #      -Sp        same as -Mgpc
 #      -Ss        constructor name must be init (destructor must be done)
 #
 # Allow goto, inline, C-operators, C-vars
 -Sgic
 
 # ---------------
 # Code generation
 # ---------------
 
 # Uncomment the next line if you always want static/dynamic units by default
 # (can be overruled with -CD, -CS at the commandline)
 #-CS
 #-CD
 
 # Set the default heapsize to 8Mb
 #-Ch8000000
 
 # Set default codegeneration checks (iocheck, overflow, range, stack)
 #-Ci
 #-Co
 #-Cr
 #-Ct
 
 # Optimizer switches for i386 compiler
 # -Os        generate smaller code
 # -O1        level 1 optimizations (quick optimizations)
 # -O2        level 2 optimizations (-O1 + slower optimizations)
 # -O3        level 3 optimizations (same as -O2u)
 # -Oa=N      set alignment to N
 # -OoX       switch on optimalization X. 
 # -OoNOX     switch off optimalization X.
 #               X is one of REGVAR UNCERTAIN STACKFRAME PEEPHOLE ASMCSE LOOPUNROLL
 # -OpCPU     set target processor.
 #             CPU is one of 386, PENTIUM, PENTIUM2, PENTIUM3, PENTIUM4, PENTIUMM 
 
 
 # -----------------------
 # Set Filenames and Paths
 # -----------------------
 
 # Both slashes and backslashes are allowed in paths
 
 # path to the messagefile, not necessary anymore but can be used to override
 # the default language
 #-FrC:\freepascal\fpc\2.4.3/msg/errore.msg
 #-FrC:\freepascal\fpc\2.4.3/msg/errorn.msg
 #-FrC:\freepascal\fpc\2.4.3/msg/errores.msg
 #-FrC:\freepascal\fpc\2.4.3/msg/errord.msg
 #-FrC:\freepascal\fpc\2.4.3/msg/errorr.msg
 
 #IFDEF FPCAPACHE_1_13
 -FuC:\freepascal\fpc\2.4.3/units/$FPCTARGET/httpd13/
 #ELSE
 #IFDEF FPCAPACHE_2_0
 -FuC:\freepascal\fpc\2.4.3/units/$FPCTARGET/httpd20
 #ELSE
 -FuC:\freepascal\fpc\2.4.3/units/$FPCTARGET/httpd22
 #ENDIF
 #ENDIF
 
 # searchpath for units and other system dependent things
 -FuC:\freepascal\fpc\2.4.3/units/$FPCTARGET/
 -FuC:\freepascal\fpc\2.4.3/units/$FPCTARGET/*
 -FuC:\freepascal\fpc\2.4.3/units/$FPCTARGET/rtl
 
 # path to the gcclib
 
 
 # searchpath for libraries
 #-FlC:\freepascal\fpc\2.4.3/lib
 #-Fl/lib;/usr/lib
 
 # searchpath for tools
 -FDC:\freepascal\fpc\2.4.3\bin/$FPCTARGET
 
 #IFNDEF CPUI386
 #IFNDEF CPUAMD64
 #DEFINE NEEDCROSSBINUTILS
 #ENDIF
 #ENDIF
 
 #IFNDEF Win32
 #DEFINE NEEDCROSSBINUTILS
 #ENDIF
 
 # binutils prefix for cross compiling
 #IFDEF FPC_CROSSCOMPILING
 #IFDEF NEEDCROSSBINUTILS
   -XP$FPCTARGET-
 #ENDIF
 #ENDIF
 
 
 # -------------
 # Linking
 # -------------
 
 # generate always debugging information for GDB (slows down the compiling
 # process)
 #      -gc        generate checks for pointers
 #      -gd        use dbx
 #      -gg        use gsym
 #      -gh        use heap trace unit (for memory leak debugging)
 #      -gl        use line info unit to show more info for backtraces
 #      -gv        generates programs tracable with valgrind
 #      -gw        generate dwarf debugging info
 #
 # Enable debuginfo and use the line info unit by default
 #-gl
 
 # always pass an option to the linker
 #-k-s
 
 # Always strip debuginfo from the executable
 -Xs
 
 
 # -------------
 # Miscellaneous
 # -------------
 
 # Write always a nice FPC logo ;)
 -l
 
 # Verbosity
 #      e : Show errors (default)       d : Show debug info
 #      w : Show warnings               u : Show unit info
 #      n : Show notes                  t : Show tried/used files
 #      h : Show hints                  m : Show defined macros
 #      i : Show general info           p : Show compiled procedures
 #      l : Show linenumbers            c : Show conditionals
 #      a : Show everything             0 : Show nothing (except errors)
 #      b : Show all procedure          r : Rhide/GCC compatibility mode
 #          declarations if an error    x : Executable info (Win32 only)
 #          occurs
 #
 # Display Info, Warnings, Notes and Hints
 -viwn
 # If you don't want so much verbosity use
 #-vw
STEP #5: Create a BAT file to compile Lazarus

To compile Lazarus for the first time, create a new file c:\freepascal\makelaz.bat and copy/paste the following script:

 @echo on
 set myversion=2.4.3
 set mypath=c:\freepascal\fpc\%myversion%
 set mybinutils=c:\freepascal\binutils
 set PATH=%mybinutils%\i386-win32;%mypath%\bin\i386-win32;%PATH%
 cd c:\freepascal\laz
 make clean all OPT="-glw2"

Tip: You only need to use this BAT at the first time. Then you can just build Lazarus using the menu Tools menu> Build Lazarus.

STEP #6: Make Lazarus

At the prompt, navigate to the directory c:\freepascal and type: makelaz.bat


Done!

Installing Free Pascal under FreeBSD/auto

Latest FreeBSD ports collection has 2.4.2 stable version in ports/lang/fpc. But they are scattered over 57 (!) packages and the source can be obtained from /usr/ports/distfiles/freepascal.

This can be done as root.

[]# cd /usr/ports/lang/fpc && make install && make clean

Other possibility is to use portinstall.

[]# portinstall fpc

Once fpc is installed you can check if it's working by simply running

[]$ fpc

Installing Free Pascal under Linux/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 2.4.2 branch) You can do a check by parsing the output of ppc386 -i if it is 2.4.2 .. 2.5.x it is ok.
  • dependant packages. (for FreeBSD that is gtk2, glib2 and GNU make, iconv and gettext)

FPC build:

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'  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/local or just /usr, but e.g. on
NetBSD it is /usr/pkg for ports)
Create a symlink:
  ln -s $THEPREFIX/lib/fpc/2.4.2/ppc386 $THEPREFIX/bin/ppc386
Install sources
  $MAKE install sourceinstall PREFIX=$THEPREFIX
Create a symlink for default Lazarus source path:
 ln -sf $THEPREFIX/share/src/2.4.2/fpc /usr/share/fpcsrc

5. (configure) run

 $THEPREFIX/lib/fpc/2.4.2/samplecfg $THEPREFIX/lib/fpc/2.4.2 $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

See Installing Lazarus on MacOS X

Installing Lazarus

Installing Lazarus under Linux

Ubuntu / Debian

The easiest way to get a current working installation of Lazarus is to download the .deb files for FreePascal 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". Else, 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 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 the RPMs for FreePascal and Lazarus from the SourceForge repository.

You need to download the selected version of

  • the compiler (eg fpc-2.4.2-0.i686.rpm)
  • the pascal source library (eg fpc-src-2.4.2-0.i686.rpm)
  • the Lazarus package (eg lazarus-0.9.30-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-*

Installing on Mandriva

Lazarus 0.9.30 on Mandriva 2010.

Install as given lower down however on compiling a program you may get two error messages telling you that you are missing pixbuf 2.0 and lgtk-x11-2.0. to fix this install from the the software installer libdgk_pixbuf2.0_0-devel and libgtk+2.0_0-devel.


Installing on Slackware

Installing Lazarus on Slackware 13.0

There is no real difference from the slackware 12.2 or 12.0 version, therefore the procedure described below should work just as well.

Installing Lazarus 0.9.30, for Slackware 12.0 users

This have worked in Slackware-12.0 on a Pentium-3 computer:

  • The Free Pascal Compiler (FPC) is installed in SUPERUSER mode
  • The lazarus in installed in USER mode
  • The FPC compiler will be recompiled
  • The lazarus Integrated Development Environment (IDE) source code is loaded from the SVN server

-- Download "fpc-2.4.2.i386-linux.tar" in a user folder and install it. Go to this folder and type:

 bash-3.1$ tar -xvf fpc-2.4.2.i386-linux.tar
 bash-3.1$ su 
 bash-3.1$ password:xxxxxx
 bash-3.1# sh install.sh
 ...
 (use the default answers for the next 6 questions: press "return" 6 times)
 ...
 bash-3.1# exit
 bash-3.2$ fpc
 free pascal compiler version 2.4.2 [] for i386 
 Copyright (c) 2010 ...
 ...
 ...

You have installed the compiler. You may want to recompile it or not, but in any case you will need to download the source code as it is required by the lazarus IDE.

-- Download "fpc-2.4.2.source.tar.gz" in a temporary folder. If you do not want to recompile the source then just skip this section. If you would like to run your own compiled version of FPC, then just type:

 bash-3.1$ tar -xvzf fpc-2.4.2.source.tar.gz
 bash-3.1$ cd fpc-2.4.2
 bash-3.1$ make clean all
 bash-3.1$ su
 bash-3.1$ password: xxxxxxxx
 bash-3.1# make install
 bash-3.1# exit
 bash-3.1$ fpc
 free pascal compiler version 2.4.2 [...] for i386 
 Copyright (c) 2010 ...
 ...
 ...

Now you have your own compiled version working.

-- The lazarus IDE editor needs to look at the FPC source code. Even if you do not want to recompile FPC, you need its source code. However, in order to save some space, I only keep a clean (not compiled) copy of the source code. I start from the file "fpc-2.4.2.source.tar.gz" again and I copy it to the /usr/local/src/FPC folder:

 bash-3.1$ su
 bash-3.1$ password: xxxxxxxx
 bash-3.1# cp fpc-2.4.2.source.tar.gz /usr/local/src/
 bash-3.1# cd /usr/local/src/
 bash-3.1# tar -xvzf fpc-2.4.2.source.tar.gz
 bash-3.1# rm fpc-2.4.2.source.tar.gz
 bash-3.1# exit

The version number is included in the folder name "fpc-2.4.2". This way I can keep many versions the the compiler source and eventually switch between them.

-- The lazarus IDE is kept in my USER "~/lazarus" folder and always compiled in USER mode. I usually download the "lazarus-0.9.30-0.tar.gz" file, but here we can also get the latest development version from the SVN server:

  bash-3.1$ svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus

This is for the first time you load it. Next time you will only need to type:

  bash-3.1$ svn update

If you do not have SVN installed on your computer, here is how to get it quickly:

--Download the two files: "subversion-1.4.6.tar.gz" and "subversion-deps-1.4.5.tar.gz" (or later versions). Type:

  bash-3.1$ tar -xvzf subversion-1.4.6.tar.gz
  bash-3.1$ tar -xvzf subversion-deps-1.4.6.tar.gz
  bash-3.1$ cd subversion-1.4.6
  bash-3.1$ ./configure
  bash-3.1$ make
  bash-3.1$ su
  bash-3.1$ password:xxxxxx
  bash-3.1# make install
  bash-3.1$ exit

-- At this point you have the folder "~/lazarus" containing the source code. You should compile it very simply:

  bash-3.1$ make clean all

After a few minutes, the compiler stops:

  ...
  ...
  Linking ../Lazbuild
  987 linescompiled ...
  make [2] leaving ...
  make [1] leaving ...
  bash-3.1$

-- Just type:

  bash-3.1$ ./lazarus

WOW! You get a message: "Free Pascal sources not found". Just follow the instructions and indicate your Free Pascal Compiler source directory in the panel: "Environment->Options->Files". As explained earlier, on my computer this should point to "/usr/local/src/fpc-2.4.2". Note that when you change this folder, you should click on "Environment / Rescan_FPC_source_directory".

Voila!

Installing on openSUSE

Installing Lazarus 0.9.30. For openSUSE 11.1 users

Free Pascal Compiler requires:
- Gnu binutils (gnu as, gnu ld, gnu make) These utils can be installed by:

 zypper in -t pattern devel_basis

Lazarus also requires these components: 1) glib2 devel 2) gtk2 devel

Important: The lazarus rpm requires the gtk 2 version, not the version 1.2.

These libraries can be installed by:

 zypper -n install gtk2 glib2

Download these binary files (RPM)

  • fpc-2.4.2-0.i686.rpm (yes i686 and not i386)
  • fpc-src-2.4.2-0.i686.rpm
  • lazarus-0.9.30-0.i686.rpm

install them opening a terminal session (mouse's right button -> Menu: Open in terminal)

 rpm -Uvh fpc-2.4.2-0.i686.rpm
 rpm -Uvh fpc-src-2.4.2-0.i686.rpm
 rpm -Uvh lazarus-0.9.30-0.i686.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.

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 new version has been released), paste it into a text editor, and save it as something like "install_lazarus.sh". 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'.

 #!/bin/sh
 
 #installing required packages
 sudo apt-get install build-essential
 sudo apt-get install libgtk2.0-dev
 sudo apt-get install libgdk-pixbuf-dev
 
 #installing FreePascal source
 cd /opt
 sudo wget http://nchc.dl.sourceforge.net/lazarus/fpc-src-2.4.2.source.tgz
 sudo tar -xvf fpc-src-2.4.2.source.tgz
 sudo mv fpc fpcsrc
 
 #installing FreePascal
 sudo mkdir fpc
 cd fpc
 sudo wget http://nchc.dl.sourceforge.net/lazarus/fpc-2.4.2.i686-linux.tar
 sudo tar -xvf fpc-2.4.2.i686-linux.tar
 echo "Enter '/opt/fpc' when prompted 'Install prefix'"
 sudo sh install.sh
 
 #adding 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 Lazarus
 cd ../
 sudo wget http://nchc.dl.sourceforge.net/lazarus/lazarus-0.9.30-0.tar.gz
 sudo tar -zxvf lazarus-0.9.30-0.tar.gz
 PATH=/opt/fpc/bin:"${PATH}"
 sudo chmod -R 777 lazarus
 cd lazarus
 make clean all
 ./lazarus

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

Downloading Lazarus Source Code

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.

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.

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 is 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
[]$ ./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'.

See here for the documentation about this dialog: IDE_Window:_Environment_Options

Hint

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:

[]$ ./lazbuild --build-ide=

You may have to append other options if for example you use a custom config directory (ie. add --pcp="C:\Documents and Settings\<USER>\Local Settings\Application Data\lazarus-tests")

Installing Lazarus under 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 <claviola@debian.org>.

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.

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.

<< Q: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?

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

http://sourceforge.net/project/showfiles.php?group_id=89339

Download the latest release (currently Lazarus-0.9.30-0-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 use a Lazarus Snapshot. For download locations see Lazarus Snapshots Downloads.

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

Installing from source

If you prefer to install from sources, then follow these instructions (Thanks to Joe for the initial Step-by-step description). 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.


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:

 []$ svn checkout http://svn.freepascal.org/svn/lazarus/trunk/

You have to install at least fpc-2.4.2, but a fpc-2.5.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.

Type:

//Replace $(LazarusDir) with the path you have unzipped/checked out Lazarus
cd $(LazarusDir)\ide
set path=c:\pp\bin\win32;$(LazarusDir)  //of course change the first to
                                        //the path of yours
windres -i lazarus.rc -o lazarus.res
cd $(LazarusDir)
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 $(LazarusDir)\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:\

That's all.

Installing Lazarus under FreeBSD

FreeBSD 6+

The latest version of Lazarus into FreeBSD port tree is 0.9.28.3 (Fixes branch). We can to install lazarus using FreeBSD ports.

[]# cd /usr/ports/editors/lazarus && make install clean clean-depends

If you get the messages about missing source files, go to [menu bar >> Environment >> Environment Options >> Files Tab: FPC source library] and enter the directory of the FPC source files. It can be obtained from /usr/ports/distfiles/freepascal

Installing Lazarus under PC-BSD 1.0rc1+

You can install Lazarus on PB-BSD by simply downloading the Lazarus PBI from PBI Dir

Note that you must install glib* port from /usr/port/devel/glib* or glib packages by pkg_add -r glib12 glib20. I will fix this in new PBI releases.

[other OpenBSD/NetBSD/DragonFlyBSD goes here]

Installing Lazarus under Mac OS X

First need to install the Apple developer tools. Then you can install the latest release from [2] or the daily snapshots from the snaphot servers.

More elaborate instructions can be found in Installing Lazarus on MacOS X.

If you install all 3 .dmg snapshot files, this also installs the FPC compiler and the FPC and Lazarus source too. If you only need to run Lazarus to develop and compile your own apps, you don't need to install the FPC and Lazarus sources as described above. If you need to rebuild Lazarus or want to help with its development, then you should to install the Lazarus source to a folder where you have read-write permission, as described above.

Now you can start Lazarus from the folder /Applications.

Installing Lazarus under Haiku

Lazarus requires Qt under Haiku. Qt is not installed by default under Haiku. You need to install package available from this site : http://qt-haiku.ru/

Currently, there is no binary package to install Lazarus.

You will have to compile Lazarus from sources.

Detailed instructions to build Lazarus under Haiku are available here : Installing Lazarus on Haiku

Additional experiences and advice on installing FPC and Lazarus

On linux, getting Lazarus to work can be complicated if you have an older version installed. 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

make
./lazarus 

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 (e.g. /usr/local/bin/ppc386), the FreePascal source directory (e.g. /usr/local/lib/fpc/$version/fpc or a directory in your own space e.g. ~/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

http://www.lazarus.freepascal.org/modules.php?op=modload&name=FAQ&file=index

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 old versions

See Installation hints for old versions