Running an "emerge @preserved-rebuild" crashed for me: >>> Emerging (47 of 132) media-video/mplayer-1.0_rc4_p20090919-r1 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 457, in action_build retval = mergetask.merge() File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 824, in merge rval = self._merge() File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1132, in _merge self._main_loop() File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1270, in _main_loop while self._schedule(): File "/usr/lib/portage/pym/_emerge/PollScheduler.py", line 43, in _schedule return self._schedule_tasks() File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1301, 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/MergeListItem.py", line 91, in _start self._start_task(build, self._default_final_exit) File "/usr/lib/portage/pym/_emerge/CompositeTask.py", line 119, 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/EbuildBuild.py", line 66, in _start self._prefetch_exit(prefetcher) File "/usr/lib/portage/pym/_emerge/EbuildBuild.py", line 90, in _prefetch_exit self._start_task(fetcher, self._fetch_exit) File "/usr/lib/portage/pym/_emerge/CompositeTask.py", line 119, 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/EbuildFetcher.py", line 35, in _start self._build_dir.lock() File "/usr/lib/portage/pym/_emerge/EbuildBuildDir.py", line 39, in lock self.settings, debug, use_cache, portdb) File "/usr/lib/portage/pym/portage/__init__.py", line 5852, in doebuild_environment ebuild_path = os.path.abspath(myebuild) File "/usr/lib/portage/pym/portage/__init__.py", line 182, in __call__ rval = self._func(*wrapped_args, **wrapped_kwargs) File "/usr/lib/python2.6/posixpath.py", line 336, in abspath if not isabs(path): File "/usr/lib/python2.6/posixpath.py", line 52, in isabs return s.startswith('/') AttributeError: 'NoneType' object has no attribute 'startswith' # emerge --version Portage 2.2_rc41 (default/linux/x86/2008.0/desktop, gcc-4.3.4, glibc-2.10.1-r0, 2.6.30-gentoo-r5 i686) It might be that the ebuild it was about to emerge went away due to a portage tree sync in the background while this emerge process was busy with some other ebuild. A proper error message would be better than this backtrace, though.
It's fixed in svn r14442 to produce a message like this: ebuild not found for 'media-video/mplayer-1.0_rc4_p20090919-r1'
This is fixed in 2.2_rc43.
This is fixed in 2.1.7.