LINUX.ORG.RU

Не запускается Lazarus в Gentoo

 ,


0

1

Установил Lazarus. Но при попытке его выполнить получаю вот такое:

$ lazarus

(process:8179): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(process:8179): GLib-CRITICAL **: g_log_remove_handler: assertion 'handler_id > 0' failed
[FORMS.PP] ExceptionOccurred 
  Sender=EAccessViolation
  Exception=Access violation
  Stack trace:
  $B767ABCF
TApplication.HandleException Access violation
  Stack trace:
  $B767ABCF
[FORMS.PP] ExceptionOccurred

Как побороть?

emerge --info тут.

emerge -pv @installed тут.

/etc/portage/make.conf тут.

Мне в своё время удалось от этого избавиться, собрав dev-libs/glib из тестовой ветки (~x86) - 2.46.2
Правда, в процессе экспериментов я и сам lazarus поставил (~)1.2.6, так что поможет ли это с 1.0.12, сказать не могу.

ABW ★★★★★
()
Ответ на: комментарий от ABW

Ничего не получилось.

Пересобрал glib и Lazarus, но всё равно не работает.

/etc/portage/ сейчас такой как тут.

emerge --info тут.

emerge -pv @installed тут.

Lazarus не запускается.

Пишет:

$ lazarus
is a file
[FORMS.PP] ExceptionOccurred 
  Sender=EAccessViolation
  Exception=Access violation
  Stack trace:
  $B6D79714
TApplication.HandleException Access violation
  Stack trace:
  $B6D79714
[FORMS.PP] ExceptionOccurred 
An unhandled exception occurred at $B709157A :
EAccessViolation : Access violation
  $B709157A
  $B709C38F

Пробовал менять версию fpc. Тоже Exception.

user0xff
() автор топика
Ответ на: комментарий от user0xff

Я тут у себя обнаружил, что у меня выставлены в (~86) ещё и gobject-introspection и gobject-introspection-common.
Вообще-то я не уверен, что всё это теперь имеет отношение к твоей проблеме, потому что я ставил такой же гладкособирающийся и незапускающийся lazarus несколько лет назад, а поднимать версии пробовал после того, как прогнав запуск под ltrace (не strace!) увидел, что там попросту segfault возникает где-то в глубоко глубинных глубинах инициализации gtk, что собственно lazarus воспринимает как неисполнение assert-а.
Но сразу после этого я lazarus пересобрал c qt4 и больше к этой проблеме не возвращался (и не собираюсь), а версии gtk...glib...gobject-... с тех пор не раз менялись.
Если захочешь попробовать с qt, могу подкинуть пропатченный под это дело dev-lang/lazarus/lazarus-1.2.6.ebuild и dev-qt/qt4pas/qt4pas-2.5.ebuild для локального оверлея (на gpo.zugania.org ничего не нашёл). Впрочем, собирал я это почти два года назад и проверять, работает ли сейчас, почему-то не очень хочется.

ABW ★★★★★
()
Ответ на: комментарий от ABW

Я решил собрать gentoo (x86), что называется с нуля.

В ней только профиль Desktop, установлен xorg-server и lazarus.

В новой сборке я glib не пересобирал и версии нигде и ни в чём менять не стал.

Lazarus запускается с Exception.

Как его собрать с Qt? В общем, если можешь, давай ebuild-ы какие есть.

user0xff
() автор топика
Ответ на: комментарий от Deleted

Уже.

Но для начала хотелось бы увидеть ebuild-ы, пусть даже двух-годичной давности.

А вообще звучит прикольно: «Если хочешь в Gentoo - смотри сначала как это делают в ArchLinux»)

user0xff
() автор топика

в генте версия лазаруса протухла, сейчас актуальная 1.4.4

anonymous
()

Поставил Lazarus с Qt. Всё работает.

Для сборки Lazarus с Qt его нужно собирать с LCL_PLATFORM=qt вместо LCL_PLATFORM=gtk2.

Ну и наличие qt4pas в системе обязательно.

Собственно всё. Тему можно считать закрытой. Спасибо всем кто откликнулся.

user0xff
() автор топика
Ответ на: комментарий от ABW

Спасибо за ebuild. Я тоже примерно так сделал.

Про -O3 знаю. Рассказывают конечно. Но вот если Gentoo и -O2 - то это даже как-то обидно)

Может как нибудь попробую Lazarus, gtk2 и -O2.

user0xff
() автор топика
Ответ на: комментарий от Deleted

И не только) Больше Lazarus.

А до Gentoo был Arch. Точнее и сейчас есть. Там в lazarus-qt всё хорошо. А вот в lazarus-gtk в редакторе постоянно пропадает курсор. Почему не понятно. И много других глюков ещё есть. Но это Arch.

user0xff
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.