Не собирается stardict
Доброго всем времени суток.
Не могу заэмержить stardict. Во время компиляции вываливается следующее
make: *** [all] Ошибка 2
*
* ERROR: app-dicts/stardict-2.4.8 failed.
* Call stack:
* ebuild.sh, line 1687: Called dyn_compile
* ebuild.sh, line 1025: Called qa_call 'src_compile'
* ebuild.sh, line 44: Called src_compile
* stardict-2.4.8.ebuild, line 44: Called gnome2_src_compile
* gnome2.eclass, line 71: Called die
* The specific snippet of code:
* emake || die "compile failure"
* The die message:
* compile failure
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/app-dicts/stardict-2.4.8/temp/build.log'.
*
* Messages for package app-dicts/stardict-2.4.8:
*
* ERROR: app-dicts/stardict-2.4.8 failed.
* Call stack:
* ebuild.sh, line 1687: Called dyn_compile
* ebuild.sh, line 1025: Called qa_call 'src_compile'
* ebuild.sh, line 44: Called src_compile
* stardict-2.4.8.ebuild, line 44: Called gnome2_src_compile
* gnome2.eclass, line 71: Called die
* The specific snippet of code:
* emake || die "compile failure"
* The die message:
* compile failure
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/app-dicts/stardict-2.4.8/temp/build.log'.
- Для комментирования войдите или зарегистрируйтесь
Это не ошибка,
Это не ошибка, она сама выше в логе
Упс. И
Упс. И правда.
mainwin.h:71: ошибка: ‘static void TopWin::ClipboardReceivedCallback(GtkClipboard*, const gchar*, void*)’ is private
stardict.cpp:351: ошибка: в данном контексте
make[3]: *** [stardict.o] Ошибка 1
make[3]: *** Ожидание завершения заданий...
mainwin.cpp: In static member function ‘static void TopWin::on_main_menu_about_activate(GtkMenuItem*, TopWin*)’:
mainwin.cpp:479: предупреждение: deprecated conversion from string constant to ‘gchar*’
mainwin.cpp:479: предупреждение: deprecated conversion from string constant to ‘gchar*’
mainwin.cpp:479: предупреждение: deprecated conversion from string constant to ‘gchar*’
make[3]: Leaving directory `/var/tmp/portage/app-dicts/stardict-2.4.8/work/stardict-2.4.8/src'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Leaving directory `/var/tmp/portage/app-dicts/stardict-2.4.8/work/stardict-2.4.8/src'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/var/tmp/portage/app-dicts/stardict-2.4.8/work/stardict-2.4.8'
make: *** [all] Ошибка 2
*
* ERROR: app-dicts/stardict-2.4.8 failed.
* Call stack:
* ebuild.sh, line 1687: Called dyn_compile
* ebuild.sh, line 1025: Called qa_call 'src_compile'
* ebuild.sh, line 44: Called src_compile
* stardict-2.4.8.ebuild, line 44: Called gnome2_src_compile
* gnome2.eclass, line 71: Called die
* The specific snippet of code:
* emake || die "compile failure"
* The die message:
* compile failure
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/app-dicts/stardict-2.4.8/temp/build.log'.
*
* Messages for package app-dicts/stardict-2.4.8:
*
* ERROR: app-dicts/stardict-2.4.8 failed.
* Call stack:
* ebuild.sh, line 1687: Called dyn_compile
* ebuild.sh, line 1025: Called qa_call 'src_compile'
* ebuild.sh, line 44: Called src_compile
* stardict-2.4.8.ebuild, line 44: Called gnome2_src_compile
* gnome2.eclass, line 71: Called die
* The specific snippet of code:
* emake || die "compile failure"
* The die message:
* compile failure
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/app-dicts/stardict-2.4.8/temp/build.log'.
рекомендую
рекомендую плюнуть на это дело, и установить stardict-3.0.1 из оверлея gentoo-china, или из оверлея http://overlays.gentoo.org/dev/pva/browser/app-dicts
emerge layman echo "source
emerge layman
echo "source /usr/portage/local/layman/make.conf" >>/etc/make.conf
layman -a gentoo-china
layman -s gentoo-china
emerge -pv stardict
В итоге получаю что опять пытается собраться stardict-2.4.8
А тот что в оверлее версии 3.0.1 не известно где.
Что я делаю не так?
скорее всего её
скорее всего её нужно размаскировать
Уже изначально
Уже изначально ~amd
Более того сделал
echo "app-dicts/stardict ~* *" >> /etc/portage/package.keywords
Все равно та же ситуация :(
ЗЫ Кстати как добавить оверлей http://overlays.gentoo.org/dev/pva/browser/app-dicts
его же нет в списке layman -L
layman -Lk
layman -Lk
Нет там такого
Нет там такого оверлея
Проблема в том,
Проблема в том, что класс пытается использовать приватный метод другого класса. Я для себя заплатку сделал, для релиза не годится, но ничего не ломает -- эт точно. Итак
-- копируем /usr/portage/app-dicts/stardict в /usr/local/portage/app-dicts/
-- добавляем PORTDIR_OVERLAY="/usr/local/portage" в /etc/make.conf
-- добавляем файл:
user@laptop ~ $ cat /usr/local/portage/app-dicts/stardict/files/gtk_private.patch
diff -ruN stardict-2.4.8.old/src/mainwin.h stardict-2.4.2/src/mainwin.h
--- stardict-2.4.8.old/src/mainwin.h 2006-06-30 09:29:34.000000000 +0400
+++ stardict-2.4.8/src/mainwin.h 2007-11-22 08:31:43.000000000 +0300
@@ -39,7 +39,7 @@
};
class TopWin {
-private:
+protected:
gboolean enable_change_cb;
GList *HisList;
GSList *BackList;
@@ -98,6 +98,8 @@
return GTK_WIDGET_HAS_FOCUS(GTK_COMBO(WordCombo)->entry);
}
+ friend class AppCore;
+
};
class ListWin
-- ещё я переименовал (в local/portage, естесственно) stardict-2.4.8.ebuild в stardict-2.4.8-r0.ebuild, чтобы он считался более новым.
-- добавляем наложение нашего патча (gtk_private.patch) в ебилд:
user@laptop /usr/local/portage/app-dicts/stardict $ diff -u /usr/portage/app-dicts/stardict/stardict-2.4.8.ebuild stardict-2.4.8-r0.ebuild
--- /usr/portage/app-dicts/stardict/stardict-2.4.8.ebuild 2007-07-11 10:08:43.000000000 +0400
+++ stardict-2.4.8-r0.ebuild 2007-11-22 08:50:50.000000000 +0300
@@ -36,6 +36,7 @@
src_unpack() {
unpack ${A}
gnome2_omf_fix
+ epatch ${FILESDIR}/gtk_private.patch
}
src_compile() {
-- пересчитываем digest: ebuild stardict-2.4.8-r0.ebuild digest
-- emerge -av =stardict-2.4.8-r0
.
а я вот последовал совету ArtSh-а
и поставил себе stardict-3.0.1-r2
И вам рекомендую :-)