On Mon, Aug 24, 2015 at 11:10:34PM +0100, Jo Shields wrote: > > > On 24/08/15 22:49, Lennart Sorensen wrote: > >On Sun, Aug 16, 2015 at 08:59:19AM +0100, Jo Shields wrote: > >>Dear PPC porter people, > >> > >>The major Mono version pending in experimental fixes GCC5 and fixes > >>reproducible builds and a dozen other bugs, so I don't want to delay it. > >> > >>It doesn't build on PowerPC any more, and nobody upstream is working on it. > >> > >>We recently introduced ppc64el, which is working, but there's nobody who > >>cares about 32-bit BE - the community contributor who gave us our ppc64el > >>port is working on ppc64, but simply isn't interested in 32-bit. > >> > >>I've fixed up the build such that there is a single failure, a single > >>assert, still breaking the build (and about 31 of the tests in the runtime > >>test suite): > >>https://gist.githubusercontent.com/directhex/f890350006e72be706af/raw/2bae2f1ea487f4f6c6f7d5ccb256feda35627c28/assert > >> > >>This state of the art (which contains patches beyond what is in > >>Experimental) is at https://github.com/directhex/mono-1/tree/ppc32 > >> > >>I've hit the limits of my ability to debug and fix. I need someone familiar > >>with PPC porting to tell me what magic switch to flip to repair it, within a > >>short period of time - otherwise I'll be foced to simply mark 32-bit BE > >>powerpc as a dead arch & stop trying to support it in Mono and its 100 > >>related packages. > >I am having no luck building it so far. It says it needs mcs 3.8 or > >higher and of course only 3.2 is available until the new one is built. > > "make get-monolite-latest" will download a bootstrap compiler from Mono CI, > removing that requirement. Requires curl or wget.
I did that, and got a ton of other errors. The readme file said to use: make get-monolite-latest make EXTERNAL_MCS=${PWD}/mcs/class/lib/monolite/basic.exe Looks like this: ... Bootstrap compiler: Mono C# compiler version 4.1.0.0 MCS [basic] basic.exe warning CS8001: SDK path could not be resolved warning CS1685: The predefined type `System.Security.Permissions.HostProtectionAttribute' is defined multiple times. Using definition from `mscorlib.dll' /tmp/mono-1/mcs/class/lib/monolite/mscorlib.dll (Location of the symbol related to previous warning) /tmp/mono-1/mcs/class/lib/monolite/System.dll (Location of the symbol related to previous warning) Unhandled Exception: Mono.CSharp.InternalErrorException: constant.cs(1928,24): Mono.CSharp.DecimalConstant.Emit(Mono.CSharp.EmitContext) ---> Mono.CSharp.InternalErrorException: constant.cs(1929,3): ---> System.OverflowException: Overflow_Int32 at System.Decimal.ToInt32 (Decimal d) [0x00000] in <filename unknown>:0 at System.Decimal.op_Explicit (Decimal value) [0x00000] in <filename unknown>:0 at Mono.CSharp.DecimalConstant.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Argument.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Arguments.Emit (Mono.CSharp.EmitContext ec, Boolean dup_args, Boolean prepareAwait) [0x00000] in <filename unknown>:0 at Mono.CSharp.CallEmitter.EmitPredefined (Mono.CSharp.EmitContext ec, Mono.CSharp.MethodSpec method, Mono.CSharp.Arguments Arguments, Boolean statement, Nullable`1 loc) [0x00000] in <filename unknown>:0 at Mono.CSharp.CallEmitter.Emit (Mono.CSharp.EmitContext ec, Mono.CSharp.MethodSpec method, Mono.CSharp.Arguments Arguments, Location loc) [0x00000] in <filename unknown>:0 at Mono.CSharp.UserOperatorCall.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Expression.EmitBranchable (Mono.CSharp.EmitContext ec, Label target, Boolean on_true) [0x00000] in <filename unknown>:0 at Mono.CSharp.Binary.EmitBranchable (Mono.CSharp.EmitContext ec, Label target, Boolean on_true) [0x00000] in <filename unknown>:0 at Mono.CSharp.If.DoEmit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.If.DoEmit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.ParametersBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 --- End of inner exception stack trace --- at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.MethodData.Emit (Mono.CSharp.TypeDefinition parent) [0x00000] in <filename unknown>:0 at Mono.CSharp.MethodOrOperator.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.Method.Emit () [0x00000] in <filename unknown>:0 --- End of inner exception stack trace --- at Mono.CSharp.Method.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.TypeDefinition.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.ClassOrStruct.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.Class.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.TypeDefinition.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.ModuleContainer.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.AssemblyDefinition.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.AssemblyDefinitionStatic.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0 at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename unknown>:0 [ERROR] FATAL UNHANDLED EXCEPTION: Mono.CSharp.InternalErrorException: constant.cs(1928,24): Mono.CSharp.DecimalConstant.Emit(Mono.CSharp.EmitContext) ---> Mono.CSharp.InternalErrorException: constant.cs(1929,3): ---> System.OverflowException: Overflow_Int32 at System.Decimal.ToInt32 (Decimal d) [0x00000] in <filename unknown>:0 at System.Decimal.op_Explicit (Decimal value) [0x00000] in <filename unknown>:0 at Mono.CSharp.DecimalConstant.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Argument.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Arguments.Emit (Mono.CSharp.EmitContext ec, Boolean dup_args, Boolean prepareAwait) [0x00000] in <filename unknown>:0 at Mono.CSharp.CallEmitter.EmitPredefined (Mono.CSharp.EmitContext ec, Mono.CSharp.MethodSpec method, Mono.CSharp.Arguments Arguments, Boolean statement, Nullable`1 loc) [0x00000] in <filename unknown>:0 at Mono.CSharp.CallEmitter.Emit (Mono.CSharp.EmitContext ec, Mono.CSharp.MethodSpec method, Mono.CSharp.Arguments Arguments, Location loc) [0x00000] in <filename unknown>:0 at Mono.CSharp.UserOperatorCall.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Expression.EmitBranchable (Mono.CSharp.EmitContext ec, Label target, Boolean on_true) [0x00000] in <filename unknown>:0 at Mono.CSharp.Binary.EmitBranchable (Mono.CSharp.EmitContext ec, Label target, Boolean on_true) [0x00000] in <filename unknown>:0 at Mono.CSharp.If.DoEmit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.If.DoEmit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.ParametersBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 --- End of inner exception stack trace --- at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.MethodData.Emit (Mono.CSharp.TypeDefinition parent) [0x00000] in <filename unknown>:0 at Mono.CSharp.MethodOrOperator.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.Method.Emit () [0x00000] in <filename unknown>:0 --- End of inner exception stack trace --- at Mono.CSharp.Method.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.TypeDefinition.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.ClassOrStruct.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.Class.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.TypeDefinition.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.ModuleContainer.EmitContainer () [0x00000] in <filename unknown>:0 at Mono.CSharp.AssemblyDefinition.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.AssemblyDefinitionStatic.Emit () [0x00000] in <filename unknown>:0 at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0 at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename unknown>:0 ../build/executable.make:113: recipe for target '../class/lib/basic/basic.exe' failed make[7]: *** [../class/lib/basic/basic.exe] Error 1 ../build/rules.make:143: recipe for target 'do-all' failed make[6]: *** [do-all] Error 2 build/rules.make:164: recipe for target 'all-recursive' failed make[5]: *** [all-recursive] Error 1 Makefile:44: recipe for target 'profile-do--basic--all' failed make[4]: *** [profile-do--basic--all] Error 2 Makefile:40: recipe for target 'profiles-do--all' failed make[3]: *** [profiles-do--all] Error 2 Makefile:567: recipe for target 'all-local' failed make[2]: *** [all-local] Error 2 make[2]: Leaving directory '/tmp/mono-1/runtime' Makefile:533: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/tmp/mono-1' Makefile:461: recipe for target 'all' failed make: *** [all] Error 2 Any idea? -- Len Sorensen