Legacy Information: Installing Lazarus on Mac

From Free Pascal wiki
macOSlogo.png

This article applies to macOS only.

See also: Multiplatform Programming Guide

English (en)

Compatibility

Not every combination of Lazarus and Free Pascal is compatible with every installation of the Mac operating system. Please refer to the following table in order to find the correct version for your development environment:

Lazarus Compatibility Matrix
Lazarus 1.0.0 Lazarus 1.0.2 Lazarus 1.0.4 Lazarus 1.0.6 Lazarus 1.0.8 Lazarus 1.0.10 Lazarus 1.0.12 Lazarus 1.0.14 Lazarus 1.2.0
Free Pascal (FPC) 2.6.0  FPC 2.6.2
PPC processors
Mac OS X 10.4 (Tiger) Incompatible Incompatible N/A Compatible Incompatible Incompatible Compatible* Compatible* Not tested
Mac OS X 10.5 (Leopard) Compatible Compatible N/A Compatible Compatible Compatible Compatible Compatible Compatible**
Intel processors
Mac OS X 10.4 (Tiger) Incompatible Incompatible Compatible Compatible Incompatible Incompatible With hack only Not tested Not tested
Mac OS X 10.5 (Leopard) Compatible Compatible Compatible Compatible Compatible Compatible Compatible Not tested Not tested
Mac OS X 10.6 (Snow Leopard) Compatible Compatible Compatible Compatible Compatible Compatible Compatible Compatible Compatible
Mac OS X 10.7 (Lion) Compatible Compatible Compatible Compatible Compatible Compatible Compatible Compatible Compatible
OS X 10.8 (Mountain Lion) Compatible Compatible Compatible Compatible Compatible Compatible Compatible Compatible Compatible
OS X 10.9 (Mavericks) Not tested Not tested Not tested Not tested Not tested Not tested Compatible* Compatible* Compatible*
OS X 10.10 (Yosemite) Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested
OS X 10.11 (El Capitan) Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested
macOS 10.12 (Sierra) Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested
macOS 10.13 (High Sierra) Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested
macOS 10.14 (Mojave) Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested
macOS 10.15 (Catalina) Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested
Lazarus 1.2.2 Lazarus 1.2.4 Lazarus 1.2.6 Lazarus 1.4.0 Lazarus 1.4.2 Lazarus 1.4.4 Lazarus 1.6.0 Lazarus 1.6.2 Lazarus 1.6.4 Lazarus 1.8.x Lazarus 2.0.y
 FPC 2.6.4  FPC 3.0.0 FPC 3.0.2 FPC 3.0.4 FPC 3.0.4
PPC processors
Mac OS X 10.4 (Tiger) Compatible N/A Compatible Incompatible Incompatible Incompatible Incompatible Incompatible Incompatible Incompatible Incompatible
Mac OS X 10.5 (Leopard) Compatible Compatible** Compatible Compatible** Compatible** Compatible** Not tested Not tested Not tested Not tested Incompatible
Intel processors
Mac OS X 10.4 (Tiger) Not tested Not tested Not tested Incompatible Incompatible Incompatible Incompatible Incompatible Incompatible Incompatible Incompatible
Mac OS X 10.5 (Leopard) Compatible Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested
Mac OS X 10.6 (Snow Leopard) Compatible Compatible Compatible Compatible Compatible Compatible Compatible Compatible Compatible Compatible* Not tested
Mac OS X 10.7 (Lion) Compatible Compatible Compatible Not tested Not tested Not tested Compatible Compatible Compatible Not tested Not tested
OS X 10.8 (Mountain Lion) Compatible Compatible Compatible Compatible* Compatible* Compatible* Compatible* Compatible* Compatible* Not tested Not tested
OS X 10.9 (Mavericks) Compatible* Compatible* Compatible* Compatible* Compatible* Compatible* Compatible* Compatible* Compatible* Not tested Not tested
OS X 10.10 (Yosemite) Not tested Not tested Compatible* Compatible* Compatible* Compatible* Compatible* Compatible* Compatible* Not tested Not tested
OS X 10.11 (El Capitan) Not tested Not tested Not tested Not tested Not tested Compatible* Compatible* Compatible* Compatible* Not tested Not tested
macOS 10.12 (Sierra) Not tested Not tested Not tested Not tested Not tested Not tested Compatible* Compatible* Compatible* Compatible* Compatible***
macOS 10.13 (High Sierra) Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested

Compatible***

macOS 10.14 (Mojave) Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Compatible***
macOS 10.15 (Catalina) Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Not tested Compatible#

* Restrictions apply to debugging with GDB.

** Not available as pre-built installer. Compiling from source required.

*** LLDB debugger required.

# Download files from here.

x = 0, 2 or 4; y = 0 or 2

Installation - PowerPC-based Macs

Download the three disk images (.dmg files) for fpc, fpcsrc and lazarus from the following link:

Open up each disk image and install in this order:

  1. fpc
  2. fpcsrc
  3. Lazarus

After installation the Lazarus application can be found in /Developer/lazarus/, the FPC source files in /usr/local/share/fpcsrc.

If you receive a "Can't find unit Interfaces used by Project1" error on trying to compile a blank form, check the following settings in Lazarus (should be set by default):

Environment Options

  Lazarus directory: /Developer/lazarus
  Compiler path: /usr/local/bin/ppc386 (PowerPC Macs: /usr/local/bin/ppcppc)
  FPC Source: /usr/local/share/fpcsrc

Project | Options

  All paths blank
  LCL Widget Type: default (Carbon beta)

Project | Inspector

  Required Packages
     LCL

Note - different versions of Lazarus depend on particular versions of the Free Pascal compiler and will not work with other versions.

Another common problem is that the versions of fpc and fpcsrc are different.

Download stable sources

The source code of stable versions is available in the Lazarus Zip - GZip archives. This is an option for users, who want to run the latest official Lazarus versions on "unsupported" machines, e.g. PPC-based Macs. Provided that you have installed the latest stable FPC version together with sources, it is sufficient to download and unpack the zip archive. Move it to the desired location (e.g. your /Developer folder), open a terminal window and change the shell's path to this folder (the easiest way to do this is to type "cd " and then to drag the icon of the freshly unpacked Lazarus folder to the position after this command in the Terminal window). If necessary enter <return> and then

[]$ make clean bigide

and <return> again. Subsequently, FreePascal will use the makefile in this folder to build the Lazarus IDE. This may take a few minutes, but the process is fully automated. Therefore, you might want to look for a cup of coffee, while FPC is working. If the compiler is ready it prints the number of processed lines and the required time to the shell's output.

The last step is to right-klick on the Lazarus bundle icon and to select "Show Package Contents" from the context menu. Then drag the executable "lazarus" to the folder "Contents/MacOS" of the bundle. That's it.

Installing gdb

As of the Lazarus 2.0.0 release this is entirely optional. The IDE now supports LLDB directly. See http://forum.lazarus-ide.org/index.php/topic,42869.0.html and http://wiki.lazarus.freepascal.org/Lazarus_2.0.0_release_notes#LLDB_based_Debugger_.28New.29

Getting gdb to run can be a bit tedious but is worthwhile in the end if using Lazarus < V2.0 or have some specific requirement for gdb. You probably don't !

This step should be done after installing XCode and before installing FPC/Lazarus.

  1. Install fink or brew and use them to install gdb- http://wiki.freepascal.org/GDB_on_OS_X_Mavericks_and_Xcode_5
  2. Self sign the gdb binary using tools already on your Mac - https://sourceware.org/gdb/wiki/BuildingOnDarwin This is the tedious part. The instructions are clear except, perhaps they could have mentioned that after you have set the Keychain to ’System’ you need click ‘Create’ and ‘Done’ on the next screen. Then go and find the cert in your overall list of certs to do the next instruction “using the contextual menu…”. Don’t worry about step “2.1.4 Disable starting the debuggee…”, we’ll address that once Lazarus itself is installed and working.
  3. Once Lazarus is installed and fired up, tell it how it should start gdb, that is step 5.

Note that as of April 2018, there may be issues with newest gdb and High Sierra. https://forum.lazarus.freepascal.org/index.php/topic,40874.0.html According to https://stackoverflow.com/questions/49001329/gdb-doesnt-work-on-macos-high-sierra-10-13-3, gdb 8.1 does not work on High Sierra, but 8.0.1 does.

Part 2 of gdb install, Tell Lazarus about starting gdb

Again, this step is not necessary with Lazarus V2.0 and Later. See http://wiki.lazarus.freepascal.org/Lazarus_2.0.0_release_notes#LLDB_based_Debugger_.28New.29 If you do install (and use) gdb, you must tell Lazarus about how to call gdb. Obviously, this step happens after Lazarus is installed.

OK, now you should be able to start Lazarus, it should display the various parts and paths it needs (including gdb) in the little opening screen. You will get an alert there if you chose to not use a debugger. Proceed to the IDE and we now need to tell Lazarus to tell gdb to not open a shell, as noted by a number of Forum people (http://forum.lazarus.freepascal.org/index.php/topic,37310.0.html). Within Lazarus, click Tools->Options->Debugger->General In the “Debugger specific Options” there is a field labeled Debugger_Startup_Options. Type in "--eval-command=set startup-with-shell off" (including the inverted commas) AND press the return key, click OK. Note you cannot copy and paste into this box (##$!). See screen shot.


Xcode Compatability

Information relating to older versions of FPC, Lazarus and Apple Developer Tools

Compatibility with Xcode 5.0 and newer versions (Mac OS X 10.8, 10.9, 10.10 and 10.11)

Like Xcode 4.3+, Xcode 5 and subsequent versions no longer install the command line tools by default. These are required by FPC/Lazarus, however. Unlike in Xcode 4 the installation option is no longer accessible in Xcode 5 via the Downloads tab. Additionally, the "Locations" tab of the preferences dialog may be confusing, as it mentions that the command line tools are installed:

The first dialog box shows that by default the command line tools are only installed inside the Xcode.app bundle itself. To install them globally, as required by FPC/Lazarus, execute the following terminal command:

xcode-select --install

Depending from your Xcode version alternative steps to install the command line developer tools may be to download them directly in the Xcode preferences window (see screenshots above) or to download them from developer.apple.com (please take care to install the command line tools that are correct exactly for your Xcode version).

Xcode 4.3+ compatibility (Mac OS X 10.7/10.8)

Xcode 4.3 and later no longer install the command line tools by default. These are required by FPC/Lazarus.

To install them manually, open Xcode, go to Preferences, select "Downloads;" and install the "Command Line Tools". Afterwards, FPC will install and function correctly.

It will be necessary to reinstall the command line tools after each upgrade of Xcode (especially when it's a new major version, the installer may delete the old copies of the command line tools), and also after switching to a new major version of the system software (idem). You may also download the command line tools from Apple Developer.

Xcode 3.2.x compatibility (Mac OS X 10.6)

FPC 2.6.0: there is an issue when compiling dynamic libraries with FPC under Mac OS X 10.6 due to a bug in the Xcode 3.2.x linker. This bug has been fixed in Xcode 4. You can work around the bug in Xcode 3.2.x by using the -k-no_order_inits command line parameter when compiling a dynamic library.

Xcode 3.1.x compatibility (Mac OS X 10.5)

Most versions of Lazarus and FPC are compatible with Xcode 3.1 (see the compatibility matrix for detailed reference). The Xcode integration kit is provided as an optional install to allow for developing with Free Pascal directly from Xcode. It is not required for development with Lazarus, however.

Xcode 2.x compatibility (Mac OS X 10.4)

Most versions of Lazarus and FPC are compatible with Xcode 2.3 or newer (see the compatibility matrix for detailed reference). The Xcode integration kit is provided as an optional install to allow for developing with Free Pascal directly from Xcode. It is not required for development with Lazarus, however. Xcode 2.0 was compatible with Lazarus 0.9.x, but it is no longer supported by newer versions of the Lazarus IDE.