Calculate🐧Forum

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

bug
#1

После обновления перестал работать 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 и после обновления из исходников проблема исчезла.

#2

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

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

#3

С новой версией 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.
Откуда он у вас тянется?

#4

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

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

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

#5

Denis J wrote:

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

тоже самое

borg
Traceback (most recent call last):
File “/usr/lib/python-exec/python3.6/borg”, line 11, in
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
from . import helpers
File “/usr/lib64/python3.6/site-packages/borg/helpers.py”, line 40, in
import borg.crypto.low_level
ImportError: /usr/lib64/libb2.so.1: undefined symbol: omp_get_thread_num

#6

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

emerge -C pip
Traceback (most recent call last):
File “/usr/bin/emerge”, line 5, in
from pkg_resources import load_entry_point
File “/usr/lib64/python3.6/site-packages/pkg_resources/init.py”, line 3126, in
@_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
from pkg_resources import load_entry_point
File “/usr/lib64/python3.6/site-packages/pkg_resources/init.py”, line 3126, in
@_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 не проходит
Такой гадости давно не видел.

#7

emerge
Traceback (most recent call last):
File “/usr/bin/emerge”, line 9, in
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
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
from . import hashindex
ImportError: cannot import name ‘hashindex’

HELPP

#8

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

Mastodon Mastodon