Как обновить lazarus linux

Обновлено: 02.07.2024

Довольно часто наше нежелание разбираться в вопросе и уверенность в собственной логике рождает неверные предположения. Эти предположения, высказанные как утверждения на публичной площадке, могут прочно осесть в чужих головах и сформировать ложные отрицательные представления.

Утверждение: Размер исполняемых файлов оставляет желать лучшего. Виноват компилятор, компоновщик и др.

Некоторую информацию по данной теме можно получить на wiki-странице.


Итак, основная составляющая размера исполняемого файла — отладочная информация. Отладочную информацию добавляет компилятор FPC когда ему передан ключ "-g". FPC может генерировать 2 вида отладочной информации: устаревший stabs и современный dwarf (версии 2 или 3), что также определяется переданными компилятору ключами. Оба вида отладочной информации понимаются отладчиком gdb. В Lazarus включить/выключить отладочную информацию, а также определить ее вид можно на закладке «Компоновка» в параметрах проекта:

Если вы собираете проект под Windows или Linux, можно сформировать внешний файл отладочных символов. В этом случае в исполняемый файл отладочная информация добавляться не будет, а вместо нее будет помещена ссылка на внешний отладочный файл.

Исключение отладочной информации уменьшает размер пустого проекта с формой с 20Мб до 1,6Мб на Windows. Но, 1,6Мб тоже больше чем 300Кб, который выдавал Delphi 7 (Delphi XE, к примеру, уже выдает значительно больше из-за распухания RTTI). Дело тут не в компиляторе и не в компоновщике, которые делают свою работу верно, а все дело в LCL.

LCL — Lazarus Component Library архитектурно состоит их двух частей: фронтэнда — платформонезависимой библиотеки классов для разработчиков приложений (TForm, TButton, TLabel, . ) и бэкэнда — части отвечающей за реализацию этих компонент под конкретную платформу (win32, qt, gtk2, . ). При начальной реализации бэкэндов никто особо не задумывался о размере исполняемых файлов и писал общие методы, в которых обращался ко всем классам фронтэнда.

Например, следующий код из модуля lcl\interfaces\win32\win32proc.pp тянет в исполняемый файл классы TCustomGroupBox, TCustomTabControl, даже если вы их нигде не используете:
if (TheWinControl is TCustomGroupBox) then
begin
.
end else
if TheWinControl is TCustomTabControl then
begin
.
end;

Решить эту проблему может рефакторинг, но он требует значительных усилий и времени, которые в условиях нехватки рук возможно лучше потратить на решение других проблем. Надо сказать, что определенные усилия в этом направлении были приложены 2 или 3 года назад, что позволило сократить размер пустого проекта с формой на 300Кб.

Утверждение: Lazarus ставил однажды в Windows, и запомнилось, что даже простейшая программа с окном и кнопкой компилируется ооочень долго.

Проблема была, когда FPC использовал GNU компоновщик для Windows. Но, в FPC 2.2 (а сейчас Lazarus использует FPC 2.6) проблема была устранена разработкой встроенного компоновщика для Windows. Кроме того, на тот момент компоновщик GNU не умел собирать под платформу Win64, что тоже послужило толчком к разработке собственного встроенного компоновщика. Надо заметить, что под Linux и Darwin таких проблем со скоростью сборки не было и нет (и как следствие до сих пор нет и собственного компоновщика под эти платформы).

Сейчас сборка и запуск пустого проекта с формой на моей машине занимает не более 2х секунд.

Вопрос: Здорово, если в Lazarus появится нормальный докинг, как в Delphi 2006, к примеру. Сильно повысит удобство интерфейса. Хотя, может быть, он там уже есть?

Докинг можно включить сборкой дополнительного пакета, но это делать не рекомендуется, так как пока присутствует ряд нерешенных проблем. К версии 1.2 докинг будет готов и скорее всего сразу встроен в среду.

Утверждение: «Mac OS X: 10.4, LCL только 32bit, не-LCL могут быть 64bit». Да уж, впечатляет.

Во-первых, имеется в виду, что Lazarus собирает проекты под Mac OS X не ниже версии 10.4. То есть поддерживаются и 10.5 и 10.6 и 10.7 и 10.8 (на которой у меня сейчас запущен Lazarus). LCL проекты могут быть только 32бит.

Это связано с тем, что на Max OS X существуют 2 основные системные библиотеки: carbon и cocoa. Carbon появилась первой и представляла собой библиотеку функций. Не было никаких проблем начать строить на ее основе LCL бэкэнд, что и было сделано. После Apple представил еще одну библиотеку cocoa, которая вместо функций содержит классы Objective-C. Позже Apple объявил, что не будет делать библиотеку carbon 64 разрядной, и вообще новые приложения надо разрабатывать только под cocoa.

Для взаимодействия с Objective-C классами в FPC был добавлен диалект, получивший название Objective-Pascal. В Lazarus был также добавлен бэкэнд для cocoa, но он в настоящее время находится в стадии ранней разработки. Возможно (я приложу к этому усилия), к версии 1.2 он будет на уровне бэкэнда под gtk2 и qt.

Перед этим fpc 3.0.4 и lazarus 2.0.6 работали идеально.

Не устанавливается Linux Mint 17.1
Проблема такая,загрузился с LiveCD,система видит мой винчестер но при установке,когда дело доходит.


Не устанавливается Mint Linux 19.2
Всем доброго времени суток. Записал флешку с Mint Linux 19.2 при помощи Rufus (Пробовал писать и.


Linux Mint 17.2 не устанавливается драйвер Wi-Fi
Здравствуйте форумчане. Вот решился на освоение Линукса,установил его на ноут Fujitsu-Siemens Amilo.

Не устанавливается 1С Битрикс на Linux Mint 16
Здравствуйте. Пытаюсь установить Битрикс на Linux Mint Cinnamon 16. Скачал bitrix-env.sh по.

Решение

, и только потом заново устанавливать пакеты fpc-laz, fpc-src, lazarus-project.

Добавлено через 19 минут
Запустил через терминал, заработало как положено.

А вот это уже непонятно. Я упоминание о такой ошибке видел только один раз, на официальном форуме Лазаруса. У себя на трех машинах (Debian 10 Buster 32/64 bit + Xfce) обновил Лазарус без подобной проблемы, все проекты нормально компилируются. В этом Mint-е часом новомодный Wayland не присутствует? Вот. Я так и знал, что с ним будут проблемы Надо у разработчиков поспрашивать.

Не устанавливается Linux Mint 18.3 Cinnamon
Доброго всем времени суток! Пожалуйста не кидайте тапками,потому как о Linux только слышал,но.

Не устанавливается Joomla на XAMPP в Linux Mint
в папке htdocs создал папку joom и распаковал туда joomlu 2.5 набираю в адрессной строке.


Не устанавливается windows 10 после linux mint
Здравствуйте. На ноуте некоторое время был установлен linux mint. Теперь нужен windows 10. Пытаюсь.

Linux Mint 19 Cinnamon обновление версии ядра ?
Здравствуйте! Переустановил ос Linux Mint 19 Cinnamon ранее использовал Linux Mint 18.3 Cinnamon.

Установить KDE Plasma последней версии по умолчанию на Linux Mint
Здравствуйте. Как установить полноценную последнюю версию KDE Plasma в Linux Mint и сделать ее по.

Linux mint Dell Inspiron 3464 расширение экрана не устанавливается
Всем привет! Вот купил моноблок Dell Inspiron 3464. Установил Linux mint. Но разширение экрана.

Для тех, кто помнит и скучает по Delphi, 16 апреля тихо и незаметно вышел багфикс релиз lazarus 2.0.8. Он собран в паре с fpc 3.0.4, как и предыдущий релиз. Релиз с fpc 3.2 будет, как только будет готов сам fpc 3.2. Багфиксы в основном касаются mac os, также обновлены переводы.


Ну прекрасно же, замечательный, чистый и логичный язык, вот бы чему молодёжь учить, а не этим жабаскриптам нещасным.

И память не жрет как этот электрон

Для тех, кто помнит и скучает по Delphi

Эмбаркадеро протестует. 10 версия Дельфи вас ждёт. Теперь вы можете кодить для Андроидов.

замечательный, чистый и логичный язык

Visual Basic 6.0


Тебе в жопу linux)

Да?! Любой Васян с VB6.0 разберется, но никак не с Delphi 7


Тогда ему надо в дворники или в ассенизаторы - у нас в Говнософте есть вакансии DELIRIUM

Не вижу логики. Тогда пиши сразу на ASM


Т.е. ты к нам ассенизаторы идти не хочешь?


Багфиксы в основном касаются mac os, также обновлены переводы.

Хорошо, не буду обновляться

Все таки как не было ничего лучше Pascal для начального обучения программированию, так и нет. Вирт гений. Начинать учить программировать на C++ так же глупо, как пытаться в наше время городить большой, новый, сложный, глобальный проект на Pascal. А Lasarus сильно облегчает использование Pascal в обучении.

Capsid ( 21.04.20 11:25:55 )
Последнее исправление: Capsid 21.04.20 11:26:46 (всего исправлений: 1)


Да?! Любой Васян с VB6.0 разберется

Я не разобрался. Слишком сложно после хачкеллов с лишпами :(


Ну глобальный может и не надо, а вот наформошлёпить GUI вокруг функционального/вычислительного ядра - это почему бы и нет. Lazarus для этого вполне пригоден.


Для загробного мира нормальная практика.

Чем силен Lazarus это интеграцией, компилятор, среда отладки и прочее в одном наборе.

Есть еще Qt creator, но там есть нюансы с лицензией qt

Ну и огромный плюс это маложрущий память бинарник, который мало растет с увеличением функционала программы

в OpenBSD сначала lazarus сломался, а потом и fpc

непокомпилить теперь в openbsd :(


оторый мало растет с увеличением функционала программы

Просто он жирный изначально.

Бинарник включает в себя библиотеку компонентов. Но по нынешним меркам все равно размер маленький

Сейчас посмотрел в режиме релиза - 7 мегабайт exe, в памяти 15 мегабайт (это с ZeosDBO). И с ростом функционала так будет и оставаться, библиотеки уже там

В холостом режиме 3 мегабайта и 10 в памяти

Я делал большой проект на нем, один exe раскидать на все машины юзеров весьма удобно

ism ★★★ ( 21.04.20 13:05:02 )
Последнее исправление: ism 21.04.20 13:09:33 (всего исправлений: 2)


Да абсолютно согласен, и он лучше подходит чем С и даже C++ для большинства задач. IMHO

Недавно ставил Лазарус, игрался, странное ощущение схожести с Python все эти автодополнения после . , отступы и так далее

почему сложный и глобальный на паскале глупо?


Можно оптимизировать ключи сборки, не помню сколько точно, но, допустим чистое окно

15-17мб, после «ключей» сборки, до 5 метров

на стаковерфлой не найдешь спасительной копипасты прост


слинкуй glibc статически

да, первая буква и там и там P


тогда для приложения вообще весь toolchain таскать нужно, чтобы не зависеть от системного (поддержка всяких centos6 при использовании новых фич компилятора и прочего), с чем и поздравляю.

По ссылке никак не разъясняется почему это теперь невозможно.

grem ★★★★★ ( 21.04.20 13:34:24 )
Последнее исправление: grem 21.04.20 13:48:38 (всего исправлений: 1)


Обращайте внимание на специалистов, которые стараются разобраться в новых технологиях, языках и программах. Тогда вы не получите продукт, работающий на морально устаревшем ПО или рассчитанный исключительно на старое «железо».

Все кто выше и ниже – разработчики исключительно под старое железо!


Тогда вы не получите продукт, работающий на морально устаревшем ПО или рассчитанный исключительно на старое «железо».

Исключает ли это возможность получить продукт, который работает только на самом новом ПО и исключительно на самом новом железе?


Добавили снапшоты с fpc3.2 для linux, а когда я писал, то было выложено только для windows


Дед, зачем ты опять из кровати вылез, тебе врачи отдыхать сказали.




Обращайте внимание на специалистов, которые стараются разобраться в новых технологиях, языках и программах. Тогда вы не получите продукт, работающий на морально устаревшем ПО или рассчитанный исключительно на старое «железо».

Вылизанный легаси код на C++ используется и в новом софте и на новом железе. Сишка как использовалась в Линукс, так и используется, и будет работать на новом железе. Вышеозвученный тезис может быть верен для каких-нибудь стартапов или или больших корпораций, которые могут себе позволить выкидывать деньги на экспериментальные проектики (а давайте вот с этим язычком поиграемся, есть у нас подходящие гики?), но в общем случае тезис ошибочный.

Из моего опыта работы в 10-11 классах по профилю. (Учебник информатики 11 класса, автор Семакин И. Г). Так как информатика в 11 классе изучается на примере ЯПВУ Delphi, а в кабинете информатики установлена ОС Linux (Ubuntu 16.04), то пришлось искать альтернативу Delphi. Идеальным вариантом оказался ЯПВУ Lazarus. Первым опытом работы в Lazarus я и решил поделиться на страницах своего сайта. Было бы очень хорошо, если бы все, кто заинтересовался моим опытом, поделились своим мнением и замечаниями. Спасибо.

Перейти на страницу с проектами в Lazarus.

Lazarus.

sru_desktop-lazarus

Lazarus — это специальная программа с интегрированной (свободной) средой для разработки на основе компилятора Free Pascal. Lazarus — программа с полностью открытым исходным кодом, которая направлена на обеспечение библиотек класса Free Pascal. FP — компилятор интегрированной среды разработки соответствует образцу программе Borland — Delphi — и библиотеки Лазарус, которые эквивалентны VCL. Она смоделирована на Delphi и позволяет импортировать проекты, выполненные в Delphi.

Основные Возможности

Работает на многих платформах
Открытый исходный код для создания любых проектов
Возможность использовать 200 компонентов
Внедрении необходимых компонентов через пакет файлов
Возможность использовать программу для коммерческих целей

Установка Lazarus на Ubuntu

Ставить Lazarus + Fpc лучше из репозитория сообщества freepascal так как основные репозитории Ubuntu обновляются реже и могут включать в себя не все пакеты.

Установка ключа

Для подключения дополнительного репозитория сначала необходимо установить ключ. По этому ключу репозиторий будет опознан системой. (Что бы злобные хакеры не подсунули вредоносные пакеты 😉 )

Читайте также: