Getting Lazarus

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) polski (pl) português (pt) русский (ru) slovenčina (sk)

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:

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 Mandriva

Get Lazarus for Scientific Linux

Get Lazarus for Raspberry Pi (Raspbian)

Get Lazarus for Mac

Lazarus on Solaris

Getting SVN client

TortoiseSVN client

TortoiseSVN Client is for Windows only. You may download it from http://tortoisesvn.tigris.org/.

This page demonstrates how to download and update Lazarus SVN source, but it can be used for FPC source in the same way.

Other clients

A SVN command line client is available from the official SVN website for many platforms.

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

sudo apt-get install subversion

Getting Lazarus SVN development version

Using the command line

Note that various alternative instructions for svn in this wiki are now incorrect, while the below svn instructions are currently (2017) working.

To get Lazarus for the first time:

Open a terminal/command prompt, change to the directory you wish the Lazarus folder to be created in and type:

 svn co https://svn.freepascal.org/svn/lazarus/trunk lazarus

To update Lazarus sources:

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

 svn update

For compiling see here.

Alternative URLs

Sometimes the URL of repository given above does not work, because between the svn server there is a http-proxy server. That server usually claims to be a 'transparent' proxy, but still doesn't pass your svn commands correctly to the svn.freepascal.org server.

The repository is mirrored on sourceforge with a delay of 3 minutes using svnsync. The sourceforge repository uses the https protocol. Proxy servers usually don't interfere with that protocol. You can check out form sourceforge using the following command

svn co https://lazarus.svn.sourceforge.net/svnroot/lazarus/trunk lazarus

The FPC and Lazarus svn repositories are also mirrored to svn2.freepascal.org. You can check out from svn2.freepascal.org with

svn co http://svn2.freepascal.org/svn/lazarus/trunk lazarus

If you own the proxy server, or are friends with the person who does, there are details of setting up a proxy to pass svn commands here: http://subversion.tigris.org/faq.html#proxy This contains an example for squid. Remember to set up the client to use the proxy ! (For TortoiseSVN, see settings/network).

Scripts

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

There is also a tool built with FPC/Lazarus that does this for you; see fpcup

Compiling and running Lazarus

See Installing Lazarus - a detailed installation guide, or http://www.stack.nl/~marcov/buildfaq.pdf - still more detailed guide.

Using the command-line

Lazarus is shipped with Makefile for 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 delete or rename the conflicting binary, or remove its directory from Windows PATH.

The tool 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

 make

This should rebuild LCL and Lazarus IDE with basic packages installed. But of course make will fail with error.

One way to find out about working "make" is to look at the fpcUPdeluxe sources / logs , since those are sometimes working, if you are lucky:

e.g. this is working (put it in a single line) :


make            "FPC=/home/YOU/fpXXdebug/fpc/bin/x86_64-linux/fpc.sh" "USESVN2REVISIONINC=0"
        "--directory=/home/YOU/fpXXdebug/lazarus"
     "INSTALL_PREFIX=/home/YOU/fpXXdebug/lazarus"
             "FPCDIR=/home/YOU/fpXXdebug/fpcsrc"
     "UPXPROG=echo" "COPYTREE=echo" "OPT=-vw-n-h-l-d-u-t-p-c- " "lazbuild"



Another useful command is

 make bigide

which adds the same packages that the release version has and also fails with error.

Then you can run Lazarus from the same source directory with command "lazarus" (in Unix systems "./lazarus"). If the plan is to run many versions, you can use different configuration directories with --pcp option, thus "lazarus --pcp=configdir".

Make targets

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

 Main targets
                  Without any target, target 'all' will be invoked.
   all            build minimal IDE, lazbuild, startlazarus.
   clean          deletes files that 'all' creates
   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

 Sub targets
   registration   build package FCL
   lazutils       build package LazUtils, requires registration
   codetools      build package CodeTools, requires lazutils
   lcl            build package LCL, requires lazutils
   tools          build lazres, svn2revisioninc, updatepofiles, lrstolfm, requires LCL with nogui widgetset
   ideintf        build package IDEIntf, requires lcl
   basecomponents build synedit and lazcontrols for the LCL_PLATFORM, requires ideintf
   bigidecomponents build many extra packages for the LCL_PLATFORM, requires basecomponents
   starter        build startlazarus, requires basecomponents
   examples       build basic examples, requires basecomponents
                  Note: There are more examples having their own directory

 Usage examples:

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

 Updating 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

Make parameters

There're also additional parameters, can be used for 'making' Lazarus.

  • OPT=%compiler_switches

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

For example:

 make bigide OPT="-dNoGdkPixBufLib -gw2" 

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

  • LCL_PLATFORM=%platform

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

For example:

 make LCL_PLATFORM=gtk2

Rebuilds LCL and IDE for gtk2 widgetset

  • FPC=%compiler_path

or

  • PP=%compiler_path

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

such as:

make FPC="~/Pfad/fpc"

Development versions from Git

There is a Git mirror of the official SubVersion repository being maintained on GitHub. This mirror gets sync'ed every 15 minutes with the SubVersion repository. For more information on getting Git and cloning the Lazarus repository, follow this link: Git Mirrors. You can also use git directly with SubVersion server using git-svn link. See Lazarus git-svn for details.

Browse the Source Repository with a Web Browser

The contents of the SVN archive can also be browsed with your web-browser through this viewcvs interface.

Lazarus Distributions

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


See also