gconf2 (как же оно достало..)

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

Аватара пользователя
ipse
Сообщения: 133
ОС: FreeBSD 6.0

gconf2

Сообщение ipse »

Когда ставлю сабж перестают работать firefox, mozilla и thunderbird.
Когда удаляю, firefox, mozilla и thunderbird начинают работать, но перестают работать anjuta и ogmrip.
Как разрулить конфликт? Уже инет рою 2 месяца по этой теме, никак разобраться не могу..
хэндбук ниасилил...
Спасибо сказали:
Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: gconf2

Сообщение polachok »

чего в логах-то?
И немедленно выпил.
Спасибо сказали:
Аватара пользователя
ipse
Сообщения: 133
ОС: FreeBSD 6.0

Re: gconf2

Сообщение ipse »

При запуске firefox, mozilla или thunderbird с установленным gconf2, примерно следующее:

Код: Выделить всё

(Gecko:42350): GLib-GObject-WARNING **: cannot register existing type `GConfClient'

(Gecko:42350): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed

(Gecko:42350): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed
Segmentation fault (core dumped)
хэндбук ниасилил...
Спасибо сказали:
Аватара пользователя
arachnid
Модератор
Сообщения: 1099
ОС: freeBSD

Re: gconf2

Сообщение arachnid »

ipse писал(а):
16.10.2006 01:48
При запуске firefox, mozilla или thunderbird с установленным gconf2, примерно следующее:

Код: Выделить всё

(Gecko:42350): GLib-GObject-WARNING **: cannot register existing type `GConfClient'

(Gecko:42350): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed

(Gecko:42350): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed
Segmentation fault (core dumped)


никаких траблов при этом всем установленном...
а как ставился гном? или ставились только отдельные пакеты?
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
Спасибо сказали:
Аватара пользователя
ipse
Сообщения: 133
ОС: FreeBSD 6.0

Re: gconf2

Сообщение ipse »

Gnom уже давно не работает.
Все это началось после апгрейда не помню чего, но это что-то потребовало gconf2.
хэндбук ниасилил...
Спасибо сказали:
Аватара пользователя
soko1
Сообщения: 265
Статус: лесной бздшник
ОС: freebsd7

Re: gconf2

Сообщение soko1 »

ipse писал(а):
16.10.2006 18:51
Gnom уже давно не работает.
Все это началось после апгрейда не помню чего, но это что-то потребовало gconf2.

Просмотрев рассылку gnome я заметил что они что-то там наисправляли в функции g_object_new, после чего почти все гномовские приложения (gnumeric, firefox, etc...) падают...
Но странно то, что изменения то сделали в Glib, а проблемы у вас с gconf2=)
Спасибо сказали:
Аватара пользователя
ipse
Сообщения: 133
ОС: FreeBSD 6.0

Re: gconf2

Сообщение ipse »

Обновлял. А откатить никак, ogmrip именно эту версию требует.
Как я понял firefox итд пытаются зарегистрировать класс (вроде так) который уже зарегистрирован этим gconf. Может его переименовать как-то?
хэндбук ниасилил...
Спасибо сказали:
Аватара пользователя
soko1
Сообщения: 265
Статус: лесной бздшник
ОС: freebsd7

Re: gconf2

Сообщение soko1 »

ipse писал(а):
16.10.2006 19:43
Обновлял. А откатить никак, ogmrip именно эту версию требует.
Как я понял firefox итд пытаются зарегистрировать класс (вроде так) который уже зарегистрирован этим gconf. Может его переименовать как-то?

Ну grep'аніте по сырцам gconf'а...ілі помочь?
Спасибо сказали:
Аватара пользователя
ipse
Сообщения: 133
ОС: FreeBSD 6.0

Re: gconf2

Сообщение ipse »

Я не шарю в сях и прочем, лучше помочь.
хэндбук ниасилил...
Спасибо сказали:
Аватара пользователя
soko1
Сообщения: 265
Статус: лесной бздшник
ОС: freebsd7

Re: gconf2

Сообщение soko1 »

ipse писал(а):
16.10.2006 20:06
Я не шарю в сях и прочем, лучше помочь.

Код: Выделить всё

diff -ru GConf-2.14.0.orig/gconf/gconf-client.c GConf-2.14.0/gconf/gconf-client.c
--- GConf-2.14.0.orig/gconf/gconf-client.c    Mon Oct 16 19:11:23 2006
+++ GConf-2.14.0/gconf/gconf-client.c    Mon Oct 16 19:12:54 2006
@@ -434,14 +434,14 @@
   if (client)
     {
       g_assert (client->engine == engine);
-      g_object_ref (G_OBJECT (client));
+      g_object_ref_ (G_OBJECT (client));
       gconf_engine_unref (engine);
       return client;
     }
   else
     {
-      client = g_object_new (gconf_client_get_type (), NULL);
-      g_object_ref (G_OBJECT (client));
+      client = g_object_new_ (gconf_client_get_type (), NULL);
+      g_object_ref_ (G_OBJECT (client));
       set_engine (client, engine);
       register_client (client);
     }
@@ -460,12 +460,12 @@
   if (client)
     {
       g_assert (client->engine == engine);
-      g_object_ref (G_OBJECT (client));
+      g_object_ref_ (G_OBJECT (client));
       return client;
     }
   else
     {
-      client = g_object_new (gconf_client_get_type (), NULL);
+      client = g_object_new_ (gconf_client_get_type (), NULL);

       set_engine (client, engine);

@@ -2093,7 +2093,7 @@
   /* Because the commit could have lots of side
      effects, this makes it safer */
   gconf_change_set_ref(cs);
-  g_object_ref(G_OBJECT(client));
+  g_object_ref_(G_OBJECT(client));

   gconf_change_set_foreach(cs, commit_foreach, &cd);

@@ -2188,7 +2188,7 @@
   /* we're emitting signals and such, avoid
      nasty side effects with these.
   */
-  g_object_ref(G_OBJECT(rd.client));
+  g_object_ref_(G_OBJECT(rd.client));
   gconf_change_set_ref(cs);

   gconf_change_set_foreach(cs, revert_foreach, &rd);
@@ -2388,7 +2388,7 @@
 notify_one_entry (GConfClient *client,
                   GConfEntry  *entry)
 {
-  g_object_ref (G_OBJECT (client));
+  g_object_ref_ (G_OBJECT (client));
   gconf_entry_ref (entry);

   /* Emit the value_changed signal before notifying specific listeners;

Но это прокатит только в том случае, если:
1. проблема именно в функциях, название которых я поменял
2. если они не вызываются непосредственно из Glib (нет просто времени разбираться откуда они)...
Попробуйте, если не прокатит - будем рыть дальше.

Применять так (если версия чуть отличается - не страшно):
%cd GConf-2.14.0 && cat ../diff | patch -p1
Спасибо сказали:
Аватара пользователя
soko1
Сообщения: 265
Статус: лесной бздшник
ОС: freebsd7

Re: gconf2

Сообщение soko1 »

Не прокатит мой патч, т.к. я не обратил внимание на сообщение об ошибке...она возникает в Glib при попытке повторно зарегистрировать уже существующий тип GConfClient. Видимо используется старая библиотека GConf. Все скомпилированно с учетом старой библиотеки, отсюда следует, что необходимо либо откатиться на старую, либо пересобрать имеющиеся компоненты (firefox, gnumeric, thunderbird...).
Спасибо сказали:
Аватара пользователя
ipse
Сообщения: 133
ОС: FreeBSD 6.0

Re: gconf2

Сообщение ipse »

.она возникает в Glib при попытке повторно зарегистрировать уже существующий тип GConfClient.

Вот на эту инфу я я нарывался в инете когда искал по этой проблеме.

Пересобирал все, причем так
portupgrade -rR firefox
не помогло..
хэндбук ниасилил...
Спасибо сказали:
Аватара пользователя
ipse
Сообщения: 133
ОС: FreeBSD 6.0

Re: gconf2

Сообщение ipse »

Ни у кого больше мыслей нет?
хэндбук ниасилил...
Спасибо сказали:
Аватара пользователя
soko1
Сообщения: 265
Статус: лесной бздшник
ОС: freebsd7

Re: gconf2

Сообщение soko1 »

ipse писал(а):
17.10.2006 14:06
Ни у кого больше мыслей нет?

Еще проблема может быть в том, что на более новые/старые библиотеки стоят сим-линки, вроде:
ln -s /usr/X11R6/lib/libgnome-desktop-2.so.1 /usr/X11R6/lib/libgnome-desktop-2.so.2
тогда установка из портов (либо pkg_add) не перезаписывает эти файлы...А вот как их найти...можно конечно просмотреть в портах файлики pkg-plist и потом сделать соотв. поиск по find /usr/X11R6/lib/* -type l
но это долго.
Спасибо сказали:
Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: gconf2

Сообщение polachok »

rm -rf /usr/local
rm -rf /usr/X11R6
rm -rf /var/db/pkg
или удалить все пакеты find /var/db/pkg -exec pkg_del {} \;

даже не знаю что еще посоветовать... portupgrade -rRf gconf2
И немедленно выпил.
Спасибо сказали:
Аватара пользователя
ipse
Сообщения: 133
ОС: FreeBSD 6.0

Re: gconf2

Сообщение ipse »

Ужос вы советуете уважаемый. А может сразу portupgrade -a на моем инет канале 64k? Или лучше rm -rf / ?
У меня сотни прог стоят, система уже обжитая и налаженная, на апгрейд и сборку в сумме ушло 25GB траффа и около 160 часов..
хэндбук ниасилил...
Спасибо сказали:
Аватара пользователя
soko1
Сообщения: 265
Статус: лесной бздшник
ОС: freebsd7

Re: gconf2

Сообщение soko1 »

polachok писал(а):
17.10.2006 22:42
rm -rf /usr/local
rm -rf /usr/X11R6
rm -rf /var/db/pkg
или удалить все пакеты find /var/db/pkg -exec pkg_del {} \;

даже не знаю что еще посоветовать... portupgrade -rRf gconf2

Перед этим настоятельно рекомендую сделать бэкап X11R6/etc и local/etc, дабы потом не восстанавливать кучу конфигов:)

ipse писал(а):
17.10.2006 22:49
Ужос вы советуете уважаемый. А может сразу portupgrade -a на моем инет канале 64k? Или лучше rm -rf / ?
У меня сотни прог стоят, система уже обжитая и налаженная, на апгрейд и сборку в сумме ушло 25GB траффа и около 160 часов..

Вот поэтому-то я и не обновляю distfiles/ports - работает и пусть себе работает...
И всеже, я бы попробовал снести все gnome'вское чудо и собрать заново...
Спасибо сказали:
Аватара пользователя
ipse
Сообщения: 133
ОС: FreeBSD 6.0

Re: gconf2

Сообщение ipse »

Все снести и поставить заново, какой-то оффтопичный метод.. При чем я не уверен что это не приведет к новым багам. Попробую поискать старые не перезаписанные файлы, а так же проапгрейдить gconf2 со всеми возможными зависимостями.
хэндбук ниасилил...
Спасибо сказали:
Аватара пользователя
fonya
Сообщения: 203
ОС: linux

Re: gconf2

Сообщение fonya »

ipse писал(а):
18.10.2006 17:18
Все снести и поставить заново, какой-то оффтопичный метод.. При чем я не уверен что это не приведет к новым багам. Попробую поискать старые не перезаписанные файлы, а так же проапгрейдить gconf2 со всеми возможными зависимостями.

А у вас случайно такая тема "/usr/ports/x11-themes/baghira" в KDE
не стоит.У меня с ней почему-то firefox падает сразу?
Я не волшебник,я только учусь,но дружба помогает делать настоящие чудеса!
Особенно в *nix.
Спасибо сказали:
Аватара пользователя
ipse
Сообщения: 133
ОС: FreeBSD 6.0

Re: gconf2

Сообщение ipse »

Нет, тема стандартная, керамик. Но иконки не от нее, оформление окон тоже не от нее, полупрозрачное. То есть тема то стоит, но полностью перестроенная :)
хэндбук ниасилил...
Спасибо сказали:
Аватара пользователя
ipse
Сообщения: 133
ОС: FreeBSD 6.0

Re: gconf2

Сообщение ipse »

portupgrade -rRf gconf2

Часов 8 терпел, но когда потянуло сорцы опенофиса я не удержался, начал судорожно жать ^C..
Но вроде помогло.. Проверю после ребута.

Помогло. Всем спасибо.
хэндбук ниасилил...
Спасибо сказали:
pluknet
Сообщения: 9
ОС: 6.2-S, CUR, w2k/as

Re: gconf2

Сообщение pluknet »

не связано ли это с обновлением gnome до 2.16.1 ?
если да, то /usr/ports/UPDATING
Спасибо сказали:
ipse1
Сообщения: 6

Re: gconf2

Сообщение ipse1 »

Да, пробовал гнома обновить, не получилось, да и фиг с ним..
Спасибо сказали:
pluknet
Сообщения: 9
ОС: 6.2-S, CUR, w2k/as

Re: gconf2

Сообщение pluknet »

в чем возникли затруднения?
Спасибо сказали:
ipse1
Сообщения: 6

Re: gconf2

Сообщение ipse1 »

/libexec/ld-elf.so.1: Shared object "libgnomeui-2.so.1000" not found, required by "libgnome-desktop-2.so.4"

(симлинки делать не предлагайте)
Спасибо сказали:
khizha
Сообщения: 33
ОС: Debian Etch /Debian Lenny

Re: gconf2

Сообщение khizha »

Сам столкнулся с такой проблемой. Дернул меня черт обновить kde, который потянул за собой glib.
Когда увидел совет в /usr/ports/UPDATING - просто офигел. Но делать было нечего.

pkgdb -Ff
portupgrade -rf pkg-config\*

Когда сделал ps -ax| grep ruby , то увидел, что на пересборку поставлено 219 приложений. Далее, к моему удивлению, gtk20 так и не собрался, процесс остановился, но после этого хоть gtk-шные приложения заработали
Спасибо сказали: