LINUX.ORG.RU

После emerge --sync (и не только он) , emerge выдает ошибку


0

1

Сделал emerge --sync, теперь при выполнении любого обращения к emerge выдаются такие сообщения:

# emerge -u system
'import site' failed; use -v for traceback
Traceback (most recent call last):
  File "/usr/bin/emerge", line 34, in <module>
    from os import path as osp
  File "/usr/lib/python2.6/os.py", line 52, in <module>
    __all__.extend(_get_exports_list(posix))
  File "/usr/lib/python2.6/os.py", line 39, in _get_exports_list
    return [n for n in dir(module) if n[0] != '_']
TypeError: 'listiterator' object is unsubscriptable

Пытался так решить: Взял собранный portage-2.1.10.3.tbz2 , распаковал в корень, но не помогло.

upd: Запускаю deluge - ошибка почти такого же вида:

$ deluge
'import site' failed; use -v for traceback
Traceback (most recent call last):
  File "/usr/bin/deluge", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources


python-updater

Но теперь у вас могут быть проблемы, зря вы распаковывали в корень portage-2.1.10.3.tbz2.

kostik87 ★★★★★ ()

проблемы с питоном - курите python-updater

Pinkbyte ★★★★★ ()

Кстати, у меня была точно такая же ошибка в делюге. После пистон-апдейтера делюга просто сегфолтится. Не знаю, что и делать.

$> deluge
Segmentation fault

]

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

После python-updater, если всё же deluge завершает работу с ошибкой его надо просто пересобрать заново (emerge deluge).

kostik87 ★★★★★ ()
Ответ на: комментарий от garmonbozia

emerge /usr/lib*/python*
Это при portage-2.2*, разумеется.

AnDoR ★★★★★ ()
Ответ на: комментарий от garmonbozia

Ну если

python-updater
deluge - error
emerge deluge - error
то делайте revdep-rebuild, если вы ещё не нароком обновляли компилятор (gcc) и перешли с версии на версию gcc-4.5.* сменили на gcc-4.6.*, выполнив после установки новой версии компилятора gcc-config <новая версия gcc> нужно вообще пересобрать всю систему emerge -e world.

kostik87 ★★★★★ ()
Ответ на: python-updater тоже выдает ошибку от Skala

Что вы делали пере этим с системой, что сломали emerge ?

Насколько я вижу вы любитель скачивать бинарные пакеты для gentoo кем-то собранные и распаковывать их в корень.

Обновляли ли вы при этом python покажите, что у вас показывает:

eselect python list

Если там несколько версий питона - то попробуйте переключиться на другие версии и попробовать выполнить emerge -pv nano к примеру, что бы проверить работоспособность emerge.

Если это не поможет, то можно вручную из ebuild`ов переустановить программы, которые вам выбрал python-updater. Вот выбранные программы:

emerge -Dv1 --keep-going app-accessibility/speech-dispatcher:0 app-admin/webapp-config:0 app-emulation/virtualbox-bin:0 app-office/libreoffice-bin:0 app-pda/pilot-link:0 app-portage/layman:0 app-text/gnome-doc-utils:0 dev-java/javatoolkit:0 dev-libs/libgamin:0 dev-libs/libxml2:2 dev-libs/libxslt:0 dev-python/dbus-python:0 dev-python/notify-python:0 dev-python/psyco:0 dev-python/pyalsa:0 dev-python/pycairo:0 dev-python/pygobject:2 dev-python/pygtk:2 dev-python/pyorbit:0 dev-python/pyrex:0 dev-python/pyxdg:0 dev-python/pyxml:0 dev-python/twisted:0 dev-python/twisted-web:0 dev-util/scons:0 dev-vcs/subversion:0 gnome-base/gnome-menus:0 gnome-extra/libgsf:0 media-libs/mutagen:0 rox-base/zeroinstall-injector:0 sys-libs/cracklib:0 sys-process/iotop:0

Преобразуем этот вывод :

echo "app-accessibility/speech-dispatcher:0 app-admin/webapp-config:0 app-emulation/virtualbox-bin:0 app-office/libreoffice-bin:0 app-pda/pilot-link:0 app-portage/layman:0 app-text/gnome-doc-utils:0 dev-java/javatoolkit:0 dev-libs/libgamin:0 dev-libs/libxml2:2 dev-libs/libxslt:0 dev-python/dbus-python:0 dev-python/notify-python:0 dev-python/psyco:0 dev-python/pyalsa:0 dev-python/pycairo:0 dev-python/pygobject:2 dev-python/pygtk:2 dev-python/pyorbit:0 dev-python/pyrex:0 dev-python/pyxdg:0 dev-python/pyxml:0 dev-python/twisted:0 dev-python/twisted-web:0 dev-util/scons:0 dev-vcs/subversion:0 gnome-base/gnome-menus:0 gnome-extra/libgsf:0 media-libs/mutagen:0 rox-base/zeroinstall-injector:0 sys-libs/cracklib:0 sys-process/iotop:0" | tr ' ' '\n' | sed s/\:.*//
Получим такой список:
app-accessibility/speech-dispatcher
app-admin/webapp-config
app-emulation/virtualbox-bin
app-office/libreoffice-bin
app-pda/pilot-link
app-portage/layman
app-text/gnome-doc-utils
dev-java/javatoolkit
dev-libs/libgamin
dev-libs/libxml2
dev-libs/libxslt
dev-python/dbus-python
dev-python/notify-python
dev-python/psyco
dev-python/pyalsa
dev-python/pycairo
dev-python/pygobject
dev-python/pygtk
dev-python/pyorbit
dev-python/pyrex
dev-python/pyxdg
dev-python/pyxml
dev-python/twisted
dev-python/twisted-web
dev-util/scons
dev-vcs/subversion
gnome-base/gnome-menus
gnome-extra/libgsf
media-libs/mutagen
rox-base/zeroinstall-injector
sys-libs/cracklib
sys-process/iotop
Все программы из него переустанавливать вручную не будем, что бы «завести» emerge должно хватить переустановки только пакетов из раздела dev-python.
dev-python/dbus-python
dev-python/notify-python
dev-python/psyco
dev-python/pyalsa
dev-python/pycairo
dev-python/pygobject
dev-python/pygtk
dev-python/pyorbit
dev-python/pyrex
dev-python/pyxdg
dev-python/pyxml
dev-python/twisted
dev-python/twisted-web

Теперь переходите в директорию /usr/portage/dev-python/dbus-python/ и выполняете:

ebuild dbus-python-0.83.2.ebuild merge
эта команда вызовет стандартный процесс установки ebuild`а. После установки переходите в следующую директорию cd ../dev-python/notify-python и устанавливаете там ebuild, что бы не ставить ebuild`ы, которые имеют статус тестовых (~x86/~amd64) или вообще статус hardmasked, можно поставить программу eix и с помощью неё сверяться со статусом ebuild`а и определять последнюю стабильную версию программы:

cd /usr/portage/app-portage/eix/
ebuild eix-0.22.11.ebuild merge
...
eix-update // после установки обновите базу eix.

Теперь проверим стабильные версии программ из списка:

eix dev-python/notify-python
* dev-python/notify-python
     Available versions:  0.1.1-r2 {examples}
     Homepage:            http://www.galago-project.org/
     Description:         Python bindings for libnotify

В данном случае одна версия, но их может быть несколько, если перед номером версии стоит тильда «~» или [M] эту версию лучше не ставить.

Если eix не будет работать из-за поломанного python`а то ставьте не самые последние версии ebuild`ов.

В конце можете выполнить установку portage`а:

cd /usr/portage/sys-apps/portage
ebuild portage-2.1.10.3.ebuild merge

Вообще такая «котовасия» может случиться только когда вы распаковываете пакеты в корень, собранные на другой системе с другими USE флагами и другой версией среза портэжэй либо что то сразу бездумно начинаете удалять или востсанавливать из старых копий.

Либо всю систему собирайте вручную, либо используйте готовые пакетоы, но не всё вместе.

kostik87 ★★★★★ ()
Ответ на: комментарий от deterok

У него emerge не работает из-за python`а, можно только попробовать:

cd /usr/portage/dev-lang/python
ebuild python-2.7.1-r1.ebuild merge
select python set python-2.7.1
cd /usr/portage/sys-apps/portage
ebuild portage-2.1.10.3.ebuild merge

Но и то не факт.

Нужно также зависимости от питона переустановить

kostik87 ★★★★★ ()

Решил так: eselect python list затем выбрал [1] python2.6

И потом - python-updater

Skala ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.