Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 133606 - Fail when try to build packages with many deps and ROOT other then /
Summary: Fail when try to build packages with many deps and ROOT other then /
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Configuration (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 115839
  Show dependency tree
 
Reported: 2006-05-17 08:37 UTC by redbaron
Modified: 2006-05-18 22:45 UTC (History)
0 users

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


Attachments
correctly autoclean build time dependencies (build_time_autoclean.patch,3.20 KB, patch)
2006-05-17 22:37 UTC, Zac Medico
Details | Diff
catch PackageNotFound exceptions from unmerge() (catch_PackageNotFound.patch,511 bytes, patch)
2006-05-18 00:24 UTC, Zac Medico
Details | Diff
get ROOT from portage.settings instead of self.pkgsettings (root_fix.patch,414 bytes, patch)
2006-05-18 02:10 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description redbaron 2006-05-17 08:37:18 UTC
ROOT=/myroot emerge xorg-server

........here is compile process... 
.....and then...

>>> Merging x11-proto/xf86bigfontproto-1.1.2 to /
 * Removing /usr/share/man
 * Removing /usr/share/info
 * Removing /usr/share/doc
--- /usr/
--- /usr/lib/
--- /usr/lib/pkgconfig/
>>> /usr/lib/pkgconfig/xf86bigfontproto.pc
--- /usr/include/
--- /usr/include/X11/
--- /usr/include/X11/extensions/
>>> /usr/include/X11/extensions/xf86bigfont.h
>>> /usr/include/X11/extensions/xf86bigfstr.h
>>> Safely unmerging already-installed instance...
No package files given... Grabbing a set.
>>> Original instance of package unmerged safely.
>>> Regenerating /etc/ld.so.cache...
>>> x11-proto/xf86bigfontproto-1.1.2 merged.

>>> Using system located in ROOT tree /cterm_root/
Traceback (most recent call last):
  File "/usr/bin/emerge", line 3415, in ?
    mydepgraph.merge(pkglist)
  File "/usr/bin/emerge", line 2077, in merge
    retval=unmerge("clean", [xsplit[0]])
  File "/usr/bin/emerge", line 2261, in unmerge
    raise portage_exception.PackageNotFound(x)
portage_exception.PackageNotFound: 'x11-proto/xf86bigfontproto'

but package installed succesfully. 
if we try to emerge package without deps everything goes fine.

I use chrooted env, which was build from stage1-uclibc.

My emerge --info

Portage 2.1_rc1-r2 (uclibc/x86, gcc-3.4.6, uclibc-0.9.28-r0, 2.6.15-gentoo-r7lab3 i686)
=================================================================
System uname: 2.6.15-gentoo-r7lab3 i686 AMD Opteron(tm) Processor 248
Gentoo Base System version 1.12.0_pre19
ccache version 2.4 [enabled]
dev-lang/python:     2.3.4-r1, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r1
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-gentoo-linux-uclibc"
CFLAGS="-Os -pipe -march=i686"
CHOST="i686-gentoo-linux-uclibc"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-Os -pipe -march=i686"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer nodoc noinfo noman sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="ru_RU.utf8"
LC_ALL=""
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 bitmap-fonts cli dri minimal ncurses pcre readline reflection session spl truetype-fonts type1-fonts uclibc unicode xorg zlib elibc_uclibc kernel_linux userland_GNU video_cards_via"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Zac Medico gentoo-dev 2006-05-17 16:44:19 UTC
It's trying to autoclean the package from $ROOT when the package was actually merged to / (as build time dependencies should be).  I'm working on a patch now...
Comment 2 Zac Medico gentoo-dev 2006-05-17 22:36:34 UTC
I've fixed this in svn r3370.  This bug has existed for a long time but it wasn't very noticable until I added the PackageNotFound exception recently.  With my patch, emerge will now correctly autoclean build time dependencies that have been upgraded in / when ROOT!=/.
Comment 3 Zac Medico gentoo-dev 2006-05-17 22:37:39 UTC
Created attachment 86978 [details, diff]
correctly autoclean build time dependencies
Comment 4 redbaron 2006-05-17 23:56:36 UTC
After applying patch problem is still there. 

>>> Using system located in ROOT tree /cterm_root/
Traceback (most recent call last):
  File "/usr/bin/emerge", line 3482, in ?
    mydepgraph.merge(pkglist)
  File "/usr/bin/emerge", line 2078, in merge
    retval = unmerge("clean", [xsplit[0]])
  File "/usr/bin/emerge", line 2328, in unmerge
    raise portage_exception.PackageNotFound(x)
portage_exception.PackageNotFound: 'x11-proto/trapproto
Comment 5 redbaron 2006-05-18 00:07:45 UTC
It seems that problem only on compile dependencies of package, not run dependencies. 

As workaround I've just added AUTOCLEAN="no" into my make.conf
Comment 6 Zac Medico gentoo-dev 2006-05-18 00:24:21 UTC
Created attachment 86982 [details, diff]
catch PackageNotFound exceptions from unmerge()

(In reply to comment #5)
> As workaround I've just added AUTOCLEAN="no" into my make.conf

AUTOCLEAN="no" is really dangerous because you can get lots of overlapping packages which can lead to strange build errors.

Your problem with x11-proto/trapproto must have been merged to $ROOT, which is a slightly different case that the first one.
Comment 7 redbaron 2006-05-18 00:33:16 UTC
I can't see any diff: merging none of builtime dependencies finished correctly, but any runtime dependencies feels good with ROOT != /

both of my posts with console dumps are from command ROOT=/cterm_root emerge -va xorg-server and both failed on merging buildtime dependencies. 
Comment 8 redbaron 2006-05-18 00:33:57 UTC
Is there any way run clean proccess after all packages are emerged?
Comment 9 Zac Medico gentoo-dev 2006-05-18 00:51:50 UTC
(In reply to comment #8)
> Is there any way run clean proccess after all packages are emerged?

Try depclean or prune for that (but us -p or -a and be careful not to unmerge anything that is needed).

(In reply to comment #7)
> both of my posts with console dumps are from command ROOT=/cterm_root emerge
> -va xorg-server and both failed on merging buildtime dependencies. 

That's strange, because you shouldn't get any such exception with build-time dependencies (merged to / with ROOT!=/) when the first patch is applied.  Please post the full merge phase output with the first patch applied if that's really happening.  In any case, you won't get any PackageNotFound exceptions with the second patch applied.
Comment 10 Zac Medico gentoo-dev 2006-05-18 00:58:06 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > Is there any way run clean proccess after all packages are emerged?
> 
> Try depclean or prune for that (but us -p or -a and be careful not to unmerge
> anything that is needed).

Actually, emerge has a --clean action that is safer than prune or depclean (see `man emerge`).
Comment 11 redbaron 2006-05-18 01:18:18 UTC
( C-TERM ) lab3 cterm_root # ROOT="/cterm_root/" emerge -va rdesktop

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] dev-libs/openssl-0.9.7j  USE="zlib -bindist -emacs -test" 0 kB
[ebuild  N    ] app-misc/ca-certificates-20050804  0 kB
[ebuild  N    ] dev-libs/openssl-0.9.7j to /cterm_root/ USE="zlib -bindist -emacs -test" 0 kB
[ebuild  N    ] net-misc/rdesktop-1.4.1 to /cterm_root/ USE="-debug -ipv6 -oss" 0 kB
[ebuild  N    ] app-misc/ca-certificates-20050804 to /cterm_root/ 0 kB

Total size of downloads: 0 kB

Would you like to merge these packages? [Yes/No]  

<<<<<<<<<<<<< COMPILE PROCESS HERE >>>>>>>>>>>>>>>>

removing old symlink: openssl-config.5ssl
gzipping man page: ssl-config.5ssl
fixing man page symlink: ssl-Modes_of_DES.7ssl.gz
removing old symlink: ssl-Modes_of_DES.7ssl
fixing man page symlink: openssl-des_modes.7ssl.gz
removing old symlink: openssl-des_modes.7ssl
fixing man page symlink: openssl-Modes_of_DES.7ssl.gz
removing old symlink: openssl-Modes_of_DES.7ssl
gzipping man page: ssl-des_modes.7ssl
strip: i686-gentoo-linux-uclibc-strip --strip-unneeded
   usr/bin/openssl
   usr/lib/libssl.so.0.9.7
   usr/lib/libcrypto.so.0.9.7
>>> Merging dev-libs/openssl-0.9.7j to /
 * Removing /usr/share/man
 * Removing /usr/share/info
 * Removing /usr/share/doc
--- /etc/
>>> /etc/ssl/
>>> /etc/ssl/misc/
>>> /etc/ssl/misc/CA.pl
>>> /etc/ssl/misc/CA.sh
>>> /etc/ssl/misc/c_issuer
>>> /etc/ssl/misc/c_hash
>>> /etc/ssl/misc/c_info
>>> /etc/ssl/misc/c_name
>>> /etc/ssl/openssl.cnf
>>> /etc/ssl/certs/
>>> /etc/ssl/certs/RegTP-5R.pem
>>> /etc/ssl/certs/RegTP-6R.pem
>>> /etc/ssl/certs/vsignss.pem
>>> /etc/ssl/certs/wellsfgo.pem
>>> /etc/ssl/certs/d4e39186.0 -> RegTP-5R.pem
>>> /etc/ssl/certs/eng1.pem
>>> /etc/ssl/certs/eng2.pem
>>> /etc/ssl/certs/eng3.pem
>>> /etc/ssl/certs/eng4.pem
>>> /etc/ssl/certs/eng5.pem
>>> /etc/ssl/certs/argena.pem
>>> /etc/ssl/certs/argeng.pem
>>> /etc/ssl/certs/f73e89fd.0 -> vsignss.pem
>>> /etc/ssl/certs/thawteCb.pem
>>> /etc/ssl/certs/thawteCp.pem
>>> /etc/ssl/certs/vsign1.pem
>>> /etc/ssl/certs/vsign3.pem
>>> /etc/ssl/certs/1e49180d.0 -> RegTP-6R.pem
>>> /etc/ssl/certs/7a9820c1.0 -> eng1.pem
>>> /etc/ssl/certs/843b6c51.0 -> eng5.pem
>>> /etc/ssl/certs/56e607f4.0 -> eng2.pem
>>> /etc/ssl/private/
--- /usr/
--- /usr/bin/
>>> /usr/bin/c_rehash
>>> /usr/bin/fipsld
>>> /usr/bin/openssl
--- /usr/lib/
>>> /usr/lib/fips_premain.c.sha1
>>> /usr/lib/fips_premain.c
>>> /usr/lib/libssl.so.0.9.7
--- /usr/lib/pkgconfig/
>>> /usr/lib/pkgconfig/openssl.pc
>>> /usr/lib/libssl.so.0 -> libssl.so.0.9.7
>>> /usr/lib/libcrypto.so.0.9.7
>>> /usr/lib/libcrypto.so.0 -> libcrypto.so.0.9.7
>>> /usr/lib/libcrypto.a
>>> /usr/lib/libssl.a
--- /usr/include/
>>> /usr/include/openssl/
>>> /usr/include/openssl/opensslv.h
>>> /usr/include/openssl/bn.h
>>> /usr/include/openssl/dh.h
>>> /usr/include/openssl/ec.h
>>> /usr/include/openssl/ui.h
>>> /usr/include/openssl/crypto.h
>>> /usr/include/openssl/txt_db.h
>>> /usr/include/openssl/e_os2.h
>>> /usr/include/openssl/aes.h
>>> /usr/include/openssl/bio.h
>>> /usr/include/openssl/des.h
>>> /usr/include/openssl/dsa.h
>>> /usr/include/openssl/dso.h
>>> /usr/include/openssl/err.h
>>> /usr/include/openssl/evp.h
>>> /usr/include/openssl/fips_rand.h
>>> /usr/include/openssl/md2.h
>>> /usr/include/openssl/md4.h
>>> /usr/include/openssl/md5.h
>>> /usr/include/openssl/pem.h
>>> /usr/include/openssl/rc2.h
>>> /usr/include/openssl/rc4.h
>>> /usr/include/openssl/rc5.h
>>> /usr/include/openssl/sha.h
>>> /usr/include/openssl/rsa.h
>>> /usr/include/openssl/ssl.h
>>> /usr/include/openssl/lhash.h
>>> /usr/include/openssl/conf_api.h
>>> /usr/include/openssl/tmdiff.h
>>> /usr/include/openssl/safestack.h
>>> /usr/include/openssl/ssl23.h
>>> /usr/include/openssl/stack.h
>>> /usr/include/openssl/engine.h
>>> /usr/include/openssl/asn1.h
>>> /usr/include/openssl/cast.h
>>> /usr/include/openssl/asn1_mac.h
>>> /usr/include/openssl/comp.h
>>> /usr/include/openssl/conf.h
>>> /usr/include/openssl/des_old.h
>>> /usr/include/openssl/x509_vfy.h
>>> /usr/include/openssl/fips.h
>>> /usr/include/openssl/blowfish.h
>>> /usr/include/openssl/hmac.h
>>> /usr/include/openssl/idea.h
>>> /usr/include/openssl/kssl.h
>>> /usr/include/openssl/mdc2.h
>>> /usr/include/openssl/ocsp.h
>>> /usr/include/openssl/obj_mac.h
>>> /usr/include/openssl/pem2.h
>>> /usr/include/openssl/pkcs12.h
>>> /usr/include/openssl/ossl_typ.h
>>> /usr/include/openssl/ebcdic.h
>>> /usr/include/openssl/rand.h
>>> /usr/include/openssl/buffer.h
>>> /usr/include/openssl/x509.h
>>> /usr/include/openssl/ssl2.h
>>> /usr/include/openssl/ssl3.h
>>> /usr/include/openssl/objects.h
>>> /usr/include/openssl/tls1.h
>>> /usr/include/openssl/ripemd.h
>>> /usr/include/openssl/krb5_asn.h
>>> /usr/include/openssl/x509v3.h
>>> /usr/include/openssl/asn1t.h
>>> /usr/include/openssl/fips_sha.h
>>> /usr/include/openssl/ui_compat.h
>>> /usr/include/openssl/symhacks.h
>>> /usr/include/openssl/pkcs7.h
>>> /usr/include/openssl/opensslconf.h
>>> /etc/ssl/certs/c33a80d4.0 -> thawteCp.pem
>>> /etc/ssl/certs/a3c60019.0 -> eng4.pem
>>> /etc/ssl/certs/cdd7aee7.0 -> argena.pem
>>> /etc/ssl/certs/6adf0799.0 -> wellsfgo.pem
>>> /etc/ssl/certs/878cf4c6.0 -> eng3.pem
>>> /etc/ssl/certs/7651b327.0 -> vsign3.pem
>>> /etc/ssl/certs/aad3d04d.0 -> argeng.pem
>>> /etc/ssl/certs/2edf7016.0 -> vsign1.pem
>>> /etc/ssl/certs/ddc328ff.0 -> thawteCb.pem
>>> /usr/lib/libssl.so -> libssl.so.0
>>> /usr/lib/libcrypto.so -> libcrypto.so.0
>>> Safely unmerging already-installed instance...
No package files given... Grabbing a set.
>>> Original instance of package unmerged safely.
>>> Regenerating /etc/ld.so.cache...
>>> dev-libs/openssl-0.9.7j merged.

>>> Using system located in ROOT tree /cterm_root/
Traceback (most recent call last):
  File "/usr/bin/emerge", line 3482, in ?
    mydepgraph.merge(pkglist)
  File "/usr/bin/emerge", line 2078, in merge
    retval = unmerge("clean", [xsplit[0]])
  File "/usr/bin/emerge", line 2328, in unmerge
    raise portage_exception.PackageNotFound(x)
portage_exception.PackageNotFound: 'dev-libs/openssl'
Comment 12 Zac Medico gentoo-dev 2006-05-18 02:10:44 UTC
Created attachment 86988 [details, diff]
get ROOT from portage.settings instead of self.pkgsettings

I reproduced the problem locally and found the problem.  This patch obsoletes the second one and fixes it correctly.  Thanks for your cooperation. :)
Comment 13 Zac Medico gentoo-dev 2006-05-18 11:33:28 UTC
This has been released in 2.1_rc1-r3.
Comment 14 redbaron 2006-05-18 22:45:50 UTC
Your patches solve my problem. thx for so fast and effective support.