# Update auf portage-2.1.10.41 scheitert?

## uhai

Hallo zusammen,

eben versuche ich den Laptop meines Sohnes zu aktualisieren. Leider scheitert das empfohlene portage-Update an diesem Fehler:

```
!!! /var/db/pkg/sys-apps/portage-2.1.10.41/*DEPEND: Invalid atom (/*), token 1

Traceback (most recent call last):

  File "/usr/bin/emerge", line 43, in <module>

    retval = emerge_main()

  File "/usr/lib/portage/pym/_emerge/main.py", line 2032, in emerge_main

    myopts, myaction, myfiles, spinner)

  File "/usr/lib/portage/pym/_emerge/actions.py", line 444, in action_build

    retval = mergetask.merge()

  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1040, in merge

    rval = self._merge()

  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1385, in _merge

    self._main_loop()

  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1532, in _main_loop

    self._poll_loop()

  File "/usr/lib/portage/pym/_emerge/PollScheduler.py", line 193, in _poll_loop

    handler(f, event)

  File "/usr/lib/portage/pym/_emerge/EbuildIpcDaemon.py", line 85, in _input_handler

    reply_hook()

  File "/usr/lib/portage/pym/_emerge/AbstractEbuildProcess.py", line 160, in _exit_command_callback

    self.scheduler.schedule(self._reg_id, timeout=self._exit_timeout)

  File "/usr/lib/portage/pym/_emerge/PollScheduler.py", line 291, in _schedule_wait

    handler(f, event)

  File "/usr/lib/portage/pym/_emerge/SpawnProcess.py", line 224, in _output_handler

    self._unregister_if_appropriate(event)

  File "/usr/lib/portage/pym/_emerge/AbstractPollTask.py", line 61, in _unregister_if_appropriate

    self.wait()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 46, in wait

    self._wait_hook()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 128, in _wait_hook

    self._exit_listener_stack.pop()(self)

  File "/usr/lib/portage/pym/_emerge/EbuildPhase.py", line 268, in _post_phase_exit

    self.wait()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 46, in wait

    self._wait_hook()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 128, in _wait_hook

    self._exit_listener_stack.pop()(self)

  File "/usr/lib/portage/pym/_emerge/TaskSequence.py", line 43, in _task_exit_handler

    self.wait()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 46, in wait

    self._wait_hook()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 128, in _wait_hook

    self._exit_listener_stack.pop()(self)

  File "/usr/lib/portage/pym/_emerge/CompositeTask.py", line 133, in _default_final_exit

    return self.wait()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 46, in wait

    self._wait_hook()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 128, in _wait_hook

    self._exit_listener_stack.pop()(self)

  File "/usr/lib/portage/pym/_emerge/EbuildBuild.py", line 289, in _build_exit

    self.wait()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 46, in wait

    self._wait_hook()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 128, in _wait_hook

    self._exit_listener_stack.pop()(self)

  File "/usr/lib/portage/pym/_emerge/CompositeTask.py", line 133, in _default_final_exit

    return self.wait()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 46, in wait

    self._wait_hook()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 128, in _wait_hook

    self._exit_listener_stack.pop()(self)

  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1363, in _build_exit

    self._schedule()

  File "/usr/lib/portage/pym/_emerge/PollScheduler.py", line 104, in _schedule

    return self._schedule_tasks()

  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1564, in _schedule_tasks

    if q.schedule():

  File "/usr/lib/portage/pym/_emerge/SequentialTaskQueue.py", line 55, in schedule

    task.start()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 24, in start

    self._start()

  File "/usr/lib/portage/pym/_emerge/PackageMerge.py", line 40, in _start

    self._start_task(task, self._default_final_exit)

  File "/usr/lib/portage/pym/_emerge/CompositeTask.py", line 146, in _start_task

    task.start()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 24, in start

    self._start()

  File "/usr/lib/portage/pym/_emerge/EbuildMerge.py", line 34, in _start

    self._start_task(merge_task, self._merge_exit)

  File "/usr/lib/portage/pym/_emerge/CompositeTask.py", line 146, in _start_task

    task.start()

  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 24, in start

    self._start()

  File "/usr/lib/portage/pym/portage/dbapi/_MergeProcess.py", line 43, in _start

    super(MergeProcess, self)._start()

  File "/usr/lib/portage/pym/_emerge/SpawnProcess.py", line 127, in _start

    retval = self._spawn(self.args, **kwargs)

  File "/usr/lib/portage/pym/portage/dbapi/_MergeProcess.py", line 101, in _spawn

    blockers = self.blockers()

  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 614, in get_blockers

    return self._find_blockers_impl(new_pkg)

  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 624, in _find_blockers_impl

    for blocking_pkg in blocker_db.findInstalledBlockers(new_pkg):

  File "/usr/lib/portage/pym/_emerge/BlockerDB.py", line 84, in findInstalledBlockers

    for blocker_atom in blocker_cache[pkg.cpv].atoms:

  File "/usr/lib/portage/pym/_emerge/BlockerCache.py", line 185, in __getitem__

    return self.BlockerData(*self._cache_data["blockers"][cpv])

KeyError: u'sys-apps/portage-2.1.10.41'

```

Der Fehler ist vermutlich das "invalid atom" aus der ersten Zeile, der Rest scheinen mir Folgefehler zu sein. Auf meiner Kiste lief das Update problemlos. Also nehme ich an, dass es nicht am package selbst liegt. Wo kann ich den "/*" den suchen? Welche Infos sind notwendig zur Klärung?

uhai[/code]

----------

## Finswimmer

Schau dir mal den Inhalt von /var/db/pkg/sys-apps/portage-2.1.10.41/ an.

Und wenn dort nichts auffälliges ist den Inhalt von DEPEND

----------

## uhai

```
ls /var/db/pkg/sys-apps/portage-2.1.10.41/ 

BUILD_TIME  CHOST     DEFINED_PHASES  environment.bz2  IUSE      PDEPEND                   repository

CATEGORY    CONTENTS  DEPEND          FEATURES         KEYWORDS  PF                        SIZE

CBUILD      COUNTER   DESCRIPTION     HOMEPAGE         LDFLAGS   portage-2.1.10.41.ebuild  SLOT

CFLAGS      CXXFLAGS  EAPI            INHERITED        LICENSE   RDEPEND                   USE

```

```
cat /var/db/pkg/sys-apps/portage-2.1.10.41/DEPEND

  for (i = 0; i < encidx; i++)

                                {

                                  sprintf (p, "\\x%02x", encbuf[i]);

                                  p += 4;

                                }

                            }

                          n += encidx * 4;

```

Danke Finswimmer für den Tip. Leider kann ich hier nichts aufreegendes entdecken...

Vor einiger Zeit habe ich das Update auf meiner Kiste problemlos durchgezogen. Daher meine ich, das Problem müsste eher an der Installation auf dem Laptop liegen...

uhai

----------

## franzf

In DEPEND sollte das stehen, was auch im ebuild unter DEPEND steht. Das bei dir schaut ja nach Programm-Code aus - k.A. wie das da rein kommt!

----------

## uhai

Kann ich /var/db/pkg/sys-apps/portage-2.1.10.41 einfach löschen und frisch  holen? Dann sollte es vielleicht klappen, oder?

uhai

----------

## Genone

Ich würde jetzt als allererstes mal ein fsck machen, weil das doch sehr nach einem Dateisystemfehler aussieht.

Ansonsten die portage-2.1.10-41/DEPEND löschen (nicht das komplette Verzeichnis) und portage neu installieren.

----------

