После обновления сломался borgbackup.

Added by watchcat none 26 days ago

После обновления перестал работать borgbackup.
Причём сломался судя по логу сломалась библиотека библиотека libb2.

borg create --exclude-from /etc/backup/exclude.lst -x -s backup@backup.localnet:/mnt/backup/server0::2019-02-26 /bin /boot /chroot /etc /home /lib /lib32 /lib64 /mnt /opt /root /sbin /usr /var
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.6/borg", line 11, in <module>
    load_entry_point('borgbackup==1.1.8', 'console_scripts', 'borg')()
  File "/usr/lib64/python3.6/site-packages/pkg_resources/__init__.py", line 487, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib64/python3.6/site-packages/pkg_resources/__init__.py", line 2728, in load_entry_point
    return ep.load()
  File "/usr/lib64/python3.6/site-packages/pkg_resources/__init__.py", line 2346, in load
    return self.resolve()
  File "/usr/lib64/python3.6/site-packages/pkg_resources/__init__.py", line 2352, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib64/python3.6/site-packages/borg/archiver.py", line 36, in <module>
    from . import helpers
  File "/usr/lib64/python3.6/site-packages/borg/helpers.py", line 40, in <module>
    import borg.crypto.low_level
ImportError: /usr/lib64/libb2.so.1: undefined symbol: omp_get_thread_num

Но что самое интересное equery говорит что от ней никто не зависит, но при попытке переустановки borgbackup всё-равно тянется libb2.

Т.к. не смог вспомнить/нагуглить как можно принудительно установить пакет из исходников игнорируя бинарный пакет, то пришлось размаскировать 1.1.9 версию borgbackup и после обновления из исходников проблема исчезла.


Replies (7)

RE: После обновления сломался borgbackup. - Added by Alexander Tratsevskiy 26 days ago

Похоже стабильная версия работает нестабильно. Обновим версию бинарного пакета.

Для сборки из исходного кода используйте конструкцию "FEATURES="-getbinpkg" emerge ...". Подробнее можно прочитать в файле /etc/portage/make.conf/custom.*

RE: После обновления сломался borgbackup. - Added by watchcat none 12 days ago

С новой версией 1.1.9 та же хрень.
Пакет ищет в /usr/lib64/libb2.so.1: undefined symbol: omp_get_thread_num

Но если удалить libb2 и собрать borgbackup из исходников, то libb2 не тянется в зависимостях и всё работает нормально.

Вопрос, можно ли как-то у себя принудительно запретить getbinpkg только для borgbackup, т.к. у вас либо он, либо libb2 собран плохо?

Самое интересное, что в ebuild-е не прописана зависимость от libb2, но `emerge -avt borgbackup` пишет, что бинарный пакет зависит от libb2.
Откуда он у вас тянется?

RE: После обновления сломался borgbackup. - Added by Denis J 12 days ago

В make.conf добавьте строки

USEPKG_EXCLUDE="--usepkg-exclude='app-backup/borgbackup'" 
EMERGE_JOBS="--jobs=1" 
EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} ${USEPKG_EXCLUDE} ${EMERGE_JOBS}" 

Должен ставится из исходника

RE: После обновления сломался borgbackup. - Added by Тимофей Захарчук 11 days ago

Denis J wrote:

В make.conf добавьте строки
[...]
Должен ставится из исходника

тоже самое

borg
Traceback (most recent call last):
File "/usr/lib/python-exec/python3.6/borg", line 11, in <module>
load_entry_point('borgbackup==1.1.9', 'console_scripts', 'borg')()
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 487, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 2728, in load_entry_point
return ep.load()
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 2346, in load
return self.resolve()
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 2352, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "/usr/lib64/python3.6/site-packages/borg/archiver.py", line 36, in <module>
from . import helpers
File "/usr/lib64/python3.6/site-packages/borg/helpers.py", line 40, in <module>
import borg.crypto.low_level
ImportError: /usr/lib64/libb2.so.1: undefined symbol: omp_get_thread_num

RE: После обновления сломался borgbackup. - Added by Тимофей Захарчук 11 days ago

Спасибо - попытался помочь. теперь на лубую комманду связанную с python ответ

emerge -C pip
Traceback (most recent call last):
File "/usr/bin/emerge", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 3126, in <module>
@_call_aside
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 3110, in _call_aside
f(*args, **kwargs)
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 3139, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 581, in _build_master
ws.require(requires)
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 898, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 784, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'borgbackup==1.0.9' distribution was not found and is required by the application

layman -s
Traceback (most recent call last):
File "/usr/bin/layman", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 3126, in <module>
@_call_aside
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 3110, in _call_aside
f(*args, **kwargs)
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 3139, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 581, in _build_master
ws.require(requires)
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 898, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 784, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'borgbackup==1.0.9' distribution was not found and is required by the application

Как лечить?
Такое ощущение что этот borgbackup какойто вирус для python
Даже cl-update не проходит
Такой гадости давно не видел.

RE: После обновления сломался borgbackup. - Added by Тимофей Захарчук 11 days ago

emerge
Traceback (most recent call last):
File "/usr/bin/emerge", line 9, in <module>
load_entry_point('borgbackup==1.0.9', 'console_scripts', 'borg')()
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 487, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 2728, in load_entry_point
return ep.load()
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 2346, in load
return self.resolve()
File "/usr/lib64/python3.6/site-packages/pkg_resources/init.py", line 2352, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "/usr/lib64/python3.6/site-packages/borg/archiver.py", line 20, in <module>
from .helpers import Error, location_validator, archivename_validator, format_line, format_time, format_file_size, \
File "/usr/lib64/python3.6/site-packages/borg/helpers.py", line 32, in <module>
from . import hashindex
ImportError: cannot import name 'hashindex'

HELPP

RE: После обновления сломался borgbackup. - Added by Тимофей Захарчук 11 days ago

Восстановил все сам.
Просто скопировал папки /usr/lib64/python-exec /usr/lib64/python2.7 /usr/lib64/python3.4 /usr/lib64/python3.6
эта зараза borgbackup из исходников обнуляет (правит под себя) файл /usr/lib64/python-exec/python-exec2 и может еще какие (не разбирался).
НИ КОМУ НЕ СОВЕТУЮ СТАВИТЬ ЭТУ ДРЯНЬ

(1-7/7)

Thank you!