Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 217481 - dev-lang/python-2.5.1-r5: emerge fails with IOError
Summary: dev-lang/python-2.5.1-r5: emerge fails with IOError
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: x86 OS X
: High normal (vote)
Assignee: Gentoo non-Linux Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-13 03:45 UTC by MATSUI Tetsushi
Modified: 2008-04-13 18:22 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description MATSUI Tetsushi 2008-04-13 03:45:11 UTC
emerge python fails with IOError around the end of src_install.

Reproducible: Always

Steps to Reproduce:
1.emerge =python-2.5.1-r5


Actual Results:  
Here are the last lines of outputs:
>>> Completed installing python-2.5.1-r5 into /Users/tetsushi/Gentoo/var/tmp/portage/dev-lang/python-2.5.1-r5/image/Users/tetsushi/Gentoo/

ecompressdir: bzip2 -9 /Users/tetsushi/Gentoo/usr/share/man
injecting /Users/tetsushi/Gentoo/usr/lib/python2.5/plat-mac/Carbon into /Users/tetsushi/Gentoo/var/tmp/portage/dev-lang/python-2.5.1-r5/image/
Traceback (most recent call last):
  File "/Users/tetsushi/Gentoo/usr/bin/emerge", line 20, in <module>
    retval = _emerge.emerge_main()
  File "/Users/tetsushi/Gentoo/usr/lib/portage/pym/_emerge/__init__.py", line 7971, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/Users/tetsushi/Gentoo/usr/lib/portage/pym/_emerge/__init__.py", line 7332, in action_build
    retval = mergetask.merge(pkglist, favorites, mtimedb)
  File "/Users/tetsushi/Gentoo/usr/lib/portage/pym/_emerge/__init__.py", line 4585, in merge
    return self._merge(mylist, favorites, mtimedb)
  File "/Users/tetsushi/Gentoo/usr/lib/portage/pym/_emerge/__init__.py", line 4878, in _merge
    prev_mtimes=ldpath_mtimes)
  File "/Users/tetsushi/Gentoo/usr/lib/portage/pym/portage/__init__.py", line 5089, in doebuild
    vartree=vartree, prev_mtimes=prev_mtimes)
  File "/Users/tetsushi/Gentoo/usr/lib/portage/pym/portage/__init__.py", line 5284, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "/Users/tetsushi/Gentoo/usr/lib/portage/pym/portage/dbapi/vartree.py", line 2546, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "/Users/tetsushi/Gentoo/usr/lib/portage/pym/portage/dbapi/vartree.py", line 2554, in _merge
    cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "/Users/tetsushi/Gentoo/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1968, in treewalk
    self._preserve_libs(srcroot, destroot, myfilelist+mylinklist, counter)
  File "/Users/tetsushi/Gentoo/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1672, in _preserve_libs
    os.path.join(srcroot, x.lstrip(os.sep)))
  File "/Users/tetsushi/Gentoo/usr/lib/python2.5/shutil.py", line 91, in copy2
    copyfile(src, dst)
  File "/Users/tetsushi/Gentoo/usr/lib/python2.5/shutil.py", line 46, in copyfile
    fsrc = open(src, 'rb')
IOError: [Errno 21] Is a directory


Expected Results:  
The emerge process should, at least, gracefully terminate itself instead of vomiting IOError.  It must complete emerging python after all.

I have python installed, of course, and it is an attempt to remerge with a new USE flag.  So I thought it's a normal bug.  However, I'm still encountering with this error without the new USE flag.  Thus, the severity could be more serious than Normal.


emerge --info:
Portage 2.2.00.9831-prefix (default-prefix/darwin/macos/10.4/x86, gcc-4.0.1, unavailable, 8.11.1 i386)
=================================================================
System uname: 8.11.1 i386 i386
Timestamp of tree: Sun, 13 Apr 2008 01:20:16 +0000
distcc 2.18.3-Apple.1 powerpc-apple-darwin8.0 (protocols 1 and 2) (default port 3632) [disabled]
app-shells/bash:     3.2_p33
dev-lang/python:     2.5.1-r5
sys-devel/autoconf:  2.13, 2.61-r01.1
sys-devel/automake:  1.5, 1.7.9-r1, 1.10.1
sys-devel/gcc-config: 1.4.0-r04.2
sys-devel/libtool:   1.5.26
ACCEPT_KEYWORDS="x86-macos ~x86-macos"
CBUILD="i686-apple-darwin8"
CFLAGS="-O2 -march=nocona -pipe"
CHOST="i686-apple-darwin8"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -march=nocona -pipe"
DISTDIR="/Users/tetsushi/Gentoo/usr/portage/distfiles"
EPREFIX="/Users/tetsushi/Gentoo"
FEATURES="distlocks metadata-transfer nostrip parallel-fetch preserve-libs sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.gg3.net/ ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="C"
LDFLAGS=""
LINGUAS="ja en it"
MAKEOPTS="-j3"
PKGDIR="/Users/tetsushi/Gentoo/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/Users/tetsushi/Gentoo/var/tmp"
PORTDIR="/Users/tetsushi/Gentoo/usr/portage"
PORTDIR_OVERLAY="/Users/tetsushi/Gentoo/usr/portage/local/layman/prefix-users /Users/tetsushi/Gentoo/usr/portage/local/exp /Users/tetsushi/Gentoo/usr/portage/local/forest"
SYNC="svn+http://overlays.gentoo.org/svn/proj/alt/trunk/prefix-overlay"
USE="aqua cjk coreaudio cracklib gif jpeg midi mmx mmxext ncurses nls objc objc++ png prefix readline sse sse2 ssl unicode x86-macos zlib" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="Darwin" INPUT_DEVICES="keyboard mouse" KERNEL="Darwin" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ja en it" USERLAND="GNU"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Fabian Groffen gentoo-dev 2008-04-13 07:50:04 UTC
This is a preserve-libs problem, it tries to save an entire directory, and the code doesn't like/expect that.
Comment 2 Fabian Groffen gentoo-dev 2008-04-13 11:10:26 UTC
I tried to work around this problem in portage-2.2.00.9869.  Not sure if it is enough.  This is hard to fix at this stage, preserve-libs needs a redesign.

Please try and report.  Alternative is to disable the preserve-libs feature.
Comment 3 MATSUI Tetsushi 2008-04-13 15:22:26 UTC
(In reply to comment #2)
> I tried to work around this problem in portage-2.2.00.9869.  Not sure if it is
> enough.  This is hard to fix at this stage, preserve-libs needs a redesign.
> 
> Please try and report.  Alternative is to disable the preserve-libs feature.
> 

I tried both -preserve-libs with old portage and new portage. 
Emerging python succeeds in both ways.

Thank you, Fabian.
Comment 4 Fabian Groffen gentoo-dev 2008-04-13 15:23:17 UTC
but does it work with preserve-libs enabled on the new portage?
Comment 5 MATSUI Tetsushi 2008-04-13 15:59:37 UTC
Sorry for ambiguous sentence.
I meant "both (-preserve-libs with old portage) and (new portage)".
And yes, I removed "-preserve-libs" from make.conf when I tried new portage,
thus preserve-libs was enabled as default, right?
Comment 6 Fabian Groffen gentoo-dev 2008-04-13 18:22:25 UTC
yes, thanks.  So the work-around sort of works ;)