Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 69490 - mono-1.0.2-r1 update breaks emerge world
Summary: mono-1.0.2-r1 update breaks emerge world
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High critical (vote)
Assignee: dotnet project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-30 01:07 UTC by Bernd Waibel
Modified: 2004-10-30 11:01 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 Bernd Waibel 2004-10-30 01:07:30 UTC
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"
Comment 1 Bernd Waibel 2004-10-30 01:15:40 UTC
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"
}
Comment 2 Peter Johanson (RETIRED) gentoo-dev 2004-10-30 09:51:03 UTC
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.
Comment 3 Bernd Waibel 2004-10-30 10:43:36 UTC
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.
Comment 4 Peter Johanson (RETIRED) gentoo-dev 2004-10-30 11:01:00 UTC
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.