Apparently xorg-x11-6.8.1.904 tries to migrate /usr/X11R6/* to /usr. This creates a lot of problems for amd64, cause we have lib32 symlinks pointing to the /emul tree. After upgrading to 905 I've found myself with broken 32bit apps. This is because now /usr/lib32 maps to /emul/linux/x86/usr/X11R6/lib32 I tried to fix it: /usr/lib32 maps -> /emul/linux/x86/usr/lib32 But because /usr/X11R6/lib32 now is the same than /usr/lib32, it doesn't work. Reproducible: Always Steps to Reproduce: 1. emerge firefox-bin 2. upgrade xorg-x11 Actual Results: firefox doesn't work anymore (like all other -bin pkgs) Expected Results: xorg migration procedure should understand the multilib environment and avoid this mess roentgen ~ # emerge info Portage 2.0.51-r15 (default-linux/amd64/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.11-rc1-mm1-it87 x86_64) ================================================================= System uname: 2.6.11-rc1-mm1-it87 x86_64 AMD Athlon(tm) 64 Processor 3200+ Gentoo Base System version 1.6.9 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Nov 21 2004, 18:31:36)] ccache version 2.3 [enabled] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r3 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-O2 -pipe -march=k8 -funit-at-a-time -frename-registers -fweb" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown/usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -pipe -march=k8 -funit-at-a-time -frename-registers -fweb" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig candy ccache distlocks parallel-fetch sandbox" GENTOO_MIRRORS="ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo" LANG="it_IT.UTF-8" LC_ALL="it_IT.UTF-8" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X aalib acl acpi adns alsa apache2 app-crypt/gnupg:idea app-crypt/gpgme:smime arts artswrappersuidaudiofile avi bash-completion berkdb bidi bigger-fonts bitmap-fonts bootsplash caps cdr cluster crypt cups curl dba dev-dotnet/mono:nptl dev-util/eric:idl directfb divx4linux doc dvd dvdr encode esd f77 fam fbcon flac font-server fortran fpx gd gdbm gdm gif gimpprint gphoto2 gpm graphviz gstreamer gtk gtk2 guile icq imagemagickimap imlib innodb ipv6 ithreads jabber jack java jbig jp2 jpeg junit kde kde-base/kdeadmin:foreign-package kde-base/kdeadmin:foreign-sysvinit kde-base/kdemultimedia:cdparanoia ladcca lcms ldap libcaca libwww live lzo lzw lzw-tiff mad maildir makecheck media-sound/museseq:fluidsynth mikmod motif mozilla mpeg multilib mysql ncurses net-misc/openssh:X509 net-misc/openssh:chroot net-misc/openssh:sftplogging net-misc/openssh:skey net-www/apache:threads net-www/mozilla-firefox:xprint net-www/mozilla:mozp3p net-www/mozilla:mozsvg network nls nptl nslnvidia oggvorbis opengl oss pam pcre pdflib perl png python qt readline rrdtool rtc samba sasl sdl slang speex spell ssl sys-devel/libperl:threads tcltk tcpd tetex tga theora threads tiff truetype truetype-fonts type1-fonts unicode usb userlocales vim-with-x wmf xine xml xml2 xmms xpm xprint xrandr xv xvid xvmc zeo zlib linguas_en linguas_it" Unset: ASFLAGS, CBUILD, CTARGET, LDFLAGS
This is how I managed to get everything working again: rm /usr/X11R6 mkdir /usr/X11R6 cd /usr/X11R6 ln -s ../bin ln -s ../include ln -s ../lib ln -s ../lib64 ln -s ../../../emul/linux/x86/usr/X11R6/lib32 ldconfig
Please fix the X11 emul stuff. I don't even understand exactly what the reporter's trying to say about fixing symlinks, because I have no familiarity with the emul libs. If I'm doing something wrong in the migration regarding treatment of lib32, please let me know. Not symlinking the top-level /usr/X11R6 is not an option.
I'll bump the libs with a fix tomorrow, for now, please put a !<=emul-x11-current_version in the DEPEND
fixed in -r4 of the emul libs.
Sorry but the problem can't be just in the emul libs. As I told you, after upgrading xorg I had /usr/lib32 -> /emul/linux/x86/usr/X11R6/lib32 This is clearly wrong and this symlink has been put there by xorg-x11's migration scripts. So you have to fix those, too!
the migration script does that because X11R6/lib32 exists. emul-r4 makes it not exist.