Package: mono Version: 2.6.7-5 Severity: important Tags: patch The package builds fine on armhf with the attached patch. Strangely, I had to patch a file in the source as well (mcs/tools/prj2make/MsPrjHelper.cs) as I was getting CS0221 and CS664 errors due to casting problems. Perhaps that's a problem only with the armhf side??
Anyway, I've already uploaded the patched package to debian-ports, as a test to see if it can actually build mono packages successfully. Regards Konstantinos
diff -ruN mono-2.6.7/debian/control mono-2.6.7.armhf//debian/control --- mono-2.6.7/debian/control 2011-08-25 20:12:45.000000000 +0000 +++ mono-2.6.7.armhf//debian/control 2011-08-25 20:13:17.183634626 +0000 @@ -24,7 +24,7 @@ Package: mono-runtime Provides: cli-runtime, cli-virtual-machine -Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390 +Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390 Replaces: mono-common (<< 2.4), mono-jit (<< 2.4), libmono0 (<< 2.4) Conflicts: mono-common (<< 2.4), mono-jit (<< 2.4), @@ -51,7 +51,7 @@ Package: mono-runtime-dbg Priority: extra Section: debug -Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390 +Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390 Replaces: mono-jit-dbg (<< 2.4) Conflicts: mono-jit-dbg (<< 2.4) Depends: ${misc:Depends}, mono-runtime (= ${binary:Version}) @@ -67,7 +67,7 @@ Package: mono-utils Provides: cil-disassembler -Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390 +Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390 Replaces: mono-mcs (<= 1.1.6-4) Depends: ${shlibs:Depends}, ${misc:Depends}, libmono0 (= ${binary:Version}), libmono-corlib2.0-cil (= ${source:Version}) | libmono-corlib1.0-cil (= ${source:Version}) Description: Mono utilities @@ -81,7 +81,7 @@ pedump, monodis and monograph. Package: mono-complete -Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390 +Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390 Depends: ${misc:Depends}, mono-runtime (= ${binary:Version}), libmono0 (= ${binary:Version}), @@ -119,7 +119,7 @@ You should build-depend on cli-common-dev and the needed libraries instead. Package: libmono0 -Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390 +Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390 Replaces: libmono-dev (<= 1.1.6-4) Conflicts: mono-utils (<< 1.2.3.1-4) Depends: ${shlibs:Depends}, ${misc:Depends} @@ -135,7 +135,7 @@ Package: libmono0-dbg Priority: extra Section: debug -Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390 +Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390 Depends: ${misc:Depends}, libmono0 (= ${binary:Version}) Recommends: gdb Description: Mono JIT library, debugging symbols @@ -148,7 +148,7 @@ bytecode (aka assemblies), and a class library. Package: libmono-dev -Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390 +Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390 Depends: ${misc:Depends}, libmono0 (= ${binary:Version}), libglib2.0-dev Description: Mono JIT library - Development files Header files and static libraries for libmono. @@ -160,7 +160,7 @@ bytecode (aka assemblies), and a class library. Package: libmono-profiler -Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390 +Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390 Replaces: mono-runtime (<< 2.4.2.3) Depends: ${shlibs:Depends}, ${misc:Depends} Description: Mono profiler libraries @@ -1678,7 +1678,7 @@ libraries, for CLI 2.0 Package: mono-jay -Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390 +Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390 Depends: ${shlibs:Depends}, ${misc:Depends} Description: LALR(1) parser generator oriented to Java/CLI Mono is a platform for running and developing applications based on the diff -ruN mono-2.6.7/debian/rules mono-2.6.7.armhf//debian/rules --- mono-2.6.7/debian/rules 2011-08-25 20:12:45.000000000 +0000 +++ mono-2.6.7.armhf//debian/rules 2011-08-25 20:14:03.123634620 +0000 @@ -43,6 +43,13 @@ CONF_FLAGS += --with-tls=pthread endif +ifeq ($(DEB_BUILD_ARCH), armhf) + CONF_FLAGS += --with-fpu=VFP + # the build-system picks __thread for armel which is not working, + # thus we have to explicitly pick pthread + CONF_FLAGS += --with-tls=pthread +endif + ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 -g else diff -ruN mono-2.6.7/mcs/tools/prj2make/MsPrjHelper.cs mono-2.6.7.armhf//mcs/tools/prj2make/MsPrjHelper.cs --- mono-2.6.7/mcs/tools/prj2make/MsPrjHelper.cs 2009-09-25 14:58:17.000000000 +0000 +++ mono-2.6.7.armhf//mcs/tools/prj2make/MsPrjHelper.cs 2011-08-25 20:15:39.253634609 +0000 @@ -551,7 +551,9 @@ prjxObj.description = ""; prjxObj.newfilesearch = "None"; prjxObj.enableviewstate = "True"; - prjxObj.version = (decimal)1.1; + unchecked { + prjxObj.version = (decimal)1.1M; + } prjxObj.projecttype = "C#"; prjxObj.Contents = GetContents (csprojObj.CSHARP.Files.Include); @@ -618,7 +620,9 @@ // Begin prjxObj population cmbxObj.name = Path.GetFileNameWithoutExtension(slnFileName); cmbxObj.description = ""; - cmbxObj.fileversion = (decimal)1.0; + unchecked { + cmbxObj.fileversion = (decimal)1.0M; + } // Create and attach the StartMode element Mfconsulting.General.Prj2Make.Schema.Cmbx.StartMode startModeElem = new Mfconsulting.General.Prj2Make.Schema.Cmbx.StartMode();