Меню Рубрики

Lazarus gdb mac os x

GDB on OS X Mavericks or newer and Xcode 5 or newer

This article applies to macOS only.

Contents

Overview

This page explains how to build and install gdb on macOS using #Homebrew or #Fink.

Since Mavericks 10.9, Xcode 5 no longer installs gdb by default and not globally.

For general notes about installing FPC and Lazarus see Installing Lazarus on macOS.

Homebrew

Install homebrew

Open a Terminal and install homebrew:

Here is an example output:

Install gdb

Here is an example output:

The new gdb does not run yet. You will get the error:

Follow the instructions in the #Codesigning gdb section to solve this.

Install Fink

Install a version of gdb

There is the choice between gdb with modifications of apple and more recent version of gdb without apple mods.

The first gives you /sw/bin/gdb, the second /sw/bin/fsf-gdb. You can use either of the two, but only after you have code signed them (See below).

Codesigning gdb

Follow the instructions on the gdb wiki. That page also contains troubleshooting hints.

If you installed apple-gdb via fink, there are two issues:

  1. The file /sw/bin/gdb is a script that invokes the actual gdb binary. Codesigning the script is possible, but does not achieve anything. The actual binary that you have to codesign is located at /sw/lib/apple-gdb/gdb
  2. The author of the /sw/bin/gdb script does not like the codesigning method of giving gdb permissions to debug programs (because you still have to provide an administrator password in that case), and therefore that script will still produce an error even after codesigning the gdb binary. The easiest way to work around this is to start the debugger directly using /sw/lib/apple-gdb/gdb instead.

Источник

Installing Lazarus on macOS/ru

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

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

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

Примечание: если вы устанавливаете версии Lazarus до 2.0.0, вам почти наверняка понадобится gdb, см. раздел Legacy.

Contents

Установка

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

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

Шаг 1. Загрузка Xcode.

Вам нужны инструменты Apple Developer, которые являются частью среды разработки Xcode. Они могут быть установлены с оригинальных установочных дисков MacOS или более новой копии, загруженной с Apple Developer Connection (ADC), для которой требуется бесплатная регистрация: ссылка. Загрузите файл Xcode, он окажется в вашем каталоге Downloads в виде zip-файла. На сентябрь 2017 года это Xcode_9_beta_6.xip, около 5Гб. Кликните по нему. Он разархивируется в ваш каталог Downloads. Возможно, вы будете довольны этим, а может и нет. Другие пользователи увидят путь к нему, но не смогут его использовать. И это непорядок. Поэтому я переместил мой [экземпляр] и затем сказал xcode — выбери, куда он был перемещен (в терминале) —

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

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

Начиная с macOS Mojave, вам также необходимо установить заголовочные файлы SDK:

Шаг 3 FPC, исходники FPC

Получите и установите FPC и исходники FPC. Перед установкой Lazarus необходимо установить совместимый fpc (и исходный код), у вас есть несколько вариантов.

Source Forge

Получить версию релиза можно по ссылке https://sourceforge.net/projects/lazarus/files. Эти двоичные установочные комплекты созданы разработчиками FPC/Lazarus и отслеживают формальные выпуски. Так как эти установочные комплекты не одобрены Apple, вам нужно удерживать нажатой клавишу Control, щелкнуть пакет и выбрать Open(Открыть) и подтвердить, что вы хотите установить его от неизвестного разработчика (то есть того, кто не платит Apple откат).

Для получения официальных/более подробных инструкций для FPC перейдите по адресу [1] (прим.перев.: в оригинале битая ссылка)

Вы можете применить простой и быстрый тест fpc на этом этапе: Testing_FPC_installation.

Другие параметры FPC

Вы также можете рассмотреть возможность использования fpcupdeluxe для установки fpc и, возможно, Lazarus, fpcupdeluxe

Кроме того, вы можете использовать fink, менеджер пакетов для macOS для установки fpc. Обратите внимание, что на момент написания (в начале 2019 года) fink предлагает Lazarus 1.8.4, и в целом он согласен с тем, что требуются версии более поздние, чем 2.0.0 (т.е. не выпускаемые), поэтому, вероятно, они не подходят для разработки Cocoa. Дополнительным бонусом fink является простота установки, а также чистое удаление огромного количества других пакетов программного обеспечения с открытым исходным кодом, включая FreePascal crosscompilers для многих процессоров и систем. Выбор для lazarus — Carbon’ный вид lazarus (предпочитаемый большинством), gtk2, Qt4 и Qt5:

Вам будет задан вопрос, устанавливать ли ряд зависимостей, включая компилятор FreePascal, исходные коды lazarus. Просто нажмите Enter и сразу же идите пить кофе. Сборка всех пакетов может занять некоторое время, особенно на старых Mac.

После установки Lazarus можно запустить из папки /Applications/Fink/. Фактические детали fpc и lazarus находятся в подкаталогах /sw

Для любого пакета lazarus от fink эти наборы виджетов поддерживаются для вашей программы в macOS: carbon (Aqua), gtk2, qt4 (Aqua), qt5 (Aqua), nogui, win32, win64 и wince.

Если вы установите fpc из fink, у вас все получится, скачав исходный код Lazarus и скомпилировав его, как описано ниже. Однако, возможно, не стоит смешивать fink fpc с установкой бинарников Lazarus от sourceforge.

Установка Lazarus

На момент написания статьи (начало 2019 года) существует ряд причин, по которым вам может быть лучше использовать еще не выпущенную версию Lazarus, а именно fixes_2_0. Особенности —

  • Вам почти наверняка понадобится Cocoa, скорее всего, следующая версия MacOSX не будет поддерживать 32-битный Carbon.
  • Вы почти наверняка захотите использовать lldb вместо gdb — гораздо проще установить.
  • Cocoa постоянно улучшается, и интерфейс lldb быстро улучшается, начиная с 2.0.0.
  • Fixes_2_0 безопаснее и стабильнее, чем trunk, но получает новые вещи намного быстрее, чем release версия.

Предварительно скомпилированные двоичные файлы, основанные на fixes_2_0, недоступны в SourceForge, но их можно получить из fpcupdeluxe. Но здесь мы обсудим загрузку исходного кода и сборку. Немного медленный изначально, но очень надежный и отличный тест установки вашего компилятора! Вам понадобится svn (он не был предварительно установлен на ранних версиях MacOS, используйте brew или fink для установки).

  • Примечание. Я передаю параметр для использования каталога конфигурации, основанного на имени фактического каталога установки. Это делает некоторые сценарии легкими.
  • В настоящее время также вполне возможно (и, возможно, безопаснее на ощупь) создать 32-битную Carbon Lazarus IDE и использовать ее для создания 64-битных приложений Cocoa. Замените упомянутую выше строку на «make LCL_PLATFORM=carbon CPU_TARGET=i386 bigide » и настройте свой проект, как указано в разделе Carbon и Cocoa ниже.

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

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

В версиях 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)).

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

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

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 выключится и перезапустится, и все должно быть хорошо. Теперь вернитесь на страницу и продолжите настройку отладчика.

Совместимость

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

Lazarus Compatibility Matrix

Lazarus 1.6.0 Lazarus 1.6.2 Lazarus 1.6.4 Lazarus 1.8.x Lazarus 2.0.y Lazarus 2.0.8 Lazarus 2.0.10
FPC 3.0.0 FPC 3.0.2 FPC 3.0.4 FPC 3.2.0
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 Not tested Not tested 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 Not tested Not tested Not tested Compatible^ Not tested Compatible^**†
Mac OS X 10.6 (Snow Leopard) Compatible Compatible Compatible Compatible Compatible* Not tested Not tested
Mac OS X 10.7 (Lion) Compatible Compatible Compatible Compatible 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* Compatible Compatible**† Compatible**†
OS X 10.10 (Yosemite) Compatible* Compatible* Compatible* Compatible* Compatible Compatible**† Compatible**†
OS X 10.11 (El Capitan) Compatible* Compatible* Compatible* Compatible* Compatible Compatible***† Compatible†
macOS 10.12 (Sierra) Compatible* Compatible* Compatible* Compatible* Compatible Compatible***† Compatible†
macOS 10.13 (High Sierra) Not tested Not tested Compatible Not tested Compatible Compatible***† Compatible†
macOS 10.14 (Mojave) Not tested Not tested Not tested Not tested Compatible Compatible***† Compatible†
macOS 10.15 (Catalina) Not tested Not tested Not tested Not tested Compatible Compatible***† Compatible†
macOS 11.0 (Big Sur Dev Beta 2) Not tested Not tested Not tested Not tested Compatible Compatible***† Compatible†

^ Carbon interface compiles — Cocoa does not.

* Restrictions apply to debugging with gdb.

# Cannot run with/without debugging in the IDE. Can run compiled application outside of the IDE. See Issue #37324

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

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

Carbon и Cocoa

В настоящее время (начало 2019 года) Lazarus, использующий Cocoa, удовлетворит потребности многих пользователей. Carbon работает почти так же, как и ожидалось, но вам рекомендуется сначала попробовать Cocoa, особенно если учесть, что Apple указала релизы после того, как Mojave не будет поддерживать 32bit Carbon. Альтернативы включают QT и GTK2 +, которые требуют дополнительных библиотек, и GTK2 + на Mac, кажется, привлекают мало внимания в эти дни. У QT на Mac есть несколько сильных сторонников на форуме.

Однако, мы должны предполагать, что Cocoa — это будущее Mac. Возможно собрать версию Lazarus Cocoa на релизе 2.0.0 и выше. Можно также сделать сборку Lazarus для Carbon и использовать ее для создания 64-битных двоичных файлов Cocoa. В Carbon IDE вам нужно установить цель для 64-битного процессора и указать набор виджетов Cocoa:

  • Откройте свой проект с помощью Lazarus и нажмите Project/ProjectOptions
  • На панели «Config and Target»(Конфигурация и цель) установите для «Target CPU family»(Семейство целевых процессоров) значение «x86_64».
  • На панели «Additions and Overrides»(Дополнения и переопределения) нажмите «Set LCLWidgetType»(Задать LCLWidgetType) и установите значение «Cocoa»
  • Раньше по какой-то причине Lazarus постоянно устанавливал компилятор в «/usr/local/bin/ppc386», что приводило к [созданию] 32-битных приложений. Убедитесь, что в меню Tools(Сервис)->Options(Параметры) для «Compiler Executable»(Исполняемый файл компилятора) установлено значение «/usr/local/bin/fpc», чтобы получить 64-разрядные приложения.
  • Теперь скомпилируйте ваш проект — и, пожалуйста, сообщите о любых проблемах, с которыми вы столкнулись.

Загрузка исходников через svn

Исходники хранятся в системе управления версиями, которая называется subversion, или коротко svn:

  • [macOS] 10.5 и выше уже содержат клиентов SVN. Пользователи более ранних версий должны установить SVN для macOS. Вы также можете использовать Fink. Клиенты SVN с графическим интерфейсом пользователя (GUI) доступны на Versiontracker. Довольно удобным клиентом, который интегрируется в Finder, является SCPlugin.

Создайте каталог, куда вы хотели бы поместить исходники. Для этого вам не нужно быть пользователем root. Это может сделать любой обычный пользователь. Сначала создайте каталог для fpc (например, /Users/username/freepascal), затем откройте терминал и выполните следующие действия:

Это создаст каталог с именем ‘fpc’, который впоследствии можно будет использовать в IDE. Подсказка: чтобы загрузить/обновить последние изменения, вы можете просто сделать

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Layout для mac os
  • Launchpad в mac os это
  • Launcher для windows 7 mac os
  • Latex для mac os
  • Latex for mac os