Не работает emerge [РЕШЕНО]
MC 28 Августа, 2009 - 20:05
Вчера при попытке построения дерева зависимостей получил следующее:
Calculating dependencies |Traceback (most recent call last):
File "/usr/bin/emerge", line 40, in <module>
retval = emerge_main()
File "/usr/lib/portage/pym/_emerge/main.py", line 1412, in emerge_main
myopts, myaction, myfiles, spinner)
File "/usr/lib/portage/pym/_emerge/actions.py", line 300, in action_build
settings, trees, myopts, myparams, myaction, myfiles, spinner)
File "/usr/lib/portage/pym/_emerge/depgraph.py", line 4988, in backtrack_depgraph
runtime_pkg_mask=runtime_pkg_mask)
File "/usr/lib/portage/pym/_emerge/depgraph.py", line 259, in __init__
allow_backtracking, runtime_pkg_mask)
File "/usr/lib/portage/pym/_emerge/depgraph.py", line 177, in __init__
vardb.aux_get(pkg.cpv, [])
File "/usr/lib/portage/pym/_emerge/FakeVartree.py", line 115, in _aux_get_wrapper
self._portdb.aux_get(pkg, self._portdb_keys)))
File "/usr/lib/portage/pym/portage/dbapi/porttree.py", line 642, in aux_get
mycpv, myebuild, mylocation, mydata, emtime)
File "/usr/lib/portage/pym/portage/dbapi/porttree.py", line 525, in _metadata_callback
self.auxdb[repo_path][cpv] = metadata
File "/usr/lib/portage/pym/portage/cache/template.py", line 77, in __setitem__
self._setitem(cpv, d)
File "/usr/lib/portage/pym/portage/cache/sqlite.py", line 181, in _setitem
values_parameters.append(self._db_escape_string(values.get(k, '')))
File "/usr/lib/portage/pym/portage/cache/sqlite.py", line 51, in _db_escape_string
return "'%s'" % str(s).replace("'","''")
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)
Из-за чего конкретно и после какого действия это произошло выяснить не удалось. Пробовал ставить стабильную версию, простым копирыванием, она заработала и обновила portage до версии 22_rc40, и опять перестало работать.
Собственно вопрос: кто виноват и что делать?
Сейчас пробую откатиться на меньший релиз кандидат.
»
- Для комментирования войдите или зарегистрируйтесь

С версией 2.2_rc39 тоже
С версией 2.2_rc39 тоже самое. Значит скорее всего дело не в портеже, а ч каких-то его файлах.
имхо, ошибка возникает при
имхо, ошибка возникает при выполнении fixpackages.
metadata к этом времени отработала, думаю, что не страшне. если убрать /usr/portage/profiles/updates/3Q-2009 - нормально проходит. по-моему, в этом файле ошибка.
P.S.: xfce4 часом не установлен? ибо в 3Q-2009 много переименований пакетов, связанных с xfce.
P.S.: Linux - это красная таблетка :-) Windows - синяя...
XFCE не установлен.
XFCE не установлен. fixpacjages отработал без проблем, emerge --metadata тоже. Удаление файла 3Q-2009 не помогло.
Попробую отключить все оверлеи и удалть /usr/portage и заново поставить чистым.
python-updater -o 2.6 не
python-updater -o 2.6 не помогает? у меня похоже нет, не помогает :(
Виновник найден! Им оказался
Виновник найден!
Им оказался модуль для работы portage с sqlite для ускорения построения дерева зависимостей
Комментирование этой строчки в /etc/portage/modules вернуло к жизни emerge
Удаление дерева зависимостей
Удаление дерева зависимостей в /var/cache/edb/dep и его новое построение ни к чему не приводит, так что придется временно отказаться от использования pycsqlite, а жаль, ускорее построения зависимостей было с ним очень быстрым.
После обновления portage до
После обновления portage до версии 2.2_rc41 получил похожую ошибку:
Calculating dependencies... done! Traceback (most recent call last): File "/usr/bin/emerge", line 40, in <module> retval = emerge_main() File "/usr/lib/portage/pym/_emerge/main.py", line 1415, in emerge_main myopts, myaction, myfiles, spinner) File "/usr/lib/portage/pym/_emerge/actions.py", line 335, in action_build favorites=favorites) File "/usr/lib/portage/pym/_emerge/depgraph.py", line 4285, in display pkg_world = world_set.findAtomForPackage(pkg) File "/usr/lib/portage/pym/portage/sets/base.py", line 120, in findAtomForPackage for atom in self.iterAtomsForPackage(pkg): File "/usr/lib/portage/pym/portage/sets/base.py", line 138, in iterAtomsForPackage self._load() # make sure the atoms are loaded File "/usr/lib/portage/pym/portage/sets/base.py", line 52, in _load self.load() File "/usr/lib/portage/pym/portage/sets/files.py", line 248, in load data, errors = self.loader.load() File "/usr/lib/portage/pym/portage/env/loaders.py", line 162, in load func(line, line_num, data, errors) File "/usr/lib/portage/pym/portage/env/loaders.py", line 209, in lineParser if not self._validate(key): File "/usr/lib/portage/pym/portage/sets/files.py", line 225, in _validate return ValidAtomValidator(atom) File "/usr/lib/portage/pym/portage/dep.py", line 892, in isvalidatom atom = Atom(atom) File "/usr/lib/portage/pym/portage/dep.py", line 514, in __init__ s = mypkg = str(mypkg) UnicodeEncodeError: 'ascii' codec can't encode character u'\u044c' in position 1: ordinal not in range(128)/etc/portage/modules у меня пустой, если я понимаю правильно - portage отрывает ноги на проверке зависимостей.
Есть мысли куда копать?
Или проще отъехать назад на rc40?
в общем причину не откопал,
в общем причину не откопал, решил заменой папок bin, pym из последнего архива portage и последующей пересборокой