LINUX.ORG.RU

Как пропатчить osmo под Debian

 , ,


1

3

Добрый день.

Решил я поинтересоваться современным состоянием этого PIM. В Debian Jessie из репы main ставится 0.2.12. Но запустить его не удаётся:

osmo: error while loading shared libraries: libical.so.0: cannot open shared object file: No such file or directory

В системе стоит пакет libical1a, обеспечивающий libical.so.1. Пакет libical0 поставить не получается. Вывод apt-get:

Package libical0 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libical0' has no installation candidate

Я, конечно, понимаю, что бывают проблемы с зависимостями, но чтобы пакет из main конфликтовал с библиотеками из main же - такого давненько не видел.

Ладно, пробуем собрать из git, тем более в репе явно не последняя версия.

Пакет разработки для gtk поставил. Последнее, что у меня затребовал configure - это webkit2gtk. (Без этого программа собиралась без поддержки контактов, а меня сами-знаете-почему интересовали именно они.)

Поставил libwebkit2gtk-4.0-dev версии 2.6.2. Configure удовлетворился, но make прерывается с сообщением:

utils.o: In function `utl_create_webkit_web_view':
utils.c:(.text+0x24e4): undefined reference to `webkit_web_view_set_editable'

Насколько я понял, эта функция была в libwebkitgtk, но не в libwebkit2gtk. Но старую версию конфигуратор osmo обнаруживать не желает.

Кто виноват, и что делать? Варианты с запуском пакета из репозитория тоже интересуют.

★★★★★

Это, конечно, очень плохо, костыльно, затычечно и только на крайняк, но тем не менее:

# ln -sf ${LIB_DIR}/libical.so.1 ${LIB_DIR}/libical.so.0

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

Кстати, да, попробую... но по-моему, последний раз я до такого докатывался, когда у меня Gentoo стояла, и надо было запустить какую-то проприетарщину :)

hobbit ★★★★★ ()

Попробовал. У меня работает. Может у тебя какие-то проблемы с кешем apt или зеркалом?

e3a85cd82f61f81cc6784023ba90367661d04bf2  osmo_0.2.12-1+deb8u1_amd64.deb

Depends: libical1a (>= 1.0)

ldd /usr/bin/osmo | grep cal
	libical.so.1 => /usr/lib/libical.so.1 (0x00007f0292b1a000)
	libicalss.so.1 => /usr/lib/libicalss.so.1 (0x00007f0292900000)

dpkg -L libical1a | grep '/usr/lib/'
/usr/lib/libical.so.1.0.0
/usr/lib/libicalss.so.1.0.0
/usr/lib/libicalvcal.so.1.0.0
/usr/lib/libicalvcal.so.1
/usr/lib/libicalss.so.1
/usr/lib/libical.so.1

И кстати, спасибо тебе за DoubleContact. Реально выручает.

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

osmo_0.2.12-1+deb8u1_amd64.deb

Самое смешное, что версия та же самая, и даже ldd /usr/bin/osmo | grep cal даёт тот же результат. Но тем не менее, зачем-то ищет so.0 и обламывается.

Вот предложение анонимуса с подменой симлинков прокатило. Правда, пришлось сделать симлинк не только для libical, но ещё для libicalss и libicalvcal. Но так или иначе, osmo 0.2.12 запустился. Примерно то, что я три года назад и видел - по контактам простейшее редактирование, экспорт только в CSV и XHTML. Поэтому вопрос о сборке современной версии из исходников (на дворе уже 0.4.0) остаётся актуальным. Потыкаю ещё федору, возможно, там версия поновее.

И кстати, спасибо тебе за DoubleContact. Реально выручает.

Пожалуйста. Я там как раз экспериментальную поддержку CSV сделал и хочу в том числе профиль CSV, совместимый с osmo, добавить...

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 2)

Ты знаешь, я тут посмотрел, плюнул и сделал вот так:

$ diff -c utils.c.orig utils.c 
*** utils.c.orig	2017-04-02 06:09:57.000000000 +0300
--- utils.c	2017-05-05 17:27:49.182359727 +0300
***************
*** 1002,1008 ****
      webkit_settings_set_enable_java(settings, FALSE);
  
      view = WEBKIT_WEB_VIEW(webkit_web_view_new_with_settings(settings));
!     webkit_web_view_set_editable(view, FALSE);
      return view;
  }
  #endif  /* HAVE_LIBWEBKIT */
--- 1002,1008 ----
      webkit_settings_set_enable_java(settings, FALSE);
  
      view = WEBKIT_WEB_VIEW(webkit_web_view_new_with_settings(settings));
!     //webkit_web_view_set_editable(view, FALSE);
      return view;
  }
  #endif  /* HAVE_LIBWEBKIT */
Собралось. Теперь оно умеет экспортировать VCard 4.0.

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

О-оо! Надо будет заценить.

У меня от 4.0 только отдельные теги поддерживаются и только на чтение. Не в последнюю очередь потому, что в живых телефонах я его не вижу, там либо 2.1, либо 3.0, а заявлять поддержку версии формата, руководствуясь _только_ RFC - чревато (что не отменяет необходимости чтения RFC).

hobbit ★★★★★ ()