I have an installed version of mono-1.0.2-r1 with NPTL enabled. Mono is in /etc/portage/package.unmask as =dev-dotnet/mono-1.0.2-r1 as of remarks in the mono-1.0.2 ebuild when using NPTL. After an emerge sync yesterday there have been modifications in the mono-1.0.2-r1 or the mod_mono-1.0.2-r1 ebuild in that it now requires >=gcc-3.4. But gcc-3.4 is masked, so this breaks an emerge -puvD world with the following error: morgaine portage # emerge -puvD world These are the packages that I would merge, in order: Calculating world dependencies - !!! All ebuilds that could satisfy ">=sys-devel/gcc-3.4" have been masked. !!! One of the following masked packages is required to complete your request: - sys-devel/gcc-3.4.2-r3 (masked by: -* keyword) - sys-devel/gcc-3.4.1 (masked by: -* keyword) - sys-devel/gcc-3.4.1-r3 (masked by: -* keyword) - sys-devel/gcc-3.4.2-r2 (masked by: -* keyword) - sys-devel/gcc-3.4.1-r2 (masked by: -* keyword)morgaine portage # emerge -puvD world These are the packages that I would merge, in order: Calculating world dependencies - !!! All ebuilds that could satisfy ">=sys-devel/gcc-3.4" have been masked. !!! One of the following masked packages is required to complete your request: - sys-devel/gcc-3.4.2-r3 (masked by: -* keyword) - sys-devel/gcc-3.4.1 (masked by: -* keyword) - sys-devel/gcc-3.4.1-r3 (masked by: -* keyword) - sys-devel/gcc-3.4.2-r2 (masked by: -* keyword) - sys-devel/gcc-3.4.1-r2 (masked by: -* keyword) For more information, see MASKED PACKAGES section in the emerge man page or section 2.2 "Software Availability" in the Gentoo Handbook. !!! (dependency required by "dev-dotnet/mono-1.0.2-r1" [ebuild]) !!! Problem with ebuild www-apache/mod_mono-1.0.2-r1 !!! Possibly a DEPEND/*DEPEND problem. !!! Depgraph creation failed. For more information, see MASKED PACKAGES section in the emerge man page or section 2.2 "Software Availability" in the Gentoo Handbook. !!! (dependency required by "dev-dotnet/mono-1.0.2-r1" [ebuild]) !!! Problem with ebuild www-apache/mod_mono-1.0.2-r1 !!! Possibly a DEPEND/*DEPEND problem. !!! Depgraph creation failed. I have currently mono-1.0.2-r1 and mod_mono-1.0.2-r1 installed so, there would be no need for an update for one of those packages. Shouldn't there be new version for this, like mono-1.0.2-r2 and mod_mono-1.0.2-r2 to keep existing installations from breaking? This error occurs on two different machines, both are ACCEPT_KEYWORDS=x86, with only some packages from ~x86 unmasked. I flagged this bug with a critical severity because it breaks world updates. Reproducible: Always Steps to Reproduce: 1. have mono-1.0.2-r1 and mod_mono-1.0.2-r1 installed with NPTL enabled 2. emerge -uvD world 3. Actual Results: the above error message occurs and emerge stopps Expected Results: emerge should update it's world package and ignore an update of mono and/or mod_mono, because there is actually no update available. I only post the emerge info from one of the machines. morgaine portage # emerge info Portage 2.0.51-r2 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r1 i686) ================================================================= System uname: 2.6.9-gentoo-r1 i686 Pentium II (Deschutes) Gentoo Base System version 1.4.16 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.14.90.0.8-r1 Headers: sys-kernel/linux26-headers-2.6.8.1 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium2 -O3 -Wall -W -mmmx -mfpmath=387 -fforce-addr" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium2 -O3 -Wall -W -mmmx -mfpmath=387 -fforce-addr" DISTDIR="/mnt/nfs/distfiles" FEATURES="autoaddcvs buildpkg ccache cvs distlocks fixpackages sandbox userpriv usersandbox" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/" MAKEOPTS="-j1" PKGDIR="/mnt/nfs/packages/p2" PORTAGE_TMPDIR="/usr/local/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X aalib acl apache2 apm bcmath berkdb bindist bitmap-fonts bzlib caps crypt ctype cups curl curlwrappers dbase dbx dedicated dga directfb dvd ethereal f77 fam fbcon foomaticdb gdbm gif gnome gnutls gtk gtk2 iconv imap java jpeg libwww maildir mailwrapper mcal memlimit mhash mime mmap mmx mozilla mpeg mpi ncurses netcdf nls nptl odbc offensive opengl pam pcntl pcre pdflib perl pic pie png posix ppds prelude python readline recode samba sasl sdl session shared sharedmem slp snmp sockets spell sse ssl svga sysvipc tcltk tcpd threads tokenizer truetype unicode usb videos wddx x86 xml2 zlib"
If I remove the =dev-dotnet/mono-1.0.2-r1 from /etc/portage/package.unmask emerge wants to downgrade mono to version 1.0.2, but this will fail too because of the following entry in the mono-1.0.2 ebuild: src_compile() { strip-flags if have_NPTL then eerror "mono currently has bug in garbage collection when" eerror "using a NPTL enabled glibc. Please see bug #54603" eerror "on bugs.gentoo.org for details. You can use the" eerror "package.masked mono-1.0.2-r1 release if you need NPTL" eerror "but you have been warned of the problems." die "NPTL glibc not support by this release" fi econf --with-tls=pthread || die emake -j1 || die "MONO compilation failure" }
It's "broken" because you are both using a package.masked package, and are using a mixed x86 and ~x86 system. That change is *needed* so we can get an unbroken mono for people using NPTL. For now, that means gcc-3.4 is required *for mono*. gcc-3.3 and 3.4 are slotted, so you can really use gcc-3.4 for only mono. Add a line in package.keywords for gcc and install gcc-3.4, then use gcc-config to use gcc-3.4 for the mono emerge. Afterwards use gcc-config to set things back to gcc-3.3. Marking WONTFIX. It sucks that gcc-3.4 is a dep, but that's the way it is (at least for now). As for no bump, I consider mono-1.0.2-r1 (as it is p.masked) as the testing ground. Anybody using it is knowingly admitting they are using a package that is potentially broken/in flux/etc.
Thank you for your quick answer. Does compiling mono with gcc-3.4 also solve the NPTL issues with mono? Because if it does not solve it, I would wait until the next mono release ebuild will come out, rather then recompiling it now. But if it would solve the NPTL issue, I would follow your suggestion and install gcc-3.4 for this. I worked around this problem in temporary removing mono from /etc/portage/package.unmask, then did an emerge world and after this added the mono entry again.
Yes, using gcc-3.4 combined with a small fix/change to the mono build system seems to have solved the NPTL threading issue with mono. Using this I can successfully use muine and import large folders, and BLAM! with no problems.