Bugzilla – Bug 321027
mcs should not give strange errors when referencing a dll linked against the 2.0 profile
Last modified: 2010-05-18 10:44:23 UTC
---- Reported by jo.vermeulen@gmail.com 2006-05-04 05:47:57 MST ---- Description of Problem: Compiling a project of mine, which used to compile fine on Ubuntu Breezy, now gives problems on Ubuntu Dapper. jo@jvermeulen:~/Projects/uiml.net/Uiml$ make building library mcs -debug+ -warn:2 -pkg:nemerle -pkg:boo -lib:/usr/lib/mono/1.0/ -r:Cassowary.dll -r:Cassowary.Parsing.dll -keyfile:uiml.net.snk -out:uiml.net.dll -target:library *.cs Rendering/*.cs Executing/*.cs\ Executing/Callers/Caller.cs Executing/Callers/LocalCaller.cs Executing/Callers/CallerFactory.cs Utils/*.cs Peers/*.cs Executing/Binding/*.cs\ LayoutManagement/*.cs Unhandled Exception: System.ArgumentException: Path is invalid Parameter name: path in <0x00246> System.IO.Directory:GetFileSystemEntries (System.String path, System.String pattern, FileAttributes mask, FileAttributes attrs) in <0x00011> System.IO.Directory:GetFiles (System.String path, System.String pattern) in <0x000a9> Mono.CSharp.Driver:CompileFiles (System.String spec, Boolean recurse) in <0x003b2> Mono.CSharp.Driver:MainDriver (System.String[] args) in <0x00041> Mono.CSharp.Driver:Main (System.String[] args) make: *** [lib] Error 1 When I just enter the compile line at the shell, I get this: jo@jvermeulen:~/Projects/uiml.net/Uiml$ mcs -debug+ -warn:2 -pkg:nemerle -pkg:boo -lib:/usr/lib/mono/1.0/ -r:Cassowary.dll -r:Cassowary.Parsing.dll -keyfile:uiml.net.snk -out:uiml.net.dll -target:library *.cs Rendering/*.cs Executing/*.cs\ > Executing/Callers/Caller.cs Executing/Callers/LocalCaller.cs Executing/Callers/CallerFactory.cs Utils/*.cs Peers/*.cs Executing/Binding/*.cs\ > LayoutManagement/*.cs ** (/usr/lib/mono/1.0/mcs.exe:11976): WARNING **: The class System.IComparable`1 could not be loaded, used in mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= Stacktrace: in (wrapper managed-to-native) System.Reflection.Assembly:InternalGetType (System.Reflection.Module,string,bool,bool) <0x4> in (wrapper managed-to-native) System.Reflection.Assembly:InternalGetType (System.Reflection.Module,string,bool,bool) <0xffffffc6> in System.Reflection.Assembly:GetType (string,bool,bool) <0x26> in System.Reflection.Assembly:GetType (string) <0x14> in Mono.CSharp.RootNamespace:GetTypeInAssembly (System.Reflection.Assembly,string) <0x1c> in Mono.CSharp.GlobalRootNamespace:LookupTypeReflection (string,Mono.CSharp.Location) <0x83> in Mono.CSharp.Namespace:LookupType (string,Mono.CSharp.Location) <0x131> in Mono.CSharp.Namespace:Lookup (Mono.CSharp.DeclSpace,string,Mono.CSharp.Location) <0x64> in Mono.CSharp.NamespaceEntry:Lookup (Mono.CSharp.DeclSpace,string,Mono.CSharp.Location,bool) <0x51> in Mono.CSharp.NamespaceEntry:LookupNamespaceOrType (Mono.CSharp.DeclSpace,string,Mono.CSharp.Location,bool) <0x30> in Mono.CSharp.DeclSpace:LookupType (string,Mono.CSharp.Location,bool) <0x128> in Mono.CSharp.SimpleName:ResolveAsTypeStep (Mono.CSharp.EmitContext,bool) <0x40> in Mono.CSharp.Expression:ResolveAsTypeTerminal (Mono.CSharp.EmitContext,bool) <0x2f> in Mono.CSharp.ComposedCast:DoResolveAsTypeStep (Mono.CSharp.EmitContext) <0x29> in Mono.CSharp.TypeExpr:ResolveAsTypeStep (Mono.CSharp.EmitContext,bool) <0x11> in Mono.CSharp.Expression:ResolveAsTypeTerminal (Mono.CSharp.EmitContext,bool) <0x2f> in Mono.CSharp.MemberBase:get_MemberType () <0x6a> in Mono.CSharp.MemberBase:DoDefine () <0xb9> in Mono.CSharp.Method:Define () <0x15> in MemberCoreArrayList:DefineContainerMembers () <0x59> in MethodArrayList:DefineContainerMembers () <0x10> in Mono.CSharp.TypeContainer:DefineContainerMembers (Mono.CSharp.TypeContainer/MemberCoreArrayList) <0x14> in Mono.CSharp.TypeContainer:DoDefineMembers () <0x439> in Mono.CSharp.TypeContainer:DefineMembers () <0x4a> in Mono.CSharp.RootContext:PopulateTypes () <0xc4> in Mono.CSharp.Driver:MainDriver (string[]) <0x9e3> in Mono.CSharp.Driver:Main (string[]) <0x41> in (wrapper runtime-invoke) System.Object:runtime_invoke_int_string[] (object,intptr,intptr,intptr) <0xb85bef> Native stacktrace: /usr/lib/libmono.so.0(mono_handle_native_sigsegv+0xe3) [0xb7e2243f] /usr/lib/libmono.so.0 [0xb7de403e] [0xffffe440] /usr/lib/libmono.so.0 [0xb7eb3ea5] /usr/lib/libmono.so.0(mono_type_create_from_typespec_full+0x13f) [0xb7eb6b7f] /usr/lib/libmono.so.0 [0xb7ec8b23] /usr/lib/libmono.so.0 [0xb7ec8cdc] /usr/lib/libmono.so.0(mono_class_get_full+0x24) [0xb7ec8e6c] /usr/lib/libmono.so.0(mono_metadata_interfaces_from_typedef_full+0x132) [0xb7eb545f] /usr/lib/libmono.so.0 [0xb7ec96d6] /usr/lib/libmono.so.0 [0xb7ec8cb4] /usr/lib/libmono.so.0 [0xb7eb3f78] /usr/lib/libmono.so.0(mono_metadata_parse_type_full+0x133) [0xb7eb4183] /usr/lib/libmono.so.0 [0xb7ec7be1] /usr/lib/libmono.so.0(mono_class_init+0x38a) [0xb7ec5b36] /usr/lib/libmono.so.0 [0xb7e61657] /usr/lib/libmono.so.0(mono_reflection_get_type+0x25) [0xb7e617c0] /usr/lib/libmono.so.0 [0xb7e70863] [0xb6cb671e] [0xb6cb66af] [0xb6cb667d] [0xb6cb65cd] [0xb6cb6404] [0xb6cb630a] [0xb6cb6135] [0xb6cba63a] [0xb6cba5a9] [0xb6cba251] [0xb6cba049] [0xb6cb9ed8] [0xb6ca6f62] [0xb6cba8fa] [0xb6cb9ed8] [0xb6ca0a63] [0xb6ca028a] [0xb6c9fbfe] [0xb6c9fac2] [0xb6c9f9a9] [0xb6c9f97d] [0xb6c9f442] [0xb6c9ef73] [0xb6c9e9d5] [0xb7282d34] [0xb72819aa] [0xb727b874] /usr/lib/libmono.so.0 [0xb7e01438] /usr/lib/libmono.so.0(mono_runtime_invoke+0x33) [0xb7e63eed] /usr/lib/libmono.so.0(mono_runtime_exec_main+0xa8) [0xb7e66ac9] /usr/lib/libmono.so.0(mono_runtime_run_main+0x188) [0xb7e69bf0] /usr/lib/libmono.so.0(mono_jit_exec+0x90) [0xb7e13b5e] /usr/lib/libmono.so.0(mono_main+0x962) [0xb7e1454f] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xd2) [0xb7bafea2] /usr/bin/mono [0x8048459] Aborted Maybe this is an Ubuntu/Debian specific problem? Steps to reproduce the problem: 1. Download Uiml.net (tarball will be uploaded as attachment soon) 2. Try to compile it Actual Results: Compiler errors (exceptions thrown) Expected Results: Compilation Succeeded How often does this happen? Always ---- Additional Comments From jo.vermeulen@gmail.com 2006-05-04 05:48:49 MST ---- Created an attachment (id=169743) Source code package ---- Additional Comments From rharinath@novell.com 2006-05-04 06:44:39 MST ---- The warning: ** (/usr/lib/mono/1.0/mcs.exe:11976): WARNING **: The class System.IComparable`1 could not be loaded, used in mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 suggests that you have a broken environment. Note that the mcs.exe from the .NET 1.1 profile is using a mscorlib.dll from the .NET 2.0 profile. You may have a wrong MONO_PATH environment variable (it's mostly wrong to need to set MONO_PATH :-) Please re-open the bug if you can reproduce it with a saner environment. ---- Additional Comments From jo.vermeulen@gmail.com 2006-05-04 08:22:04 MST ---- It works when I use gmcs instead of mcs... Is this necessary? This means I must edit my Makefile to use gmcs instead of mcs. But then it doesn't work on .NET 1.1 anymore? ---- Additional Comments From rharinath@novell.com 2006-05-04 08:33:46 MST ---- I think I understand now. Sorry for not catching on earlier. You're using -pkg:nemerle. nemerle now makes extensive use of the generics features of the .NET 2.0 runtime. So, yes, I believe you need to use 'gmcs' when using nemerle compiled dlls. Retitling bug ---- Additional Comments From jo.vermeulen@gmail.com 2006-05-04 09:09:09 MST ---- Indeed, I noticed as well. When removing that dependency, it does work. However, there is still the problem of not working directly from within the Makefile. I isolated the problem (I think) and filed a bug for that as well: https://bugzilla.novell.com/show_bug.cgi?id=MONO78289 ---- Additional Comments From rharinath@novell.com 2006-11-08 04:49:48 MST ---- *** https://bugzilla.novell.com/show_bug.cgi?id=MONO78689 has been marked as a duplicate of this bug. *** Imported an attachment (id=169743) Unknown bug field "cf_op_sys_details" encountered while moving bug <cf_op_sys_details>Ubuntu Linux Dapper Drake Beta</cf_op_sys_details> Unknown operating system unknown. Setting to default OS "Other".
Could you try reproduce it with the latest mono or tell me how to reproduce this bug
closing, mcs is not supported by trunk