Difference between revisions of "Installing Lazarus on macOS/ru"

From Lazarus wiki
Jump to navigationJump to search
 
(19 intermediate revisions by the same user not shown)
Line 132: Line 132:
 
{{Template:Compatibility matrix of Lazarus for Mac}}
 
{{Template:Compatibility matrix of Lazarus for Mac}}
  
== Installing non-release versions of the Lazarus IDE ==
+
== Установка невыпущенных версий Lazarus IDE ==
 +
[[user:zoltanleo|Прим.перев]]: настоятельно советую для НЕрелизных сборок компилятора и Лазаруса использовать [[fpcupdeluxe/ru|fpcupdeluxe]]
  
 
=== Lazarus Fixes 2.2 ===
 
=== Lazarus Fixes 2.2 ===
Line 138: Line 139:
 
* [[Lazarus_2.2_fixes_branch|Fixes included in fixes_2_2]]
 
* [[Lazarus_2.2_fixes_branch|Fixes included in fixes_2_2]]
  
There are a number of reasons why you may be better off using a non-release version of Lazarus, specifically, fixes_2_2. Particularly:
+
Есть ряд причин, по которым вам может быть лучше использовать нерелизную версию Lazarus, в частности, fixes_2_2. Особенно:
  
* You almost certainly need to target 64 bit Cocoa, macOS 10.15 Catalina and later do not support 32 bit Carbon at all.
+
* Вам почти наверняка нужно ориентироваться на 64-битный Cocoa, macOS 10.15 Catalina и более поздние версии вообще не поддерживают 32-битный Carbon.
* The Cocoa widget set has steadily improved and the lldb debugger interface has rapidly improved, since even v2.0.0.
+
* Набор виджетов Cocoa постоянно улучшался, а интерфейс отладчика lldb быстро улучшался, начиная с версии 2.0.0.
* If your Mac has an Apple M1 Processor, the debugger in fixes_2_2 now works for aarch64.
+
* Если на вашем Mac установлен процессор Apple M1, отладчик в fixes_2_2 теперь работает для aarch64.
* Fixes_2_2 is a safer and more stable option than the development branch, but still gets the new features much faster than the release version.
+
* Fixes_2_2 — более безопасный и стабильный вариант, чем ветка разработки, но все равно получает новые функции намного быстрее, чем релизная версия.
  
Pre-compiled binaries based on fixes_2_2 are not available from SourceForge so we download and build from the source code. A little slow initially but very reliable and a great test of your compiler install ! You will need git which is included in all recent versions of the Xcode command line tools which you should have already installed (see [[#Step_2:_Xcode_Command_Line_Tools|Xcode Command Line Tools]] above).
+
Предварительно скомпилированные двоичные файлы на основе fixes_2_2 недоступны в SourceForge, поэтому мы загружаем и собираем их из исходного кода. Сначала немного медленный, но очень надежный и отличный тест установки вашего компилятора! Вам понадобится git, который включен во все последние версии инструментов командной строки Xcode, которые вы уже должны были установить (см. [[Installing_Lazarus_on_macOS/ru#.D0.A8.D0.B0.D0.B3_2._.D0.98.D0.BD.D1.81.D1.82.D1.80.D1.83.D0.BC.D0.B5.D0.BD.D1.82.D1.8B_.D0.BA.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D0.BD.D0.BE.D0.B9_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B8_Xcode|Инструменты командной строки Xcode]] выше).
  
About svn or git: The Xcode 11.4 command line tools on macOS 10.15 no longer install svn, only git. You can install subversion via fink, ports or brew.
+
Касательно svn или git: инструменты командной строки Xcode 11.4 в macOS 10.15 больше не устанавливают svn, только git. Вы можете установить Subversion через fink, порты или brew.
  
{{Apple Silicon Lazarus Build Notes}}
+
<b>Additional notes for building a native aarch64 Lazarus IDE for an Apple Silicon M1 processor Mac</b>
 +
 
 +
Убедитесь, что вы скомпилировали собственный компилятор Free Pascal aarch64 (как это сделать, см. в разделе Поддержка Apple Silicon).
 +
 
 +
{{Note| Выпуск FPC 3.2.2 включает в себя универсальные двоичные файлы, которые изначально будут работать как на aarch64 (64-разрядная версия ARM — Apple Silicon M1), так и на x86_64 (64-разрядная версия Intel), поэтому вам больше не нужно компилировать свои собственные из исходного кода.}}
 +
 
 +
При сборке Lazarus IDE измените CPU_TARGET в приведенных ниже инструкциях с x86_64 (64-разрядная версия Intel) на aarch64 (64-разрядная версия ARM — Apple Silicon M1).
  
==== Downloading Lazarus Fixes 2.2 source ====
+
==== Загрузка исходного кода Lazarus Fixes 2.2 ====
  
Create a directory for Lazarus and download the current fixes version:
+
Создайте каталог для Lazarus и загрузите текущую версию исправлений:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 161: Line 168:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Using git:
+
С использованием git:
 
  git clone -b fixes_2_2 https://gitlab.com/freepascal.org/lazarus/lazarus.git laz_fixes
 
  git clone -b fixes_2_2 https://gitlab.com/freepascal.org/lazarus/lazarus.git laz_fixes
  
Using svn:
+
С использованием svn:
 
  svn checkout https://github.com/fpc/Lazarus/branches/fixes_2_2 laz_fixes
 
  svn checkout https://github.com/fpc/Lazarus/branches/fixes_2_2 laz_fixes
  
Depending on your internet connection and server congestion this takes a few seconds or a few minutes.
+
В зависимости от вашего интернет-соединения и загруженности сервера это может занять от нескольких секунд до нескольких минут.
  
==== Updating Lazarus Fixes 2.2 source ====
+
==== Обновление исходного кода Lazarus Fixes 2.2 ====
  
To keep your fixes_2_2 installation up to date is as easy as:
+
Чтобы поддерживать установку fixes_2_2 в актуальном состоянии, достаточно просто:
  
Using git:
+
С использованием git:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 181: Line 188:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Using svn:
+
С использованием svn:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 189: Line 196:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==== Building Lazarus Fixes 2.2 source ====  
+
==== Сборка исходного кода Lazarus Fixes 2.2 ====  
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 198: Line 205:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
* Note I pass a parameter to use a config directory that is based on the name of the actual install directory. It makes some scripting easy.
+
* Примечание. Я передаю параметр для использования каталога конфигурации, основанного на имени фактического каталога установки. Это упрощает написание некоторых сценариев.
  
* On older macOS versions supporting 32 bit applications, replace the above make line with "''make LCL_PLATFORM=carbon CPU_TARGET=i386 bigide'' " and set up your project as mentioned in the [[#Cocoa_64_bit_vs_Carbon_32_bit|Carbon and Cocoa]] section below.
+
* В более старых версиях macOS, поддерживающих 32-битные приложения, замените приведенную выше строку make на "''make LCL_PLATFORM=carbon CPU_TARGET=i386 bigide'' " и настройте свой проект, как указано в разделе [[Installing_Lazarus_on_macOS/ru#Cocoa_64-.D0.B1.D0.B8.D1.82_.D0.B2_.D1.81.D1.80.D0.B0.D0.B2.D0.BD.D0.B5.D0.BD.D0.B8.D0.B8_.D1.81_Carbon_32-.D0.B1.D0.B8.D1.82|Carbon в сравнении с Cocoa]] выше.
  
You might like to put a small script in your $HOME/bin directory and even set a path to it (very UNIX!)
+
Возможно, вы захотите поместить небольшой скрипт в каталог $HOME/bin и даже указать путь к нему (очень UNIX!)
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 211: Line 218:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== Lazarus development version ===
+
=== Разрабатываемая версия Лазаруса ===
  
* [[Lazarus_2.2.0_release_notes|Lazarus Development Version Notes]] - Note: work in progress
+
* [[Lazarus_2.4.0_release_notes|Примечания к разрабатываемой версии Lazarus]] - Примечание: работа в процессе
  
Precompiled binaries based on the development version (was known as "trunk" in SVN; now known as "main" in GIT) of the Lazarus IDE are not available from SourceForge, so here's how to download the development version source using ''svn'' or ''git'' and build the Lazarus IDE. You will need svn (before macOS 10.15 - Catalina) or git (after macOS 10.14 - Mojave) which is included in the standalone Xcode command line tools which you should have already installed (see Xcode Command Line Tools above).  
+
Предварительно скомпилированные двоичные файлы, основанные на версии для разработки (известной как "trunk" в SVN; теперь известна как "main" в GIT) среды разработки Lazarus недоступны в SourceForge, поэтому можно загрузить исходный код версии для разработки с помощью ''svn'' или ''git'' и собрать IDE Lazarus. Вам понадобится svn (до macOS 10.15 Catalina) или git (после macOS 10.14 Mojave), который включен в автономные инструменты командной строки Xcode, которые вы уже должны были установить (см. Инструменты командной строки Xcode выше).  
  
 
{{Apple Silicon Lazarus Build Notes}}
 
{{Apple Silicon Lazarus Build Notes}}
  
==== Downloading Lazarus development version source ====
+
==== Скачивание исходного кода разрабатываемой версии Lazarus ====
  
 
<syntaxhighlight lang="sh">
 
<syntaxhighlight lang="sh">
Line 227: Line 234:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Using git:
+
С использованием git:
 
  git clone -b main https://gitlab.com/freepascal.org/lazarus/lazarus.git laz_main
 
  git clone -b main https://gitlab.com/freepascal.org/lazarus/lazarus.git laz_main
  
Using svn:
+
С использованием svn:
 
  svn checkout --depth files https://github.com/fpc/Lazarus/branches all
 
  svn checkout --depth files https://github.com/fpc/Lazarus/branches all
 
  cd all
 
  cd all
 
  svn update --set-depth infinity main
 
  svn update --set-depth infinity main
  
The above svn invocation is more complex due to a bug in many versions of Subversion. This workaround was the work of Alfred (aka Don Alfredo in the [[Forum]]) who is the wizard behind [[fpcupdeluxe]].
+
Приведенный выше вызов svn более сложен из-за бага во многих версиях Subversion. В качестве обходного пути рекомендуется использование утилиты Альфреда (он же Don Alfredo на [[Forum|форуме]]), который является создателем [[fpcupdeluxe/ru|fpcupdeluxe]].
  
==== Updating Lazarus development version source ====
+
==== Обновление исходников версии Lazarus для разработки ====
  
To update your existing Lazarus development version source.
+
Чтобы обновить существующий исходный код версии Lazarus для разработки, следует сделать следующее:
  
Using git:
+
С использованием git:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 249: Line 256:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Using svn:
+
С использованием svn:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 257: Line 264:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==== Building Lazarus development version source ====
+
==== Сборка исходного кода версии Lazarus для разработки ====
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 265: Line 272:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== What does the bigide make argument do? ===
+
=== Что делает аргумент make bigide?===
 +
 
 +
Аргумент ''bigide'' <tt>make</tt> добавляет в Lazarus кучу пакетов, которые многие находят полезными и без которых не могут обойтись. Пакеты, которые добавляются:
 +
 
 +
<table width="100%">
 +
<tr valign="top">
 +
<td>
 +
 
 +
* cairocanvas
 +
* chmhelp
 +
* datetimectrls
 +
* externhelp
 +
* fpcunit
 +
* fpdebug
 +
* instantfpc
 +
* jcf2
 +
* lazcontrols
 +
* lazdebuggers
 +
</td>
 +
<td>
 +
* lclextensions
 +
* leakview
 +
* macroscript
 +
* memds
 +
* onlinepackagemanager
 +
* pas2js
 +
* PascalScript
 +
* printers
 +
* projecttemplates
 +
* rtticontrols
 +
</td>
 +
<td>
 +
* sdf
 +
* sqldb
 +
* synedit
 +
* tachart
 +
* tdbf
 +
* todolist
 +
* turbopower_ipro
 +
* virtualtreeview
 +
</td>
 +
</tr>
 +
</table>
  
{{BigIDE}}
+
Приведенный выше список взят из ''<tt>[Lazarus source directory]/IDE/Makefile.fpc</tt>'' и может быть изменен.
  
== Installing non-release versions of FPC ==
+
Обратите внимание: если вы не скомпилировали свою собственную Lazarus IDE с аргументом bigide, вы можете установить любой из этих пакетов самостоятельно, используя диалоговое окно Lazarus IDE [[IDE Window: Installed Packages|''Package > Install/Uninstall Packages...'']]
  
{{macOS FPC Source Installation}}
+
== Установка незарелизенных версий FPC ==
  
== Загрузка стабильных исходников ==
+
=== Установка из исходников ===
  
Исходный код стабильных версий доступен в архивах [http://sourceforge.net/projects/lazarus/files/Lazarus%20Zip%20_%20GZip/Lazarus Zip - GZip]. Это, например, возможность для пользователей, которые хотят запускать последние официальные версии Lazarus на «неподдерживаемых» компьютерах, например, Маки на основе PPC. При условии, что вы установили последнюю стабильную версию FPC вместе с исходными текстами, достаточно скачать и распаковать zip-архив. Переместите его в нужное место (например, в вашу папку /Developer), откройте окно терминала и измените путь оболочки к этой папке (самый простой способ сделать это - набрать "cd ", а затем перетащить значок только что распакованного Lazarus папку до позиции после этой команды в окне терминала). При необходимости нажмите <Enter>, затем
+
В настоящее время существует две незарелизенные ветки компилятора Free Pascal: ветка разработки (trunk) и ветка Fixes 3.2, которая включает дополнительные исправления выпущенной версии 3.2.2. Разработчики и те, кто любит находиться на переднем крае и тестировать новые функции и исправления, выберут версию для разработчиков; а обычные пользователи, которые хотят использовать стабильную ветку с некоторыми дополнительными исправлениями, начиная с последней версии выпуска, выберут ветку Fixes. Приведенные ниже инструкции охватывают обе эти ветви.
  
<syntaxhighlight lang="bash">[]$ make clean bigide</syntaxhighlight>
+
Исходный код хранится в системе контроля версий под названием ''git'':
  
и снова <Enter>. Впоследствии FreePascal будет использовать make-файл в этой папке для сборки среды разработки Lazarus. Это может занять несколько минут, но процесс полностью автоматизирован. Поэтому, возможно, вы захотите поискать чашку кофе, пока FPC работает. Если компилятор готов, он выводит количество обработанных строк и требуемое время на вывод оболочки.
+
* macOS 10.5 и выше уже содержат git-клиент командной строки, если вы установили утилиты командной строки Xcode.
  
Последний шаг - щелкните правой кнопкой мыши значок пакета Lazarus и выберите "Show Package Contents"(Показать содержимое пакета) в контекстном меню. Затем перетащите исполняемый файл "lazarus" в папку "Contents/MacOS" комплекта. Вот и все.
+
* Вам также необходимо установить последнюю релизную версию компилятора Free Pascal (3.2.2 по состоянию на март 2022 г.), чтобы иметь возможность успешно скомпилировать разрабатываемую (trunk) версию.
  
= Информация, утратившая актуальность =
+
{{Note|При сборке нативного компилятора Free Pascal под aarch64 (ppca64) для процессора Apple Silicon M1 Mac '''измените CPU_TARGET''' в приведенных ниже инструкциях с x86_64 (64-разрядная версия Intel) на aarch64 (64-разрядная версия ARM — Apple Silicon M1) и '''измените любую ссылку''' с ppcx64 на ppca64}}
  
=== Установка gdb ===
+
==== FPC веросия для разработчиков ====
  
Начиная с версии Lazarus 2.0.0, это совершенно необязательно. IDE теперь поддерживает LLDB напрямую. См. [http://forum.lazarus-ide.org/index.php/topic,42869.0.html здесь] и [http://wiki.lazarus.freepascal.org/Lazarus_2.0.0_release_notes#LLDB_based_Debugger_.28New.29 здесь].
+
* [[FPC_New_Features_Trunk|Новые функции FPC trunk]]
 +
* [[User Changes Trunk|Изменения для ползователей FPC trunk]] - может сломать существующий код.
  
==== Часть I установки GDB: собственно, установка ====
+
Обратите внимание, что поскольку версия FPC для разработки (известная как "trunk" в SVN; теперь известная как <code>main</code> в GIT) по определению все еще находится в стадии разработки, некоторые функции могут измениться до того, как они попадут в релизную версию.
Запуск gdb может быть немного утомительным, но в конце концов стоит того, если используется Lazarus моложе v2.0, или имеются какие-то особые требования для gdb. У вас, возможно, нет!
 
  
Этот шаг следует выполнить после установки XCode и перед установкой FPC/Lazarus.
+
Создайте каталог, в который вы хотите поместить исходный код (например, fpc_main в вашем домашнем каталоге). Вам не нужно быть root, чтобы сделать это. Это может сделать любой нормальный пользователь. Откройте Applications > Utilities > Terminal и выполните следующие действия:
  
# Установите fink или brew и используйте их для [http://wiki.freepascal.org/GDB_on_OS_X_Mavericks_and_Xcode_5 установки gdb]
+
<syntaxhighlight lang=sh>
# Самостоятельно [https://sourceware.org/gdb/wiki/BuildingOnDarwin подпишите] двоичный файл gdb, используя инструменты, уже установленные на вашем Mac'е. Это утомительная часть. Инструкции понятны, за исключением того, что, возможно, они могли бы упомянуть [следующее]: после того, как вы установили связку ключей ’System’, вам нужно нажать ‘Create’(Создать) и ‘Done’(Готово) на следующем экране. Затем перейдите и найдите сертификат в вашем общем списке сертификатов, чтобы выполнить следующую инструкцию “using the contextual menu ”(с помощью контекстного меню). Не беспокойтесь о шаге “2.1.4 Disable starting the debuggee…”(Отключить запуск отладчика), мы обратимся к этому после установки и работы самого Lazarus.
+
[]$ git clone -b main https://gitlab.com/freepascal.org/fpc/source.git fpc_main
# Как только Lazarus будет установлен и запущен, укажите ему, как он должен запускать GDB, это шаг 5.
+
</syntaxhighlight>
  
{{Note|: по состоянию на апрель 2018 года могут [https://forum.lazarus.freepascal.org/index.php/topic,40874.0.html возникнуть проблемы] с новейшими GDB и High Sierra. Согласно [https://stackoverflow.com/questions/49001329/gdb-doesnt-work-on-macos-high-sierra-10-13-3 этому сообщению], на High Sierra GDB 8.1 не работает, но работает GDB 8.0.1}}
+
Это создаст каталог с именем <tt>fpc_main</tt> и загрузит в него основной исходный код FPC.
  
==== Часть II установки GDB: расскажите Lazarus о запуске GDB ====  
+
Чтобы впоследствии обновить локальный репозиторий исходного кода последними изменениями исходного кода, вы можете просто сделать:
 +
<syntaxhighlight lang=sh>
 +
[]$ cd
 +
[]$ cd fpc_main
 +
[]$ git clean -f -d
 +
[]$ git pull
 +
</syntaxhighlight>
  
Опять же, этот шаг не обязателен для Lazarus v2.0 и новее. См. подробности [http://wiki.lazarus.freepascal.org/Lazarus_2.0.0_release_notes#LLDB_based_Debugger_.28New.29 здесь]. Если вы устанавливаете (и используете) gdb, вы должны сообщить Lazarus о том, как вызывать gdb. Очевидно, что этот шаг происходит после установки Lazarus.
+
Чтобы собрать и установить FPC (выделенный текст должен быть на одной строке):
 
Хорошо, теперь у вас должна быть возможность запустить Lazarus, он должен отображать различные части и пути, которые ему нужны (включая gdb) на маленьком начальном экране. Там вы получите предупреждение, если решите не использовать отладчик. Перейдите к IDE, и теперь мы должны сказать Lazarus, чтобы gdb запретил открывать оболочку, [http://forum.lazarus.freepascal.org/index.php/topic,37310.0.html как отмечают] некоторые участники форума. В Lazarus выберите Tools(Сервис)->Options(Параметры)->Debugger(Отладчик)->General(Общее). В “Debugger specific Options”(Опции, специфичные для отладчика) есть поле, помеченное как Debugger_Startup_Options(Параметры запуска отладчика). Введите "--eval-command=set startup-with-shell off" (включая кавычки) и нажмите клавишу <Enter>, нажмите «ОК». Обратите внимание, что вы не можете скопировать и вставить в это поле (##$!). Смотрите скриншот.
 
  
[[Image:Debug_Startup_Options_01.png|700px|bottom]]
+
<syntaxhighlight lang=sh highlight=3>
 +
[]$ 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
 +
</syntaxhighlight>
  
=== Совместимость с XCode ===
+
Вам также потребуется обновить ссылки для компилятора в <tt>/usr/local/bin</tt>, которые будут указывать на предыдущую версию FPC. Например:
Информация о старых версиях FPC, Lazarus и Apple Developer Tools.
 
  
==== Совместимость с Xcode 5.0 и более новыми версиями (Mac OS X 10.8, 10.9, 10.10 и 10.11) ====
+
<syntaxhighlight lang=sh>
Как и Xcode 4.3+, Xcode 5 и последующие версии больше не устанавливают инструменты командной строки по умолчанию. Однако они требуются FPC/Lazarus. В отличие от Xcode 4, опция установки больше не доступна в Xcode 5 через вкладку Downloads. Кроме того, вкладка "Locations"(Местоположения) диалогового окна настроек может сбивать с толку, поскольку в ней упоминается, что установлены инструменты командной строки:
+
[]$ 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
 +
</syntaxhighlight>
  
[[Image:xcode5 misleading screenshot.png|500px|top|Default location of command line tools in Xcode 5.]]
+
Обратите внимание, что вам потребуется создать новый <code>ppc386</code> компилятор, если вы хотите продолжить компилировать 32-битные приложения, заменив эти строки (это невозможно после Xcode 11.3.1 и macOS 10.14.6 Mojave из-за удаления Apple'ом 32-битных фреймворков):
[[Image:xcode select.png|500px|top|Installation of command line tools with the xcode-select command part 1...]]
 
[[Image:command line tools installation on mavericks.png|500px|top|...and part 2.]]
 
  
Первое диалоговое окно показывает, что по умолчанию инструменты командной строки устанавливаются только внутри самого пакета Xcode.app. Чтобы установить их глобально, как того требует FPC/Lazarus, выполните в терминале следующую команду:
+
<syntaxhighlight lang=sh>
<syntaxhighlight lang="bash">
+
[]$ 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/"
xcode-select --install
+
[]$ sudo make install FPC=$PWD/compiler/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64
 
</syntaxhighlight>
 
</syntaxhighlight>
  
В зависимости от вашей версии XCode альтернативные шаги для установки инструментов разработчика командной строки могут заключаться в том, чтобы загрузить их непосредственно в окне настроек XCode (см. Скриншоты выше) или загрузить их с [http://developer.apple.com developer.apple.com с сайта Apple](пожалуйста, позаботьтесь об установке инструментов командной строки, которые точно соответствуют вашей версии XCode).
+
с этими двумя строками:
  
* Вы можете скомпилировать и установить обычный GDB. См. [[GDB on OS X Mavericks and Xcode 5]].
+
<syntaxhighlight lang=sh>
 +
[]$ 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
 +
</syntaxhighlight>
  
==== Совместимость с Xcode 4.3+ (Mac OS X 10.7/10.8) ====
+
==== FPC Fixes 3.2 ====
Xcode 4.3 и более поздние версии больше не устанавливают инструменты командной строки по умолчанию. А это требуется FPC/Lazarus.
 
  
Чтобы установить их вручную, откройте Xcode, перейдите в Preferences(Настройки), выберите "Downloads"(Загрузки) и установите "Command Line Tools"(Инструменты командной строки). После этого FPC установится и будет работать правильно.
+
Создайте каталог, в который вы хотите поместить исходный код (например, <tt>fpc_fixes32</tt> в вашем домашнем каталоге). Вам не нужно быть root, чтобы сделать это. Это может сделать любой нормальный пользователь. Откройте Applications > Utilities > Terminal и выполните следующие действия:
  
[[Image:install command line tools 1.png|500px|top]]
+
<syntaxhighlight lang=sh>
[[Image:install command line tools 2.png|500px|top]]
+
[]$ git clone -b fixes_3_2 https://gitlab.com/freepascal.org/fpc/source.git fpc_fixes32
[[Image:install command line tools 3.png|500px|top]]
+
</syntaxhighlight>
  
Необходимо будет переустанавливать инструменты командной строки после каждого обновления XCode (особенно, когда это - новая основная версия, установщик может удалить старые копии инструментов командной строки), а также после переключения на новое  программное обеспечение системы (то же самое). Вы также можете загрузить инструменты командной строки с [https://developer.apple.com/download/more/?=command%20line%20tools Apple Developer].
+
Это создаст каталог с именем <tt>fpc_fixes32</tt> и загрузит в него исходный код FPC.
  
==== Совместимость с Xcode 3.2.x (Mac OS X 10.6) ====
+
Чтобы впоследствии обновить локальную копию исходного кода репозитория последними изменениями исходного кода, вы можете просто сделать:
FPC 2.6.0: существует проблема при компиляции динамических библиотек с FPC под Mac OS X 10.6 из-за ошибки в компоновщике Xcode 3.2.x. Эта ошибка была исправлена в Xcode 4. Вы можете обойти эту ошибку в Xcode 3.2.x, используя параметр командной строки -k-no_order_inits при компиляции динамической библиотеки.
 
  
==== Совместимость с Xcode 3.1.x (Mac OS X 10.5) ====
+
<syntaxhighlight lang=sh>
Большинство версий Lazarus и FPC совместимы с Xcode 3.1 (см. таблицу [[Installing_Lazarus_on_MacOS_X/ru#.D0.A1.D0.BE.D0.B2.D0.BC.D0.B5.D1.81.D1.82.D0.B8.D0.BC.D0.BE.D1.81.D1.82.D1.8C| Совместимость]] для более подробной информации). Интеграционный комплект XCode предоставляется в качестве дополнительной установки, позволяющей разрабатывать с помощью Free Pascal непосредственно из XCode. Однако этого не требуется для разработки на Lazarus.
+
[]$ cd fpc_fixes32
 +
[]$ git clean -f -d
 +
[]$ git pull
 +
</syntaxhighlight>
  
==== Совместимость с Xcode 2.x (Mac OS X 10.4) ====
+
Чтобы собрать и установить FPC (выделенный текст должен быть на одной строке):
Большинство версий Lazarus и FPC совместимы с Xcode 2.3 или новее (см. [[Installing_Lazarus_on_MacOS_X/ru#.D0.A1.D0.BE.D0.B2.D0.BC.D0.B5.D1.81.D1.82.D0.B8.D0.BC.D0.BE.D1.81.D1.82.D1.8C| совместимость]] для более подробной информации). Интеграционный комплект XCode предоставляется в качестве дополнительной установки, позволяющей разрабатывать с помощью Free Pascal непосредственно из XCode. Однако он не требуется для разработки на Lazarus. Xcode 2.0 был совместим с Lazarus 0.9.x, но больше не поддерживается новыми версиями Lazarus IDE.
 
  
== Установка пакетов / релиз-версий ==
+
<syntaxhighlight lang=sh highlight=3>
 +
[]$ 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
 +
</syntaxhighlight>
  
=== Установка из образов дисков ===
+
Вам также потребуется обновить ссылки для компилятора в <tt>/usr/local/bin</tt>, которые будут указывать на предыдущую версию FPC. Например:
  
Загрузите три образа диска (файлы .dmg) для fpc, fpcsrc и lazarus по одной из следующих ссылок:
+
<syntaxhighlight lang=sh>
 +
[]$ 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
 +
</syntaxhighlight>
  
* [http://sourceforge.net/projects/lazarus/files/Lazarus%20Mac%20OS%20X%20i386/ Intel-based Macs]
+
Обратите внимание, что вам потребуется создать новый <code>ppc386</code> компилятор, если вы хотите продолжить компилировать 32-битные приложения, заменив эти строки (это невозможно после Xcode 11.3.1 и macOS 10.14.6 Mojave из-за удаления Apple'ом 32-битных фреймворков):
* [http://sourceforge.net/projects/lazarus/files/Lazarus%20Mac%20OS%20X%20powerpc/ PowerPC-based Macs]
 
  
Откройте каждый образ диска и установите его в следующем порядке:
+
<syntaxhighlight lang=sh>
# fpc
+
[]$ 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/"
# fpcsrc
+
[]$ sudo make install FPC=$PWD/compiler/ppc386 OS_TARGET=darwin CPU_TARGET=i386
# Lazarus
+
</syntaxhighlight>
  
После установки приложение Lazarus можно найти в /Developer/lazarus/, исходные файлы FPC в /usr/local/share/fpcsrc.
+
== Известные проблемы и решения ==
  
Если при попытке скомпилировать пустую форму появляется сообщение об ошибке "Can't find unit Interfaces used by Project1"(Не удается найти интерфейс устройства, используемый Project1), проверьте следующие параметры в Lazarus (должны быть установлены по умолчанию):
+
=== Lazarus IDE v2.2.0 - проблема пересборки ===
  
Environment Options
+
<div class="mw-collapsible mw-collapsed">
  Lazarus directory: /Developer/lazarus
 
  Compiler path: /usr/local/bin/ppc386 (PowerPC Macs: /usr/local/bin/ppcppc)
 
  FPC Source: /usr/local/share/fpcsrc
 
  
Project | Options
+
Любая попытка пересобрать IDE Lazarus из самой себя завершается ошибкой с правами доступа, поскольку файлы и каталоги принадлежат пользователю с идентификатором 503, в то время как большинство пользователей обнаружат, что их идентификатор равен 501. Решение состоит в том, чтобы открыть Applications > Utilities> Terminal и:
  All paths blank
 
  LCL Widget Type: default (Carbon beta)
 
  
Project | Inspector
+
<div class="mw-collapsible-content">
  Required Packages
+
cd /Applications
      LCL
+
  sudo chown -R your_username Lazarus
   
 
{{Note|Различные версии Lazarus зависят от конкретных версий компилятора FreePascal и не будут работать с другими версиями.}}
 
  
Другая распространенная проблема заключается в том, что могут отличаться версии fpc и fpcsrc.
+
==== Следующие ошибки пересборки не возникают на компьютерах Intel ====
  
Это самый простой способ установить Lazarus на Mac OS X.
+
Следующая ошибка заключается в том, что компилятор ресурсов «fpcres» может быть не найден. Решение состоит в том, чтобы создать файл <tt>.fpc.cfg</tt> (обратите внимание на начальную точку) в вашем домашнем каталоге и добавить в него следующие строки:
  
== Установка из исходников / Девелоперские версии ==
+
#include /etc/fpc.cfg
 +
-FD/usr/local/bin
  
Вам нужна версия последнего стабильного релиза FPC, чтобы скомпилировать версию для разработки.
+
чтобы "fpcres" можно было найти там, где он был установлен.
  
=== Загрузка и установка компилятора ===
+
Следующая ошибка указывает на неподдерживаемую целевую архитектуру <tt>-Paarch64</tt> с советом вместо этого вызвать драйвер компилятора "fpc", не взирая на то, что мы уже делаем. Решение состоит в том, чтобы перейти в Lazarus > Preferences > Compiler к исполняемому файлу компилятора, для которого установлено значение <tt>/usr/local/bin/fpc</tt>, и изменить его на <tt>/usr/local/lib/fpc/3.2.2/ppca64</tt>.
  
Загрузите и установите [https://sourceforge.net/project/showfiles.php?group_id=89339 пакеты FPC].
+
Теперь среда IDE будет успешно пересобрана, но не перезапустится автоматически. Попытка затем запустить Lazarus с помощью значка<tt>startlazarus.app</tt>  или значка <tt>lazarus.app</tt> в  <tt>/Applications/Lazarus</tt> по-прежнему будет приводить к запуску исходного двоичного файла Intel lazarus. Правильный бинарный файл aarch64 можно найти в <tt>~/.lazarus/bin/aarch64-darwin/lazarus</tt>. Таким образом, окончательное решение — открыть Application > Utilities > Terminal и:
  
Существует две версии компилятора для разработки: 2.6.x - стабильная версия без новых функций - только исправления ошибок. Нестабильная версия 2.7.x поставляется с множеством новых функций, но иногда и с ошибками. Лучше всего скачать и установить fpc 2.6.x. Некоторые ежедневные снапшоты можно найти [http://snapshots.lazarus.shikami.org/lazarus/ здесь]. Имейте в виду, что это - снапшоты, и вам может не повезти, и вы получите версию с ошибками. Вероятность около 1:30. Поэтому, если версия содержит ошибку, попробуйте [скачать снапшот в] другой день или используйте релизные пакеты.
+
mv /Applications/Lazarus/lazarus /Applications/Lazarus/lazarus.old
 +
mv  ~/.lazarus/bin/aarch64-darwin/lazarus /Applications/Lazarus/
  
= Деинсталляция Lazarus и Free Pascal =
+
Затем вы можете запустить IDE с помощью значков <tt>startLazarus.app</tt> или <tt>lazarus.app</tt>. Когда вы перезапустите lazarus, стоит вернуться в Lazarus > Preferences > Compiler к исполняемому файлу компилятора, для которого установлено значение <tt>/usr/local/lib/fpc/3.2.2/ppca64</tt>, и изменить его обратно на <tt>/usr/local/bin/fpc</tt>, чтобы вы могли скомпилировать двоичные файлы как для aarch64, так и для Intel, чтобы, например, создать [[macOS_Big_Sur_changes_for_developers#Creating_a_universal_binary_for_aarch64_and_x86_64|Universal Binary]], который будет работать как на машинах Intel, так и на машинах aarch64.
 +
</div></div>
  
== Удаление с использованием fink ==
+
=== Lazarus IDE - Unable to "run without debugging" ===
  
Полная деинсталляция всех пакетов fpc и lazarus выполняется с помощью:
+
<div class="mw-collapsible mw-collapsed">
  
<syntaxhighlight lang="bash">
+
Если вы используете Lazarus IDE 2.0.10 и пункт меню «Выполнить > Запустить без отладки» не работает с диалоговым окном, подобным:
fink purge --recursive fpc-config
 
</syntaxhighlight>
 
  
Если вы хотите сохранить изменения в файле настроек /sw/etc/fpc.cfg, выполните:
+
<div class="mw-collapsible-content">
  
<syntaxhighlight lang="bash">
+
[[file:run_dialog_fail.png|350px]]
fink remove --recursive fpc-config
 
</syntaxhighlight>
 
  
Для удаления папки настроек Lazarus и файлов в вашем домашнем каталоге, смотрите ниже ([[https://wiki.lazarus.freepascal.org/Installing_Lazarus_on_macOS/ru#.D0.9F.D0.B0.D0.BF.D0.BA.D0.B0_.D0.BD.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B5.D0.BA_Lazarus_.lazarus_.D0.B2_.D0.B4.D0.BE.D0.BC.D0.B0.D1.88.D0.BD.D0.B5.D0.BC_.D0.BA.D0.B0.D1.82.D0.B0.D0.BB.D0.BE.D0.B3.D0.B5|Папка настроек Lazarus .lazarus в домашнем каталоге]]).
+
затем вам необходимо исправить исходный код Lazarus 2.0.10 ({{MantisLink|37324}} и {{MantisLink|36780}}). В частности, исправьте <tt>../ide/main.pp</tt>, как показано ниже (неисправленные строки показаны первыми, исправленные строки показаны вторыми):
  
== Удаление из образов дисков или исходников ==
+
  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
  
Обычно вы удаляете приложение в OS X, просто перетаскивая его из папки Applications(Программы) в корзину. Но поскольку Lazarus и Free Pascal являются инструментами разработки, они устанавливаются в несколько папок, которые вы обычно не видите в Finder.
+
и перекомпилируйте Lazarus IDE.  
  
Вы можете скопировать и сохранить приведенные ниже команды в файл uninstallLaz.sh и запустить его, если вам нужно удалить Lazarus и Free Pascal. Обычно вы можете устанавливать более новые версии Lazarus и Free Pascal поверх более старых версий, но, как и в большинстве программ, неплохо было бы очистить все перед установкой новой версии. Этот список команд также должен дать вам представление о том, где находятся различные части Lazarus и Free Pascal.
+
Кроме того, вы можете не исправлять исходный код и просто перекомпилировать Lazarus 2.0.10 с FPC 3.0.4.
  
<syntaxhighlight lang="bash">
+
Аналогичные действия по исправлению и перекомпиляции или просто перекомпиляции с FPC 3.0.4 необходимо выполнить для Lazarus 2.0.8, если он был скомпилирован с FPC 3.2.0.
bin=/usr/local/bin
+
</div></div>
share=/usr/local/share
 
lib=/usr/local/lib
 
receipts=/Library/Receipts
 
private=/private/etc
 
  
rm -fv $bin/ppcppc
+
=== Обновление с Mojave (10.14) до Catalina (10.15) ===
rm -fv $bin/ppc386
 
rm -fv $bin/bin2obj
 
rm -fv $bin/data2inc
 
rm -fv $bin/delp
 
rm -fv $bin/fd2pascal
 
rm -fv $bin/fpc
 
rm -fv $bin/fpcmake
 
rm -fv $bin/fpcmkcfg
 
rm -fv $bin/fpcsubst
 
rm -fv $bin/fpdoc
 
rm -fv $bin/fprcp
 
rm -fv $bin/h2pas
 
rm -fv $bin/h2paspp
 
rm -fv $bin/makeskel
 
rm -fv $bin/mkxmlrpc
 
rm -fv $bin/plex
 
rm -fv $bin/postw32
 
rm -fv $bin/ppdep
 
rm -fv $bin/ppudump
 
rm -fv $bin/ppufiles
 
rm -fv $bin/ppumove
 
rm -fv $bin/ptop
 
rm -fv $bin/pyacc
 
rm -fv $bin/rstconv
 
rm -fv $bin/unitdiff
 
rm -r $private/lazarus
 
rm -r $bin/lazarus
 
rm -r $share/lazarus
 
rm -r $share/fpcsrc
 
rm -r $share/doc/fpc-2.2.2
 
rm -r $share/examples/fpc-2.2.2
 
  
rm -r $lib/fpc
+
<div class="mw-collapsible mw-collapsed">
  
rm -r $receipts/lazarus-*.pkg
+
* Выполните <code>sudo xcode-select --install</code>
rm -r $receipts/fpcsrc-*.pkg
 
rm -r $receipts/fpc-*.pkg
 
  
rm -fv /etc/fpc.cfg
+
<div class="mw-collapsible-content">
</syntaxhighlight>
 
  
{{Note| это предполагает, что у вас установлена версия 2.2.2 Free Pascal. Если у вас другая версия, измените две соответствующие команды, чтобы указать свою версию.}}
+
* Чтобы Lazarus мог найти файл <tt>crt1.10.5.o</tt>, измените в <tt>/etc/fpc.cfg</tt> -Fl после '#ifdef cpux86_64' с
 +
-Fl/Applications/Xcode.app/Contents/Developer/Toolchain...
 +
на
 +
-Fl/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/
 +
</div></div>
  
Чтобы запустить этот скрипт, перейдите в каталог, где он хранится, и введите:
+
=== Сборка компилятора FPC, начиная с Mojave (10.14) и далее ===
  
<syntaxhighlight lang="bash">
+
<div class="mw-collapsible mw-collapsed">
chmod +x uninstallLaz.sh
 
sudo ./uninstallLaz.sh
 
</syntaxhighlight>
 
  
Затем введите свой пароль, когда будет запрошено.
+
* Чтобы найти файл crt1.10.5.o при сборке более поздней версии Free Pascal Compiler из исходного кода, необходимо указать:
  
=== Папка настроек Lazarus .lazarus в домашнем каталоге ===
+
<div class="mw-collapsible-content">
  
{{Note|Lazarus также создает папку .lazarus в вашем домашнем каталоге, где хранятся настройки среды и список недавно открытых проектов и файлов. Вы можете оставить эту папку в покое, если хотите, чтобы новая версия Lazarus, которую вы устанавливаете, использовала ваши старые настройки. MacOS обычно не показывает файлы или папки, имена которых начинаются с точки (.)}}.  
+
  OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"
  
Чтобы увидеть эту папку и ее содержимое, введите в окне терминала следующее:
+
в командной строке make, потому что FPC игнорирует файл конфигурации <tt>/etc/fpc.cfg</tt> во время сборки.
 +
</div></div>
  
<syntaxhighlight lang="bash">
+
=== ЧаВо по установке на Mac ===
cd ~/
 
ls -al
 
cd .lazarus
 
ls
 
</syntaxhighlight>
 
  
Чтобы удалить ее, выполните следующие команды:
+
* См. [[Mac Installation FAQ]], чтобы узнать о решениях других распространенных проблем, которые могут возникнуть во время (и после) установки Lazarus и Free Pascal на macOS.
  
<syntaxhighlight lang="bash">
+
== Деинсталляция Lazarus и Free Pascal ==
cd ~/
 
rm -rv .lazarus
 
</syntaxhighlight>
 
  
= Известные проблемы =
+
Обратитесь к [[Uninstalling Lazarus on macOS|Удаление Lazarus в macOS]] для получения информации о вариантах удаления.
  
*FPC 2.4.4 имеет ошибку. Вы не можете скомпилировать IDE с флагом проверки диапазона '''-Cr'''.
+
== Устаревшая информация ==
* В OS X 10.4 вы должны вручную удалить любую предыдущую версию перед установкой нового dmg. Удалите следующие файлы и папки:
 
**/Developer/lazarus
 
**/Library/Receipts/lazarus.pkg
 
**/etc/lazarus
 
**/usr/local/bin/lazbuild
 
  
= См. также =
+
See [[Legacy Information: Installing Lazarus on Mac|Legacy Information]] for details of:
  
* [[Mac Installation FAQ]]
+
* Installing Lazarus on Mac OS X 10.4 (Tiger), Mac OS X 10.5 (Leopard), OS X 10.8 (Mountain Lion)
 +
* Installing Lazarus 2.0.8, 2.0.10 with FPC 3.2.0 for macOS 10.10 and earlier
 +
* Installing Lazarus 2.0.8 with FPC 3.2.0 for macOS 10.11+
 +
* Installing Lazarus on PowerPC-based Macs
 +
* Old Xcode versions
 +
* Installing the gdb debugger
 +
* Compatibility matrix for Lazarus 1.0.0 through 1.6.4 and FPC 2.6.0 through 3.0.2.
  
==Другие интерфейсы==
+
= См. также =
{{Interfaces}}
 
  
===Платформозависимые советы===
+
* [[Xcode]].
*[[macOS Programming Tips]] - Установка Lazarus, полезные инструменты, команды Unix и многое другое ...
+
* [[Other macOS installation options]].
*[[WinCE Programming Tips]] - Использование телефонного API, отправка SMS-сообщений и многое другое ...
+
* [[Multiple Lazarus|Installing multiple Lazarus versions]].
*[[Windows Programming Tips]] - Советы по программированию настольных приложений Windows.
+
* [[Portal:Mac|Mac Portal]] for an overview of development for macOS with Lazarus and Free Pascal.
 +
* [[Mac Installation FAQ]] for solutions to the most frequent problems that may arise during (and after) installation of Lazarus and Free Pascal on macOS.
  
===Mac How в статьях===
+
= Внешние ссылки =
* [https://www.macforbeginners.com/articles/ Mac How] - Если у вас возникли проблемы в решении некоторых серьезных проблем ([[User:Zoltanleo|прим.перев.]]: поправил ссылку на похожую, поскольку в оригинальной статье ссылка заблокирована спам-фильтром и ведет на левый сайт).
 
  
===Статьи по разработке интерфейсов===
+
* [https://sourceforge.net/projects/macos-lazarus-snapshots/files/intel/ Lazarus daily development version download] (Intel x86_64)
*[[Carbon interface internals]] - Если вы хотите помочь улучшить интерфейс Carbon
+
* [https://sourceforge.net/projects/macos-lazarus-snapshots/files/arm64/ Lazarus + FPC daily development version downloads] (M1, ARM64, aarch64)
*[[Windows CE Development Notes]] - Для карманных ПК и смартфонов
+
* [https://www.syncfusion.com/succinctly-free-ebooks/git GIT Succinctly] - Free Ebook (PDF, MOBI, EPUB) from SyncFusion.
*[[Adding a new interface]] - Как добавить новый интерфейс набора виджетов
+
* [https://mac.install.guide/commandlinetools/6.html Uninstall Xcode Command Line Tools]
*[[LCL Defines]] - Выбор правильных опций для перекомпиляции LCL
+
* [https://mac.install.guide/commandlinetools/7.html Reinstall Xcode Command Line Tools]
*[[LCL Internals]] - Некоторая информация о внутренней работе LCL
 

Latest revision as of 08:10, 26 July 2022

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

macOSlogo.png

Эта статья относится только к macOS.

См. также: Multiplatform Programming Guide


Установка Lazarus на Mac не особенно сложна, но очень важно выполнить установку в правильном порядке. Пропуск шагов почти наверняка приведет к плачу Ярославны. Вкратце, вот что вы должны сделать -

  1. Загрузить и установить Xcode.
  2. Установить глобальные инструменты командной строки для Xcode.
  3. Установить Free Pascal Compiler и исходники FPC
  4. Установить Lazarus
  5. Настроить LLDB - поставляемый (и подписанный) Apple отладчик от Lazarus.
Light bulb  Примечание: если вы устанавливаете версии Lazarus до 2.0.0, вам почти наверняка понадобится gdb, см. раздел Legacy.


Установка

В подробных инструкциях предполагается, что на вашем Mac установлена последняя версия macOS, последняя версия Xcode от Apple и последняя версия Lazarus. Внизу страницы, под устаревшей документацией, вы увидите более старую информацию, которая может иметь значение, если вы используете старые компоненты. Вы можете помочь, заменив устаревшую информацию, либо удалив ее, либо, если это может помочь кому-то, работающему с унаследованным проектом, переместить ее в конец страницы.

В общем, речь идет об использовании набора виджетов Carbon и Cocoa. Хотя Carbon все еще можно считать немного более стабильным, на момент выпуска 2.0.0 64-битное Cocoa очень близко [к стабильному] и, безусловно, его следует учитывать. Carbon намеренно (Apple) ограничен 32 битами, и мы знаем, что следующая версия MacOSX, вероятно, не будет его поддерживать.

Шаг 1. Загрузка Xcode (необязательно).

Xcode — это загрузка 12ГБ архива, которая займет после распаковки 16ГБ дискового пространства. Имеет смысл заружать и устанавливать полную среду разработки Xcode, только если вам нужны:

  • SDK для iOS, iPadOS, watchOS и tvOS; или
  • для проверки и загрузки приложений в Mac App Store; или
  • нотариально заверять приложения для распространения за пределами Mac App Store.

Xcode 11.3.1 для использования в macOS 10.14 Mojave теперь необходимо устанавливать, загрузив его из Apple Developer Connection (ADC), для чего требуется бесплатная регистрация. Xcode 12.4.x для использования в macOS 10.15 Catalina и более поздних версиях можно установить из магазина приложений Mac App store. Обратите внимание, что вы должны сначала переместить все старые версии Xcode из папки «Приложения» в корзину или переименовать приложение Xcode (например, Xcode.app в Xcode_1014.app). Затем вы можете выбрать, какую версию Xcode использовать с помощью утилиты командной строки xcode-select. Откройте Applications > Utilities > Terminal (Приложения > Инструменты > Терминал) и введите man xcode-select для показа страниц руководства по этой утилите.

Старые системы:

Инструменты разработчика Xcode можно установить с исходных установочных дисков macOS или более новой копии, загруженной из Apple Developer Connection (ADC), для чего требуется бесплатная регистрация. Загрузите файл Xcode, он окажется в вашем каталоге загрузок в виде zip-файла. Нажмите на нее. Он разархивируется в каталог Downloads(Загрузки). Вам может повезти, а может быть и нет. Другие пользователи увидят путь к нему, но не смогут его использовать. А это - непорядок. Чтобы исправить это недоразумение, я переместил свой, а затем указал xcode-select, куда он был перемещен (в терминале) -

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

Шаг 2. Инструменты командной строки Xcode

Это раздел показан как отдельный шаг, потому что это действительно отдельный шаг. Не путайте эти автономные инструменты командной строки с внутренними инструментами командной строки Xcode, о которых графический интерфейс Xcode сообщит вам, что они уже установлены, если вы установили полный пакет Xcode на шаге 1. FPC не может использовать эти внутренние инструменты командной строки Xcode без изменений конфигурации ( подробности см. в Xcode).

Сделайте следующее, это быстро и легко для всех версий macOS до Catalina 10.15 включительно:

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


Для Big Sur 11.x и более поздних версий вам нужно ввести только первую из двух приведенных выше команд, если вы также не установили полный пакет Xcode. Если вы установили только инструменты командной строки, вам не следует вводить команду xcodebuild.

Если у вас возникли проблемы с установкой инструментов командной строки с использованием этого метода командной строки (например, программа установки зависает при «поиске программного обеспечения»), вы также можете загрузить и установить пакет инструментов командной строки, зайдя на Apple Developer Site и загрузив и установив образ диска Command Line Tools for Xcode.

Шаг 3 Бинарные файлы FPC и исходный код FPC

Light bulb  Примечание: Для установки Apple Silicon/AArch64/M1, если вы устанавливаете FPC 3.2.2 (Lazarus 2.2RCx или 2.2.0 или более поздние версии), вам не нужно компилировать собственную версию FPC для Apple Silicon, поскольку FPC 3.2.2 для macOS универсальный двоичный файл, содержащий исполняемые файлы Intel и aarch64. Если вы устанавливаете более раннюю, чем 3.2.2, версию FPC, обратитесь к этим инструкциям для создания собственного компилятора Apple Silicon Free Pascal после установки 64-разрядного двоичного файла Intel и исходных пакетов для FPC.

Загрузите и установите официальный пакет двоичных файлов FPC и отдельный пакет исходного кода FPC из области файлов Lazarus IDE.

Когда вы доберетесь до области файлов Lazarus IDE:

  1. Выберите правильную версию вашей операционной системы. Подавляющее большинство пользователей Mac теперь должны выбирать 64-битные пакеты в каталоге Lazarus macOS x86-64. Каждый компьютер Mac с конца 2006 года поддерживает 64-разрядную версию. Тот факт, что Apple полностью отказалась от 32-битной поддержки в macOS 10.15 Catalina (выпущенной в октябре 2019 года), является еще одной причиной для выбора 64-битных пакетов.
  2. Выберите версию Lazarus, которую вы хотите установить, и вам будут представлены два бинарных и исходных пакета FPC для загрузки.

Эти установочные пакеты создаются разработчиками FPC/Lazarus и отслеживают официальные выпуски. Поскольку эти установочные пакеты не одобрены Apple, вам нужно, удерживая нажатой клавишу Control, щелкнуть пакет, выбрать «Открыть» и подтвердить, что вы хотите установить его от неизвестного разработчика (Unknown Developer).

На этом этапе вы можете попробовать простой и быстрый тест FPC — Тестирование установки FPC.

Установка Lazarus

Крайне важно, чтобы совместимый компилятор Free Pascal (FPC) и его исходный код был установлен перед установкой Lazarus IDE.

Light bulb  Примечание: Для установки на Apple Silicon/AArch64 обратитесь к инструкциям Lazarus Fixes 2.2 или Lazarus development, чтобы создать собственную IDE Lazarus. Перейдите к инструкциям по сборке и используйте загрузку исходного кода Lazarus Fixes 2.2/Lazarus development по своему усмотрению.

Загрузите и установите Lazarus IDE из области файлов Lazarus IDE. Когда вы доберетесь до этой области файлов, выберите правильную версию вашей операционной системы. Подавляющее большинство пользователей Mac теперь должны выбирать 64-битные пакеты в каталоге Lazarus macOS x86-64. Каждый компьютер Mac с конца 2006 года поддерживает 64-разрядную версию. Тот факт, что Apple полностью отказалась от 32-битной поддержки в macOS 10.15 Catalina (выпущенной в октябре 2019 года), является еще одной причиной для выбора 64-битных пакетов.

Настройка отладчика

В версиях Lazarus 1.8.4 и более ранних версиях вам нужно было использовать gdb в качестве отладчика, медленно устанавливать и тяжело подписывать. Начиная с Lazarus 2.0.0 вы можете (и должны) использовать LLDB, отладчик, предоставляемый Apple, подпись [для которого] не требуется.

Предполагая, что вы установили все необходимое и запустили Lazarus, остается только настроить отладчик. Если вы не сделаете этого сейчас, Lazarus попытается использовать GDB и потерпит неудачу.

Сначала нажмите Tools(Инструменты)->Options(Параметры)->Debugger(Отладчик). В правом верхнем углу открытого окна есть надпись "Debugger type and path"(Тип и путь отладчика), вы должны задать оба [значения]. Выберите "LLDB debugger (with fpdebug) (Beta)"(Отладчик LLDB (с помощью fpdebug) (Beta)).

Set Debugger2.png

Если его нет в списке выбора, см. ниже (Установка LazDebuggerFpLLdb). Обратите внимание, что изображение выше имеет путь к LLDB, который может отличаться от вашего, в зависимости от того, где были установлены инструменты XCode, в моем случае /Library. Сохраните эти настройки, и теперь вы можете попытаться скомпилировать практически пустую программу, которую Lazarus любезно предоставил для вас (щелкните маленький зеленый треугольник в верхнем левом углу).

Далее вы видите загадочный вопрос, см. изображение ниже. Выберите "Debug Format"(формат отладки) из предложенных -

Set Dwarf.png

Martin_fr (человек, который дал нам этот интерфейс между Lazarus и LLDB) предлагает вам использовать "dwarf3". Затем вам нужно ввести свой пароль: MacOSX хитроумна, потому что одно приложение мешает другому. В этом случае это хорошо!

Дополнительная информация по использованию LLDB

В этой ветке форума появляется много информации об использовании LLDB. Вот еще несколько самоцветов от Martin_fr:

В случае непредвиденных проблем стоит попробовать "dwarf with sets" взамен используемому "dwarf3".

Параметр "debug info" влияет только на модули непосредственно в вашем проекте. Однако модули в пакетах также могут иметь отладочную информацию. Это может быть

  • установка в пакете
  • для многих, но не для всех пакетов в меню Tools(Сервис) > Configure build Lazarus(Настройка сборки Lazarus)
  • project settings (настройки проекта) > Дополнения и переопределения

Если вы измените настройки для пакета, вы также можете проверить, в какой пакет вы планируете перейти. Пакет, в который вы не входите, не требует отладочной информации. Если вы используете тип из пакета (такой, как TForm из LCL), то достаточно, чтобы ваш модуль (в котором вы объявляли переменную и(или) использовали переменную для включения типа) имел отладочную информацию. Уменьшение количества пакетов с отладочной информацией (в том числе тех, которые по умолчанию имеют отладочную информацию) может сократить время запуска отладчиков.

Также, возможно, стоит сравнить (не проверено) время запуска отладчиков для тех же настроек, только изменив флажок "use external debug info" (использовать внешнюю информацию отладки).

Это должно быть установлено только в вашем проекте. Если установлен в вашем проекте, это повлияет на все пакеты. (Если он установлен в пакете, он ничего не сделает/по крайней мере, не должен ...)

Установка LazDebuggerFpLLdb

Если вы установились из исходного кода и [при этом] использовали параметр bigide [утилиты make], то правильный отладчик будет установлен, как пакет, и [сразу будет] готов к работе. Однако, если вы установили другим способом, [отладчика] там может и не оказаться. На главном экране IDE выберите Packages(Пакеты) -> Install/Uninstall Packages (Установить/удалить пакеты). Show - это два списка пакетов, слева - список уже установленных, справа - доступных для установки. Ищите LazDebuggerFpLldb (именно его, есть некоторые схожие названия, но менее подходящие пакеты). Если он справа, щелкните его, нажмите "Install Selection" (Установить выделенное), а затем "Save and rebuild IDE" (Сохранить и пересобрать IDE). Это займет немного времени, IDE выключится и перезапустится, и все должно быть хорошо. Теперь вернитесь на страницу и продолжите настройку отладчика.

Cocoa 64-бит в сравнении с Carbon 32-бит

Использование 64-битной платформы Cocoa от Apple теперь, несомненно, является будущим для Mac. 32-разрядная платформа Apple Carbon, хотя больше не разрабатывается, но работает почти так же, как и ожидалось. Однако мы бы порекомендовали сначала попробовать Cocoa, поскольку Apple прекратила поддержку 32-разрядных приложений и 32-разрядной платформы Carbon в macOS 10.15 Catalina (октябрь 2019 г.) .

Можно собрать Cocoa-версию Lazarus IDE, начиная с версии 2.0.0 и выше. Также можно собрать Carbon-версию Lazarus IDE (если вы не используете macOS 10.15 Catalina или более позднюю версию) и использовать ее для создания 64-битных двоичных файлов Cocoa.

Чтобы создавать приложения Cocoa в Carbon или Cocoa IDE, вам необходимо установить Target для 64-битного процессора и выбрать набор виджетов Cocoa:

  • Откройте свой проект с помощью Lazarus и в меню выберите Project > Project Options.
  • На панели "Config and Target" (Конфигурация и цель) установите для "Target CPU family"(Целевое семейство ЦП) значение "x86_64" (Intel) или "aarch64" (Apple M1).
  • На панели "Config and Target" (Конфигурация и цель), если "Current LCL widgetset"(Текущий набор виджетов LCL) не установлен для Cocoa, нажмите "Select another LCL widgetset" (Выбрать другой набор виджетов LCL), который перенесет вас на панель "Additions and Overrides" (Дополнения и перекрытия), где вы можете нажать выпадающее меню "Set LCLWidgetType"(Присвоить "LCLWidgetType") и установите значение "Cocoa"
  • Убедитесь, что в разделе Tools (Сервис) > Options(Настройки) (> Preferences (Параметры) для Lazarus в версии 2.2.0 и более поздних версиях) для параметра "Compiler Executable" (Исполнимый файл компилятора) установлено значение «/usr/local/bin/fpc», чтобы получить 64-разрядные приложения.
  • Теперь скомпилируйте свой проект и, пожалуйста, сообщите о любых проблемах, с которыми вы столкнулись.

Матрица совместимости FPC + Lazarus

Не всякая комбинация [версий] Lazarus и Free Pascal совместима с любой установкой macOS. Пожалуйста, обратитесь к следующей таблице, чтобы найти правильную версию для вашей среды разработки:

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.

Установка невыпущенных версий Lazarus IDE

Прим.перев: настоятельно советую для НЕрелизных сборок компилятора и Лазаруса использовать fpcupdeluxe

Lazarus Fixes 2.2

Есть ряд причин, по которым вам может быть лучше использовать нерелизную версию Lazarus, в частности, fixes_2_2. Особенно:

  • Вам почти наверняка нужно ориентироваться на 64-битный Cocoa, macOS 10.15 Catalina и более поздние версии вообще не поддерживают 32-битный Carbon.
  • Набор виджетов Cocoa постоянно улучшался, а интерфейс отладчика lldb быстро улучшался, начиная с версии 2.0.0.
  • Если на вашем Mac установлен процессор Apple M1, отладчик в fixes_2_2 теперь работает для aarch64.
  • Fixes_2_2 — более безопасный и стабильный вариант, чем ветка разработки, но все равно получает новые функции намного быстрее, чем релизная версия.

Предварительно скомпилированные двоичные файлы на основе fixes_2_2 недоступны в SourceForge, поэтому мы загружаем и собираем их из исходного кода. Сначала немного медленный, но очень надежный и отличный тест установки вашего компилятора! Вам понадобится git, который включен во все последние версии инструментов командной строки Xcode, которые вы уже должны были установить (см. Инструменты командной строки Xcode выше).

Касательно svn или git: инструменты командной строки Xcode 11.4 в macOS 10.15 больше не устанавливают svn, только git. Вы можете установить Subversion через fink, порты или brew.

Additional notes for building a native aarch64 Lazarus IDE for an Apple Silicon M1 processor Mac

Убедитесь, что вы скомпилировали собственный компилятор Free Pascal aarch64 (как это сделать, см. в разделе Поддержка Apple Silicon).

Light bulb  Примечание: Выпуск FPC 3.2.2 включает в себя универсальные двоичные файлы, которые изначально будут работать как на aarch64 (64-разрядная версия ARM — Apple Silicon M1), так и на x86_64 (64-разрядная версия Intel), поэтому вам больше не нужно компилировать свои собственные из исходного кода.

При сборке Lazarus IDE измените CPU_TARGET в приведенных ниже инструкциях с x86_64 (64-разрядная версия Intel) на aarch64 (64-разрядная версия ARM — Apple Silicon M1).

Загрузка исходного кода Lazarus Fixes 2.2

Создайте каталог для Lazarus и загрузите текущую версию исправлений:

cd
mkdir -p bin/lazarus
cd bin/lazarus

С использованием git:

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

С использованием svn:

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

В зависимости от вашего интернет-соединения и загруженности сервера это может занять от нескольких секунд до нескольких минут.

Обновление исходного кода Lazarus Fixes 2.2

Чтобы поддерживать установку fixes_2_2 в актуальном состоянии, достаточно просто:

С использованием git:

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

С использованием svn:

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

Сборка исходного кода Lazarus Fixes 2.2

cd laz_fixes
make distclean all LCL_PLATFORM=cocoa CPU_TARGET=x86_64 bigide
//-wait some time...
open startlazarus.app --args "--pcp=~/.laz_fixes"
  • Примечание. Я передаю параметр для использования каталога конфигурации, основанного на имени фактического каталога установки. Это упрощает написание некоторых сценариев.
  • В более старых версиях macOS, поддерживающих 32-битные приложения, замените приведенную выше строку make на "make LCL_PLATFORM=carbon CPU_TARGET=i386 bigide " и настройте свой проект, как указано в разделе Carbon в сравнении с Cocoa выше.

Возможно, вы захотите поместить небольшой скрипт в каталог $HOME/bin и даже указать путь к нему (очень UNIX!)

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

Разрабатываемая версия Лазаруса

Предварительно скомпилированные двоичные файлы, основанные на версии для разработки (известной как "trunk" в SVN; теперь известна как "main" в GIT) среды разработки Lazarus недоступны в SourceForge, поэтому можно загрузить исходный код версии для разработки с помощью svn или git и собрать IDE Lazarus. Вам понадобится svn (до macOS 10.15 — Catalina) или git (после macOS 10.14 — Mojave), который включен в автономные инструменты командной строки Xcode, которые вы уже должны были установить (см. Инструменты командной строки Xcode выше).


  • When working with an Apple Silicon M1 processor Mac ensure you use the FPC 3.2.2 or later as it provides a universal binary with both a native aarch64 and Intel compiler. If you must use an earlier FPC than 3.2.2 see Apple Silicon Support for how to do this. When building the Lazarus IDE, change the CPU_TARGET in the instructions below from x86_64 (Intel 64 bit) to aarch64 (ARM 64 bit - Apple Silicon M1).

Скачивание исходного кода разрабатываемой версии Lazarus

cd
mkdir -p bin/lazarus
cd bin/lazarus

С использованием git:

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

С использованием svn:

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

Приведенный выше вызов svn более сложен из-за бага во многих версиях Subversion. В качестве обходного пути рекомендуется использование утилиты Альфреда (он же Don Alfredo на форуме), который является создателем fpcupdeluxe.

Обновление исходников версии Lazarus для разработки

Чтобы обновить существующий исходный код версии Lazarus для разработки, следует сделать следующее:

С использованием git:

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

С использованием svn:

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

Сборка исходного кода версии Lazarus для разработки

make distclean all LCL_PLATFORM=cocoa CPU_TARGET=x86_64 bigide
//-wait some time...
open startlazarus.app --args "--pcp=~/.laz_dev"

Что делает аргумент make bigide?

Аргумент bigide make добавляет в Lazarus кучу пакетов, которые многие находят полезными и без которых не могут обойтись. Пакеты, которые добавляются:

  • 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

Приведенный выше список взят из [Lazarus source directory]/IDE/Makefile.fpc и может быть изменен.

Обратите внимание: если вы не скомпилировали свою собственную Lazarus IDE с аргументом bigide, вы можете установить любой из этих пакетов самостоятельно, используя диалоговое окно Lazarus IDE Package > Install/Uninstall Packages...

Установка незарелизенных версий FPC

Установка из исходников

В настоящее время существует две незарелизенные ветки компилятора Free Pascal: ветка разработки (trunk) и ветка Fixes 3.2, которая включает дополнительные исправления выпущенной версии 3.2.2. Разработчики и те, кто любит находиться на переднем крае и тестировать новые функции и исправления, выберут версию для разработчиков; а обычные пользователи, которые хотят использовать стабильную ветку с некоторыми дополнительными исправлениями, начиная с последней версии выпуска, выберут ветку Fixes. Приведенные ниже инструкции охватывают обе эти ветви.

Исходный код хранится в системе контроля версий под названием git:

  • macOS 10.5 и выше уже содержат git-клиент командной строки, если вы установили утилиты командной строки Xcode.
  • Вам также необходимо установить последнюю релизную версию компилятора Free Pascal (3.2.2 по состоянию на март 2022 г.), чтобы иметь возможность успешно скомпилировать разрабатываемую (trunk) версию.
Light bulb  Примечание: При сборке нативного компилятора Free Pascal под aarch64 (ppca64) для процессора Apple Silicon M1 Mac измените CPU_TARGET в приведенных ниже инструкциях с x86_64 (64-разрядная версия Intel) на aarch64 (64-разрядная версия ARM — Apple Silicon M1) и измените любую ссылку с ppcx64 на ppca64

FPC веросия для разработчиков

Обратите внимание, что поскольку версия FPC для разработки (известная как "trunk" в SVN; теперь известная как main в GIT) по определению все еще находится в стадии разработки, некоторые функции могут измениться до того, как они попадут в релизную версию.

Создайте каталог, в который вы хотите поместить исходный код (например, fpc_main в вашем домашнем каталоге). Вам не нужно быть root, чтобы сделать это. Это может сделать любой нормальный пользователь. Откройте Applications > Utilities > Terminal и выполните следующие действия:

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

Это создаст каталог с именем fpc_main и загрузит в него основной исходный код FPC.

Чтобы впоследствии обновить локальный репозиторий исходного кода последними изменениями исходного кода, вы можете просто сделать:

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

Чтобы собрать и установить FPC (выделенный текст должен быть на одной строке):

 []$ 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

Вам также потребуется обновить ссылки для компилятора в /usr/local/bin, которые будут указывать на предыдущую версию FPC. Например:

 []$ 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

Обратите внимание, что вам потребуется создать новый ppc386 компилятор, если вы хотите продолжить компилировать 32-битные приложения, заменив эти строки (это невозможно после Xcode 11.3.1 и macOS 10.14.6 Mojave из-за удаления Apple'ом 32-битных фреймворков):

 []$ 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

с этими двумя строками:

 []$ 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

Создайте каталог, в который вы хотите поместить исходный код (например, fpc_fixes32 в вашем домашнем каталоге). Вам не нужно быть root, чтобы сделать это. Это может сделать любой нормальный пользователь. Откройте Applications > Utilities > Terminal и выполните следующие действия:

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

Это создаст каталог с именем fpc_fixes32 и загрузит в него исходный код FPC.

Чтобы впоследствии обновить локальную копию исходного кода репозитория последними изменениями исходного кода, вы можете просто сделать:

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

Чтобы собрать и установить FPC (выделенный текст должен быть на одной строке):

 []$ 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

Вам также потребуется обновить ссылки для компилятора в /usr/local/bin, которые будут указывать на предыдущую версию FPC. Например:

 []$ 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

Обратите внимание, что вам потребуется создать новый ppc386 компилятор, если вы хотите продолжить компилировать 32-битные приложения, заменив эти строки (это невозможно после Xcode 11.3.1 и macOS 10.14.6 Mojave из-за удаления Apple'ом 32-битных фреймворков):

 []$ 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

Известные проблемы и решения

Lazarus IDE v2.2.0 - проблема пересборки

Любая попытка пересобрать IDE Lazarus из самой себя завершается ошибкой с правами доступа, поскольку файлы и каталоги принадлежат пользователю с идентификатором 503, в то время как большинство пользователей обнаружат, что их идентификатор равен 501. Решение состоит в том, чтобы открыть Applications > Utilities> Terminal и:

cd /Applications
sudo chown -R your_username Lazarus

Следующие ошибки пересборки не возникают на компьютерах Intel

Следующая ошибка заключается в том, что компилятор ресурсов «fpcres» может быть не найден. Решение состоит в том, чтобы создать файл .fpc.cfg (обратите внимание на начальную точку) в вашем домашнем каталоге и добавить в него следующие строки:

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

чтобы "fpcres" можно было найти там, где он был установлен.

Следующая ошибка указывает на неподдерживаемую целевую архитектуру -Paarch64 с советом вместо этого вызвать драйвер компилятора "fpc", не взирая на то, что мы уже делаем. Решение состоит в том, чтобы перейти в Lazarus > Preferences > Compiler к исполняемому файлу компилятора, для которого установлено значение /usr/local/bin/fpc, и изменить его на /usr/local/lib/fpc/3.2.2/ppca64.

Теперь среда IDE будет успешно пересобрана, но не перезапустится автоматически. Попытка затем запустить Lazarus с помощью значкаstartlazarus.app или значка lazarus.app в /Applications/Lazarus по-прежнему будет приводить к запуску исходного двоичного файла Intel lazarus. Правильный бинарный файл aarch64 можно найти в ~/.lazarus/bin/aarch64-darwin/lazarus. Таким образом, окончательное решение — открыть Application > Utilities > Terminal и:

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

Затем вы можете запустить IDE с помощью значков startLazarus.app или lazarus.app. Когда вы перезапустите lazarus, стоит вернуться в Lazarus > Preferences > Compiler к исполняемому файлу компилятора, для которого установлено значение /usr/local/lib/fpc/3.2.2/ppca64, и изменить его обратно на /usr/local/bin/fpc, чтобы вы могли скомпилировать двоичные файлы как для aarch64, так и для Intel, чтобы, например, создать Universal Binary, который будет работать как на машинах Intel, так и на машинах aarch64.

Lazarus IDE - Unable to "run without debugging"

Если вы используете Lazarus IDE 2.0.10 и пункт меню «Выполнить > Запустить без отладки» не работает с диалоговым окном, подобным:

run dialog fail.png

затем вам необходимо исправить исходный код Lazarus 2.0.10 (Issue #37324 и Issue #36780). В частности, исправьте ../ide/main.pp, как показано ниже (неисправленные строки показаны первыми, исправленные строки показаны вторыми):

 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

и перекомпилируйте Lazarus IDE.

Кроме того, вы можете не исправлять исходный код и просто перекомпилировать Lazarus 2.0.10 с FPC 3.0.4.

Аналогичные действия по исправлению и перекомпиляции или просто перекомпиляции с FPC 3.0.4 необходимо выполнить для Lazarus 2.0.8, если он был скомпилирован с FPC 3.2.0.

Обновление с Mojave (10.14) до Catalina (10.15)

  • Выполните sudo xcode-select --install
  • Чтобы Lazarus мог найти файл crt1.10.5.o, измените в /etc/fpc.cfg -Fl после '#ifdef cpux86_64' с
-Fl/Applications/Xcode.app/Contents/Developer/Toolchain...

на

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

Сборка компилятора FPC, начиная с Mojave (10.14) и далее

  • Чтобы найти файл crt1.10.5.o при сборке более поздней версии Free Pascal Compiler из исходного кода, необходимо указать:
 OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"

в командной строке make, потому что FPC игнорирует файл конфигурации /etc/fpc.cfg во время сборки.

ЧаВо по установке на Mac

  • См. Mac Installation FAQ, чтобы узнать о решениях других распространенных проблем, которые могут возникнуть во время (и после) установки Lazarus и Free Pascal на macOS.

Деинсталляция Lazarus и Free Pascal

Обратитесь к Удаление Lazarus в macOS для получения информации о вариантах удаления.

Устаревшая информация

See Legacy Information for details of:

  • Installing Lazarus on Mac OS X 10.4 (Tiger), Mac OS X 10.5 (Leopard), OS X 10.8 (Mountain Lion)
  • Installing Lazarus 2.0.8, 2.0.10 with FPC 3.2.0 for macOS 10.10 and earlier
  • Installing Lazarus 2.0.8 with FPC 3.2.0 for macOS 10.11+
  • Installing Lazarus on PowerPC-based Macs
  • Old Xcode versions
  • Installing the gdb debugger
  • Compatibility matrix for Lazarus 1.0.0 through 1.6.4 and FPC 2.6.0 through 3.0.2.

См. также

Внешние ссылки