Summary: | libbz2.so.1.0 --> libbz2.so.1 | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | mikhailnov <m> |
Component: | bzlib | Assignee: | placeholder <placeholder> |
Status: | NEW --- | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | glebfm, lav, ldv, maxim, placeholder |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
mikhailnov
2018-08-30 21:27:16 MSK
На Sisyphus. (In reply to comment #0) > $ wpp > /opt/kingsoft/wps-office/office6/wpp: error while loading shared libraries: > libbz2.so.1.0: cannot open shared object file: No such file or directory > Решается так: > > su - > ln -s /lib64/libbz2.so.1 /lib64/libbz2.so.1.0 > exit > > Может, добавить в пакет такой симлинк? > Судя по всему, это ошибка линковки проприетарной программы, но обычно в системе > есть libname.so.major_version.minor_version, а тут нет minor_version Это даже не ошибка как таковая, они просто линковались с другим soname. У нас soname libbz2.so.1 и /lib64/libbz2.so.1 -> libbz2.so.1.0.6, а они, по-видимому, рассчитывают на libbz2.so.1.0 в качестве soname. Это все же ошибка их линковки. Зачем линковаться с минорной версией? Впрочем, сделать симлинк в дистрибутиве, как я предложил, костыль и неправильно , т.к. минорная версия другая. "сделать симлинк в дистрибутиве, как я предложил, костыль и неправильно , т.к. минорная версия другая." Это было ошибочное утверждение, невнимательно посмотрел на расстановку запятых. В Ubuntu 18.04 вот так: $ ls /lib/x86_64-linux-gnu/libbz2.so* -la lrwxrwxrwx 1 root root 15 апр 19 12:00 /lib/x86_64-linux-gnu/libbz2.so.1 -> libbz2.so.1.0.4 lrwxrwxrwx 1 root root 15 апр 19 12:00 /lib/x86_64-linux-gnu/libbz2.so.1.0 -> libbz2.so.1.0.4 -rw-r--r-- 1 root root 66800 янв 29 2017 /lib/x86_64-linux-gnu/libbz2.so.1.0.4 Симлинк /lib/x86_64-linux-gnu/libbz2.so.1.0 -> libbz2.so.1.0.4 логичен, и его нужно сделать и в Альте, я считаю. https://abf.io/import/bzip2/commit/6ae50f94b60b78d67571a7c6acecdb2cf77c12c4 Это исправление этой проблемы созданием симлинков "до упора" (код не высшего качества). Задачу предлагаю закрыть за неактуальностью. Прошу посмотреть ещё раз и добавить libbz2.so.1.0 -> libbz2.so.1.0.8 чтобы обеспечить совместимость с Ubuntu, в Ubuntu 20.04 так: $ epm ql libbz2-1.0 | grep libbz2.so $ dpkg -L libbz2-1.0 /lib/x86_64-linux-gnu/libbz2.so.1.0.4 /lib/x86_64-linux-gnu/libbz2.so.1 /lib/x86_64-linux-gnu/libbz2.so.1.0 (In reply to Vitaly Lipatov from comment #7) > чтобы обеспечить совместимость с Ubuntu, в Ubuntu 20.04 так: Ubuntu 20.04 уже давно нерелевантно, лучше уж тогда смотреть в 24.04. (Ответ для Dmitry V. Levin на комментарий #8) > (In reply to Vitaly Lipatov from comment #7) > > чтобы обеспечить совместимость с Ubuntu, в Ubuntu 20.04 так: > > Ubuntu 20.04 уже давно нерелевантно, лучше уж тогда смотреть в 24.04. Вот Ubuntu 24.04: /usr/lib/x86_64-linux-gnu/libbz2.so.1 /usr/lib/x86_64-linux-gnu/libbz2.so.1.0 /usr/lib/x86_64-linux-gnu/libbz2.so.1.0.4 https://packages.ubuntu.com/noble/amd64/libbz2-1.0/filelist (In reply to Vitaly Lipatov from comment #9) > (Ответ для Dmitry V. Levin на комментарий #8) > > (In reply to Vitaly Lipatov from comment #7) > > > чтобы обеспечить совместимость с Ubuntu, в Ubuntu 20.04 так: > > > > Ubuntu 20.04 уже давно нерелевантно, лучше уж тогда смотреть в 24.04. > > Вот Ubuntu 24.04: > > /usr/lib/x86_64-linux-gnu/libbz2.so.1 > /usr/lib/x86_64-linux-gnu/libbz2.so.1.0 > /usr/lib/x86_64-linux-gnu/libbz2.so.1.0.4 > > https://packages.ubuntu.com/noble/amd64/libbz2-1.0/filelist А soname там какой? Совместимость же имеет смысл именно по soname. Или там сохранена старая ссылка для обратной совместимости, и предлагается добавить ссылку для совместимости с обратной совместимостью? (Ответ для Dmitry V. Levin на комментарий #10) > (In reply to Vitaly Lipatov from comment #9) > > (Ответ для Dmitry V. Levin на комментарий #8) > > > (In reply to Vitaly Lipatov from comment #7) > > > > чтобы обеспечить совместимость с Ubuntu, в Ubuntu 20.04 так: > > > > > > Ubuntu 20.04 уже давно нерелевантно, лучше уж тогда смотреть в 24.04. > > > > Вот Ubuntu 24.04: > > > > /usr/lib/x86_64-linux-gnu/libbz2.so.1 > > /usr/lib/x86_64-linux-gnu/libbz2.so.1.0 > > /usr/lib/x86_64-linux-gnu/libbz2.so.1.0.4 > > > > https://packages.ubuntu.com/noble/amd64/libbz2-1.0/filelist > > А soname там какой? Совместимость же имеет смысл именно по soname. > Или там сохранена старая ссылка для обратной совместимости, и предлагается > добавить ссылку для совместимости с обратной совместимостью? $ objdump -p libbz2.so.1.0.4 |grep SONAME SONAME libbz2.so.1.0 |