[Mono-devel-list] building on yellowdog (PPC) fails

Eto eto at shaw.ca
Fri Nov 14 04:58:52 EST 2003

I have a progress update!  The mono runtime (from CVS) now compiles on
yellowdog (great response, guys!)

However, I'm still getting a "Segmentation fault" when trying to execute
any program.  I'm not sure if it's due to the warning..  This is the

** (mcs.exe:3095): WARNING **: Using non-atomic functions!
Segmentation fault

When I run mono with no arguments, it runs (and shows the command-line
arguments).. However, even a simple 'Hello World' console app (built in
VS.NET) doesn't seem to run. ):  I'm very happy that it compiles though,
as it's farther than I've gotten before on my PPC! (:

If there's anything I can do to help out (with testing, etc), let me


-----Original Message-----
From: mono-devel-list-admin at lists.ximian.com
[mailto:mono-devel-list-admin at lists.ximian.com] On Behalf Of Eto
Sent: November 9, 2003 11:19 PM
To: Mono-Devel-List
Subject: [Mono-devel-list] building on yellowdog (PPC) fails


I have a Mac G4 Cube.  I had OS X 10.2 on it, and tried compiling mono
with absolutely no success.  I figured it would be much better on linux,
so I installed yellowdog linux (redhat hybrid) for PPC.

There were a few problems that I encountered, and would like you guys to
know about it (so it can be fixed):


line 140 & 274 :  CSIZE is not defined..   even though, it is defined
(and included) with util.h, it does not seem to pick it up for some
reason.  I had to add the following to the beginning:

#define CSIZE(x) (sizeof(x) / 4)


structure as no member named 'sc_ir'  (lines 642, 812, 844, etc, etc)
structure as no member named 'sc_sp' (lines 662, 813, 815, etc, etc)

Seems to be a problem with MONO_CONTEXT_GET_IP() and

#define MONO_CONTEXT_GET_IP(ctx) ((gpointer)((ctx)->sc_ir)) #define
MONO_CONTEXT_GET_BP(ctx) ((gpointer)((ctx)->sc_sp))

I tracked down the structure(s) that it's using, and it's defined as:

struct sigcontext_struct {
	unsigned long	_unused[4];
	int			signal;
	unsigned long	handler;
	unsigned long	oldmask;
	struct pt_regs	*regs;
struct pt_regs {
	unsigned long gpr[32];
	unsigned long nip;
	unsigned long msr;
	unsigned long orig_gpr3;
	unsigned long ctr;
	unsigned long link;
	unsigned long xer;
	unsigned long ccr;
	unsigned long mq;

	unsigned long trap;
	unsigned long dar;
	unsigned long dsisr;
	unsigned long result;

Does anyone know which one of these to use?  I tried a few, and it gives
a segmentation fault when running.. Heh

I really would like to get mono running on this machine..



Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com

More information about the Mono-devel-list mailing list