Installing Lazarus on macOS/es

From Free Pascal wiki
Jump to navigationJump to search

English (en) español (es) 한국어 (ko) русский (ru)

macOSlogo.png

This article applies to macOS only.

See also: Multiplatform Programming Guide


Instalar Lazarus en una Mac no es particularmente difícil pero es crítico que se haga en el orden correcto. Omitir pasos terminará con certeza en llanto. Al grano, aquí está lo que necesita hacer:

  1. Descargue e instale Xcode (opcional depende de sus necesidades - ver abajo para detalles).
  2. Instale las herramientas globales para comandos en línea para Xcode.
  3. Descargue e instale el paquete de binarios del Compilador de Free Pascal Compiler (FPC) y el paquete de los fuentes de FPC desde Lazarus IDE file area (Importante hágalo antes de instalar el IDE de Lazarus)
  4. Descargue e instale el IDE de Lazarus desde el área de archivo de Lazarus IDE
  5. Configure LLDB - el depurador que suministra (y firma) Apple desde adentro del IDE de Lazarus.

Estos pasos se explican en más detalle abajo.


Instalación

Las instrucciones detalladas asumen una reciente versión de MacOS en su Mac, una versión reciente de Xcode y/o herramientas de comandos en línea para Xcode de Apple y una versión reciente de Lazarus. En la página Legacy Information, verá información anterior que pueda ser relevante si está usando componentes antiguos. Puede asistir reemplazando la información desactualizada, tanto borrándola, o, si puede ayudar a alguien que trabaje con un proyecto legado, moverlo a la página legacy information.

En general, esto es acerca de usar los Widget Set Carbon y ‘’’Cocoa’’’. Mientras que Carbon se vio alguna vez como más estable, con el lanzamiento de Lazarus 2.0.8 el Widget Set Cocoa ha sobrepasado a Carbon y debería considerarse seriamente para cualquier proyecto nuevo. Carbon se limitó intencionalmente a 32 bit por Apple y deberá estar consciente de que Carbon y la habilidad de ejecutar programas de 32 bits ha sido removido completamente de MacOS 10.15 Catalina y posteriores versiones las que sólo soportan ejecutables de 64 bits que usan Cocoa.

Paso 1: Descargar Xcode (opcional)

Xcode es una descarga de 12GB la cual tomará hasta 16GB de espacio en disco. Sólo necesitará descargar e instalar el ambiente de desarrollo completo de Xcode si necesita:

  • el SDKs para iOS, iPadOS, watchOS y tvOS; ó
  • validar y subir aplicaciones a la Mac App Store; ó
  • para notarise apps para distribución fuera de la Mac App Store.

Xcode 11.3.1 para usarse en MacOS 10.14 Mojave debe instalarse descargándolo desde (ADC) Apple Developer Connection, el cual es de registro gratuito. Xcode 12.4.x para uso en MacOS 10.15 Catalina y posteriores versiones pueden instalarse desde Mac App store.

Note que debe primero eliminar cualquier versión anterior de Xcode de la carpeta Aplicaciones o renombre Xcode app (p.e. Xcode.app a Xcode_1014.app). Puede entonces seleccionar la versión de Xcode a usarse con la utilidad de comandos en línea xcode-select. Abrir una terminal Applications > Utilities > Terminal y teclear man xcode-select para el manual de utilidad.

Sistemas Anteriores:

Las herramientas para desarrollador de Xcode pueden instalarse desde los discos de instalación originales de MacOS o una nueva copia descargada del sitio (ADC) Apple Developer Connection, el cual requiere de registrarse sin costo. Descargue el archivo Xcode, terminará en su directorio de Descargas como un archivo zip. Abralo. Se desactivará en su directorio de Descargas. Puede que le guste o no. Otros usuarios verán la ruta pero serán incapaces de usarla. Y ahí viene lo confuso. Así que moví el mío y luego escribí xcode-select a donde se movió (en una terminal) -


mv Downloads/Xcode.app /Developer/.
sudo xcode-select -s /Developer/Xcode.app/Contents/Developer


Paso 2: Las Herramientas de comandos en línea de Xcode

Esto se muestra aquí como un paso aparte porque en serio es un paso aparte. No confunda estas herramientas independientes de comandos en línea con las herramientas internas de comandos en línea de Xcode, las que le dirá el GUI de Xcode que ya había instalado aunque ya se había instalado el paquete completo de Xcode en el paso 1. FPC no puede usar esas herramientas de comandos en línea internas sin los cambios de configuración (ver Xcode para detalles).

Haga lo siguiente, es rápido y fácil para todas las versiones de MacOS incluida Catalina 10.15:


sudo xcode-select --install
sudo xcodebuild -license accept

Para Big Sur 11.x y posteriores, sólo necesita entrar el primero de los dos comandos arriba a menos que ya haya instalado el paquete completo de Xcode. Si sólo instaló las herramientas de comandos en línea, debería omitir hacer el comando xcodebuild.

Si tiene problemas instalando las herramientas de comandos en línea usando este método de comandos en línea (p.e. el instalador se congela mientras que “busca Software”), puede también descargar e instalar el paquete de herramientas de comandos en línea ingresando en el sitio Apple Developer Site luego descargar e instalar la imagen de disco de las Herramientas de comandos en línea para Xcode.

Paso 3: binarios FPC código fuente FPC

Light bulb  Nota: Para las instalaciones Apple Silicon/AArch64/M1, si está instalando FPC 3.2.2 (Lazarus 2.2RCx or 2.2.0 o posteriores) no necesita compilar una versión nativa de FPC para Apple Silicon porque FPC 3.2.2 para MacOS es un binario universal que contiene ejecutables tanto para Intel como para aarch64. Si está instalando una versión de FPC anterior a la 3.2.2, entonces por favor refiérase a estas instrucciones para construir un Compilador de Free Pascal nativo para Apple Silicon después de instalar el binario de 64 bits de Intel y los paquetes fuente para FCP.

Descargue e instale el paquete de binarios oficial de FPC y el paquete fuente de FPC por separado en el sitio Lazarus IDE file area.

Cuando llegue al área de archivos del IDE de Lazarus:

  1. Escoja la versión correcta para su sistema operativo. La vasta mayoría de usuarios Mac deberían escoger los paquetes de 64 bits en el directorio x86-64. Cada computador Mac desde finales de 2006 ha sido funcional a 64 bits. El hecho de que Apple haya dejado completamente todo el soporte a 32 bits desde la versión de MacOS 10.15 Catalina (liberada en Octubre de 2019) es otra razón para escoger los paquetes de 64 bits.
  2. Escoja la versión de Lazarus que desee instalar y se le presentará con los dos binarios FPC y paquetes fuentes para descargar.

Estos paquetes de instalación se construyeron por los desarrolladores de FPC/Lazarus y versiones formales. Como estos paquetes de instalación no son aprobados por Apple, necesita mantener oprimida la tecla Control, cliquear el paquete y elegir Abrir y confirmar que desea instalar desde un Desarrollador Desconocido.

Podrá gustarle intentar una simple y rápida prueba de FPC en este estado - Probar la instalación FPC.

Paso 4: Instalar el IDE de Lazarus

Es crítico que un Compilador Free Pascal compatible (FPC) y su código fuente deba ser instalado antes que instale el IDE de Lazarus.

Light bulb  Nota: Para la instalación en Apple Silicon/AArch64, por favor refiérase al sitio Ajustes en Lazarus 2.2 o Desarrollo de Lazarus encontrará instrucciones para construir un IDE nativo de Lazarus. Sáltese las instrucciones de construcción y use las fuentes de ajustes de Lazarus 2.2 o las fuentes de desarrollo de Lazarus y descargue las que guste.

Descargue e instale el IDE de Lazarus del sitio Lazarus IDE file area. Cuando esté en el área de archivos, escoja la versión conforme a su sistema operativo. La vasta mayoría de usuarios Mac deberían escoger los paquetes de 64 bits en el directorio Lazarus MacOS x86_64. Cada computador Mac desde finales de 2006 es capaz de ejecutarse a 64 bits. El hecho de que Apple haya abandonado completamente el soporte a 32 bits desde MacOS 10.15 Catalina (liberada en Octubre de 2019) es otra razón para escoger los paquetes a 64 bits.


Paso 5: Configure el Depurador

En versiones de Lazarus 1.8.4 y anteriores, necesita usar gdb como depurador, lento para instalar y difícil de firmar. Desde Lazarus 2.0.0 puede (y debería) usar lldb, un depurador proporcionado por Apple, el cual no necesita firmarse.

Asumiendo que tenga instalado lo que necesite e inicie Lazarus, todo lo que falta será configurar el depurador. Si no hace esto ahora, Lazarus tratará de usar gdb y fallará.

Tenga en cuenta que para depurar aplicaciones de 64 bits, puede que tenga dificultades con lldb por lo que se recomienda instalar una versión de gdb diferente.

  • Lazarus versión 2.0.12 con FPC 3.0.4: Es posible instalar gdb y compilar la versión según su versión de S.O. (p.e. El Capitán usará la versión de gdb 7.12.1).
  • Lazarus versión 2.2.0: Primero, clique Lazarus > Preferencias > Debugger - Debugger Backend;
  • Lazarus antes de la version 2.2.0: Primero, clique Herramientas > Opciones > Debugger.

En la parte superior derecha de la ventana ahora abrir tiene la etiqueta “Tipo de Debugger y ruta”, debe poner tanto el tipo y la ruta. Seleccione el tipo "LLDB debugger (con fpdebug) (Beta)" y seleccione o escriba la ruta /usr/bin/lldb.


Set Debugger2.png

Si no se muestra en la lista de selección "LLDB debugger (with fpdebug) (Beta)”, vea abajo Installing LazDebuggerFpLLdb. Las herramientas de comandos en línea instala lldb en el directorio /usr/bin. Guarde esas opciones y puede ahora intentar compilar su programa (clique el pequeño triángulo verde en la parte superior izquierda).

En seguida verá una pregunta capciosa, vea la imagen abajo. Escoja un “Formato de Depuración" de los siguientes -

Set Dwarf.png

Martin_fr, la persona que nos ha dado esta interfaz entre el IDE de Lazarus y lldb, sugiere que use "dwarf3" . Luego, necesitará entrar su contraseña, un detalle de MacOS porque una aplicación parece interferir con otra. En este caso, está bien!

Cuando se ejecuta el depurador de vez en cuando se le preguntará por su contraseña para permitir la depuración. Esto es por su propia seguridad.


Información Extra al usar lldb

Un gran acuerdo de información acerca de usar lldb aparece en el sitio this forum thread. —- Aquí hay algunas gemas, de nuevo, de Martin_fr:

En el inesperado caso de problemas, puede no servir intentar "dwarf con sets" en vez de sólo "dwarf3".

La opción de "debug info" sólo afecta las unidades directamente en su proyecto. Sin embargo, las unidades en los paquetes puede que tengan información sobre depuración también. Esto puede ser:

  • set por paquete
  • para muchos, pero no todos los paquetes en el menú Herramientas > Configurar “Construir Lazarus"
  • Project > Project Options > Additions and Overrides

Si se cambia las opciones para un paquete, puede querer revisar qué paquete espera seguir cuando se depura. Los paquetes que no siga, no necesitan la información de depuración.

Si usa un tipo desde un paquete (como TForm de LCL) basta que su unidad (en la cual declaró la variable / vaya a declarar y usar una variable a incluir en el tipo) tenga información de depuración. Reducir el número de paquetes con información de depuración (incluyendo aquellos que por defecto tengan información sobre depuración), puede acortar el tiempo de arranque de los depuradores.

También puede servir comparar (no se ha probado) el tiempo de arranque de los depuradores para las mismas opciones, sólo cambiando el checkbox "use external debug info".

Esto necesita ponerse sólo en su proyecto. Si se pone en su proyecto afectará a todos los paquetes. (Si se pone en un paquete debería no surtir efecto.)


Instalar LazDebuggerFpLLdb

Si instaló desde la fuente y usó el bigide parámetro a construir, entonces el depurador correcto será instalado, como paquete, y liso a usar. Si, no obstante, se instalara de otra forma, puede, o no puede estar ahí.

Desde la pantalla principal del IDE, clique Paquetes->Instalar/DesinstalarPaquetes. Se muestra dos listas de paquetes, la lista de la izquierda está instalada, la lista de la derecha está disponible a instalarse. Busque LazDebuggerFpLldb (exactamente así, hay varios con nombres similares pero son menos adecuados). Si está al lado derecho, clíquelo, presione “Selección a Instalar" y luego “Guardar y reconstruir IDE". Esto tomará algo de tiempo, el IDE se reiniciará y todo deberá estar bien. Ahora regrese a la página y continúe configurando el depurador.


Cocoa 64 bits vs Carbon 32 bits

Usar el marco de Apple de 64 bits Cocoa es ahora innegable para el futuro del Mac. El marco de 32 bits Carbon de Apple, mientras que no se ha estado desarrollando, funciona como se esperaba, pero se le advierte a probar Cocoa primero porque Apple abandonó todo soporte para aplicaciones a 32 bits en MacOS 10.15 Catalina (Octubre 2019).

Es posible construir una versión de Cocoa para el IDE de Lazarus con la versión 2.0.0 y posteriores. Es también posible construir una versión de Carbon del IDE de Lazarus (a menos que esté ejecutando MacOs 10.15 Catalina o posteriores) y lo use para generar binarios Cocoa de 64 bits.

Para producir aplicaciones Cocoa en el IDE Carbon o Cocoa, necesitará poner el Destino a procesador de 64 bits y seleccionar el widgetset Cocoa:


  • Abra su proyecto con Lazarus y desde el menú seleccione Proyecto > Opciones de Proyecto
  • En el panel "Config and Target" ponga "Target CPU family" en "x86_64" (Intel) o "aarch64" (Apple M1)
  • En el panel "Config and Target", si "Current LCL widgetset" no está puesto en Cocoa, clique "Select another LCL widgetset" el cual le lleve al panel de "Additions and Overrides" donde pueda clicar en "Set LCLWidgetType" y poder seleccionar "Cocoa"
  • Asegúrese que en Herramientas > Opciones (Lazarus > Preferencias para v2.2.0 y posteriores) que "Compiler Executable" esté puesto en "/usr/local/bin/fpc" para obtener aplicaciones de 64 bits.
  • Ahora compile su proyecto - y por favor comuníquese si tiene problemas con su experiencia.

Matriz de Compatibilidad FPC + Lazarus

No toda combinación de Lazarus y Free Pascal es compatible con cada instalación de MacOS. Por favor refiérase a la siguiente tabla para encontrar la versión correcta para su ambiente de desarrollo:

Lazarus Compatibility Matrix
Lazarus 1.8.x Lazarus 2.0.y Lazarus 2.0.8 Lazarus 2.0.10 Lazarus 2.0.12 Lazarus 2.2.y
FPC 3.0.4 FPC 3.2.0 FPC 3.2.2
PPC processors
Mac OS X 10.4 (Tiger) Incompatible Incompatible Incompatible Incompatible Incompatible Incompatible Incompatible
Mac OS X 10.5 (Leopard) Not tested Not tested Incompatible Incompatible Incompatible Incompatible Incompatible
Intel processors
Mac OS X 10.4 (Tiger) Incompatible Incompatible Incompatible Incompatible Incompatible Incompatible Incompatible
Mac OS X 10.5 (Leopard) Not tested Compatible^ Not tested Compatible^** Not tested Not tested Not tested
Mac OS X 10.6 (Snow Leopard) Compatible Compatible^^ Not tested Not tested Not tested Not tested Not tested
Mac OS X 10.7 (Lion) Compatible Not tested Not tested Not tested Not tested Not tested Not tested
OS X 10.8 (Mountain Lion) Compatible^^ Compatible Compatible**# Compatible**# Compatible**# Compatible# Compatible
OS X 10.9 (Mavericks) Compatible^^ Compatible Compatible** Compatible** Not tested Not tested Not tested
OS X 10.10 (Yosemite) Compatible^^ Compatible Compatible** Compatible** Not tested Not tested Not tested
OS X 10.11 (El Capitan) Compatible^^ Compatible Compatible*** Compatible Compatible Compatible Comptaible
macOS 10.12 (Sierra) Compatible^^ Compatible Compatible*** Compatible Compatible Compatible Compatible
macOS 10.13 (High Sierra) Not tested Compatible Compatible*** Compatible Compatible Compatible Comptaible
macOS 10.14 (Mojave) Not tested Compatible Compatible*** Compatible Compatible Compatible Compatible
macOS 10.15 (Catalina) Not tested Compatible Compatible*** Compatible Compatible Compatible Compatible
macOS 11 (Big Sur) Not tested Compatible Compatible*** Compatible Compatible Compatible Compatible
macOS 12 (Monterey) Not tested Not tested Not tested Not tested Not tested Not tested Compatible
macOS 13 (Ventura) Not tested Not tested Not tested Not tested Not tested Not tested Compatible
macOS 14 (Sonoma) Not tested Not tested Not tested Not tested Not tested Not tested Compatible
Apple Silicon M series processors
macOS 11 (Big Sur) Not tested Not tested Not tested Compatible†† Compatible†† Compatible††† Compatible*
macOS 12 (Monterey) Not tested Not tested Not tested Compatible†† Compatible†† Compatible††† Compatible*
macOS 13 (Ventura) Not tested Not tested Not tested Compatible†† Compatible†† Compatible††† Compatible*
macOS 14 (Sonoma) Not tested Not tested Not tested Compatible†† Compatible†† Compatible††† Compatible*

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

^ Carbon interface compiles - Cocoa does not.

^^ Restrictions apply to debugging with gdb.

* Lazarus 2.2.0 installs universal binaries for FPC 3.2.2, but an Intel Lazarus IDE binary which you can use or recompile the IDE from within itself for a native aarch64 version.

** See Installing Lazarus 2.0.8, 2.0.10 with FPC 3.2.0 for macOS 10.10 and earlier for instructions.

*** See Installing Lazarus 2.0.8 with FPC 3.2.0 for macOS 10.11+ for instructions.

# Cannot run without debugging in the IDE. Can run compiled application outside of the IDE. See Issue #37324. Choose the gdb debugger, change timeout option to false or click through five "timeout" dialogs to run with debugging in the IDE.

Cannot "run without debugging" in the IDE. Can run compiled application outside of the IDE. See Lazarus IDE - Unable to "run without debugging" for workaround. See Issue #36780.

†† You need to compile a native aarch64 version of FPC 3.3.1 (trunk) and Lazarus 2.0.12 from source to support an Apple Silicon M series processor. Refer to these instructions for FPC and these instructions for the Lazarus IDE.

††† After installing FPC 3.2.2, you need to compile a native aarch64 version of Lazarus from source to support an Apple Silicon M series processor. Refer to these instructions for compiling the Lazarus IDE.

See the legacy version of this compatibility matrix for recommended installs on very old versions of macOS.

Instalar versiones del IDE de Lazarus que no han sido lanzadas

Ajustes para Lazarus 2.2

Hay un número de razones por las que pueda mejor usar una versión no-liberada de Lazarus, específicamente, fixes_2_2. En lo particular:

  • La necesidad de trabajar Cocoa a 64 bits, pues MacOS 10.15 Catalina y posteriores no dan soporte a Carbon a 32 bits.
  • El widget Cococa ha mejorado notoriamente y la interfaz del depurador lldb ha mejorado rápidamente, incluso desde v2.0.0.
  • Si su Mac tiene un Procesador Apple M1, el depurador en fixes_2_2 ahora funciona para aarch64.
  • Fixes_2_2 es una opción más estable que la rama de desarrollo, pero todavía obtiene las nuevas características mucho más rápidas que la versión a liberar.

Los binarios Pre-compilados basados en fixes_2_2 no están disponibles desde SourceForge así que lo descargamos y construimos desde los fuentes. Un poco lento inicialmente pero muy confiable y una gran prueba para la instalación de su compilador! Necesitará git el cual se incluye en todas las versiones recientes de las herramientas de comandos en línea de Xcode, las que ya debió instalar previamente (ver Xcode Command Line Tools arriba).

Acerca de svn o git: Las herramientas de comandos en línea de Xcode 11.4 en MacOS 10.15 ya no instalan svn, sólo git. Puede instalar la subversión por medio de fink, ports o brew.


Template:Notas sobre la Construcción de Lazarus en Apple Silicon

Descargar los fuentes de Lazarus Fixes 2.2

Cree un directorio para Lazarus y descargue la versión de fixes actual.

cd
mkdir -p bin/lazarus
cd bin/lazarus

Usando git:

git clone -b fixes_2_2 https://gitlab.com/freepascal.org/lazarus/lazarus.git laz_fixes

Usando svn:

svn checkout https://github.com/fpc/Lazarus/branches/fixes_2_2 laz_fixes

Dependiendo de su conexión a internet y la congestión del servidor esto tomará algunos segundos o minutos.


Actualizar las fuentes de Lazarus Fixes 2.2

para mantener actualizada su instalación fixes_2_2 es tan simple como:

Usando git:

cd ~/bin/lazarus/laz_fixes
git clean -f -d
git pull

Usando svn:

cd ~/bin/lazarus/laz_fixes
svn clean --remove-unversioned
svn update

Construir las fuentes de Lazarus Fixes 2.2

cd laz_fixes
make distclean all LCL_PLATFORM=cocoa CPU_TARGET=x86_64 bigide
//-espere algún tiempo . . .
open startlazarus.app --args "--pcp=~/.laz_fixes"
  • Note que paso un parámetro para usar un directorio de configuración que se basa en el nombre del directorio actual de instalación. Hace que el scripting sea sencillo.
  • en antiguas versiones de MacOS que soportan las aplicaciones de 32 bits, reemplace la anterior línea de make con "make LCL_PLATFORM=carbon CPU_TARGET=i386 bigide " y configure su proyecto como se menciona el la sección arriba Carbon and Cocoa.

Le gustará colocar un pequeño script en su directorio $HOME/bin e incluso colocar una ruta a él (muy UNIX!)

#!/bin/bash
LAZDIR="laz_fixes"
cd ~/bin/lazarus/"$LAZDIR"
open ~/bin/lazarus/"$LAZDIR"/lazarus.app --args "--pcp=~/.$LAZDIR"

Version de Desarrollo de Lazarus

Los binarios precompilados basados en la versión de desarrollo (era conocida como "trunk" en SVN; ahora conocido como "main" en GIT) del IDE de Lazarus ya no está disponible de SourceForge, así que aquí está cómo descargar la versión de desarrollo usando svn o git y construir el IDE. Necesitará svn (antes de MacOS 10.15 - Catalina) o git (después de MacOS 10.14 - Mojave) el cual se incluye con las herramientas de comando en línea de Xcode el cual debería ya haber instalado (ver arriba las Herramientas de Comando en Línea de Xcode).

Template:Notas sobre Construcción para Apple Silicon

Descargue las fuentes de la versión de desarrollo de Lazarus

cd
mkdir -p bin/lazarus
cd bin/lazarus

Usando git:

git clone -b main https://gitlab.com/freepascal.org/lazarus/lazarus.git laz_main

Usando svn:

svn checkout --depth files https://github.com/fpc/Lazarus/branches all
cd all
svn update --set-depth infinity main

La anterior llamada a svn es más compleja debido a un bug en muchas versiones de Subversion. Este ajuste ha sido el trabajo de Alfred (aka Don Alfredo en el Forum) y quien es el mago detrás de esto fpcupdeluxe.

Actualizando la fuente de la versión de desarrollo de Lazarus

Para actualizar su fuente de la versión de desarrollo de Lazarus.

Usando git:

cd ~/bin/lazarus/laz_main
git clean -f -d
git pull

Usando svn:

cd ~/bin/lazarus/laz_trunk
svn cleanup --remove-unversioned
svn update

Construyendo la fuente de la versión de desarrollo de Lazarus

make distclean all LCL_PLATFORM=cocoa CPU_TARGET=x86_64 ide

or, or bigger IDE:

make distclean all LCL_PLATFORM=cocoa CPU_TARGET=x86_64 bigide

Después de los siguientes comandos, espere algo de tiempo y:

open startlazarus.app --args "--pcp=~/.laz_dev"

Qué hace el argumento bigide?

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

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

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

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

Instalando versiones no-liberadas de FPC

Installing from source

There are two current non-release branches of the Free Pascal Compiler: the development (trunk) branch and the Fixes 3.2 branch which includes additional fixes to the released 3.2.2 version. Developers, and those who like living on the bleeding edge and testing new features and fixes, will choose the development version; more normal users, who wish to use a stable branch with some additional fixes since the latest release version, will choose the Fixes branch. The instructions below cover both these branches.

The source code is kept in a version control system called git:

  • macOS 10.5 and higher already contain a command line git client if you have installed the Xcode command line utilities.
  • You also need the latest released Free Pascal Compiler version (3.2.2 as of March 2022) installed in order to be able to successfully compile the development (trunk) version.
Light bulb  Nota: When building a native aarch64 Free Pascal Compiler (ppca64) for an Apple Silicon M1 processor Mac, change the CPU_TARGET in the instructions below from x86_64 (Intel 64 bit) to aarch64 (ARM 64 bit - Apple Silicon M1) and change any reference to ppcx64 to ppca64

FPC development version

Note that since the development version of FPC (was known as "trunk" in SVN; now known as "main" in GIT) is by definition still under development, some of the features may still change before they end up in a release version.

Create a directory where you would like to put the source (eg fpc_main in your home directory). You don't need to be root to do this. Any normal user can do this. Open an Applications > Utilities > Terminal and do the following:

 []$ git clone -b main https://gitlab.com/freepascal.org/fpc/source.git fpc_main

This will create a directory called fpc_main and download the FPC main source to it.

To subsequently update your local source repository with the latest source changes you can simply do:

 []$ cd
 []$ cd fpc_main
 []$ git clean -f -d
 []$ git pull

To build and install FPC (the highlighted text should be all on one line):

 []$ cd
 []$ cd fpc_main
 []$ make distclean all FPC=/usr/local/lib/fpc/3.2.2/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64 OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"
 []$ sudo make install FPC=$PWD/compiler/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64

You will also need to update the links for the compiler in /usr/local/bin which will be pointing to the previous FPC version. For example:

 []$ cd /usr/local/bin
 []$ sudo rm ppc386
 []$ sudo rm ppcx64
 []$ sudo ln -s /usr/local/lib/fpc/3.3.1/ppc386
 []$ sudo ln -s /usr/local/lib/fpc/3.3.1/ppcx64

Note that you will need to build a new ppc386 compiler if you want to continue to compile 32 bit applications by replacing these lines (this is not be possible after Xcode 11.3.1 and macOS 10.14.6 Mojave because of Apple's removal of the 32 bit frameworks):

 []$ make clean all FPC=/usr/local/lib/fpc/3.2.2/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64 OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"
 []$ sudo make install FPC=$PWD/compiler/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64

with these two lines:

 []$ make clean all FPC=/usr/local/lib/fpc/3.2.2/ppc386 OS_TARGET=darwin CPU_TARGET=i386 OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"
 []$ sudo make install FPC=$PWD/compiler/ppc386 OS_TARGET=darwin CPU_TARGET=i386

FPC Fixes 3.2

Create a directory where you would like to put the source (eg fpc_fixes32 in your home directory). You don't need to be root to do this. Any normal user can do this. Open an Applications > Utilities > Terminal and do the following:

 []$ git clone -b fixes_3_2 https://gitlab.com/freepascal.org/fpc/source.git fpc_fixes32

This will create a directory called fpc_fixes32 and download the FPC source to it.

To subsequently update your local copy of the repository source with the latest source changes you can simply do:

 []$ cd fpc_fixes32
 []$ git clean -f -d
 []$ git pull

To build and install FPC (the highlighted text should be all on one line):

 []$ cd
 []$ cd fpc_fixes32
 []$ make distclean all FPC=/usr/local/lib/fpc/3.2.2/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64 OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"
 []$ sudo make install FPC=$PWD/compiler/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64

You will also need to update the links for the compiler in /usr/local/bin which will be pointing to the previous FPC version. For example:

 []$ cd /usr/local/bin
 []$ sudo rm ppc386
 []$ sudo rm ppcx64
 []$ sudo ln -s /usr/local/lib/fpc/fixes-3.2/ppc386
 []$ sudo ln -s /usr/local/lib/fpc/fixes-3.2/ppcx64

Note that you will need to build a new ppc386 compiler if you want to continue to compile 32 bit applications by replacing these lines (this may not be possible after Xcode 11.3.1 and macOS 10.14.6 Mojave because of Apple's removal of the 32 bit frameworks):

 []$ make clean all FPC=/usr/local/lib/fpc/3.2.2/ppc386 OS_TARGET=darwin CPU_TARGET=i386 OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"
 []$ sudo make install FPC=$PWD/compiler/ppc386 OS_TARGET=darwin CPU_TARGET=i386

Problemas conocidos y soluciones

Problema al reconstruir Lazarus IDE v2.2.0

Cualquier intento de reconstruir el IDE de Lazarus desde sí mismo fallará con los errores de permiso porque los archivos y directorios le pertenecen a un usuario con el id de 503 mientras que muchos usuarios encontrarán que su id es 501. La solución es abrir una Terminal (Aplicaciones > Utilidades > Terminal) y:

cd /Applications
sudo chown -R su_nombre_de_usuario Lazarus

Los siguientes errores en reconstrucción no ocurren en los computadores Intel

El siguiente error que ocurre es que el compilador de recursos "fpcres" no se encuentra. La solución es crear un archivo .fpc.cfg (nótese el punto inicial) en su directorio home y agregar las siguientes líneas en él:


#include /etc/fpc.cfg
-FD/usr/local/bin

de tal forma que se pueda encontrar "fpcres" donde se instaló.

El siguiente error se muestra por una arquitectura target no soportada -Paarch64, con el consejo de invocar el driver de compilador "fpc" en su lugar - excepto que eso es lo que ya hemos hecho. La solución es ir a Lazarus > Preferencias > Ejecutable de Compilador el cual se pone como /usr/local/bin/fpc y se deberá cambiar por /usr/local/lib/fpc/3.2.2/ppca64 en su lugar.

El IDE será ahora reconstruido exitosamente pero no reiniciará de forma automática. Intentando entonces iniciar Lazarus desde el icono de startlazarus.app o el icono lazarus.app en /Applications/Lazarus todavía resulta en el binario original de Intel siendo lanzado. El binario correcto para aarch64 puede encontrarse en ~/.lazarus/bin/aarch64-darwin/lazarus. Así que la solución final es abrir una Application > Utilities > Terminal y:

mv /Applications/Lazarus/lazarus /Applications/Lazarus/lazarus.old
mv  ~/.lazarus/bin/aarch64-darwin/lazarus /Applications/Lazarus/

Puedes entonces iniciar el IDE mediante los iconos startLazarus.app o lazarus.app. Cuando reincide Lazarus, merece que ponga nuevamente el ejecutable del compilador Lazarus > Preferencias > Ejecutable del Compilador a /usr/local/lib/fpc/3.2.2/ppca64 y colocarlo nuevamente a /usr/local/bin/fpc de tal forma que pueda compilar binarios para aarch64 e Intel, por ejemplo, crear un Universal Binary el cual se ejecutará tanto en máquinas Intel y aarch64.

IDE de Lazarus - No es posible “ejecutarse sin depurar"

Si está usando el IDE 2.0.10 y la opción de menú ‘’Ejecutar > Ejecutar sin depurar falla con un diálogo similar a:

run dialog fail.png

entonces necesita parchar el código fuente de Lazarus 2.0.10 (Issue #37324 y Issue #36780). Específicamente, parchar ../ide/main.pp como se describe a continuación (las primeras líneas no están parchadas, las siguientes muestran el parche):

 7243,7245c7243,7245
 <     if RunAppBundle
 <         and FileExistsUTF8(Process.Executable)
 <     and FileExistsUTF8('/usr/bin/open') then
 ---
 >     if RunAppBundle then
 >     //    and FileExistsUTF8(Process.Executable)
 >     //and FileExistsUTF8('/usr/bin/open') then

y recompile el IDE de Lazarus.

De forma alternativa, puede omitir parchar el código fuente y simplemente recopilar Lazarus 2.0.10 con FPC 3.0.4.

Un ejercicio de parcheo y recompilación similar, o simplemente recopilar con FPC 3.0.4, necesita hacerse para Lazarus 2.0.8 si ha sido compilado con FPC 3.2.0.

Actualizando desde Mojave (10.14) a Catalina (10.15)

  • Ejecute sudo xcode-select --install
  • Para habilitar Lazarus a que localice el archivo crt1.10.5.o a cambiar en /etc/fpc.cfg el -Fl detrás "#ifdef cpux86_64" de
-Fl/Applications/Xcode.app/Contents/Developer/Toolchain...

a

-Fl/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/

Construir el compilador FPC desde Movaje (10.14) en adelante

  • Para encontrar el archivo crt1.10.5.o cuando se construye una versión posterior del Compilador de Free Pascal desde la fuente, necesita especificar:
 OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"

en la línea de comandos porque FPC ignora el archivo de configuración /etc/fpc.cfg durante las construcciones a sí mismo.

Preguntas Frecuentes sobre la Instalación del Mac

  • Vea Mac Installation FAQ para soluciones a otros problemas comunes que puedan presentarse durante (y después) de la instalación de Lazarus y Free Pascal en MacOS.


Desinstalar Lazarus y Free Pascal

Refiérase a Uninstalling Lazarus on macOS para opciones de desinstalación.

Legacy Information

See Legacy Information for details of:

  • Instalar Lazarus en MacOS X 10.4 (Tiger), Mac OS X 10.5 (Leopard), OS X 10.8 (Mountain Lion)
  • Instalar Lazarus 2.0.8, 2.0.10 con FPC 3.2.0 para MacOS 10.10 y anteriores
  • Instalar Lazarus 2.0.8 con FPC 3.2.0 para MacOS 10.11+
  • Instalar Lazarus en Macs basadas en PowerPC
  • Versiones anteriores de Xcode
  • Instalar el depurador de gdb
  • Compatibility matrix for Lazarus 1.0.0 through 1.6.4 and FPC 2.6.0 through 3.0.2.

Vea también


Enlaces Externos