When I try to compile dev-lang/mono-1.9.1 it freezes and uses 100% just after outputting: *** The compiler 'false' doesn't appear to be usable. *** Trying the 'monolite' directory. make[7]: Entering directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/mcs' Reproducible: Always Steps to Reproduce: 1. Add dev-lang/mono (and dependencies) to package.keywords. 2. Run: "emerge -av dev-lang/mono" Actual Results: Below is the last about 90 lines of output while trying to compile, nothing is printed after the entering directory line, it just uses 100% CPU: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I.. -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -D_FILE_OFFSET_BITS=64 -DUSE_COMPILER_TLS -march=i686 -O2 -pipe -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings -mno-tls-direct-seg-refs -MT zlib_macros.lo -MD -MP -MF .deps/zlib_macros.Tpo -c zlib_macros.c -o zlib_macros.o >/dev/null 2>&1 mv -f .deps/zlib_macros.Tpo .deps/zlib_macros.Plo /bin/sh ../libtool --tag=CC --mode=link i686-pc-linux-gnu-gcc -march=i686 -O2 -pipe -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings -mno-tls-direct-seg-refs -no-undefined -avoid-version -o libMonoPosixHelper.la -rpath /usr/lib errno.lo map.lo signal.lo stdio.lo string.lo stdlib.lo dirent.lo fcntl.lo fstab.lo grp.lo macros.lo old-map.lo pwd.lo serial.lo sys-mman.lo sys-sendfile.lo sys-stat.lo sys-statvfs.lo sys-time.lo sys-utsname.lo sys-wait.lo sys-xattr.lo syslog.lo time.lo unistd.lo utime.lo x-struct-str.lo zlib_macros.lo -pthread -lgthread-2.0 -lrt -lglib-2.0 -lz -ldl -lpthread -lm i686-pc-linux-gnu-gcc -shared .libs/errno.o .libs/map.o .libs/signal.o .libs/stdio.o .libs/string.o .libs/stdlib.o .libs/dirent.o .libs/fcntl.o .libs/fstab.o .libs/grp.o .libs/macros.o .libs/old-map.o .libs/pwd.o .libs/serial.o .libs/sys-mman.o .libs/sys-sendfile.o .libs/sys-stat.o .libs/sys-statvfs.o .libs/sys-time.o .libs/sys-utsname.o .libs/sys-wait.o .libs/sys-xattr.o .libs/syslog.o .libs/time.o .libs/unistd.o .libs/utime.o .libs/x-struct-str.o .libs/zlib_macros.o /usr/lib/libgthread-2.0.so -L/usr/lib -lrt /usr/lib/libglib-2.0.so -lz -ldl -lpthread -lm -march=i686 -mno-tls-direct-seg-refs -pthread -Wl,-soname -Wl,libMonoPosixHelper.so -o .libs/libMonoPosixHelper.so i686-pc-linux-gnu-ar cru .libs/libMonoPosixHelper.a errno.o map.o signal.o stdio.o string.o stdlib.o dirent.o fcntl.o fstab.o grp.o macros.o old-map.o pwd.o serial.o sys-mman.o sys-sendfile.o sys-stat.o sys-statvfs.o sys-time.o sys-utsname.o sys-wait.o sys-xattr.o syslog.o time.o unistd.o utime.o x-struct-str.o zlib_macros.o i686-pc-linux-gnu-ranlib .libs/libMonoPosixHelper.a creating libMonoPosixHelper.la (cd .libs && rm -f libMonoPosixHelper.la && ln -s ../libMonoPosixHelper.la libMonoPosixHelper.la) /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I.. -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -D_FILE_OFFSET_BITS=64 -DUSE_COMPILER_TLS -march=i686 -O2 -pipe -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings -mno-tls-direct-seg-refs -MT supportw.lo -MD -MP -MF .deps/supportw.Tpo -c -o supportw.lo supportw.c i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I.. -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -D_FILE_OFFSET_BITS=64 -DUSE_COMPILER_TLS -march=i686 -O2 -pipe -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings -mno-tls-direct-seg-refs -MT supportw.lo -MD -MP -MF .deps/supportw.Tpo -c supportw.c -fPIC -DPIC -o .libs/supportw.o supportw.c:163: warning: no previous prototype for ‘SetWindowPos’ supportw.c: In function ‘SetWindowPos’: supportw.c:164: warning: format ‘%x’ expects type ‘unsigned int’, but argument 3 has type ‘gpointer’ supportw.c:164: warning: format ‘%x’ expects type ‘unsigned int’, but argument 4 has type ‘gpointer’ supportw.c: At top level: supportw.c:170: warning: no previous prototype for ‘SendMessageA’ supportw.c: In function ‘SendMessageA’: supportw.c:171: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘gpointer’ supportw.c:171: warning: format ‘%x’ expects type ‘unsigned int’, but argument 5 has type ‘gpointer’ supportw.c:171: warning: format ‘%x’ expects type ‘unsigned int’, but argument 6 has type ‘gpointer’ supportw.c: At top level: supportw.c:177: warning: no previous prototype for ‘GetWindowLongA’ i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I.. -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -D_FILE_OFFSET_BITS=64 -DUSE_COMPILER_TLS -march=i686 -O2 -pipe -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings -mno-tls-direct-seg-refs -MT supportw.lo -MD -MP -MF .deps/supportw.Tpo -c supportw.c -o supportw.o >/dev/null 2>&1 mv -f .deps/supportw.Tpo .deps/supportw.Plo /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I.. -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -D_FILE_OFFSET_BITS=64 -DUSE_COMPILER_TLS -march=i686 -O2 -pipe -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings -mno-tls-direct-seg-refs -MT support-heap.lo -MD -MP -MF .deps/support-heap.Tpo -c -o support-heap.lo support-heap.c i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I.. -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -D_FILE_OFFSET_BITS=64 -DUSE_COMPILER_TLS -march=i686 -O2 -pipe -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings -mno-tls-direct-seg-refs -MT support-heap.lo -MD -MP -MF .deps/support-heap.Tpo -c support-heap.c -fPIC -DPIC -o .libs/support-heap.o i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I.. -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -D_FILE_OFFSET_BITS=64 -DUSE_COMPILER_TLS -march=i686 -O2 -pipe -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings -mno-tls-direct-seg-refs -MT support-heap.lo -MD -MP -MF .deps/support-heap.Tpo -c support-heap.c -o support-heap.o >/dev/null 2>&1 mv -f .deps/support-heap.Tpo .deps/support-heap.Plo /bin/sh ../libtool --tag=CC --mode=link i686-pc-linux-gnu-gcc -march=i686 -O2 -pipe -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings -mno-tls-direct-seg-refs -no-undefined -avoid-version -o libMonoSupportW.la -rpath /usr/lib supportw.lo support-heap.lo -pthread -lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread -lm i686-pc-linux-gnu-gcc -shared .libs/supportw.o .libs/support-heap.o /usr/lib/libgthread-2.0.so -L/usr/lib -lrt /usr/lib/libglib-2.0.so -ldl -lpthread -lm -march=i686 -mno-tls-direct-seg-refs -pthread -Wl,-soname -Wl,libMonoSupportW.so -o .libs/libMonoSupportW.so i686-pc-linux-gnu-ar cru .libs/libMonoSupportW.a supportw.o support-heap.o i686-pc-linux-gnu-ranlib .libs/libMonoSupportW.a creating libMonoSupportW.la (cd .libs && rm -f libMonoSupportW.la && ln -s ../libMonoSupportW.la libMonoSupportW.la) make[2]: Leaving directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/support' Making all in docs make[2]: Entering directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/docs' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/docs' Making all in data make[2]: Entering directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/data' Making all in net_1_1 make[3]: Entering directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/data/net_1_1' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/data/net_1_1' Making all in net_2_0 make[3]: Entering directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/data/net_2_0' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/data/net_2_0' make[3]: Entering directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/data' make[3]: Nothing to be done for `all-am'. make[3]: Leaving directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/data' make[2]: Leaving directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/data' Making all in runtime make[2]: Entering directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/runtime' d=`cd ../support && pwd`; \ sed 's,target="libMonoPosixHelper[^"]*",target="'$d/libMonoPosixHelper.la'",' ../data/config > etc/mono/configt if test -z ""; then :; else \ sed 's,<configuration>,& <dllmap dll="gdiplus.dll" target="" />,' etc/mono/configt > etc/mono/configtt; \ mv -f etc/mono/configtt etc/mono/configt; fi mv -f etc/mono/configt etc/mono/config /bin/sh /var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/install-sh -d _tmpinst/bin cp mono-wrapper _tmpinst/bin/mono echo '#! /bin/sh' > _tmpinst/bin/mcs ; \ r=`pwd`; m=`cd ../mcs && pwd`; \ echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"$m/class/lib/default/mcs.exe"'" "$@"' >> _tmpinst/bin/mcs ; \ chmod +x _tmpinst/bin/mcs echo '#! /bin/sh' > _tmpinst/bin/ilasm ; \ r=`pwd`; m=`cd ../mcs && pwd`; \ echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"$m/ilasm/ilasm.exe"'" "$@"' >> _tmpinst/bin/ilasm ; \ chmod +x _tmpinst/bin/ilasm echo '#! /bin/sh' > _tmpinst/bin/gmcs ; \ r=`pwd`; m=`cd ../mcs && pwd`; \ echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"$m/class/lib/net_2_0/gmcs.exe"'" "$@"' >> _tmpinst/bin/gmcs ; \ chmod +x _tmpinst/bin/gmcs if test -w ../mcs; then :; else chmod -R +w ../mcs; fi cd ../mcs && make PROFILES='default net_2_0 net_3_5' CC='i686-pc-linux-gnu-gcc' all-profiles make[3]: Entering directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/mcs' make profile-do--default--all profile-do--net_2_0--all profile-do--net_3_5--all make[4]: Entering directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/mcs' make PROFILE=basic all make[5]: Entering directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/mcs' make[6]: *** [build/deps/basic-profile-check.exe] Error 1 make[6]: Entering directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/mcs' *** The compiler 'false' doesn't appear to be usable. *** Trying the 'monolite' directory. make[7]: Entering directory `/var/tmp/portage/dev-lang/mono-1.9.1/work/mono-1.9.1/mcs' Expected Results: A clean compile and installation of dev-lang/mono-1.9.1. I have also tried emerging dev-lang/mono-1.2.5.1-r1, but it behaves the same way (freezes.) I can provide the output if you want, but it looks almost the same. # emerge --info Portage 2.1.4.4 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r4 i686) ================================================================= System uname: 2.6.24-gentoo-r4 i686 Intel(R) Pentium(R) M processor 2.00GHz Timestamp of tree: Wed, 25 Jun 2008 18:15:01 +0000 app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r9 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=i686 -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=i686 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://mirror.uni-c.dk/pub/gentoo http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_US.UTF-8" PKGDIR="/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="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X a52 aac aalib acl acpi alsa artworkextra avahi bash-completion berkdb bittorrent bluetooth branding bzip2 cairo cdr cli cracklib crypt cscope cups curl dbus dell dia dri dvd dvi encode esd exif fam ffmpeg firefox flac fontconfig fortran galago gdbm gif gnome gnome-keyring gnutls gpm graphviz gstreamer gtk hal iconv ipv6 isdnlog jabber java jbig jpeg jpeg2k keyring latex libnotify midi mmx mp3 mpeg mudflap mysql ncurses network networkmanager nls nntp nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl plotutils png postscript ppds pppd prediction pulseaudio python readline reflection remote replytolist samba sasl sdl session skey sms socks5 spell spl sse sse2 ssl svg tcpd tetex theora threads thunderbird tiff tracker truetype unicode usb v4l v4l2 vim-syntax vim-with-x vorbis win32codecs wmf x86 xine xml xorg xpm xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" 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="glibc" INPUT_DEVICES="synaptics evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="radeon fglrx" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
I'm going to be a bit hard, but seriously what is wrong with you ? mono has nothing to do with gnome. If you don't know where to assign a bug, please let bug-wranglers do it or read metadata.xml. Thanks in advance.
Hi Gilles. I'm sorry, it just seems that mono is becoming more and more a part of the GNOME Desktop, and a lot of the gnome packages have (optional) dependencies for mono. So I thought that the GNOME component would be the right place to put it. Sorry for that mistake. My second guess would be Development, so I'll go put it there and hope I'm right this time.
Okay, after a lot of debugging it seems that the bug is not related to mono at all (except that mono lacks an appropriate error message.) It is a problem with glibc, specifically with shmget. Whenever shmget is called it returns -1 and sets errno to 38 which means: "Function not implemented". I will look a little more into this, and either change this bug completely, close it, or close it and create a new one. Hang on...
I solved the problem so I am closing this bug again. If you ever get this weird error, go check you kernel configuration and ensure that under General setup there is a check in "System V IPC". That is all. ;)