First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 252243
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Portage team <dev-portage@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Matt Summers <quantumsummers@gentoo.org>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
circular_symlink.patch avoid creating a circular symlink patch Zac Medico 2008-12-23 09:46 0000 1.69 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 252243 depends on: Show dependency tree
Bug 252243 blocks: 210077 216231
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2008-12-23 05:19 0000
media-libs/x264-0.0.20081006 buildpkg fails with OSError: [Errno 40] Too many
levels of symbolic links: 
'/usr/portage/packages/media-libs/x264-0.0.20081006.tbz2'

Currently running portage 2.1.6.2 on a generally stable tree amd64

Reproducible: Always

Steps to Reproduce:
1.emerge -va1 =media-libs/x264-0.0.20081006
2.
3.

Actual Results:  
>>> Source compiled.
>>> Test phase [not enabled]: media-libs/x264-0.0.20081006
>>> Completed installing x264-0.0.20081006
strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment
   usr/lib64/libx264.so.65
   usr/lib64/libx264.a
OSError: [Errno 40]

Expected Results:  
/usr/portage/packages/media-libs/x264-0.0.20081006.tbz2

Traceback (most recent call last):
  File "/usr/bin/emerge", line 18, in <module>
    retval = _emerge.emerge_main()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 14222, in
emerge_main
    myopts, myaction, myfiles, spinner)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 13318, in
action_build
    retval = mergetask.merge()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 9984, in merge
    rval = self._merge()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 10226, in _merge
    self._main_loop()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 10354, in _main_loop
    self._poll_loop()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 8912, in _poll_loop
    handler(f, event)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 2205, in
_output_handler
    self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1659, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1732, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 2973, in
_post_phase_exit
    self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1659, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1732, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1964, in
_task_exit_handler
    self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1659, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1732, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1915, in
_default_final_exit
    return self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1659, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1732, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 2614, in _build_exit
    self._start_task(packager, self._buildpkg_exit)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1928, in _start_task
    task.start()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1640, in start
    self._start()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 2993, in _start
    bintree.prevent_collision(pkg.cpv)
  File "//usr/lib64/portage/pym/portage/dbapi/bintree.py", line 332, in
prevent_collision
    self.inject(other_cpv)
  File "//usr/lib64/portage/pym/portage/dbapi/bintree.py", line 797, in inject
    s = os.stat(full_path)
OSError: [Errno 40] Too many levels of symbolic links:
'/usr/portage/packages/media-libs/x264-0.0.20081006.tbz2'

------- Comment #1 From Matt Summers 2008-12-23 05:29:10 0000 -------
equery f x264
[ Searching for packages matching x264... ]
* Contents of media-libs/x264-0.0.20080819:
/usr
/usr/bin
/usr/include
/usr/include/x264.h
/usr/lib64
/usr/lib64/libx264.a
/usr/lib64/libx264.so -> libx264.so.60
/usr/lib64/libx264.so.60
/usr/lib64/pkgconfig
/usr/lib64/pkgconfig/x264.pc
/usr/share
/usr/share/doc
/usr/share/doc/x264-0.0.20080819
/usr/share/doc/x264-0.0.20080819/AUTHORS.bz2
/usr/share/doc/x264-0.0.20080819/ratecontrol.txt.bz2
/usr/share/doc/x264-0.0.20080819/regression_test.txt.bz2
/usr/share/doc/x264-0.0.20080819/standards.txt.bz2
/usr/share/doc/x264-0.0.20080819/threads.txt.bz2
/usr/share/doc/x264-0.0.20080819/vui.txt.bz2

------- Comment #2 From Zac Medico 2008-12-23 09:46:32 0000 -------
Created an attachment (id=176206) [edit]
avoid creating a circular symlink

If this patch is saved as /tmp/circular_symlink.patch, then it can be applied
as follows:

 patch /usr/lib/portage/pym/portage/dbapi/bintree.py
/tmp/circular_symlink.patch

------- Comment #3 From Zac Medico 2008-12-25 07:23:36 0000 -------
This is released in 2.1.6.3 and 2.2_rc19.

First Last Prev Next    No search results available      Search page      Enter new bug