Sign in Join
Wiki copytemporary

Installing Lazarus on macOS/ru: what changed

Revision 3 to 4. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11Установка Lazarus на Mac не особенно сложна, но очень важно выполнить установку в правильном порядке. Пропуск шагов почти наверняка приведет к плачу Ярославны. Вкратце, вот что вы должны сделать -
22
331. Загрузить и установить Xcode.
442. Установить глобальные инструменты командной строки для Xcode.
553. Установить Free Pascal Compiler и исходники FPC
664. Установить Lazarus
775. Настроить LLDB - поставляемый (и подписанный) Apple отладчик от Lazarus.
88
99> **Note:** если вы устанавливаете версии Lazarus до 2.0.0, вам почти наверняка понадобится gdb, см. раздел [[Legacy Information: Installing Lazarus on Mac|Legacy]].
1010
1111## Установка
1212
1313В подробных инструкциях предполагается, что на вашем Mac установлена последняя версия macOS, последняя версия Xcode от Apple и последняя версия Lazarus. Внизу страницы, под устаревшей документацией, вы увидите более старую информацию, которая может иметь значение, если вы используете старые компоненты. Вы можете помочь, заменив устаревшую информацию, либо удалив ее, либо, если это может помочь кому-то, работающему с унаследованным проектом, переместить ее в конец страницы.
1414
1515В общем, речь идет об использовании набора виджетов **Carbon** и **Cocoa**. Хотя Carbon все еще можно считать немного более стабильным, на момент выпуска 2.0.0 64-битное Cocoa очень близко \[к стабильному\] и, безусловно, его следует учитывать. Carbon намеренно (Apple) ограничен 32 битами, и мы знаем, что следующая версия MacOSX, вероятно, не будет его поддерживать.
1616
1717### Шаг 1. Загрузка Xcode (необязательно).
1818
1919Xcode — это загрузка 12ГБ архива, которая займет после распаковки 16ГБ дискового пространства. Имеет смысл заружать и устанавливать полную среду разработки Xcode, **только если** вам нужны:
2020
2121- SDK для **iOS**, **iPadOS**, watchOS и tvOS; или
2222- для проверки и загрузки приложений в Mac App Store; или
2323- [[Notarization for macOS 10.14.5+/ru|нотариально заверять]] приложения для распространения за пределами Mac App Store.
2424
2525Xcode 11.3.1 для использования в macOS 10.14 Mojave теперь необходимо устанавливать, загрузив его из [Apple Developer Connection](http://developer.apple.com/) (ADC), для чего требуется бесплатная регистрация. Xcode 12.4.x для использования в macOS 10.15 Catalina и более поздних версиях можно установить из магазина приложений [Mac App store](https://apps.apple.com/us/genre/mac-developer-tools/id12002?mt=12). Обратите внимание, что вы должны сначала переместить все старые версии Xcode из папки «Приложения» в корзину или переименовать приложение Xcode (например, Xcode.app в Xcode_1014.app). Затем вы можете выбрать, какую версию Xcode использовать с помощью утилиты командной строки `xcode-select`. Откройте Applications \> Utilities \> Terminal (Приложения \> Инструменты \> Терминал) и введите`man xcode-select` для показа страниц руководства по этой утилите.
2626
2727**Старые системы:**
2828
2929Инструменты разработчика Xcode можно установить с исходных установочных дисков macOS или более новой копии, загруженной из [Apple Developer Connection](http://developer.apple.com/) (ADC), для чего требуется бесплатная регистрация. Загрузите файл Xcode, он окажется в вашем каталоге загрузок в виде zip-файла. Нажмите на нее. Он разархивируется в каталог Downloads(Загрузки). Вам может повезти, а может быть и нет. Другие пользователи увидят путь к нему, но не смогут его использовать. А это - непорядок. Чтобы исправить это недоразумение, я переместил свой, а затем указал `xcode-select`, куда он был перемещен (в терминале) -
3030
3131``` bash
3232mv Downloads/Xcode.app /Developer/.
3333sudo xcode-select -s /Developer/Xcode.app/Contents/Developer
3434```
3535
3636### Шаг 2. Инструменты командной строки Xcode
3737
3838Это раздел показан как отдельный шаг, потому что это действительно отдельный шаг. Не путайте эти автономные инструменты командной строки с внутренними инструментами командной строки Xcode, о которых графический интерфейс Xcode сообщит вам, что они уже установлены, если вы установили полный пакет Xcode на шаге 1. FPC не может использовать эти внутренние инструменты командной строки Xcode без изменений конфигурации ( подробности см. в [[Xcode]]).
3939
4040Сделайте следующее, это быстро и легко для всех версий macOS до Catalina 10.15 включительно:
4141
4242``` bash
4343sudo xcode-select --install
4444sudo xcodebuild -license accept
4545```
4646
4747Для Big Sur 11.x и более поздних версий вам нужно ввести только первую из двух приведенных выше команд, если вы также не установили полный пакет Xcode. Если вы установили только инструменты командной строки, вам не следует вводить команду *xcodebuild*.
4848
4949Если у вас возникли проблемы с установкой инструментов командной строки с использованием этого метода командной строки (например, программа установки зависает при «поиске программного обеспечения»), вы также можете загрузить и установить пакет инструментов командной строки, зайдя на [Apple Developer Site](https://developer.apple.com/download/more/?=for%20Xcode) и загрузив и установив образ диска *Command Line Tools for Xcode*.
5050
5151### Шаг 3 Бинарные файлы FPC и исходный код FPC
5252
5353> **Note:** Для установки 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, обратитесь к [[macOS Big Sur changes for developers|этим инструкциям]] для создания собственного компилятора Apple Silicon Free Pascal после установки 64-разрядного двоичного файла Intel и исходных пакетов для FPC.
5454
5555Загрузите и установите официальный пакет двоичных файлов FPC и отдельный пакет исходного кода FPC из [области файлов Lazarus IDE](https://sourceforge.net/projects/lazarus/files/).
5656
5757Когда вы доберетесь до области файлов Lazarus IDE:
5858
59591. Выберите правильную версию вашей операционной системы. Подавляющее большинство пользователей Mac теперь должны выбирать 64-битные пакеты в каталоге Lazarus macOS x86-64. Каждый компьютер Mac с конца 2006 года поддерживает 64-разрядную версию. Тот факт, что Apple полностью отказалась от 32-битной поддержки в macOS 10.15 Catalina (выпущенной в октябре 2019 года), является еще одной причиной для выбора 64-битных пакетов.
60602. Выберите версию Lazarus, которую вы хотите установить, и вам будут представлены два бинарных и исходных пакета FPC для загрузки.
6161
6262Эти установочные пакеты создаются разработчиками FPC/Lazarus и отслеживают официальные выпуски. Поскольку эти установочные пакеты не одобрены Apple, вам нужно, удерживая нажатой клавишу Control, щелкнуть пакет, выбрать «Открыть» и подтвердить, что вы хотите установить его от неизвестного разработчика (Unknown Developer).
6363
6464На этом этапе вы можете попробовать простой и быстрый тест FPC — [[Installing the Free Pascal Compiler|Тестирование установки FPC]].
6565
6666### Установка Lazarus
6767
6868Крайне важно, чтобы совместимый компилятор Free Pascal (FPC) и его исходный код был установлен *перед установкой* Lazarus IDE.
6969
7070> **Note:** Для установки на Apple Silicon/AArch64 обратитесь к инструкциям Lazarus Fixes 2.2 или Lazarus development, чтобы создать собственную IDE Lazarus. Перейдите к инструкциям по сборке и используйте загрузку исходного кода Lazarus Fixes 2.2/Lazarus development по своему усмотрению.
7171
7272Загрузите и установите Lazarus IDE из [области файлов Lazarus IDE](https://sourceforge.net/projects/lazarus/files/). Когда вы доберетесь до этой области файлов, выберите правильную версию вашей операционной системы. Подавляющее большинство пользователей Mac теперь должны выбирать 64-битные пакеты в каталоге Lazarus macOS x86-64. Каждый компьютер Mac с конца 2006 года поддерживает 64-разрядную версию. Тот факт, что Apple полностью отказалась от 32-битной поддержки в macOS 10.15 Catalina (выпущенной в октябре 2019 года), является еще одной причиной для выбора 64-битных пакетов.
7373
7474### Настройка отладчика
7575
7676В версиях Lazarus 1.8.4 и более ранних версиях вам нужно было использовать gdb в качестве отладчика, медленно устанавливать и тяжело подписывать. Начиная с Lazarus 2.0.0 вы можете (и должны) использовать LLDB, отладчик, предоставляемый Apple, подпись \[для которого\] не требуется.
7777
7878Предполагая, что вы установили все необходимое и запустили Lazarus, остается только настроить отладчик. Если вы не сделаете этого сейчас, Lazarus попытается использовать GDB и потерпит неудачу.
7979
8080Сначала нажмите Tools(Инструменты)-\>Options(Параметры)-\>Debugger(Отладчик). В правом верхнем углу открытого окна есть надпись "Debugger type and path"(Тип и путь отладчика), вы должны задать оба \[значения\]. Выберите "LLDB debugger (with fpdebug) (Beta)"(Отладчик LLDB (с помощью fpdebug) (Beta)).
8181
8282![](/wiki-images/d/d5/Set_Debugger2.png)
8383
8484Если его нет в списке выбора, см. ниже (Установка LazDebuggerFpLLdb). Обратите внимание, что изображение выше имеет путь к LLDB, который может отличаться от вашего, в зависимости от того, где были установлены инструменты XCode, в моем случае /Library. Сохраните эти настройки, и теперь вы можете попытаться скомпилировать практически пустую программу, которую Lazarus любезно предоставил для вас (щелкните маленький зеленый треугольник в верхнем левом углу).
8585
8686Далее вы видите загадочный вопрос, см. изображение ниже. Выберите "Debug Format"(формат отладки) из предложенных -
8787
8888![](/wiki-images/0/03/Set_Dwarf.png)
8989
9090Martin_fr (человек, который дал нам этот интерфейс между Lazarus и LLDB) предлагает вам использовать "dwarf3". Затем вам нужно ввести свой пароль: MacOSX хитроумна, потому что одно приложение мешает другому. В этом случае это хорошо!
9191
9292#### Дополнительная информация по использованию LLDB
9393
9494В [этой ветке](https://forum.lazarus.freepascal.org/index.php/topic,42869.0.html) форума появляется много информации об использовании LLDB. Вот еще несколько самоцветов от Martin_fr:
9595
9696В случае непредвиденных проблем стоит попробовать "dwarf with sets" взамен используемому "dwarf3".
9797
9898Параметр "debug info" влияет только на модули непосредственно в вашем проекте. Однако модули в пакетах также могут иметь отладочную информацию. Это может быть
9999
100100- установка в пакете
101101- для многих, но не для всех пакетов в меню Tools(Сервис) \> Configure build Lazarus(Настройка сборки Lazarus)
102102- project settings (настройки проекта) \> [[IDE Window: Compiler Options|Дополнения и переопределения]]
103103
104104Если вы измените настройки для пакета, вы также можете проверить, в какой пакет вы планируете перейти. Пакет, в который вы не входите, не требует отладочной информации. Если вы используете тип из пакета (такой, как TForm из LCL), то достаточно, чтобы ваш модуль (в котором вы объявляли переменную и(или) использовали переменную для включения типа) имел отладочную информацию. Уменьшение количества пакетов с отладочной информацией (в том числе тех, которые по умолчанию имеют отладочную информацию) может сократить время запуска отладчиков.
105105
106106Также, возможно, стоит сравнить (не проверено) время запуска отладчиков для тех же настроек, только изменив флажок "use external debug info" (использовать внешнюю информацию отладки).
107107
108108Это должно быть установлено только в вашем проекте. Если установлен в вашем проекте, это повлияет на все пакеты. (Если он установлен в пакете, он ничего не сделает/по крайней мере, не должен ...)
109109
110110#### Установка LazDebuggerFpLLdb
111111
112112Если вы установились из исходного кода и \[при этом\] использовали параметр bigide \[утилиты make\], то правильный отладчик будет установлен, как пакет, и \[сразу будет\] готов к работе. Однако, если вы установили другим способом, \[отладчика\] там может и не оказаться. На главном экране IDE выберите Packages(Пакеты) -\> Install/Uninstall Packages (Установить/удалить пакеты). Show - это два списка пакетов, слева - список уже установленных, справа - доступных для установки. Ищите LazDebuggerFpLldb (именно его, есть некоторые схожие названия, но менее подходящие пакеты). Если он справа, щелкните его, нажмите "Install Selection" (Установить выделенное), а затем "Save and rebuild IDE" (Сохранить и пересобрать IDE). Это займет немного времени, IDE выключится и перезапустится, и все должно быть хорошо. Теперь вернитесь на страницу и продолжите настройку отладчика.
113113
114114## Cocoa 64-бит в сравнении с Carbon 32-бит
115115
116116Использование 64-битной платформы Cocoa от Apple теперь, несомненно, является будущим для Mac. 32-разрядная платформа Apple Carbon, хотя больше не разрабатывается, но работает почти так же, как и ожидалось. Однако мы бы порекомендовали сначала попробовать Cocoa, поскольку Apple прекратила поддержку 32-разрядных приложений и 32-разрядной платформы Carbon в macOS 10.15 Catalina (октябрь 2019 г.) .
117117
118118Можно собрать Cocoa-версию Lazarus IDE, начиная с версии 2.0.0 и выше. Также можно собрать Carbon-версию Lazarus IDE (если вы не используете macOS 10.15 Catalina или более позднюю версию) и использовать ее для создания 64-битных двоичных файлов Cocoa.
119119
120120Чтобы создавать приложения Cocoa в Carbon или Cocoa IDE, вам необходимо установить Target для 64-битного процессора и выбрать набор виджетов Cocoa:
121121
122122- Откройте свой проект с помощью Lazarus и в меню выберите Project \> Project Options.
123123- На панели "Config and Target" (Конфигурация и цель) установите для "Target CPU family"(Целевое семейство ЦП) значение "x86_64" (Intel) или "aarch64" (Apple M1).
124124- На панели "Config and Target" (Конфигурация и цель), если "Current LCL widgetset"(Текущий набор виджетов LCL) не установлен для Cocoa, нажмите "Select another LCL widgetset" (Выбрать другой набор виджетов LCL), который перенесет вас на панель "Additions and Overrides" (Дополнения и перекрытия), где вы можете нажать выпадающее меню "Set LCLWidgetType"(Присвоить "LCLWidgetType") и установите значение "Cocoa"
125125- Убедитесь, что в разделе Tools (Сервис) \> Options(Настройки) (\> Preferences (Параметры) для Lazarus в версии 2.2.0 и более поздних версиях) для параметра "Compiler Executable" (Исполнимый файл компилятора) установлено значение «/usr/local/bin/fpc», чтобы получить 64-разрядные приложения.
126126- Теперь скомпилируйте свой проект и, пожалуйста, сообщите о любых проблемах, с которыми вы столкнулись.
127127
128128## Матрица совместимости FPC + Lazarus
129129
130130Не всякая комбинация \[версий\] Lazarus и Free Pascal совместима с любой установкой macOS. Пожалуйста, обратитесь к следующей таблице, чтобы найти правильную версию для вашей среды разработки:
131131
132132## Установка невыпущенных версий Lazarus IDE
133133
134134Прим.перев: настоятельно советую для НЕрелизных сборок компилятора и Лазаруса использовать [[fpcupdeluxe/ru|fpcupdeluxe]]
135135
136136### Lazarus Fixes 2.2
137137
138138- [[Lazarus 2.2 fixes branch|Fixes included in fixes_2_2]]
139139
140140Есть ряд причин, по которым вам может быть лучше использовать нерелизную версию Lazarus, в частности, fixes_2_2. Особенно:
141141
142142- Вам почти наверняка нужно ориентироваться на 64-битный Cocoa, macOS 10.15 Catalina и более поздние версии вообще не поддерживают 32-битный Carbon.
143143- Набор виджетов Cocoa постоянно улучшался, а интерфейс отладчика lldb быстро улучшался, начиная с версии 2.0.0.
144144- Если на вашем Mac установлен процессор Apple M1, отладчик в fixes_2_2 теперь работает для aarch64.
145145- Fixes_2_2 — более безопасный и стабильный вариант, чем ветка разработки, но все равно получает новые функции намного быстрее, чем релизная версия.
146146
147147Предварительно скомпилированные двоичные файлы на основе fixes_2_2 недоступны в SourceForge, поэтому мы загружаем и собираем их из исходного кода. Сначала немного медленный, но очень надежный и отличный тест установки вашего компилятора! Вам понадобится git, который включен во все последние версии инструментов командной строки Xcode, которые вы уже должны были установить (см. [[Installing Lazarus on macOS/ru|Инструменты командной строки Xcode]] выше).
148148
149149Касательно svn или git: инструменты командной строки Xcode 11.4 в macOS 10.15 больше не устанавливают svn, только git. Вы можете установить Subversion через fink, порты или brew.
150150
151151Additional notes for building a native aarch64 Lazarus IDE for an Apple Silicon M1 processor Mac
152152
153153Убедитесь, что вы скомпилировали собственный компилятор Free Pascal aarch64 (как это сделать, см. в разделе Поддержка Apple Silicon).
154154
155155> **Note:** Выпуск FPC 3.2.2 включает в себя универсальные двоичные файлы, которые изначально будут работать как на aarch64 (64-разрядная версия ARM — Apple Silicon M1), так и на x86_64 (64-разрядная версия Intel), поэтому вам больше не нужно компилировать свои собственные из исходного кода.
156156
157157При сборке Lazarus IDE измените CPU_TARGET в приведенных ниже инструкциях с x86_64 (64-разрядная версия Intel) на aarch64 (64-разрядная версия ARM — Apple Silicon M1).
158158
159159#### Загрузка исходного кода Lazarus Fixes 2.2
160160
161161Создайте каталог для Lazarus и загрузите текущую версию исправлений:
162162
163163``` bash
164164cd
165165mkdir -p bin/lazarus
166166cd bin/lazarus
167167```
168168
169169С использованием git:
170170
171-`git clone -b fixes_2_2 `[`https://gitlab.com/freepascal.org/lazarus/lazarus.git`](https://gitlab.com/freepascal.org/lazarus/lazarus.git)` laz_fixes`
171+```text
172+git clone -b fixes_2_2 https://gitlab.com/freepascal.org/lazarus/lazarus.git laz_fixes
173+```
172174
173175С использованием svn:
174176
175-`svn checkout `[`https://github.com/fpc/Lazarus/branches/fixes_2_2`](https://github.com/fpc/Lazarus/branches/fixes_2_2)` laz_fixes`
177+```text
178+svn checkout https://github.com/fpc/Lazarus/branches/fixes_2_2 laz_fixes
179+```
176180
177181В зависимости от вашего интернет-соединения и загруженности сервера это может занять от нескольких секунд до нескольких минут.
178182
179183#### Обновление исходного кода Lazarus Fixes 2.2
180184
181185Чтобы поддерживать установку fixes_2_2 в актуальном состоянии, достаточно просто:
182186
183187С использованием git:
184188
185189``` bash
186190cd ~/bin/lazarus/laz_fixes
187191git clean -f -d
188192git pull
189193```
190194
191195С использованием svn:
192196
193197``` bash
194198cd ~/bin/lazarus/laz_fixes
195199svn clean --remove-unversioned
196200svn update
197201```
198202
199203#### Сборка исходного кода Lazarus Fixes 2.2
200204
201205``` bash
202206cd laz_fixes
203207make distclean all LCL_PLATFORM=cocoa CPU_TARGET=x86_64 bigide
204208//-wait some time...
205209open startlazarus.app --args "--pcp=~/.laz_fixes"
206210```
207211
208212- Примечание. Я передаю параметр для использования каталога конфигурации, основанного на имени фактического каталога установки. Это упрощает написание некоторых сценариев.
209213
210214- В более старых версиях macOS, поддерживающих 32-битные приложения, замените приведенную выше строку make на "*make LCL_PLATFORM=carbon CPU_TARGET=i386 bigide* " и настройте свой проект, как указано в разделе [[Installing Lazarus on macOS/ru|Carbon в сравнении с Cocoa]] выше.
211215
212216Возможно, вы захотите поместить небольшой скрипт в каталог \$HOME/bin и даже указать путь к нему (очень UNIX!)
213217
214218``` bash
215219#!/bin/bash
216220LAZDIR="laz_fixes"
217221cd ~/bin/lazarus/"$LAZDIR"
218222open ~/bin/lazarus/"$LAZDIR"/lazarus.app --args "--pcp=~/.$LAZDIR"
219223```
220224
221225### Разрабатываемая версия Лазаруса
222226
223227- [[Lazarus 2.4.0 release notes|Примечания к разрабатываемой версии Lazarus]] - Примечание: работа в процессе
224228
225229Предварительно скомпилированные двоичные файлы, основанные на версии для разработки (известной как "trunk" в SVN; теперь известна как "main" в GIT) среды разработки Lazarus недоступны в SourceForge, поэтому можно загрузить исходный код версии для разработки с помощью *svn* или *git* и собрать IDE Lazarus. Вам понадобится svn (до macOS 10.15 — Catalina) или git (после macOS 10.14 — Mojave), который включен в автономные инструменты командной строки Xcode, которые вы уже должны были установить (см. Инструменты командной строки Xcode выше).
226230
227231#### Скачивание исходного кода разрабатываемой версии Lazarus
228232
229233``` sh
230234cd
231235mkdir -p bin/lazarus
232236cd bin/lazarus
233237```
234238
235239С использованием git:
236240
237-`git clone -b main `[`https://gitlab.com/freepascal.org/lazarus/lazarus.git`](https://gitlab.com/freepascal.org/lazarus/lazarus.git)` laz_main`
241+```text
242+git clone -b main https://gitlab.com/freepascal.org/lazarus/lazarus.git laz_main
243+```
238244
239245С использованием svn:
240246
241-`svn checkout --depth files `[`https://github.com/fpc/Lazarus/branches`](https://github.com/fpc/Lazarus/branches)` all`\
242-`cd all`\
243-`svn update --set-depth infinity main`
247+```text
248+svn checkout --depth files https://github.com/fpc/Lazarus/branches all
249+cd all
250+svn update --set-depth infinity main
251+```
244252
245253Приведенный выше вызов svn более сложен из-за бага во многих версиях Subversion. В качестве обходного пути рекомендуется использование утилиты Альфреда (он же Don Alfredo на [[Forum|форуме]]), который является создателем [[fpcupdeluxe/ru|fpcupdeluxe]].
246254
247255#### Обновление исходников версии Lazarus для разработки
248256
249257Чтобы обновить существующий исходный код версии Lazarus для разработки, следует сделать следующее:
250258
251259С использованием git:
252260
253261``` bash
254262cd ~/bin/lazarus/laz_main
255263git clean -f -d
256264git pull
257265```
258266
259267С использованием svn:
260268
261269``` bash
262270cd ~/bin/lazarus/laz_trunk
263271svn cleanup --remove-unversioned
264272svn update
265273```
266274
267275#### Сборка исходного кода версии Lazarus для разработки
268276
269277``` bash
270278make distclean all LCL_PLATFORM=cocoa CPU_TARGET=x86_64 bigide
271279//-wait some time...
272280open startlazarus.app --args "--pcp=~/.laz_dev"
273281```
274282
275283### Что делает аргумент make bigide?
276284
277285Аргумент *bigide* `make` добавляет в Lazarus кучу пакетов, которые многие находят полезными и без которых не могут обойтись. Пакеты, которые добавляются:
278286
279287- cairocanvas
280288- chmhelp
281289- datetimectrls
282290- externhelp
283291- fpcunit
284292- fpdebug
285293- instantfpc
286294- jcf2
287295- lazcontrols
288296- lazdebuggers
289297
290298- lclextensions
291299- leakview
292300- macroscript
293301- memds
294302- onlinepackagemanager
295303- pas2js
296304- PascalScript
297305- printers
298306- projecttemplates
299307- rtticontrols
300308
301309- sdf
302310- sqldb
303311- synedit
304312- tachart
305313- tdbf
306314- todolist
307315- turbopower_ipro
308316- virtualtreeview
309317
310318Приведенный выше список взят из *`[Lazarus source directory]/IDE/Makefile.fpc`* и может быть изменен.
311319
312320Обратите внимание: если вы не скомпилировали свою собственную Lazarus IDE с аргументом bigide, вы можете установить любой из этих пакетов самостоятельно, используя диалоговое окно Lazarus IDE [[IDE Window: Installed Packages|Package > Install/Uninstall Packages...]]
313321
314322## Установка незарелизенных версий FPC
315323
316324### Установка из исходников
317325
318326В настоящее время существует две незарелизенные ветки компилятора Free Pascal: ветка разработки (trunk) и ветка Fixes 3.2, которая включает дополнительные исправления выпущенной версии 3.2.2. Разработчики и те, кто любит находиться на переднем крае и тестировать новые функции и исправления, выберут версию для разработчиков; а обычные пользователи, которые хотят использовать стабильную ветку с некоторыми дополнительными исправлениями, начиная с последней версии выпуска, выберут ветку Fixes. Приведенные ниже инструкции охватывают обе эти ветви.
319327
320328Исходный код хранится в системе контроля версий под названием *git*:
321329
322330- macOS 10.5 и выше уже содержат git-клиент командной строки, если вы установили утилиты командной строки Xcode.
323331
324332- Вам также необходимо установить последнюю релизную версию компилятора Free Pascal (3.2.2 по состоянию на март 2022 г.), чтобы иметь возможность успешно скомпилировать разрабатываемую (trunk) версию.
325333
326334> **Note:** При сборке нативного компилятора Free Pascal под aarch64 (ppca64) для процессора Apple Silicon M1 Mac **измените CPU_TARGET** в приведенных ниже инструкциях с x86_64 (64-разрядная версия Intel) на aarch64 (64-разрядная версия ARM — Apple Silicon M1) и **измените любую ссылку** с ppcx64 на ppca64
327335
328336#### FPC веросия для разработчиков
329337
330338- [[FPC New Features Trunk|Новые функции FPC trunk]]
331339- [[User Changes Trunk|Изменения для ползователей FPC trunk]] - может сломать существующий код.
332340
333341Обратите внимание, что поскольку версия FPC для разработки (известная как "trunk" в SVN; теперь известная как `main` в GIT) по определению все еще находится в стадии разработки, некоторые функции могут измениться до того, как они попадут в релизную версию.
334342
335343Создайте каталог, в который вы хотите поместить исходный код (например, fpc_main в вашем домашнем каталоге). Вам не нужно быть root, чтобы сделать это. Это может сделать любой нормальный пользователь. Откройте Applications \> Utilities \> Terminal и выполните следующие действия:
336344
337345``` sh
338346 []$ git clone -b main https://gitlab.com/freepascal.org/fpc/source.git fpc_main
339347```
340348
341349Это создаст каталог с именем `fpc_main` и загрузит в него основной исходный код FPC.
342350
343351Чтобы впоследствии обновить локальный репозиторий исходного кода последними изменениями исходного кода, вы можете просто сделать:
344352
345353``` sh
346354 []$ cd
347355 []$ cd fpc_main
348356 []$ git clean -f -d
349357 []$ git pull
350358```
351359
352360Чтобы собрать и установить FPC (выделенный текст должен быть на одной строке):
353361
354362``` sh
355363 []$ cd
356364 []$ cd fpc_main
357365 []$ 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/"
358366 []$ sudo make install FPC=$PWD/compiler/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64
359367```
360368
361369Вам также потребуется обновить ссылки для компилятора в `/usr/local/bin`, которые будут указывать на предыдущую версию FPC. Например:
362370
363371``` sh
364372 []$ cd /usr/local/bin
365373 []$ sudo rm ppc386
366374 []$ sudo rm ppcx64
367375 []$ sudo ln -s /usr/local/lib/fpc/3.3.1/ppc386
368376 []$ sudo ln -s /usr/local/lib/fpc/3.3.1/ppcx64
369377```
370378
371379Обратите внимание, что вам потребуется создать новый `ppc386` компилятор, если вы хотите продолжить компилировать 32-битные приложения, заменив эти строки (это невозможно после Xcode 11.3.1 и macOS 10.14.6 Mojave из-за удаления Apple'ом 32-битных фреймворков):
372380
373381``` sh
374382 []$ 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/"
375383 []$ sudo make install FPC=$PWD/compiler/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64
376384```
377385
378386с этими двумя строками:
379387
380388``` sh
381389 []$ 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/"
382390 []$ sudo make install FPC=$PWD/compiler/ppc386 OS_TARGET=darwin CPU_TARGET=i386
383391```
384392
385393#### FPC Fixes 3.2
386394
387395Создайте каталог, в который вы хотите поместить исходный код (например, `fpc_fixes32` в вашем домашнем каталоге). Вам не нужно быть root, чтобы сделать это. Это может сделать любой нормальный пользователь. Откройте Applications \> Utilities \> Terminal и выполните следующие действия:
388396
389397``` sh
390398 []$ git clone -b fixes_3_2 https://gitlab.com/freepascal.org/fpc/source.git fpc_fixes32
391399```
392400
393401Это создаст каталог с именем `fpc_fixes32` и загрузит в него исходный код FPC.
394402
395403Чтобы впоследствии обновить локальную копию исходного кода репозитория последними изменениями исходного кода, вы можете просто сделать:
396404
397405``` sh
398406 []$ cd fpc_fixes32
399407 []$ git clean -f -d
400408 []$ git pull
401409```
402410
403411Чтобы собрать и установить FPC (выделенный текст должен быть на одной строке):
404412
405413``` sh
406414 []$ cd
407415 []$ cd fpc_fixes32
408416 []$ 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/"
409417 []$ sudo make install FPC=$PWD/compiler/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64
410418```
411419
412420Вам также потребуется обновить ссылки для компилятора в `/usr/local/bin`, которые будут указывать на предыдущую версию FPC. Например:
413421
414422``` sh
415423 []$ cd /usr/local/bin
416424 []$ sudo rm ppc386
417425 []$ sudo rm ppcx64
418426 []$ sudo ln -s /usr/local/lib/fpc/fixes-3.2/ppc386
419427 []$ sudo ln -s /usr/local/lib/fpc/fixes-3.2/ppcx64
420428```
421429
422430Обратите внимание, что вам потребуется создать новый `ppc386` компилятор, если вы хотите продолжить компилировать 32-битные приложения, заменив эти строки (это невозможно после Xcode 11.3.1 и macOS 10.14.6 Mojave из-за удаления Apple'ом 32-битных фреймворков):
423431
424432``` sh
425433 []$ 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/"
426434 []$ sudo make install FPC=$PWD/compiler/ppc386 OS_TARGET=darwin CPU_TARGET=i386
427435```
428436
429437## Известные проблемы и решения
430438
431439### Lazarus IDE v2.2.0 - проблема пересборки
432440
433441Любая попытка пересобрать IDE Lazarus из самой себя завершается ошибкой с правами доступа, поскольку файлы и каталоги принадлежат пользователю с идентификатором 503, в то время как большинство пользователей обнаружат, что их идентификатор равен 501. Решение состоит в том, чтобы открыть Applications \> Utilities\> Terminal и:
434442
435-`cd /Applications`\
436-`sudo chown -R your_username Lazarus`
443+```text
444+cd /Applications
445+sudo chown -R your_username Lazarus
446+```
437447
438448#### Следующие ошибки пересборки не возникают на компьютерах Intel
439449
440450Следующая ошибка заключается в том, что компилятор ресурсов «fpcres» может быть не найден. Решение состоит в том, чтобы создать файл `.fpc.cfg` (обратите внимание на начальную точку) в вашем домашнем каталоге и добавить в него следующие строки:
441451
442-`#include /etc/fpc.cfg`\
443-`-FD/usr/local/bin`
452+```text
453+#include /etc/fpc.cfg
454+-FD/usr/local/bin
455+```
444456
445457чтобы "fpcres" можно было найти там, где он был установлен.
446458
447459Следующая ошибка указывает на неподдерживаемую целевую архитектуру `-Paarch64` с советом вместо этого вызвать драйвер компилятора "fpc", не взирая на то, что мы уже делаем. Решение состоит в том, чтобы перейти в Lazarus \> Preferences \> Compiler к исполняемому файлу компилятора, для которого установлено значение `/usr/local/bin/fpc`, и изменить его на `/usr/local/lib/fpc/3.2.2/ppca64`.
448460
449461Теперь среда IDE будет успешно пересобрана, но не перезапустится автоматически. Попытка затем запустить Lazarus с помощью значка`startlazarus.app` или значка `lazarus.app` в `/Applications/Lazarus` по-прежнему будет приводить к запуску исходного двоичного файла Intel lazarus. Правильный бинарный файл aarch64 можно найти в `~/.lazarus/bin/aarch64-darwin/lazarus`. Таким образом, окончательное решение — открыть Application \> Utilities \> Terminal и:
450462
451-`mv /Applications/Lazarus/lazarus /Applications/Lazarus/lazarus.old`\
452-`mv  ~/.lazarus/bin/aarch64-darwin/lazarus /Applications/Lazarus/`
463+```text
464+mv /Applications/Lazarus/lazarus /Applications/Lazarus/lazarus.old
465+mv ~/.lazarus/bin/aarch64-darwin/lazarus /Applications/Lazarus/
466+```
453467
454468Затем вы можете запустить IDE с помощью значков `startLazarus.app` или `lazarus.app`. Когда вы перезапустите lazarus, стоит вернуться в Lazarus \> Preferences \> Compiler к исполняемому файлу компилятора, для которого установлено значение `/usr/local/lib/fpc/3.2.2/ppca64`, и изменить его обратно на `/usr/local/bin/fpc`, чтобы вы могли скомпилировать двоичные файлы как для aarch64, так и для Intel, чтобы, например, создать [[macOS Big Sur changes for developers|Universal Binary]], который будет работать как на машинах Intel, так и на машинах aarch64.
455469
456470### Lazarus IDE - Unable to "run without debugging"
457471
458472Если вы используете Lazarus IDE 2.0.10 и пункт меню «Выполнить \> Запустить без отладки» не работает с диалоговым окном, подобным:
459473
460474![](/wiki-images/3/32/Run_dialog_fail.png)
461475
462476затем вам необходимо исправить исходный код Lazarus 2.0.10 ([Issue \#37324](https://bugs.freepascal.org/view.php?id=37324) и [Issue \#36780](https://bugs.freepascal.org/view.php?id=36780)). В частности, исправьте `../ide/main.pp`, как показано ниже (неисправленные строки показаны первыми, исправленные строки показаны вторыми):
463477
464-` 7243,7245c7243,7245`\
465-` <     if RunAppBundle`\
466-` <         and FileExistsUTF8(Process.Executable)`\
467-` <     and FileExistsUTF8('/usr/bin/open') then`\
468-` ---`\
469-` >     if RunAppBundle then`\
470-` >     //    and FileExistsUTF8(Process.Executable)`\
471-` >     //and FileExistsUTF8('/usr/bin/open') then`
478+```text
479+ 7243,7245c7243,7245
480+ < if RunAppBundle
481+ < and FileExistsUTF8(Process.Executable)
482+ < and FileExistsUTF8('/usr/bin/open') then
483+ ---
484+ > if RunAppBundle then
485+ > // and FileExistsUTF8(Process.Executable)
486+ > //and FileExistsUTF8('/usr/bin/open') then
487+```
472488
473489и перекомпилируйте Lazarus IDE.
474490
475491Кроме того, вы можете не исправлять исходный код и просто перекомпилировать Lazarus 2.0.10 с FPC 3.0.4.
476492
477493Аналогичные действия по исправлению и перекомпиляции или просто перекомпиляции с FPC 3.0.4 необходимо выполнить для Lazarus 2.0.8, если он был скомпилирован с FPC 3.2.0.
478494
479495### Обновление с Mojave (10.14) до Catalina (10.15)
480496
481497- Выполните `sudo xcode-select --install`
482498
483499- Чтобы Lazarus мог найти файл `crt1.10.5.o`, измените в `/etc/fpc.cfg` -Fl после '#ifdef cpux86_64' с
484500
485-`-Fl/Applications/Xcode.app/Contents/Developer/Toolchain...`
501+```text
502+-Fl/Applications/Xcode.app/Contents/Developer/Toolchain...
503+```
486504
487505на
488506
489-`-Fl/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/`
507+```text
508+-Fl/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/
509+```
490510
491511### Сборка компилятора FPC, начиная с Mojave (10.14) и далее
492512
493513- Чтобы найти файл crt1.10.5.o при сборке более поздней версии Free Pascal Compiler из исходного кода, необходимо указать:
494514
495-` OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"`
515+```text
516+ OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"
517+```
496518
497519в командной строке make, потому что FPC игнорирует файл конфигурации `/etc/fpc.cfg` во время сборки.
498520
499521### ЧаВо по установке на Mac
500522
501523- См. [[Mac Installation FAQ]], чтобы узнать о решениях других распространенных проблем, которые могут возникнуть во время (и после) установки Lazarus и Free Pascal на macOS.
502524
503525## Деинсталляция Lazarus и Free Pascal
504526
505527Обратитесь к [[Uninstalling Lazarus on macOS|Удаление Lazarus в macOS]] для получения информации о вариантах удаления.
506528
507529## Устаревшая информация
508530
509531See [[Legacy Information: Installing Lazarus on Mac|Legacy Information]] for details of:
510532
511533- Installing Lazarus on Mac OS X 10.4 (Tiger), Mac OS X 10.5 (Leopard), OS X 10.8 (Mountain Lion)
512534- Installing Lazarus 2.0.8, 2.0.10 with FPC 3.2.0 for macOS 10.10 and earlier
513535- Installing Lazarus 2.0.8 with FPC 3.2.0 for macOS 10.11+
514536- Installing Lazarus on PowerPC-based Macs
515537- Old Xcode versions
516538- Installing the gdb debugger
517539- Compatibility matrix for Lazarus 1.0.0 through 1.6.4 and FPC 2.6.0 through 3.0.2.
518540
519541# См. также
520542
521543- [[Xcode]].
522544- [[Other macOS installation options]].
523545- [[Multiple Lazarus|Installing multiple Lazarus versions]].
524546- [[Portal:Mac|Mac Portal]] for an overview of development for macOS with Lazarus and Free Pascal.
525547- [[Mac Installation FAQ]] for solutions to the most frequent problems that may arise during (and after) installation of Lazarus and Free Pascal on macOS.
526548
527549# Внешние ссылки
528550
529551- [Lazarus daily development version download](https://sourceforge.net/projects/macos-lazarus-snapshots/files/intel/) (Intel x86_64)
530552- [Lazarus + FPC daily development version downloads](https://sourceforge.net/projects/macos-lazarus-snapshots/files/arm64/) (M1, ARM64, aarch64)
531553- [GIT Succinctly](https://www.syncfusion.com/succinctly-free-ebooks/git) - Free Ebook (PDF, MOBI, EPUB) from SyncFusion.
532554- [Uninstall Xcode Command Line Tools](https://mac.install.guide/commandlinetools/6.html)
533555- [Reinstall Xcode Command Line Tools](https://mac.install.guide/commandlinetools/7.html)
534556
535557---
536558*From the Free Pascal wiki, page "Installing Lazarus on macOS/ru", as it stood on 2022-07-26 after a change by Zoltanleo, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history