https://bugzilla.novell.com/show_bug.cgi?id=355025
User [EMAIL PROTECTED] added comment https://bugzilla.novell.com/show_bug.cgi?id=355025#c2 Summary: mcs non-functional on PowerPC e300 core Product: Mono: Compilers Version: unspecified Platform: PowerPC OS/Version: Ubuntu Status: NEW Severity: Normal Priority: P5 - None Component: C# AssignedTo: [email protected] ReportedBy: [EMAIL PROTECTED] QAContact: [email protected] Found By: --- Unable to build mono from source tarball, on an embedded PowerPC arch. The mcs compiler that was built apears to generate non-functional output, and the build process stops when trying to compile C# code. The cpu is a Freescale MPC8349 which has an e300 core, an enhanced version of the G2 or 603e cores. http://en.wikipedia.org/wiki/PowerPC_e300 Platform Details: Freescale MPC8349 Custom kernel 2.6.23 Root FS is using Ubuntu 6.10 PPC [EMAIL PROTECTED]:~$ cat /proc/cpuinfo processor : 0 cpu : e300c1 clock : 396.000000MHz revision : 3.1 (pvr 8083 0031) bogomips : 131.58 timebase : 66000000 platform : MPX8349 [EMAIL PROTECTED]:~$ uname -a Linux royal 2.6.23MPX8349_PowerPC #2 Tue Dec 11 14:09:03 EST 2007 ppc GNU/Linux [EMAIL PROTECTED]:~$ dpkg -l libc6 gcc ii gcc 4.1.1-6ubuntu3 The GNU C compiler ii libc6 2.4-1ubuntu12 GNU C Library: Shared libraries =========================================================== Example Build Failure: =========================================================== cd ~/src wget http://mono.ximian.com/daily/mono-20080120.tar.bz2 tar jxf mono-20080120.tar.bz2 cd mono-20080120/ /configure --prefix=$HOME/mono-20080120 mcs source: $(top_srcdir)/mcs olive source: GC: included TLS: __thread SIGALTSTACK: yes Engine: Building and using the JIT 2.0 Beta: yes 2.1 Alpha: yes JNI support: IKVM Native libgdiplus: assumed to be installed zlib: system zlib oprofile: no make <-- snip --> make PROFILE=basic all make[5]: Entering directory `/home/billf/src/mono-20080120/mcs' make[6]: *** [build/deps/basic-profile-check.out] Error 2 make[6]: Entering directory `/home/billf/src/mono-20080120/mcs' *** The compiler 'mcs' doesn't appear to be usable. *** Trying the 'monolite' directory. make[7]: Entering directory `/home/billf/src/mono-20080120/mcs' make[8]: Warning: File `build/deps/basic-profile-check.cs' has modification time 89 s in the future make[8]: *** [build/deps/basic-profile-check.out] Error 2 make[8]: Entering directory `/home/billf/src/mono-20080120/mcs' *** The contents of your 'monolite' directory may be out-of-date *** You may want to try 'make get-monolite-latest' make[8]: *** [do-profile-check-monolite] Error 1 make[8]: Leaving directory `/home/billf/src/mono-20080120/mcs' make[7]: *** [do-profile-check] Error 2 make[7]: Leaving directory `/home/billf/src/mono-20080120/mcs' make[6]: *** [do-profile-check-monolite] Error 2 make[6]: Leaving directory `/home/billf/src/mono-20080120/mcs' make[5]: *** [do-profile-check] Error 2 make[5]: Leaving directory `/home/billf/src/mono-20080120/mcs' make[4]: *** [profile-do--basic--all] Error 2 make[4]: Leaving directory `/home/billf/src/mono-20080120/mcs' make[3]: *** [profiles-do--all] Error 2 make[3]: Leaving directory `/home/billf/src/mono-20080120/mcs' make[2]: *** [all-local] Error 2 make[2]: Leaving directory `/home/billf/src/mono-20080120/runtime' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/billf/src/mono-20080120' make: *** [all] Error 2 =========================================================== Compile C# on x86 Host, gcc on PPC Target =========================================================== Following the http://www.mono-project.com/Mono:ARM page with some changes for my situation. Compile mono-20080120 on x86 Host. $ ./configure $ make $ make install DESTDIR=`pwd`/tmptree Copy tmptree from Host to the Target filesystem Compile mono-20080120 on ppc Target (instead of using scratchbox) $ ./configure --disable-mcs-build $ make $ make install Looks good at this point on the ppc Target: $ /usr/local/bin/mono --version Mono JIT compiler version 20080120 (tarball) Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com TLS: __thread GC: Included Boehm (with typed GC) SIGSEGV: altstack Notifications: epoll Architecture: ppc Disabled: none $ mcs --version Mono C# compiler version 2008.110.0.0 It will run assemblies that were compiled on the x86 Host and copied to the target: $ mono HelloWorldHost.exe Hello Mono World (Compiled on Host) It will NOT run assemblies compiled on the ppc Target: $ mcs HelloWorldTarget.cs $ mono HelloWorldTarget.exe Cannot open assembly HelloWorldTarget.exe. With the verbose option: $ mono -v HelloWorldTarget.exe [EMAIL PROTECTED]:~/code/MonoExamples/HelloWorld$ mono -v HelloWorldTarget.exe Method (wrapper runtime-invoke) System.Object:runtime_invoke_void_string (object,intptr,intptr,intptr) emitted at 0x30384028 to 0x30384164 (code length 316) [HelloWorldTarget.exe] Method System.OutOfMemoryException:.ctor (string) emitted at 0x30384168 to 0x303841c0 (code length 88) [HelloWorldTarget.exe] Method System.SystemException:.ctor (string) emitted at 0x303841d8 to 0x30384230 (code length 88) [HelloWorldTarget.exe] Method System.Exception:.ctor (string) emitted at 0x30384240 to 0x30384280 (code length 64) [HelloWorldTarget.exe] Method System.Exception:set_HResult (int) emitted at 0x30384280 to 0x303842b0 (code length 48) [HelloWorldTarget.exe] Method System.NullReferenceException:.ctor (string) emitted at 0x303842b0 to 0x30384304 (code length 84) [HelloWorldTarget.exe] Method System.StackOverflowException:.ctor (string) emitted at 0x30384308 to 0x30384344 (code length 60) [HelloWorldTarget.exe] Cannot open assembly HelloWorldTarget.exe. Method (wrapper runtime-invoke) System.Object:runtime_invoke_void (object,intptr,intptr,intptr) emitted at 0x30384348 to 0x3038447c (code length 308) [HelloWorldTarget.exe] Method (wrapper runtime-invoke) System.Object:runtime_invoke_void (object,intptr,intptr,intptr) emitted at 0x30384480 to 0x303845b0 (code length 304) [HelloWorldTarget.exe] Method System.Runtime.Remoting.Contexts.Context:.cctor () emitted at 0x303845c0 to 0x3038461c (code length 92) [HelloWorldTarget.exe] Method (wrapper managed-to-native) System.Object:__icall_wrapper_mono_object_new_fast (intptr) emitted at 0x30384638 to 0x30384740 (code length 264) [HelloWorldTarget.exe] Method System.Collections.Hashtable:.ctor () emitted at 0x30384740 to 0x30384788 (code length 72) [HelloWorldTarget.exe] Method System.Collections.Hashtable:.cctor () emitted at 0x303847a0 to 0x30384820 (code length 128) [HelloWorldTarget.exe] Method (wrapper managed-to-native) System.Object:__icall_wrapper_mono_array_new_specific (intptr,int) emitted at 0x30384830 to 0x30384940 (code length 272) [HelloWorldTarget.exe] Method System.Runtime.CompilerServices.RuntimeHelpers:InitializeArray (System.Array,System.RuntimeFieldHandle) emitted at 0x30384940 to 0x303849a8 (code length 104) [HelloWorldTarget.exe] Method System.RuntimeFieldHandle:get_Value () emitted at 0x303849c0 to 0x303849e8 (code length 40) [HelloWorldTarget.exe] Method (wrapper managed-to-native) System.Runtime.CompilerServices.RuntimeHelpers:InitializeArray (System.Array,intptr) emitted at 0x303849e8 to 0x30384af4 (code length 268) [HelloWorldTarget.exe] Method System.Collections.Hashtable:.ctor (int,single) emitted at 0x30384af8 to 0x30384b48 (code length 80) [HelloWorldTarget.exe] Method System.Collections.Hashtable:.ctor (int,single,System.Collections.IHashCodeProvider,System.Collections.IComparer) emitted at 0x30384b60 to 0x30384eec (code length 908) [HelloWorldTarget.exe] Method System.Single:IsNaN (single) emitted at 0x30384f28 to 0x30384f70 (code length 72) [HelloWorldTarget.exe] Method System.Collections.Hashtable:ToPrime (int) emitted at 0x30384f70 to 0x3038504c (code length 220) [HelloWorldTarget.exe] Method System.Collections.Hashtable:SetTable (System.Collections.Hashtable/Slot[],int[]) emitted at 0x30385058 to 0x30385124 (code length 204) [HelloWorldTarget.exe] Method System.Collections.Hashtable:AdjustThreshold () emitted at 0x30385140 to 0x303851d8 (code length 152) [HelloWorldTarget.exe] Method System.Runtime.Remoting.Contexts.Context:Finalize () emitted at 0x303851d8 to 0x30385234 (code length 92) [HelloWorldTarget.exe] Method System.Object:Finalize () emitted at 0x30385240 to 0x30385288 (code length 72) [HelloWorldTarget.exe] Method System.Threading.Thread:.cctor () emitted at 0x30385298 to 0x3038532c (code length 148) [HelloWorldTarget.exe] Method (wrapper managed-to-native) System.Object:__icall_wrapper_mono_object_new_ptrfree (intptr) emitted at 0x30385330 to 0x30385438 (code length 264) [HelloWorldTarget.exe] Method System.Threading.Thread:Finalize () emitted at 0x30385438 to 0x303854e4 (code length 172) [HelloWorldTarget.exe] Method System.IntPtr:op_Explicit (int) emitted at 0x30385500 to 0x30385548 (code length 72) [HelloWorldTarget.exe] Method System.IntPtr:.ctor (int) emitted at 0x30385558 to 0x30385588 (code length 48) [HelloWorldTarget.exe] Method (wrapper managed-to-native) System.Threading.Thread:Thread_free_internal (intptr) emitted at 0x30385588 to 0x30385694 (code length 268) [HelloWorldTarget.exe] -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
