[Mono-bugs] [Bug 79401][Wis] New - A CLS Compliant marked interface cannot be compiled because mono compiler thinks that the interface members are abstract members.

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Thu Sep 14 17:54:21 EDT 2006


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by serkan.hosca at gmail.com.

http://bugzilla.ximian.com/show_bug.cgi?id=79401

--- shadow/79401	2006-09-14 17:54:21.000000000 -0400
+++ shadow/79401.tmp.26906	2006-09-14 17:54:21.000000000 -0400
@@ -0,0 +1,166 @@
+Bug#: 79401
+Product: Mono: Compilers
+Version: unspecified
+OS: GNU/Linux [Other]
+OS Details: Gentoo Linux
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Wishlist
+Component: C#
+AssignedTo: rharinath at novell.com                            
+ReportedBy: serkan.hosca at gmail.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: A CLS Compliant marked interface cannot be compiled because mono compiler thinks that the interface members are abstract members.
+
+Please fill in this template when reporting a bug, unless you know what you
+are doing.
+Description of Problem:
+I am trying to build Castle.DynamicProxy from castleproject.org svn repo.
+
+serkan at ferrari ~/src/castle/Tools/DynamicProxy $ mono -V
+Mono JIT compiler version 1.1.17.1, (C) 2002-2006 Novell, Inc and
+Contributors. www.mono-project.com
+        TLS:           __thread
+        GC:            Included Boehm (with typed GC)
+        SIGSEGV:       normal
+        Disabled:      none
+serkan at ferrari ~/src/castle/Tools/DynamicProxy $ nant
+NAnt 0.85 (Build 0.85.2344.0; rc4; 6/2/2006)
+Copyright (C) 2001-2006 Gerry Shaw
+http://nant.sourceforge.net
+
+Steps to reproduce the problem:
+1. type nant at command line
+2. 
+3. 
+
+Actual Results:
+this is the result i get on linux
+NAnt 0.85 (Build 0.85.2344.0; rc4; 6/2/2006)
+Copyright (C) 2001-2006 Gerry Shaw
+http://nant.sourceforge.net
+
+Buildfile: file:///home/serkan/src/castle/Tools/DynamicProxy/DynamicProxy.build
+Target framework: Mono 2.0 Profile
+Target(s) specified: build
+
+     [echo] Using nunit-console2
+     [echo] Could not find "gacutil" to install Castle.MonoRail.TestSupport
+server to GAC.
+     [echo] To run the tests you have to install it manually: gacutil /i
+Castle.MonoRail.TestSupport
+
+clean:
+
+   [delete] Deleting directory
+'/home/serkan/src/castle/Tools/DynamicProxy/bin'.
+    [mkdir] Creating directory
+'/home/serkan/src/castle/Tools/DynamicProxy/bin'.
+
+init:
+
+
+compile:
+
+      [csc] Compiling 81 files to
+'/home/serkan/src/castle/Tools/DynamicProxy/bin/Castle.DynamicProxy.dll'.
+      [csc]
+/home/serkan/src/castle/Tools/DynamicProxy/Castle.DynamicProxy/ICallable.cs(30,10):
+error CS3011: `Castle.DynamicProxy.ICallable.Call(params object[])': only
+CLS-compliant members can be abstract
+      [csc]
+/home/serkan/src/castle/Tools/DynamicProxy/Castle.DynamicProxy/ICallable.cs(35,10):
+error CS3011: `Castle.DynamicProxy.ICallable.Target': only CLS-compliant
+members can be abstract
+      [csc] Compilation failed: 2 error(s), 0 warnings
+
+BUILD FAILED - 0 non-fatal error(s), 2 warning(s)
+
+/home/serkan/src/castle/Tools/DynamicProxy/DynamicProxy.build(42,4):
+External Program Failed: /usr/lib64/pkgconfig/../../lib/mono/2.0/gmcs.exe
+(return code was 1)
+
+Total time: 2.1 seconds.
+
+
+Expected Results:
+this is on windows
+E:\castleproject\Tools\DynamicProxy>nant
+NAnt 0.85 (Build 0.85.2344.0; rc4; 6/2/2006)
+Copyright (C) 2001-2006 Gerry Shaw
+http://nant.sourceforge.net
+
+Buildfile: file:///E:/castleproject/Tools/DynamicProxy/DynamicProxy.build
+Target framework: Microsoft .NET Framework 2.0
+Target(s) specified: build
+
+     [echo] Using nunit-console-2-0.exe
+
+clean:
+
+   [delete] Deleting directory 'E:\castleproject\Tools\DynamicProxy\bin'.
+    [mkdir] Creating directory 'E:\castleproject\Tools\DynamicProxy\bin'.
+
+init:
+
+
+compile:
+
+      [csc] Compiling 81 files to
+'E:\castleproject\Tools\DynamicProxy\bin\Castle.DynamicProxy.dll'.
+      [csc]
+e:\castleproject\Tools\DynamicProxy\Castle.DynamicProxy\AssemblyInfo.cs(34,12):
+warning CS1699: Use command line option '/keyfile' or appropriate project
+settings instead of 'AssemblyKeyFile'
+
+tests.compile:
+
+      [csc] Compiling 51 files to
+'E:\castleproject\Tools\DynamicProxy\bin\Castle.DynamicProxy.Tests.dll'.
+      [csc]
+e:\castleproject\Tools\DynamicProxy\Castle.DynamicProxy.Tests\AssemblyInfo.cs(30,12):
+warning CS1699: Use command line option '/keyfile' or appropriate project
+settings instead of 'AssemblyKey
+ile'
+
+tests.run:
+
+   [nunit2] Tests run: 84, Failures: 0, Not run: 1, Time: 5.313 seconds
+   [nunit2]
+   [nunit2] Tests not run:
+   [nunit2] 1)
+Castle.DynamicProxy.Test.SerializableClassTestCase.XmlSerialization :
+XmlSerializer does not respect the ObjectReference protocol so it wont work
+   [nunit2]
+   [nunit2]
+
+copytobuilddir:
+
+     [copy] Copying 2 files to
+'E:\castleproject\Tools\DynamicProxy\build\net-2.0'.
+
+build:
+
+
+BUILD SUCCEEDED
+
+Total time: 8.3 seconds.
+
+How often does this happen? 
+every time
+
+Additional Information:
+
+A CLS Compliant marked interface cannot be compiled because mono compiler
+thinks that the interface members are abstract members.
+
+On msdn
+(http://msdn.microsoft.com/library/en-us/cscomp/html/vcerrCompilerErrorSC3011.asp?frame=true)
+it says that a class member cannot be both abstract and non-compliant with
+the Common Language Specification (CLS), the CLS specifies that all class
+members shall be implemented. But it is an interface that is CLSCompliant
+marked, not an abstract class.


More information about the mono-bugs mailing list