I'm trying to install mono-0.91 on PPC. I get the following error: gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../libgc/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DGC_LINUX_THREADS -DMONO_USE_EXC_TABLES -D_GNU_SOURCE -D_REENTRANT -fexceptions -D_FILE_OFFSET_BITS=64 -pipe -mcpu=7450 -O2 -fno-strict-aliasing -g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings -c exceptions-ppc.c -MT exceptions-ppc.lo -MD -MP -MF .deps/exceptions-ppc.TPlo -fPIC -DPIC -o .libs/exceptions-ppc.lo exceptions-ppc.c: In function `mono_arch_get_throw_exception_generic': exceptions-ppc.c:642: warning: cast from pointer to integer of different size exceptions-ppc.c:645: warning: passing arg 2 of `ppc_patch' from incompatible pointer type exceptions-ppc.c:664: warning: passing arg 2 of `ppc_patch' from incompatible pointer type exceptions-ppc.c: In function `mono_arch_find_jit_info': exceptions-ppc.c:779: warning: unused variable `ctx_regs' exceptions-ppc.c:756: warning: unused variable `ptr' exceptions-ppc.c:757: warning: unused variable `p' exceptions-ppc.c: In function `mono_arch_handle_exception': exceptions-ppc.c:1082: structure has no member named `uc_regs' exceptions-ppc.c:1083: structure has no member named `uc_regs' exceptions-ppc.c:1084: structure has no member named `uc_regs' exceptions-ppc.c:1085: structure has no member named `uc_regs' exceptions-ppc.c:1091: structure has no member named `uc_regs' exceptions-ppc.c:1092: structure has no member named `uc_regs' exceptions-ppc.c:1093: structure has no member named `uc_regs' exceptions-ppc.c:1094: structure has no member named `uc_regs' make[4]: *** [exceptions-ppc.lo] Error 1 make[4]: Leaving directory `/var/tmp/portage/mono-0.91/work/mono-0.91/mono/mini'make[3]: *** [all] Error 2 make[3]: Leaving directory `/var/tmp/portage/mono-0.91/work/mono-0.91/mono/mini'make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/mono-0.91/work/mono-0.91/mono' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mono-0.91/work/mono-0.91' make: *** [all] Error 2 Reproducible: Always Steps to Reproduce: # emerge info Portage 2.0.50-r6 (default-ppc-2004.1, gcc-3.2.3, glibc-2.3.2-r1, 2.4.22-ben2-r5) ================================================================= System uname: 2.4.22-ben2-r5 ppc Gentoo Base System version 1.4.3.13p1 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.58 Automake: sys-devel/automake-1.7.8 ACCEPT_KEYWORDS="ppc ~ppc" AUTOCLEAN="yes" CFLAGS="-O2 -pipe -mcpu=7450 -maltivec -mabi=altivec -mpowerpc-gfxopt -fsigned-char -mstring -mmultiple" CHOST="powerpc-unknown-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /var/lib/pbbuttonsd /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -pipe -mcpu=7450 -maltivec -mabi=altivec -mpowerpc-gfxopt -fsigned-char -mstring -mmultiple" DISTDIR="/usr/portage/distfiles" FEATURES="ccache userpriv" GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo http://gentoo.oregonstate.edu" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X acl alsa apm berkdb bonobo cdr composite cups curl dri dvd emacs esd ethereal foomaticdb gd gdbm gif gnome gnome-libs gpm gtk gtk2 gtkhtml guile imlib ipv6 java jpeg ldap libwww mitshm motif mozilla mpeg nls oggvorbis opengl oss pdflib perl png ppc python radeon readline ruby sdl slang ssl tcltk tcpd tetex truetype unicode usb video_cards_radeon xine xinerama xmms xosd xv zlib"
-mcpu=7450, -fsigned-char, -mstring, -mmultiple are all flags that are known to break code. Please try removing all of those flags and use only -mcpu=7400.
OK. I get the same error with CFLAGS="-mcpu 7400".
I upgraded to the latest gcc (3.2.3-r4) and glibc (2.3.3_pre20040420) and mono built cleanly. Perhaps the dependency versions should be bumped?
Ok, great, that saves me some time having to track down the problem. ;) I will CC dotnet@g.o and let them decide how to update the dependency list.
Updated the ebuilds of mono 0.91 and 0.95.