Deadbeef 0.5.2 - непонятки с запуском (Чего ему не хватает? Slackware-current?)

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

Доброго времени! Собрал я deadbeef-0.5.2, запускаю - как бы ничего не происходит. Но процесс в памяти висит. Запускаю в консоли, предварительно убив запущенный плеер и удалив файл "socket=" в каталоге ~/.config/deadbeef, выводится следующее:

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

$ deadbeef
starting deadbeef 0.5.2
server_start
loading plugins from /home/yars/.local/lib/deadbeef
loading plugins from /usr/lib/deadbeef
plug_load_all: scandir found 148 files
loading plugin /usr/lib/deadbeef/adplug.so
loading plugin /usr/lib/deadbeef/alsa.so
loading plugin /usr/lib/deadbeef/artwork.so
loading plugin /usr/lib/deadbeef/cdda.so
loading plugin /usr/lib/deadbeef/converter.so
loading plugin /usr/lib/deadbeef/converter_gtk2.so
dlopen error: /usr/lib/deadbeef/converter_gtk2.so: undefined symbol: gtk_widget_set_can_default
trying /usr/lib/deadbeef/converter_gtk2.fallback.so...
plugin not found or failed to load
loading plugin /usr/lib/deadbeef/dca.so
loading plugin /usr/lib/deadbeef/ddb_ao.so
loading plugin /usr/lib/deadbeef/ddb_dumb.so
found gui plugin ddb_gui_GTK2.so
added GTK2 gui plugin
loading plugin /usr/lib/deadbeef/ddb_mono2stereo.so
loading plugin /usr/lib/deadbeef/ddb_shn.so
loading plugin /usr/lib/deadbeef/flac.so
loading plugin /usr/lib/deadbeef/gme.so
loading plugin /usr/lib/deadbeef/hotkeys.so
loading plugin /usr/lib/deadbeef/lastfm.so
loading plugin /usr/lib/deadbeef/m3u.so
loading plugin /usr/lib/deadbeef/mms.so
loading plugin /usr/lib/deadbeef/mpgmad.so
loading plugin /usr/lib/deadbeef/musepack.so
loading plugin /usr/lib/deadbeef/notify.so
loading plugin /usr/lib/deadbeef/nullout.so
loading plugin /usr/lib/deadbeef/shellexec.so
loading plugin /usr/lib/deadbeef/supereq.so
loading plugin /usr/lib/deadbeef/tta.so
loading plugin /usr/lib/deadbeef/vfs_curl.so
loading plugin /usr/lib/deadbeef/vorbis.so
loading plugin /usr/lib/deadbeef/vtx.so
loading plugin /usr/lib/deadbeef/wavpack.so
checking GUI plugin: GTK2
found selected GUI plugin: GTK2
loading plugin /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
trying /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.fallback.so...
loading plugin /usr/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /usr/lib/deadbeef/ddb_gui_GTK2.so: undefined symbol: gtk_widget_set_realized
trying /usr/lib/deadbeef/ddb_gui_GTK2.fallback.so...
selected GUI plugin not found or failed to load, trying to find another GUI plugin
loading plugin /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
trying /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.fallback.so...
plugin not found or failed to load
loading plugin /usr/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /usr/lib/deadbeef/ddb_gui_GTK2.so: undefined symbol: gtk_widget_set_realized
trying /usr/lib/deadbeef/ddb_gui_GTK2.fallback.so...
plugin not found or failed to load
selected output plugin: ALSA output plugin
INFO: loading playlist Плейлист
INFO: from file /home/yars/.config/deadbeef/playlists/0.dbpl

и на этом все опять стопорится. Процесс опять висит... Чего ему надобно???
P.S. Откатывался на версию 0.5.1, работает, но постоянно падает, а упав, блокирует звуковое устройство. Да и позиционирует ее автор как багфикс.
UPD: Собирал самописным слакбильдом для установки в /usr (./configure --prefix=/usr), мб в этом дело?
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

Решение тут: Deadbeef 0.5.2 - непонятки с запуском


---
$ find /home/yars /usr/lib -name ddb_gui\*
что находит?

ps.
Slackware-13.37, 32-bit
http://slackbuilds.org/repository/13.37/audio/deadbeef/
# PKGTYPE=txz VERSION=0.5.2 ./*Build
# upgradepkg --install-new /tmp/deadbeaf-0.5.2-*txz
$ deadbeaf
...
checking GUI plugin: GTK2
found selected GUI plugin: GTK2
loading plugin /home/sb/.local/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /home/sb/.local/lib/deadbeef/ddb_gui_GTK2.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
trying /home/sb/.local/lib/deadbeef/ddb_gui_GTK2.fallback.so...
loading plugin /usr/lib/deadbeef/ddb_gui_GTK2.so
libWildMidi(WM_BufferFile:640): ERROR Unable to stat /etc/timidity/freepats/freepats.cfg (Нет такого файла или каталога)
gtkui plugin compiled for gtk version: 2.24.8
selected output plugin: ALSA output plugin
streamer_set_output_format 16bit int 2ch 44100Hz channelmask=3, bufferfill: 0
palsa_setformat 16bit int 2ch 44100Hz channelmask=3
gtkui: found cover-art loader plugin
Запустился.

pps. Опять я не заметил Slackware-12.1, mia culpa, но виртуалки с ней под рукой нет.
dlopen error: /usr/lib/deadbeef/ddb_gui_GTK2.so: undefined symbol: gtk_widget_set_realized
Искать, с какой версии в GTK2 появилась gtk_widget_set_realized и обновлять gtk2 минимум до неё.
Или в сорцах gtkui заменять вызов на его реализацию из современной GTK2.
Или там же вызовы поменять на то, что было раньше, т.е. скорее всего:
- gtk_widget_set_realized (widget, TRUE);
+ GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);

ppps. Так и есть,
deadbeaf-0.5.2/plugins/gtkui/ddbtabstrip.c: 94: gtk_widget_set_realized (widget, TRUE);
deadbeaf-0.5.1/plugins/gtkui/ddbtabstrip.c: 90: GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);

pppps. Касательно версии gtk+ (2.20) и реализации:
gtk+-2.24.4/gtk/gtkwidget.c

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

/**
 * gtk_widget_set_realized:
 * @widget: a #GtkWidget
 * @realized: %TRUE to mark the widget as realized
 *
 * Marks the widget as being realized.
 *
 * This function should only ever be called in a derived widget's
 * "realize" or "unrealize" implementation.
 *
 * Since: 2.20
 */
void
gtk_widget_set_realized (GtkWidget *widget,
                         gboolean   realized)
{
  g_return_if_fail (GTK_IS_WIDGET (widget));

  if (realized)
    GTK_OBJECT_FLAGS (widget) |= GTK_REALIZED;
  else
    GTK_OBJECT_FLAGS (widget) &= ~(GTK_REALIZED);
}
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

Поиск дал следующий результат:

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

/usr/lib/deadbeef/ddb_gui_GTK2.la
/usr/lib/deadbeef/ddb_gui_GTK2.a
/usr/lib/deadbeef/ddb_gui_GTK2.so
/usr/lib/deadbeef/ddb_gui_GTK2.so.0
/usr/lib/deadbeef/ddb_gui_GTK2.so.0.0.0

Но раз нужен GTK+ - придется с зависимостями версии 2.24 воевать. Все-таки Slackware 13.37 скачать с моим интернетом не так-то просто. Спасибо.
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

yars,
достаточно поправить одну! строчку в deadbeaf-0.5.2/plugins/gtkui/ddbtabstrip.c: 94
Спасибо сказали:
starws
Сообщения: 2
ОС: GNU/Linux

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение starws »

yars писал(а):
31.03.2012 01:26
Доброго времени! Собрал я deadbeef-0.5.2 (...)


Static не пробовали запускать? Там 2 версии GUI-плагина, в том числе для старых GTK, должно работать.
Кроме того, уже после релиза был сделан фикс этой проблемы в git/master, можете попробовать собрать оттуда.
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

bormant, поправил одну строчку, получаю следующее:

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

starting deadbeef 0.5.2
server_start
loading plugins from /home/yars/.local/lib/deadbeef
loading plugins from /usr/lib/deadbeef
plug_load_all: scandir found 148 files
loading plugin /usr/lib/deadbeef/adplug.so
loading plugin /usr/lib/deadbeef/alsa.so
loading plugin /usr/lib/deadbeef/artwork.so
loading plugin /usr/lib/deadbeef/cdda.so
loading plugin /usr/lib/deadbeef/converter.so
loading plugin /usr/lib/deadbeef/converter_gtk2.so
dlopen error: /usr/lib/deadbeef/converter_gtk2.so: undefined symbol: gtk_widget_set_can_default
trying /usr/lib/deadbeef/converter_gtk2.fallback.so...
plugin not found or failed to load
loading plugin /usr/lib/deadbeef/dca.so
loading plugin /usr/lib/deadbeef/ddb_ao.so
loading plugin /usr/lib/deadbeef/ddb_dumb.so
found gui plugin ddb_gui_GTK2.so
added GTK2 gui plugin
loading plugin /usr/lib/deadbeef/ddb_mono2stereo.so
loading plugin /usr/lib/deadbeef/ddb_shn.so
loading plugin /usr/lib/deadbeef/flac.so
loading plugin /usr/lib/deadbeef/gme.so
loading plugin /usr/lib/deadbeef/hotkeys.so
loading plugin /usr/lib/deadbeef/lastfm.so
loading plugin /usr/lib/deadbeef/m3u.so
loading plugin /usr/lib/deadbeef/mms.so
loading plugin /usr/lib/deadbeef/mpgmad.so
loading plugin /usr/lib/deadbeef/musepack.so
loading plugin /usr/lib/deadbeef/notify.so
loading plugin /usr/lib/deadbeef/nullout.so
loading plugin /usr/lib/deadbeef/shellexec.so
loading plugin /usr/lib/deadbeef/supereq.so
loading plugin /usr/lib/deadbeef/tta.so
loading plugin /usr/lib/deadbeef/vfs_curl.so
loading plugin /usr/lib/deadbeef/vorbis.so
loading plugin /usr/lib/deadbeef/vtx.so
loading plugin /usr/lib/deadbeef/wavpack.so
checking GUI plugin: GTK2
found selected GUI plugin: GTK2
loading plugin /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
trying /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.fallback.so...
loading plugin /usr/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /usr/lib/deadbeef/ddb_gui_GTK2.so: undefined symbol: gtk_widget_set_allocation
trying /usr/lib/deadbeef/ddb_gui_GTK2.fallback.so...
selected GUI plugin not found or failed to load, trying to find another GUI plugin
loading plugin /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
trying /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.fallback.so...
plugin not found or failed to load
loading plugin /usr/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /usr/lib/deadbeef/ddb_gui_GTK2.so: undefined symbol: gtk_widget_set_allocation
trying /usr/lib/deadbeef/ddb_gui_GTK2.fallback.so...
plugin not found or failed to load
selected output plugin: ALSA output plugin
INFO: loading playlist Плейлист
INFO: from file /home/yars/.config/deadbeef/playlists/0.dbpl

starws, попробую и то и другое. Спасибо вам обоим :) Сечас качаю static, если не попрет, полезу в git. О результате отпишусь.
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

starws,
так понимаю, вот об этом патче речь: few fixes for gtk-2.12 compatibility, diff, patch.
Спасибо сказали:
starws
Сообщения: 2
ОС: GNU/Linux

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение starws »

bormant писал(а):
31.03.2012 13:55
starws,
так понимаю, вот об этом патче речь: few fixes for gtk-2.12 compatibility, diff, patch.



Да, об этом.
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

yars,
Получилось?

Если что, вот слакбилд с патчем: http://ifolder.ru/29645158
Сборка/установка:

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

# mkdir deadbeef; cd deadbeef; tar xf /tmp/deadbeef_.tar.gz
# source *.info
# wget $DOWNLOAD
# ./*Build
# rm -rf /tmp/SBo/{package-deadbeef,deadbeef-0.5.2}
# upgradepkg --install-new /tmp/deadbeef-0.5.2-*t?z


ps. Хотя, исходники же у вас уже есть, судя по сообщениям, поэтому вместо

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

# source *.info
# wget $DOWNLOAD
достаточно просто положить их рядом:

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

# cp /путь/к/deadbeef-0.5.2.tar.bz2 ./
или даже

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

# mv /путь/к/deadbeef-0.5.2.tar.bz2 ./
или

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

# ln -s /путь/к/deadbeef-0.5.2.tar.bz2 ./
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

bormant, пока не пробовал, почти сразу после того, как вы запостили сообщение №7, отрубился свет, недавно дали. Пока что качаю патч и на всякий случай static. За патч спасибо! Как сделаю, отпишусь. Исходники есть, конечно.
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

Увы :( Патч почему-то не помог:

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

starting deadbeef 0.5.2
server_start
INFO: unlink socket: Нет такого файла или каталога
failed to load config file
loading plugins from /home/yars/.local/lib/deadbeef
loading plugins from /usr/lib/deadbeef
plug_load_all: scandir found 163 files
loading plugin /usr/lib/deadbeef/adplug.so
loading plugin /usr/lib/deadbeef/alsa.so
loading plugin /usr/lib/deadbeef/artwork.so
loading plugin /usr/lib/deadbeef/cdda.so
loading plugin /usr/lib/deadbeef/converter.so
loading plugin /usr/lib/deadbeef/converter_gtk2.so
dlopen error: /usr/lib/deadbeef/converter_gtk2.so: undefined symbol: gtk_widget_set_can_default
trying /usr/lib/deadbeef/converter_gtk2.fallback.so...
plugin not found or failed to load
loading plugin /usr/lib/deadbeef/dca.so
loading plugin /usr/lib/deadbeef/ddb_ao.so
loading plugin /usr/lib/deadbeef/ddb_dumb.so
found gui plugin ddb_gui_GTK2.so
added GTK2 gui plugin
loading plugin /usr/lib/deadbeef/ddb_mono2stereo.so
loading plugin /usr/lib/deadbeef/ddb_shn.so
loading plugin /usr/lib/deadbeef/flac.so
loading plugin /usr/lib/deadbeef/gme.so
loading plugin /usr/lib/deadbeef/hotkeys.so
loading plugin /usr/lib/deadbeef/lastfm.so
loading plugin /usr/lib/deadbeef/m3u.so
loading plugin /usr/lib/deadbeef/mms.so
loading plugin /usr/lib/deadbeef/mpgmad.so
loading plugin /usr/lib/deadbeef/musepack.so
loading plugin /usr/lib/deadbeef/notify.so
loading plugin /usr/lib/deadbeef/nullout.so
loading plugin /usr/lib/deadbeef/oss.so
loading plugin /usr/lib/deadbeef/shellexec.so
loading plugin /usr/lib/deadbeef/sid.so
loading plugin /usr/lib/deadbeef/supereq.so
loading plugin /usr/lib/deadbeef/tta.so
loading plugin /usr/lib/deadbeef/vfs_curl.so
loading plugin /usr/lib/deadbeef/vorbis.so
loading plugin /usr/lib/deadbeef/vtx.so
loading plugin /usr/lib/deadbeef/wavpack.so
loading plugin /usr/lib/deadbeef/wildmidi.so
checking GUI plugin: GTK2
found selected GUI plugin: GTK2
loading plugin /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
trying /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.fallback.so...
loading plugin /usr/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /usr/lib/deadbeef/ddb_gui_GTK2.so: undefined symbol: gtk_widget_set_has_window
trying /usr/lib/deadbeef/ddb_gui_GTK2.fallback.so...
selected GUI plugin not found or failed to load, trying to find another GUI plugin
loading plugin /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
trying /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.fallback.so...
plugin not found or failed to load
loading plugin /usr/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /usr/lib/deadbeef/ddb_gui_GTK2.so: undefined symbol: gtk_widget_set_has_window
trying /usr/lib/deadbeef/ddb_gui_GTK2.fallback.so...
plugin not found or failed to load
converter: failed to open file /home/yars/.config/deadbeef/presets/encoders/. for writing
converter: failed to open file /home/yars/.config/deadbeef/presets/encoders/.. for writing
libWildMidi(WM_BufferFile:640): ERROR Unable to stat /etc/timidity/freepats/freepats.cfg (Нет такого файла или каталога)
selected output plugin: ALSA output plugin

Жаль. Сейчас еще попробую бинарник...
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

Если под "патч" имеется в виду сообщение #9, можно дополнительно поправить в deadbeef.SlackBuild:

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \

на

CFLAGS="$SLKCFLAGS -DULTRA_COMPATIBLE" \
CXXFLAGS="$SLKCFLAGS -DULTRA_COMPATIBLE" \

Хотя должны были отработать по первому условию проверки в коде в виде:
#if !GTK_CHECK_VERSION(2,18,0) || defined(ULTRA_COMPATIBLE)

Так как в gtk+ макрос GTK_CHECK_VERSION проверяет, что версия не ниже:
gtk/gtkversion.h:
/* check whether a Gtk+ version equal to or greater than
* major.minor.micro is present.
*/
#define GTK_CHECK_VERSION(major,minor,micro) \
(GTK_MAJOR_VERSION > (major) || \
(GTK_MAJOR_VERSION == (major) && GTK_MINOR_VERSION > (minor)) || \
(GTK_MAJOR_VERSION == (major) && GTK_MINOR_VERSION == (minor) && \
GTK_MICRO_VERSION >= (micro)))

Проверьте этот вариант, интересно уже стало. Пойду виртуалку раскочегарю с 12.1 ;-)
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

Хотя, я похоже, поторопился, ошибка-то другая:

dlopen error: /usr/lib/deadbeef/converter_gtk2.so: undefined symbol: gtk_widget_set_can_default

Пойду гляну, есть ли там гарды с GTK_CHECK_VERSION и нужные include.

ps. Конечно же нет, нужно добавить в
plugins/converter/support.h

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

#if !GTK_CHECK_VERSION(2,18,0) || defined(ULTRA_COMPATIBLE)
#define gtk_widget_set_can_focus(widget, canfocus) {if (canfocus) GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS); else GTK_WIDGET_UNSET_FLAGS(widget, GTK_CAN_FOCUS);}

#define gtk_widget_get_can_focus(widget) (GTK_WIDGET_CAN_FOCUS (widget));

#define gtk_widget_set_can_default(widget, candefault) {if (candefault) GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_DEFAULT); else GTK_WIDGET_UNSET_FLAGS(widget, GTK_CAN_DEFAULT);}

#define gtk_widget_get_can_default(widget) (GTK_WIDGET_CAN_DEFAULT (widget));
#endif

Если этого будет достаточно, добавить в патч.
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

Ага, добавил, пробую собирать. Спасибо вам за интерес :)
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

Не получается. Собрал с вашим патчем из 13-го поста, все равно:

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

dlopen error: /usr/lib/deadbeef/converter_gtk2.so: undefined symbol: gtk_dialog_get_action_area
trying /usr/lib/deadbeef/converter_gtk2.fallback.so...
plugin not found or failed to load
found gui plugin ddb_gui_GTK2.so
added GTK2 gui plugin
checking GUI plugin: GTK2
found selected GUI plugin: GTK2
loading plugin /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
trying /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.fallback.so...
loading plugin /usr/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /usr/lib/deadbeef/ddb_gui_GTK2.so: undefined symbol: gtk_widget_set_has_window
trying /usr/lib/deadbeef/ddb_gui_GTK2.fallback.so...
selected GUI plugin not found or failed to load, trying to find another GUI plugin
loading plugin /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
trying /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.fallback.so...
plugin not found or failed to load
loading plugin /usr/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /usr/lib/deadbeef/ddb_gui_GTK2.so: undefined symbol: gtk_widget_set_has_window
trying /usr/lib/deadbeef/ddb_gui_GTK2.fallback.so...
plugin not found or failed to load

Ладно, наверно, лучше отложу этот плеер до лучших времен, попробую версию постарее, или другой плеер. Мне диск с актуальной версией Slackware знакомый с города обещал привезти. Он сделал уже один, не читается, зараза. Мой привод что-то полупровзрачные на просвет диски не желает читать, поменять его надо. А так давно бы уже пересел и мозги никому не компостировал. Спасибо большое!
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

Ага, теперь следующая .so с аналогичными симптомами. Метод лечения аналогичный.
Проще было бы все подмены в отдельный заголовочный файл сложить, вроде gtk-compat.h, и подключать его, где потребуется.
Если пройдёте это путь до конца -- совместимость со старой версией gtk+-2, сможете помочь проекту deadbeef, раз уж подобный интерес за ними был замечен.

Выходит ошибся про одну строчку-то ;-) , бывает.

С учётом того, что 1) gtk+-2 должна быть совместима снизу вверх, и 2) свежий софт всё равно будет требовать свежую gtk+-2, есть смысл всё же попробовать собрать gtk+-2 поновее, из current/13.37, если только ей по зависимостям слишком многого обновить не потребуется. А если не соберётся или не заработает как следует -- откатиться на старый пакет.

Поскольку начиная с 13.0 широко используется компрессор xz, предварительно собрать/поставить xz и tar, затем собрать/поставить gtk+2.

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

# export MIR=ftp://ftp.osuosl.org/peb/slackware/slackware-current
# export NUMJOBS=" -j2 "
# mkdir ~/bld

# cd ~/bld
# wget -r -nH --cut-dirs=5 $MIR/source/a/xz
# cd xz
# chmod +x *Build ; ./*Build
# rm -rf /tmp/xz-tmp-*/
# upgradepkg --install-new /tmp/xz-*tgz

# cd ~/bld
# wget -r -nH --cut-dirs=5 $MIR/source/a/tar
# cd tar
# unxz tar-*.tar.xz  # системный tar ещё не умет xz, разожмём тарбол
# sed -i *Build -e 's/\.tar\.xz/.tar/'  #  ... и поправим слакбилд
# chmod +x *Build ; ./*Build --cleanup
# upgradepkg --install-new /tmp/tar-*tgz

# cd ~/bld
# wget -r -nH --cut-dirs=5 $MIR/source/l/gtk+2
# cd gtk+2
# sed -i *Build -e 's/\.txz/.tgz/'  # правим тип пакета
# chmod +x *Build ; ./*Build  # если собралось, нам пока везёт, продолжим...
# upgradepkg --install-new /tmp/gtk+2-*tgz
# rm -rf /tmp/package-gtk2 /tmp/gtk+-2-*/

Примечания.
NUMJOBS=" -j2 " -- если машинка явно не блещет скорострельностью и у неё не 6 ядер, то 7 сборочных потоков, прописанных по умолчанию в SlackBuild-ах, ей не потянуть.
Начиная c 13.0 для пакетов используется сжатие xz, "расширение" .txz (кроме пакетов pkgtool, tar, xz), поэтому приходится править вызов "makepkg ... пакет.txz" внутри SlackBuild-а.

ps. Писал с листа, мог ошибиться, сообщайте, если что не так.
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

К сожалению, я в Си не особенно-то разбираюсь, поэтому решил последовать вашему второму совету, оформил скрипт, запустил. На данный момент установка xz, сборка/обновление tar завершились. Скачивается gtk+. На это уйдет где-то полтора часа, если не больше. Провайдер зверствует.
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

При сборке gtk+2 обнаружится:
configure.in:3: error: Autoconf version 2.62 or higher is required
В 12.1 в наличии 2.61, аналогичным образом можно собрать из -current

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

# cd ~/bld
# wget -r -nH --cut-dirs=5 $MIR/source/d/autoconf
# cd autoconf
# sed -i *Build -e 's/\.txz/.tgz/'
# chmod +x *Build ; ./*Build
# upgradepkg --install-new /autoconf-*tgz
# rm -rf /tmp/package-autoconf /tmp/autoconf-*/


Прочие сборочные зависимости:
glib-2 >= 2.27.3, а в 12.1 в наличии glib2-2.14.6
+- glib2-2.28.6 -собрано.
atk >= 1.29.2, а в 12.1 наличии atk-1.22.0
+- atk-1.32.0 -собрано.
gdk-pixbuf-2 >= 2.21.0, в 12.1 отсутствует
+- gdk-pixbuf2-2.23.3 -собрано.

cairo >= 1.6, а в 12.1 наличии cairo-1.4.14
! требует pixman >= 0.18.4, в наличии 0.10.0

pango >= 1.20, в 12.1 есть pango-1.20
! требует cairo

Что потянет каждая из них за собой -- тот ещё вопрос.
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

Да я уже знаю, что прочие зависомости за собой потянут :) Тот еще ужс. Я замахнулся было на GTK+-3.2.2, да терпения не хватило все выкачать. Кое-что я собрал:

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

$ ls -1 /var/log/packages | grep yars
atk-2.0.1-i686-1-yars
glib-2.30.2-i486-2-yars
gstreamer-0.10.35-i686-1-yars
imlib2-1.4.5-i686-1-yars
intltool-0.40.0-i486-1-yars
libffi-3.0.5-i486-1-yars
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

gtk+3-3.x -- скорее всего не нужна, по крайней мере эксперименты с ней можно отложить на потом.
А вот про gtk+2 из -current точно известно, что больше, чем есть в -current ей не нужно ;-)
Я предыдущий пост буду потихоньку дополнять, по мере того, как оно собирается, если только не чересчур развесистое дерево выйдет.
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

yars писал(а):
01.04.2012 13:08

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

$ ls -1 /var/log/packages | grep yars
atk-2.0.1-i686-1-yars
...

Есть смысл выправить имена пакетов:

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

# cd /var/log/packages
# rename -yars yars *-yars

# cd /var/log/scripts
# rename -yars yars *-yars

# cd /tmp  # где лежат собранные пакеты
# rename -yars yars *-yars.t?z
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

Приехали.
Упёрлись в pixman, это часть X-ов, пересборка которых в мои планы уже не укладывается, слишком велики изменения. Если только со старыми X-ами вдруг соберётся новый pixman.
Из-за подобных изменений обычно и выходят новые версии дистрибутива.

По-прежнему остаётся непройденным путь приведения deadbeef под требования дистрибутива, имеющий более реальные шансы на прохождение до конца.
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

Хорошо, давайте попробуем. Как нужно действовать? Запускаем, смотрим на ругань, ищем в сорцах файл-предмет ругани, правим по вашему шаблону:

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

if !GTK_CHECK_VERSION(2,18,0) || defined(ULTRA_COMPATIBLE)
#define gtk_widget_set_can_focus(widget, canfocus) {if (canfocus) GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS); else GTK_WIDGET_UNSET_FLAGS(widget, GTK_CAN_FOCUS);}

#define gtk_widget_get_can_focus(widget) (GTK_WIDGET_CAN_FOCUS (widget));

#define gtk_widget_set_can_default(widget, candefault) {if (candefault) GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_DEFAULT); else GTK_WIDGET_UNSET_FLAGS(widget, GTK_CAN_DEFAULT);}

#define gtk_widget_get_can_default(widget) (GTK_WIDGET_CAN_DEFAULT (widget));
#endif

Так?
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

Попробуйте вот с этим слакбилдом http://ifolder.ru/29659717
В каталоге с тарболом исходников deadbeef-0.5.2.tar.bz2 выполните:

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

# tar xf deadbeef2.tar.gz
# ./*Build
# rm -rf /tmp/SBo/*
# upgradepkg --install-new --reinstall /tmp/deadbeef-0.5.2-*tgz


Отличия -- в plugins/converter/support.{h,c} внесены изменения, аналогичные официальному патчу.
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

bormant, перезалейте пожалуйста слакбилд куда-нибудь в другое место (или на эл.почту), а то скачать не могу. То ли провайдер, то ли ifolder закрывает соединение при попытке скачать.
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

Запамятовал, что можно к сообщениям прикреплять файлики...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

Вот спасибо огромное :) Пробую собрать.
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

Собрал, но не хочет он запускаться. Может, после установки перезагрузиться надо было? Опять ругается...

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

starting deadbeef 0.5.2
server_start
loading plugins from /home/yars/.local/lib/deadbeef
loading plugins from /usr/lib/deadbeef
plug_load_all: scandir found 148 files
loading plugin /usr/lib/deadbeef/adplug.so
loading plugin /usr/lib/deadbeef/alsa.so
loading plugin /usr/lib/deadbeef/artwork.so
loading plugin /usr/lib/deadbeef/cdda.so
loading plugin /usr/lib/deadbeef/converter.so
loading plugin /usr/lib/deadbeef/converter_gtk2.so
dlopen error: /usr/lib/deadbeef/converter_gtk2.so: undefined symbol: gtk_dialog_get_action_area
trying /usr/lib/deadbeef/converter_gtk2.fallback.so...
plugin not found or failed to load
loading plugin /usr/lib/deadbeef/dca.so
loading plugin /usr/lib/deadbeef/ddb_ao.so
loading plugin /usr/lib/deadbeef/ddb_dumb.so
found gui plugin ddb_gui_GTK2.so
added GTK2 gui plugin
loading plugin /usr/lib/deadbeef/ddb_mono2stereo.so
loading plugin /usr/lib/deadbeef/ddb_shn.so
loading plugin /usr/lib/deadbeef/flac.so
loading plugin /usr/lib/deadbeef/gme.so
loading plugin /usr/lib/deadbeef/hotkeys.so
loading plugin /usr/lib/deadbeef/lastfm.so
loading plugin /usr/lib/deadbeef/m3u.so
loading plugin /usr/lib/deadbeef/mms.so
loading plugin /usr/lib/deadbeef/mpgmad.so
loading plugin /usr/lib/deadbeef/musepack.so
loading plugin /usr/lib/deadbeef/notify.so
loading plugin /usr/lib/deadbeef/nullout.so
loading plugin /usr/lib/deadbeef/shellexec.so
loading plugin /usr/lib/deadbeef/supereq.so
loading plugin /usr/lib/deadbeef/tta.so
loading plugin /usr/lib/deadbeef/vfs_curl.so
loading plugin /usr/lib/deadbeef/vorbis.so
loading plugin /usr/lib/deadbeef/vtx.so
loading plugin /usr/lib/deadbeef/wavpack.so
checking GUI plugin: GTK2
found selected GUI plugin: GTK2
loading plugin /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
trying /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.fallback.so...
loading plugin /usr/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /usr/lib/deadbeef/ddb_gui_GTK2.so: undefined symbol: gtk_widget_set_has_window
trying /usr/lib/deadbeef/ddb_gui_GTK2.fallback.so...
selected GUI plugin not found or failed to load, trying to find another GUI plugin
loading plugin /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
trying /home/yars/.local/lib/deadbeef/ddb_gui_GTK2.fallback.so...
plugin not found or failed to load
loading plugin /usr/lib/deadbeef/ddb_gui_GTK2.so
dlopen error: /usr/lib/deadbeef/ddb_gui_GTK2.so: undefined symbol: gtk_widget_set_has_window
trying /usr/lib/deadbeef/ddb_gui_GTK2.fallback.so...
plugin not found or failed to load
selected output plugin: ALSA output plugin
INFO: loading playlist Плейлист
INFO: from file /home/yars/.config/deadbeef/playlists/0.dbpl

PS. А как из тарбола с бинарниками этого плеера сделать пакет? Распаковать и сказать "makepkg"?
PPS. Спасибо еще раз, пусть и не получилось, зато вы обновили мне tar и поставили xz :) Давно хотел, но думал, что не получится, т.к. в 13.37 по сравнению с 12.1 слишком много чего изменилось.
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение yars »

Отловил ошибку в патче (см. пост №26): plugins/converter.h: 141 - endif без if.
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Deadbeef 0.5.2 - непонятки с запуском

Сообщение bormant »

Так-с, текущие ошибки:
dlopen error: /usr/lib/deadbeef/converter_gtk2.so: undefined symbol: gtk_dialog_get_action_area
dlopen error: /usr/lib/deadbeef/ddb_gui_GTK2.so: undefined symbol: gtk_widget_set_has_window


У меня к вам просьба: соберите пакет, не выполняйте "rm -rf /tmp/SBo/*", покажите, что выдаст:

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

# cd /tmp/SBo/deadbeef-0.5.2
# grep -Rn gtk_dialog_get_action_area plugins/converter
# grep -Rn gtk_widget_set_has_window plugins/gtkui

# cd /tmp/SBo/package-deadbeef

# ldd  usr/lib/deadbeef/converter_gtk2.so
# ldd  /usr/lib/deadbeef/converter_gtk2.so

# ldd  usr/lib/deadbeef/ddb_gui_GTK2.so
# ldd  /usr/lib/deadbeef/ddb_gui_GTK2.so


Почему-то такое ощущение, что ставите как-то иначе, чем:
# upgradepkg --install-new --reinstall /tmp/deadbeef-*tgz

Без ключа --reinstall файлы не будут заменены.

ps.
Отловил ошибку в патче (см. пост №26): plugins/converter.h: 141 - endif без if.
plugins/converter/support.h
Угу, рука дрогнула, чуть лишку скопировал. Замените патчик приложенным

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