From jlaban@wanadoo.fr Sat Mar 1 00:36:58 2003 From: jlaban@wanadoo.fr (Jerome Laban) Date: Sat, 1 Mar 2003 01:36:58 +0100 Subject: [Mono-list] Socket.SendTo fix Message-ID: <06a101c2df8a$abcdfe40$0500a8c0@jaybook> This is a multi-part message in MIME format. ------=_NextPart_000_069D_01C2DF93.0CE13EB0 Content-Type: multipart/alternative; boundary="----=_NextPart_001_069E_01C2DF93.0CE13EB0" ------=_NextPart_001_069E_01C2DF93.0CE13EB0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi monoers, Here is a patch for the=20 Socket.SendTo(byte[] buffer, int size, SocketFlags flafs, EndPoint remote_end)=20 overload. The inner code was incorrectly calling an other Socket.SendTo = overload with an invalid offset. In this overload, it is by default set to 0. Can someone commit it if ok ? Jerome. ------=_NextPart_001_069E_01C2DF93.0CE13EB0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi monoers,
 
    Here is a patch for the =
 
Socket.SendTo(byte[] buffer, = int=20 size,
    SocketFlags = flafs,=20 EndPoint remote_end)
 
overload. The inner code was = incorrectly calling=20 an other Socket.SendTo overload with an invalid offset.
In this overload, it is by default set to = 0.
 
Can someone commit it if ok ?
 
Jerome.
 
------=_NextPart_001_069E_01C2DF93.0CE13EB0-- ------=_NextPart_000_069D_01C2DF93.0CE13EB0 Content-Type: application/octet-stream; name="socket.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="socket.diff" Index: class/System/System.Net.Sockets/Socket.cs=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /mono/mcs/class/System/System.Net.Sockets/Socket.cs,v=0A= retrieving revision 1.12=0A= diff -u -r1.12 Socket.cs=0A= --- class/System/System.Net.Sockets/Socket.cs 28 Feb 2003 08:00:46 -0000 = 1.12=0A= +++ class/System/System.Net.Sockets/Socket.cs 1 Mar 2003 00:34:39 -0000=0A= @@ -896,7 +896,7 @@=0A= =0A= public int SendTo(byte[] buffer, int size, SocketFlags flags,=0A= EndPoint remote_end) {=0A= - return(SendTo(buffer, size, buffer.Length, flags,=0A= + return(SendTo(buffer, 0, size, flags,=0A= remote_end));=0A= }=0A= =0A= ------=_NextPart_000_069D_01C2DF93.0CE13EB0-- From draekko@drakonis.dyndns.org Sat Mar 1 04:01:20 2003 From: draekko@drakonis.dyndns.org (draekko) Date: 28 Feb 2003 23:01:20 -0500 Subject: [Mono-list] Mono 0.21 has been released. In-Reply-To: <3E5FE1BF.2090103@fibertel.com.ar> References: <1046390753.2190.333.camel@erandi.boston.ximian.com> <3E5EBAFA.1020108@befunk.com> <1046405369.5119.2.camel@tuxbox1.drakonis.dyndns.org> <3E5FE1BF.2090103@fibertel.com.ar> Message-ID: <1046491280.16132.1.camel@tuxbox1.drakonis.dyndns.org> --=-um6H8YuB9RvASPtyjlat Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Fri, 2003-02-28 at 17:25, Santiago Erquicia wrote: > Do you have the Gtk# RPMs also? >=20 > draekko wrote: > > On Thu, 2003-02-27 at 20:27, Benjamin Reed wrote: > > =20 > > > Miguel de Icaza wrote: > > >=20 > > > =20 > > > > We have just released Mono 0.21, only a few days after 0.20 du= e > > > > mainly to a bug in the compiler which made it abort on top-level en= ums > > > > and delegates on Windows.=20 > > > > =20 > > >=20 > > > Alrighty, the Fink package in unstable has been updated. =3DD > > > =20 > >=20 > > Update rpms to 0.21 for mandrake 9.0 users at > > http://www.angelfire.com/linux/csharp/ > >=20 > > =20 I just put up a source rpm and its binary counterpart. Hope that helps :) --=20 draekko --=-um6H8YuB9RvASPtyjlat Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (GNU/Linux) iD8DBQA+YDCQq0bvDRVnyWkRApubAJ9aJu2OGiLqn1Wfu4YzGBmAUGsOUQCgmhEn 5SR2cOi5c/OeXBwQU+fw8V0= =T3lh -----END PGP SIGNATURE----- --=-um6H8YuB9RvASPtyjlat-- From pbaena@uol.com.ar Sat Mar 1 01:29:00 2003 From: pbaena@uol.com.ar (Pablo Baena) Date: 01 Mar 2003 01:29:00 +0000 Subject: [Mono-list] Write on linux, Run on Wondows? In-Reply-To: <20030225162004.41074.qmail@web13904.mail.yahoo.com> References: <20030225162004.41074.qmail@web13904.mail.yahoo.com> Message-ID: <1046482139.653.2.camel@hal> --=-2oU+7mPR9c4adb+Kt1lQ Content-Type: text/plain Content-Transfer-Encoding: 7bit What is this SWT you talk about? I can't find information about it on the #Develop site. Cheers! On Tue, 2003-02-25 at 16:20, Adam Treat wrote: > --- Graham Allwood wrote: > > I've read the faq but still have a question. If I'm developing a GUI client > > for a remoted service should I be using Windows.Forms or something else? > > > > What will the IDE's use when a form is designed, anyone any ideas? > > > > Thanks > > > > Graham > > You should try out the different options/choices and use the toolkit that best suits your needs. > Currently you have a choice of WX.NET, System.Windows.Forms, Qt#, Gtk#, SWT (from the #Develop > folks) and maybe others that I am not aware of. I don't know what your requirements are but, each > of these is in various stages of development has strengths and weaknesses and you should evaluate > them and determine which approach you like best ;) That is the great thing about Free Systems ... > you get a multitude of choices! > > As far as the IDE I don't know which IDE you are looking to use or what. #Develop currently has a > forms designer for System.Windows.Forms and I imagine they'll at least include a forms designer > for the SWT port. Gtk# has Glade and Qt# has Qt/Designer. I am not aware of any GUI designer for > WX, but I'd guess they have something or are working on it. Lastly, I am not sure if the eclipse > plugin for C# has any forms designer. > > Cheers, > > Adam -- Pablo Baena --=-2oU+7mPR9c4adb+Kt1lQ Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit What is this SWT you talk about? I can't find information about it on the #Develop site.

Cheers!

On Tue, 2003-02-25 at 16:20, Adam Treat wrote:
--- Graham Allwood <Graham.Allwood@CODA.com> wrote:
> I've read the faq but still have a question. If I'm developing a GUI client
> for a remoted service should I be using Windows.Forms or something else?
> 
> What will the IDE's use when a form is designed, anyone any ideas?
> 
> Thanks
> 
> Graham

You should try out the different options/choices and use the toolkit that best suits your needs. 
Currently you have a choice of WX.NET, System.Windows.Forms, Qt#, Gtk#, SWT (from the #Develop
folks) and maybe others that I am not aware of.  I don't know what your requirements are but, each
of these is in various stages of development has strengths and weaknesses and you should evaluate
them and determine which approach you like best ;)  That is the great thing about Free Systems ...
you get a multitude of choices!  

As far as the IDE I don't know which IDE you are looking to use or what.  #Develop currently has a
forms designer for System.Windows.Forms and I imagine they'll at least include a forms designer
for the SWT port.  Gtk# has Glade and Qt# has Qt/Designer.  I am not aware of any GUI designer for
WX, but I'd guess they have something or are working on it.  Lastly, I am not sure if the eclipse
plugin for C# has any forms designer.

Cheers,

Adam

--
Pablo Baena <pbaena@uol.com.ar>
--=-2oU+7mPR9c4adb+Kt1lQ-- From roger.smith@t1solutions.com Sat Mar 1 05:20:56 2003 From: roger.smith@t1solutions.com (Roger R. Smith) Date: Sat, 1 Mar 2003 00:20:56 -0500 (EST) Subject: [Mono-list] how I can help Message-ID: <63417.64.102.254.33.1046496056.squirrel@stuff.hrnoc.net> I was wondering how I can contribute to the MONO project? Rog From richard.torkar@htu.se Sat Mar 1 09:36:41 2003 From: richard.torkar@htu.se (Richard Torkar) Date: 01 Mar 2003 10:36:41 +0100 Subject: [Mono-list] how I can help In-Reply-To: <63417.64.102.254.33.1046496056.squirrel@stuff.hrnoc.net> References: <63417.64.102.254.33.1046496056.squirrel@stuff.hrnoc.net> Message-ID: <1046511401.3022.0.camel@localhost.localdomain> On Sat, 2003-03-01 at 06:20, Roger R. Smith wrote: > I was wondering how I can contribute to the MONO project? > Rog http://www.go-mono.org/contributing.html :) /Richard -- Ph.D. Student Dept. of Informatics and Mathematics HTU From richard.torkar@htu.se Sat Mar 1 09:41:41 2003 From: richard.torkar@htu.se (Richard Torkar) Date: 01 Mar 2003 10:41:41 +0100 Subject: [Mono-list] SWT (was:Write on linux, Run on Wondows?) In-Reply-To: <1046482139.653.2.camel@hal> References: <20030225162004.41074.qmail@web13904.mail.yahoo.com> <1046482139.653.2.camel@hal> Message-ID: <1046511700.3022.3.camel@localhost.localdomain> On Sat, 2003-03-01 at 02:29, Pablo Baena wrote: > What is this SWT you talk about? I can't find information about it on > the #Develop site. > SWT I believe is the Standard Widget Toolkit this: http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/main.html /Richard -- Ph.D. Student Dept. of Informatics and Mathematics HTU From christophw@alphasierrapapa.com Sat Mar 1 10:55:30 2003 From: christophw@alphasierrapapa.com (Christoph Wille) Date: Sat, 01 Mar 2003 11:55:30 +0100 Subject: [Mono-list] SWT (was:Write on linux, Run on Wondows?) In-Reply-To: <1046511700.3022.3.camel@localhost.localdomain> References: <1046482139.653.2.camel@hal> <20030225162004.41074.qmail@web13904.mail.yahoo.com> <1046482139.653.2.camel@hal> Message-ID: <5.2.0.9.2.20030301115348.02322258@mail.alphasierrapapa.com> At 10:41 AM 3/1/2003 +0100, Richard Torkar wrote: > > What is this SWT you talk about? I can't find information about it on > > the #Develop site. SWT is in development right now, it is only available as a download on our sf.net pages: http://sourceforge.net/project/showfiles.php?group_id=17610&release_id=139533 Runs on MS.NET only I think (Mike: did you try to compile it with Mono on Windows yet?) Chris From lupus@ximian.com Sat Mar 1 11:02:50 2003 From: lupus@ximian.com (Paolo Molaro) Date: Sat, 1 Mar 2003 12:02:50 +0100 Subject: [Mono-list] Mercury on Mono (not successful) (now running in the labs:-) In-Reply-To: <20030227190946.GA11341@earth.cs.mu.oz.au> References: <20030227112400.GA2034@ceres.cs.mu.oz.au> <20030227160837.GL2653@debian.org> <20030227190946.GA11341@earth.cs.mu.oz.au> Message-ID: <20030301110250.GM2653@debian.org> On 02/28/03 Fergus Henderson wrote: > > Is there a windows developer here? I someone can provide the code > > that returns the path to the GAC, I'll add it to the default search path > > when running in windows. > > On my system it is in C:\WINNT\assembly\GAC, with each assembly under > C:\WINNT\assembly\GAC\\__. Well, I meant programmatically:-) Maybe a better way to say it is: if a windows developer writes and tests the 10 lines of code needed to make mono access the assemblies in the MS GAC, I'll apply the patch;-) > > There are still two issues: > > 1) in the files you provided a type is referenced, but I could not find > > it defined in any module: > > [mercury]mercury.private_builtin.ref_1 > > I guess a file is missing from the tarball. > > No, that type is indeed referenced but not defined. This is a currently > not-yet-implemented part of the Mercury standard library. I hadn't noticed > that until now, because it works in Microsoft.NET. It works because > that type is never actually used at run-time. Not sure what the ECMA > standard says about this, but in any case I can fix our source to > define that type. Yes, please. We probably initialize too many types for some reason. That type is referenced in a field in the generic_ref_2 class in store.dll, for example. I haven't traced why that class is loaded and if it really needs to be loaded, I added a hack in my tree to ignore the error if the class of the field is not found. > > 2) references to nested types are encoded with (for example): > > namespace = mercury.list > > name = list_1/[|]_2 > > I always thought that was not allowed and that you should use a typeref > > to the parent with: > > namespace = mercury.list > > name = list_1 > > and a typeref to the typeref with: > > namespace = > > name = [|]_2 > > Well, we just spit out IL assembler and let ilasm.exe handle it. > We generate the name 'mercury'.'list'.'list_1'/'[|]_2', which I > believe is correct according to the ECMA spec. > > > I guess we'll have to handle also this special case. > > That would be good. I added handling for that special case in my tree. After a bunch of warnings about the missing type I get: lupus@luna:/tmp/mercury/mercury_dotnet_hello$ mono hello.exe Hello, world So, that's a good start, though I don't know how much real mercury code the test uses to run. If you have more tests, I can try and see if they run. I'll clean up my changes and commit them to cvs later so that other people can enjoy yet another language running in mono. Thanks! lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From lupus@ximian.com Sat Mar 1 11:32:53 2003 From: lupus@ximian.com (Paolo Molaro) Date: Sat, 1 Mar 2003 12:32:53 +0100 Subject: [Mono-list] Mono for BeOS In-Reply-To: References: Message-ID: <20030301113253.GN2653@debian.org> On 02/28/03 Guy wrote: > im not sure if im targeting the right person with this email, im > just wondering how hard it will be to port Mono (or only what's necessary > to fully use C#) to BeOS. It depends mainly on two things: does BeOS have pthread compatible thread library? Does libgc work on BeOS? If the answer to both questions is true, porting likely requires half an hour of work (configure.in, mainly). If libgc was not ported to BeOS, you can still run many programs if you have memory available, so it's not really required to get started. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From martin@gnome.org Sat Mar 1 10:35:57 2003 From: martin@gnome.org (Martin Baulig) Date: 01 Mar 2003 11:35:57 +0100 Subject: [Mono-list] Trying to build debugger out of CVS In-Reply-To: <004901c2df57$75f6e9e0$0400000a@gorilla> References: <004901c2df57$75f6e9e0$0400000a@gorilla> Message-ID: <86isv3gyr6.fsf@einstein.home-of-linux.org> --=-=-= "Elan Feingold" writes: > make[2]: Entering directory `/home/elan/Incoming/Mono/debugger/lib' > > /usr/local/bin/mcs -o Interpreter.exe -r Mono.GetOptions -r Mono.CSharp.Debugger -r Mono.Debugger.dll -r > Mono.Debugger.Backend.dll ../frontends/command-line/*.cs ../frontends/scripting/*.cs > > ../frontends/scripting/Tokenizer.cs(11) error CS0246: Cannot find type `yyParser.yyInput' Hi, that's declard in frontends/scripting/Parser.cs - a file which is generated from Parser.jay. Make sure you have jay (from mcs/jay) installed and that it's actually generating that file. Here's the latest version: --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=Parser.cs // created by jay 0.7 (c) 1998 Axel.Schreiner@informatik.uni-osnabrueck.de #line 2 "Parser.jay" using System.Text; using System.IO; using System.Collections; using System; namespace Mono.Debugger.Frontends.CommandLine { public class Parser { string name; ScriptingContext current_context; MyTextReader reader; bool do_quit = false; protected bool yacc_verbose_flag = false; public bool yacc_verbose { set { yacc_verbose_flag = value; } get { return yacc_verbose_flag; } } public bool Quit { get { return do_quit; } } Tokenizer lexer; public Tokenizer Lexer { get { return lexer; } } #line default /** simplified error message. @see yyerror */ public void yyerror (string message) { yyerror(message, null); } /** (syntax) error message. Can be overwritten to control message format. @param message text to be displayed. @param expected vector of acceptable tokens, if available. */ public void yyerror (string message, string[] expected) { if ((expected != null) && (expected.Length > 0)) { System.Console.Write (message+", expecting"); for (int n = 0; n < expected.Length; ++ n) System.Console.Write (" "+expected[n]); System.Console.WriteLine (); } else System.Console.WriteLine (message); } /** debugging support, requires the package jay.yydebug. Set to null to suppress debugging messages. */ protected yydebug.yyDebug debug; protected static int yyFinal = 2; public static string [] yyRule = { "$accept : command_loop", "command_loop :", "command_loop : command_loop command EOL", "command_loop : command_loop EOL", "command_loop : command_loop EOF", "command_loop : QUIT EOL", "command : CONTINUE opt_process", "command : STEP opt_process", "command : NEXT opt_process", "command : STEPI opt_process", "command : NEXTI opt_process", "command : FINISH opt_process", "command : BACKTRACE opt_process", "command : UP opt_process", "command : DOWN opt_process", "command : KILL opt_process", "command : SHOW PROCESSES", "command : SHOW REGISTERS opt_process opt_frame_number", "command : SHOW PARAMETERS opt_process opt_frame_number", "command : SHOW LOCALS opt_process opt_frame_number", "command : SHOW MODULES", "command : SHOW SOURCES opt_number_list", "command : SHOW METHODS opt_number_list", "command : SHOW BREAKPOINTS", "command : SHOW THREADGROUPS", "command : SHOW TYPE variable_expression", "command : BREAK opt_thread_group source_expression", "command : BREAKPOINT INTEGER ENABLE", "command : BREAKPOINT INTEGER DISABLE", "command : BREAKPOINT INTEGER DELETE", "command : PRINT expression", "command : FRAME opt_process opt_frame_number", "command : DISASSEMBLE opt_process opt_frame_number", "command : DISASSEMBLE METHOD opt_process opt_frame_number", "command : START INTEGER program_arguments", "command : START program_arguments", "command : PROCESS opt_process", "command : BACKGROUND opt_process", "command : STOP opt_process", "command : SET BANG IDENTIFIER ASSIGN variable_expression", "command : MODULE number_list module_operations", "command : MODULE ALL module_operations", "command : assert_command", "command : SAVE STRING", "command : THREADGROUP CREATE STRING opt_number_list", "command : THREADGROUP ADD STRING opt_number_list", "command : THREADGROUP REMOVE STRING opt_number_list", "command : HELP SHOW", "command : HELP", "command : LIST source_expression", "command : LIST CONTINUE", "kind : UNKNOWN", "kind : FUNDAMENTAL", "kind : ARRAY", "kind : STRUCT", "kind : CLASS", "kind : POINTER", "assert_command : ASSERT KIND kind variable_expression", "assert_command : ASSERT ACCESSIBLE variable_expression", "assert_command : ASSERT NOT ACCESSIBLE variable_expression", "assert_command : ASSERT TYPE STRING variable_expression", "assert_command : ASSERT CONTENTS STRING variable_expression", "assert_command : ASSERT LINE INTEGER", "expression : opt_process opt_frame_number PERCENT IDENTIFIER", "expression : LENGTH OPEN_PARENS variable_expression CLOSE_PARENS", "expression : LOWER OPEN_PARENS variable_expression CLOSE_PARENS", "expression : UPPER OPEN_PARENS variable_expression CLOSE_PARENS", "expression : NUMBER", "expression : INTEGER", "expression : expression binary_operator expression", "expression : OPEN_PARENS expression CLOSE_PARENS", "expression : variable_expression", "variable_expression : STAR variable_expression", "variable_expression : BANG IDENTIFIER", "variable_expression : opt_process opt_frame_number DOLLAR IDENTIFIER", "variable_expression : variable_expression DOT IDENTIFIER", "variable_expression : variable_expression OPEN_BRACKET expression CLOSE_BRACKET", "variable_expression : PARENT OPEN_PARENS variable_expression CLOSE_PARENS", "program_arguments : program_arglist", "program_arglist : STRING", "program_arglist : program_arglist STRING", "opt_thread_group :", "opt_thread_group : OP_LT IDENTIFIER OP_GT", "opt_thread_group : OP_LT GLOBAL OP_GT", "opt_process :", "opt_process : AT INTEGER", "opt_frame_number :", "opt_frame_number : HASH INTEGER", "opt_line :", "opt_line : COLON INTEGER", "source_expression : opt_process opt_frame_number", "source_expression : opt_process opt_frame_number IDENTIFIER opt_line", "source_expression : opt_process opt_frame_number INTEGER", "source_expression : STRING", "source_expression : STRING COLON INTEGER", "source_expression : BANG INTEGER", "opt_number_list :", "opt_number_list : number_list", "number_list : INTEGER", "number_list : number_list COMMA INTEGER", "module_operation : IGNORE", "module_operation : UNIGNORE", "module_operation : BANG IGNORE", "module_operation : STEP", "module_operation : BANG STEP", "module_operation : SHOW BREAKPOINTS", "module_operations : module_operation", "module_operations : module_operations module_operation", "binary_operator : STAR", "binary_operator : PLUS", "binary_operator : MINUS", "binary_operator : DIV", }; protected static string [] yyName = { "end-of-file",null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,"QUIT","EOL","EOF","NONE","ERROR", "IDENTIFIER","INTEGER","NUMBER","STRING","HASH","AT","PERCENT", "DOLLAR","DOT","BANG","COMMA","ASSIGN","STAR","PLUS","MINUS","DIV", "OPEN_PARENS","CLOSE_PARENS","OPEN_BRACKET","CLOSE_BRACKET","OP_LT", "OP_GT","COLON","PROCESSES","REGISTERS","PARAMETERS","LOCALS","TYPE", "METHOD","PARENT","LENGTH","LOWER","UPPER","KIND","ACCESSIBLE", "CONTENTS","LINE","NOT","UNKNOWN","FUNDAMENTAL","ARRAY","STRUCT", "CLASS","POINTER","MODULES","SOURCES","METHODS","BREAKPOINTS", "THREADGROUPS","GLOBAL","FRAME","START","SHOW","PROCESS","CONTINUE", "BACKTRACE","UP","DOWN","STEP","NEXT","STEPI","NEXTI","FINISH", "BREAK","PRINT","DISASSEMBLE","SET","ASSERT","BREAKPOINT","SAVE", "KILL","THREADGROUP","SEARCH","LIST","SELECT","BACKGROUND","STOP", "MODULE","IGNORE","UNIGNORE","ALL","ENABLE","DISABLE","DELETE", "CREATE","ADD","REMOVE","HELP", }; /** index-checked interface to yyName[]. @param token single character or %token value. @return token name or [illegal] or [unknown]. */ public static string yyname (int token) { if ((token < 0) || (token > yyName.Length)) return "[illegal]"; string name; if ((name = yyName[token]) != null) return name; return "[unknown]"; } /** computes list of expected tokens on error by tracing the tables. @param state for which to compute the list. @return list of token names. */ protected string[] yyExpecting (int state) { int token, n, len = 0; bool[] ok = new bool[yyName.Length]; if ((n = yySindex[state]) != 0) for (token = n < 0 ? -n : 0; (token < yyName.Length) && (n+token < yyTable.Length); ++ token) if (yyCheck[n+token] == token && !ok[token] && yyName[token] != null) { ++ len; ok[token] = true; } if ((n = yyRindex[state]) != 0) for (token = n < 0 ? -n : 0; (token < yyName.Length) && (n+token < yyTable.Length); ++ token) if (yyCheck[n+token] == token && !ok[token] && yyName[token] != null) { ++ len; ok[token] = true; } string [] result = new string[len]; for (n = token = 0; n < len; ++ token) if (ok[token]) result[n++] = yyName[token]; return result; } /** the generated parser, with debugging messages. Maintains a state and a value stack, currently with fixed maximum size. @param yyLex scanner. @param yydebug debug message writer implementing yyDebug, or null. @return result of the last reduction, if any. @throws yyException on irrecoverable parse error. */ public Object yyparse (yyParser.yyInput yyLex, Object yyd) { this.debug = (yydebug.yyDebug)yyd; return yyparse(yyLex); } /** initial size and increment of the state/value stack [default 256]. This is not final so that it can be overwritten outside of invocations of yyparse(). */ protected int yyMax; /** executed at the beginning of a reduce action. Used as $$ = yyDefault($1), prior to the user-specified action, if any. Can be overwritten to provide deep copy, etc. @param first value for $1, or null. @return first. */ protected Object yyDefault (Object first) { return first; } /** the generated parser. Maintains a state and a value stack, currently with fixed maximum size. @param yyLex scanner. @return result of the last reduction, if any. @throws yyException on irrecoverable parse error. */ public Object yyparse (yyParser.yyInput yyLex) { if (yyMax <= 0) yyMax = 256; // initial size int yyState = 0; // state stack ptr int [] yyStates = new int[yyMax]; // state stack Object yyVal = null; // value stack ptr Object [] yyVals = new Object[yyMax]; // value stack int yyToken = -1; // current input int yyErrorFlag = 0; // #tks to shift int yyTop = 0; goto skip; yyLoop: yyTop++; skip: for (;; ++ yyTop) { if (yyTop >= yyStates.Length) { // dynamically increase int[] i = new int[yyStates.Length+yyMax]; yyStates.CopyTo (i, 0); yyStates = i; Object[] o = new Object[yyVals.Length+yyMax]; yyVals.CopyTo (o, 0); yyVals = o; } yyStates[yyTop] = yyState; yyVals[yyTop] = yyVal; if (debug != null) debug.push(yyState, yyVal); yyDiscarded: for (;;) { // discarding a token does not change stack int yyN; if ((yyN = yyDefRed[yyState]) == 0) { // else [default] reduce (yyN) if (yyToken < 0) { yyToken = yyLex.advance() ? yyLex.token() : 0; if (debug != null) debug.lex(yyState, yyToken, yyname(yyToken), yyLex.value()); } if ((yyN = yySindex[yyState]) != 0 && ((yyN += yyToken) >= 0) && (yyN < yyTable.Length) && (yyCheck[yyN] == yyToken)) { if (debug != null) debug.shift(yyState, yyTable[yyN], yyErrorFlag-1); yyState = yyTable[yyN]; // shift to yyN yyVal = yyLex.value(); yyToken = -1; if (yyErrorFlag > 0) -- yyErrorFlag; goto yyLoop; } if ((yyN = yyRindex[yyState]) != 0 && (yyN += yyToken) >= 0 && yyN < yyTable.Length && yyCheck[yyN] == yyToken) yyN = yyTable[yyN]; // reduce (yyN) else switch (yyErrorFlag) { case 0: yyerror("syntax error", yyExpecting(yyState)); if (debug != null) debug.error("syntax error"); goto case 1; case 1: case 2: yyErrorFlag = 3; do { if ((yyN = yySindex[yyStates[yyTop]]) != 0 && (yyN += Token.yyErrorCode) >= 0 && yyN < yyTable.Length && yyCheck[yyN] == Token.yyErrorCode) { if (debug != null) debug.shift(yyStates[yyTop], yyTable[yyN], 3); yyState = yyTable[yyN]; yyVal = yyLex.value(); goto yyLoop; } if (debug != null) debug.pop(yyStates[yyTop]); } while (-- yyTop >= 0); if (debug != null) debug.reject(); throw new yyParser.yyException("irrecoverable syntax error"); case 3: if (yyToken == 0) { if (debug != null) debug.reject(); throw new yyParser.yyException("irrecoverable syntax error at end-of-file"); } if (debug != null) debug.discard(yyState, yyToken, yyname(yyToken), yyLex.value()); yyToken = -1; goto yyDiscarded; // leave stack alone } } int yyV = yyTop + 1-yyLen[yyN]; if (debug != null) debug.reduce(yyState, yyStates[yyV-1], yyN, yyRule[yyN], yyLen[yyN]); yyVal = yyDefault(yyV > yyTop ? null : yyVals[yyV]); switch (yyN) { case 2: #line 152 "Parser.jay" { ((Command) yyVals[-1+yyTop]).Execute (current_context); } break; case 5: #line 158 "Parser.jay" { do_quit = true; reader.Close (); } break; case 6: #line 166 "Parser.jay" { yyVal = new StepCommand ((ProcessExpression) yyVals[0+yyTop], WhichStepCommand.Continue); } break; case 7: #line 170 "Parser.jay" { yyVal = new StepCommand ((ProcessExpression) yyVals[0+yyTop], WhichStepCommand.Step); } break; case 8: #line 174 "Parser.jay" { yyVal = new StepCommand ((ProcessExpression) yyVals[0+yyTop], WhichStepCommand.Next); } break; case 9: #line 178 "Parser.jay" { yyVal = new StepCommand ((ProcessExpression) yyVals[0+yyTop], WhichStepCommand.StepInstruction); } break; case 10: #line 182 "Parser.jay" { yyVal = new StepCommand ((ProcessExpression) yyVals[0+yyTop], WhichStepCommand.NextInstruction); } break; case 11: #line 186 "Parser.jay" { yyVal = new StepCommand ((ProcessExpression) yyVals[0+yyTop], WhichStepCommand.Finish); } break; case 12: #line 190 "Parser.jay" { yyVal = new BacktraceCommand ((ProcessExpression) yyVals[0+yyTop]); } break; case 13: #line 194 "Parser.jay" { yyVal = new UpCommand ((ProcessExpression) yyVals[0+yyTop]); } break; case 14: #line 198 "Parser.jay" { yyVal = new DownCommand ((ProcessExpression) yyVals[0+yyTop]); } break; case 15: #line 202 "Parser.jay" { yyVal = new KillProcessCommand ((ProcessExpression) yyVals[0+yyTop]); } break; case 16: #line 206 "Parser.jay" { yyVal = new ShowProcessesCommand (); } break; case 17: #line 210 "Parser.jay" { yyVal = new ShowRegistersCommand ((ProcessExpression) yyVals[-1+yyTop], (int) yyVals[0+yyTop]); } break; case 18: #line 214 "Parser.jay" { yyVal = new ShowParametersCommand ((ProcessExpression) yyVals[-1+yyTop], (int) yyVals[0+yyTop]); } break; case 19: #line 218 "Parser.jay" { yyVal = new ShowLocalsCommand ((ProcessExpression) yyVals[-1+yyTop], (int) yyVals[0+yyTop]); } break; case 20: #line 222 "Parser.jay" { yyVal = new ShowModulesCommand (); } break; case 21: #line 226 "Parser.jay" { int[] modules = new int [((ArrayList) yyVals[0+yyTop]).Count]; ((ArrayList) yyVals[0+yyTop]).CopyTo (modules, 0); yyVal = new ShowSourcesCommand (modules); } break; case 22: #line 233 "Parser.jay" { int[] sources = new int [((ArrayList) yyVals[0+yyTop]).Count]; ((ArrayList) yyVals[0+yyTop]).CopyTo (sources, 0); yyVal = new ShowMethodsCommand (sources); } break; case 23: #line 240 "Parser.jay" { yyVal = new ShowBreakpointsCommand (); } break; case 24: #line 244 "Parser.jay" { yyVal = new ShowThreadGroupsCommand (); } break; case 25: #line 248 "Parser.jay" { yyVal = new ShowVariableTypeCommand ((VariableExpression) yyVals[0+yyTop]); } break; case 26: #line 252 "Parser.jay" { yyVal = new BreakCommand ((ThreadGroupExpression) yyVals[-1+yyTop], (SourceExpression) yyVals[0+yyTop]); } break; case 27: #line 256 "Parser.jay" { yyVal = new BreakpointEnableCommand ((int) yyVals[-1+yyTop]); } break; case 28: #line 260 "Parser.jay" { yyVal = new BreakpointDisableCommand ((int) yyVals[-1+yyTop]); } break; case 29: #line 264 "Parser.jay" { yyVal = new BreakpointDeleteCommand ((int) yyVals[-1+yyTop]); } break; case 30: #line 268 "Parser.jay" { yyVal = new PrintCommand ((Expression) yyVals[0+yyTop]); } break; case 31: #line 272 "Parser.jay" { yyVal = new FrameCommand ((ProcessExpression) yyVals[-1+yyTop], (int) yyVals[0+yyTop]); } break; case 32: #line 276 "Parser.jay" { yyVal = new DisassembleCommand ((ProcessExpression) yyVals[-1+yyTop], (int) yyVals[0+yyTop]); } break; case 33: #line 280 "Parser.jay" { yyVal = new DisassembleMethodCommand ((ProcessExpression) yyVals[-1+yyTop], (int) yyVals[0+yyTop]); } break; case 34: #line 284 "Parser.jay" { yyVal = new StartCommand ((string []) yyVals[0+yyTop], (int) yyVals[-1+yyTop]); } break; case 35: #line 288 "Parser.jay" { yyVal = new StartCommand ((string []) yyVals[0+yyTop]); } break; case 36: #line 292 "Parser.jay" { yyVal = new SelectProcessCommand ((ProcessExpression) yyVals[0+yyTop]); } break; case 37: #line 296 "Parser.jay" { yyVal = new BackgroundProcessCommand ((ProcessExpression) yyVals[0+yyTop]); } break; case 38: #line 300 "Parser.jay" { yyVal = new StopProcessCommand ((ProcessExpression) yyVals[0+yyTop]); } break; case 39: #line 304 "Parser.jay" { yyVal = new ScriptingVariableAssignCommand ((string) yyVals[-2+yyTop], (VariableExpression) yyVals[0+yyTop]); } break; case 40: #line 308 "Parser.jay" { int[] modules = new int [((ArrayList) yyVals[-1+yyTop]).Count]; ((ArrayList) yyVals[-1+yyTop]).CopyTo (modules, 0); ModuleOperation[] operations = new ModuleOperation [((ArrayList) yyVals[0+yyTop]).Count]; ((ArrayList) yyVals[0+yyTop]).CopyTo (operations, 0); yyVal = new ModuleOperationCommand (modules, operations); } break; case 41: #line 316 "Parser.jay" { ModuleOperation[] operations = new ModuleOperation [((ArrayList) yyVals[-1+yyTop]).Count]; ((ArrayList) yyVals[-1+yyTop]).CopyTo (operations, 0); yyVal = new ModuleOperationCommand (operations); } break; case 42: #line 322 "Parser.jay" { yyVal = yyVals[0+yyTop]; } break; case 43: #line 326 "Parser.jay" { yyVal = new SaveCommand ((string) yyVals[0+yyTop]); } break; case 44: #line 330 "Parser.jay" { int[] threads = new int [((ArrayList) yyVals[0+yyTop]).Count]; ((ArrayList) yyVals[0+yyTop]).CopyTo (threads, 0); yyVal = new ThreadGroupCreateCommand ((string) yyVals[-1+yyTop], threads); } break; case 45: #line 337 "Parser.jay" { int[] threads = new int [((ArrayList) yyVals[0+yyTop]).Count]; ((ArrayList) yyVals[0+yyTop]).CopyTo (threads, 0); yyVal = new ThreadGroupAddCommand ((string) yyVals[-1+yyTop], threads); } break; case 46: #line 344 "Parser.jay" { int[] threads = new int [((ArrayList) yyVals[0+yyTop]).Count]; ((ArrayList) yyVals[0+yyTop]).CopyTo (threads, 0); yyVal = new ThreadGroupRemoveCommand ((string) yyVals[-1+yyTop], threads); } break; case 47: #line 351 "Parser.jay" { yyVal = new HelpCommand ("show"); } break; case 48: #line 355 "Parser.jay" { yyVal = new HelpCommand (""); } break; case 49: #line 359 "Parser.jay" { yyVal = new ListCommand ((SourceExpression) yyVals[0+yyTop]); } break; case 50: #line 363 "Parser.jay" { yyVal = new ListCommand (null); } break; case 51: #line 370 "Parser.jay" { yyVal = TargetObjectKind.Unknown; } break; case 52: #line 374 "Parser.jay" { yyVal = TargetObjectKind.Fundamental; } break; case 53: #line 378 "Parser.jay" { yyVal = TargetObjectKind.Array; } break; case 54: #line 382 "Parser.jay" { yyVal = TargetObjectKind.Struct; } break; case 55: #line 386 "Parser.jay" { yyVal = TargetObjectKind.Class; } break; case 56: #line 390 "Parser.jay" { yyVal = TargetObjectKind.Pointer; } break; case 57: #line 397 "Parser.jay" { yyVal = new AssertKindCommand ((TargetObjectKind) yyVals[-1+yyTop], (VariableExpression) yyVals[0+yyTop]); } break; case 58: #line 401 "Parser.jay" { yyVal = new AssertAccessibleCommand ((VariableExpression) yyVals[0+yyTop], true); } break; case 59: #line 405 "Parser.jay" { yyVal = new AssertAccessibleCommand ((VariableExpression) yyVals[0+yyTop], false); } break; case 60: #line 409 "Parser.jay" { yyVal = new AssertTypeCommand ((string) yyVals[-1+yyTop], (VariableExpression) yyVals[0+yyTop]); } break; case 61: #line 413 "Parser.jay" { yyVal = new AssertContentsCommand ((string) yyVals[-1+yyTop], (VariableExpression) yyVals[0+yyTop]); } break; case 62: #line 417 "Parser.jay" { yyVal = new AssertLineCommand ((int) yyVals[0+yyTop]); } break; case 63: #line 424 "Parser.jay" { yyVal = new RegisterExpression ((ProcessExpression) yyVals[-3+yyTop], (int) yyVals[-2+yyTop], (string) yyVals[0+yyTop]); } break; case 64: #line 428 "Parser.jay" { yyVal = new ArrayLengthExpression ((VariableExpression) yyVals[-1+yyTop]); } break; case 65: #line 432 "Parser.jay" { yyVal = new ArrayLowerBoundExpression ((VariableExpression) yyVals[-1+yyTop]); } break; case 66: #line 436 "Parser.jay" { yyVal = new ArrayUpperBoundExpression ((VariableExpression) yyVals[-1+yyTop]); } break; case 67: #line 440 "Parser.jay" { yyVal = new NumberExpression ((int) yyVals[0+yyTop]); } break; case 68: #line 444 "Parser.jay" { yyVal = new NumberExpression ((int) yyVals[0+yyTop]); } break; case 69: #line 448 "Parser.jay" { yyVal = new BinaryOperator ((BinaryOperator.Kind) yyVals[-1+yyTop], (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); } break; case 70: #line 452 "Parser.jay" { yyVal = new ExpressionGroup ((Expression) yyVals[-1+yyTop]); } break; case 71: #line 456 "Parser.jay" { yyVal = yyVals[0+yyTop]; } break; case 72: #line 463 "Parser.jay" { yyVal = new VariableDereferenceExpression ((VariableExpression) yyVals[0+yyTop]); } break; case 73: #line 467 "Parser.jay" { yyVal = new ScriptingVariableReference ((string) yyVals[0+yyTop]); } break; case 74: #line 471 "Parser.jay" { yyVal = new VariableReferenceExpression ((ProcessExpression) yyVals[-3+yyTop], (int) yyVals[-2+yyTop], (string) yyVals[0+yyTop]); } break; case 75: #line 475 "Parser.jay" { yyVal = new StructAccessExpression ((VariableExpression) yyVals[-2+yyTop], (string) yyVals[0+yyTop]); } break; case 76: #line 479 "Parser.jay" { yyVal = new ArrayAccessExpression ((VariableExpression) yyVals[-3+yyTop], (Expression) yyVals[-1+yyTop]); } break; case 77: #line 483 "Parser.jay" { yyVal = new ParentClassExpression ((VariableExpression) yyVals[-1+yyTop]); } break; case 78: #line 490 "Parser.jay" { ArrayList args = (ArrayList) yyVals[0+yyTop]; string[] retval = new string [args.Count]; args.CopyTo (retval, 0); yyVal = retval; } break; case 79: #line 500 "Parser.jay" { ArrayList args = new ArrayList (); args.Add (yyVals[0+yyTop]); yyVal = args; } break; case 80: #line 507 "Parser.jay" { ArrayList args = (ArrayList) yyVals[-1+yyTop]; args.Add (yyVals[0+yyTop]); yyVal = args; } break; case 81: #line 517 "Parser.jay" { yyVal = new ThreadGroupExpression ("main"); } break; case 82: #line 521 "Parser.jay" { yyVal = new ThreadGroupExpression ((string) yyVals[0+yyTop]); } break; case 83: #line 525 "Parser.jay" { yyVal = new ThreadGroupExpression ("global"); } break; case 84: #line 532 "Parser.jay" { yyVal = new ProcessExpression (-1); } break; case 85: #line 536 "Parser.jay" { yyVal = new ProcessExpression ((int) yyVals[0+yyTop]); } break; case 86: #line 543 "Parser.jay" { yyVal = -1; } break; case 87: #line 547 "Parser.jay" { yyVal = yyVals[0+yyTop]; } break; case 88: #line 554 "Parser.jay" { yyVal = -1; } break; case 89: #line 558 "Parser.jay" { yyVal = yyVals[0+yyTop]; } break; case 90: #line 565 "Parser.jay" { yyVal = new SourceExpression ((ProcessExpression) yyVals[-1+yyTop], (int) yyVals[0+yyTop], null, -1); } break; case 91: #line 569 "Parser.jay" { yyVal = new SourceExpression ((ProcessExpression) yyVals[-3+yyTop], (int) yyVals[-2+yyTop], (string) yyVals[-1+yyTop], (int) yyVals[0+yyTop]); } break; case 92: #line 573 "Parser.jay" { yyVal = new SourceExpression ((ProcessExpression) yyVals[-2+yyTop], (int) yyVals[-1+yyTop], (int) yyVals[0+yyTop]); } break; case 93: #line 577 "Parser.jay" { yyVal = new SourceExpression ((string) yyVals[0+yyTop]); } break; case 94: #line 581 "Parser.jay" { yyVal = new SourceExpression ((string) yyVals[-2+yyTop], (int) yyVals[0+yyTop]); } break; case 95: #line 585 "Parser.jay" { yyVal = new SourceExpression ((int) yyVals[0+yyTop]); } break; case 96: #line 592 "Parser.jay" { yyVal = new ArrayList (); } break; case 98: #line 600 "Parser.jay" { ArrayList args = new ArrayList (); args.Add (yyVals[0+yyTop]); yyVal = args; } break; case 99: #line 607 "Parser.jay" { ArrayList args = (ArrayList) yyVals[-2+yyTop]; args.Add (yyVals[0+yyTop]); yyVal = args; } break; case 100: #line 617 "Parser.jay" { yyVal = ModuleOperation.Ignore; } break; case 101: #line 621 "Parser.jay" { yyVal = ModuleOperation.UnIgnore; } break; case 102: #line 625 "Parser.jay" { yyVal = ModuleOperation.UnIgnore; } break; case 103: #line 629 "Parser.jay" { yyVal = ModuleOperation.Step; } break; case 104: #line 633 "Parser.jay" { yyVal = ModuleOperation.DontStep; } break; case 105: #line 637 "Parser.jay" { yyVal = ModuleOperation.ShowBreakpoints; } break; case 106: #line 644 "Parser.jay" { ArrayList args = new ArrayList (); args.Add (yyVals[0+yyTop]); yyVal = args; } break; case 107: #line 651 "Parser.jay" { ArrayList args = (ArrayList) yyVals[-1+yyTop]; args.Add (yyVals[0+yyTop]); yyVal = args; } break; case 108: #line 661 "Parser.jay" { yyVal = BinaryOperator.Kind.Mult; } break; case 109: #line 665 "Parser.jay" { yyVal = BinaryOperator.Kind.Plus; } break; case 110: #line 669 "Parser.jay" { yyVal = BinaryOperator.Kind.Minus; } break; case 111: #line 673 "Parser.jay" { yyVal = BinaryOperator.Kind.Div; } break; #line default } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; int yyM = yyLhs[yyN]; if (yyState == 0 && yyM == 0) { if (debug != null) debug.shift(0, yyFinal); yyState = yyFinal; if (yyToken < 0) { yyToken = yyLex.advance() ? yyLex.token() : 0; if (debug != null) debug.lex(yyState, yyToken,yyname(yyToken), yyLex.value()); } if (yyToken == 0) { if (debug != null) debug.accept(yyVal); return yyVal; } goto yyLoop; } if (((yyN = yyGindex[yyM]) != 0) && ((yyN += yyState) >= 0) && (yyN < yyTable.Length) && (yyCheck[yyN] == yyState)) yyState = yyTable[yyN]; else yyState = yyDgoto[yyM]; if (debug != null) debug.shift(yyStates[yyTop], yyState); goto yyLoop; } } } static short [] yyLhs = { -1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 5, 5, 5, 5, 5, 9, 15, 15, 6, 6, 6, 2, 2, 3, 3, 16, 16, 7, 7, 7, 7, 7, 7, 4, 4, 10, 10, 17, 17, 17, 17, 17, 17, 11, 11, 14, 14, 14, 14, }; static short [] yyLen = { 2, 0, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 2, 3, 3, 2, 2, 3, 3, 3, 3, 3, 2, 3, 3, 4, 3, 2, 2, 2, 2, 5, 3, 3, 1, 2, 4, 4, 4, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 4, 3, 4, 4, 4, 3, 4, 4, 4, 4, 1, 1, 3, 3, 1, 2, 2, 4, 3, 4, 4, 1, 1, 2, 0, 3, 3, 0, 2, 0, 2, 0, 2, 2, 4, 3, 1, 3, 2, 0, 1, 1, 3, 1, 1, 2, 1, 2, 2, 1, 2, 1, 1, 1, 1, }; static short [] yyDefRed = { 0, 0, 0, 5, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 79, 35, 0, 16, 0, 0, 0, 0, 20, 0, 0, 23, 24, 36, 6, 12, 13, 14, 7, 8, 9, 10, 11, 0, 0, 68, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 15, 0, 0, 0, 0, 0, 50, 0, 49, 37, 38, 98, 0, 0, 47, 2, 85, 0, 31, 34, 80, 0, 0, 0, 0, 0, 21, 0, 22, 0, 0, 26, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 0, 0, 32, 0, 0, 51, 52, 53, 54, 55, 56, 0, 0, 0, 62, 0, 27, 28, 29, 0, 0, 0, 0, 95, 0, 0, 0, 103, 100, 101, 0, 106, 0, 0, 87, 17, 18, 19, 0, 82, 83, 70, 0, 0, 0, 0, 0, 0, 75, 0, 0, 33, 0, 0, 0, 0, 0, 44, 45, 46, 94, 0, 92, 104, 102, 105, 107, 99, 77, 64, 65, 66, 63, 74, 76, 0, 0, 91, 89, }; protected static short [] yyDgoto = { 2, 33, 110, 104, 112, 73, 62, 94, 74, 39, 113, 162, 34, 143, 132, 40, 209, 163, }; protected static short [] yySindex = { -198, -189, -172, 0, 0, 0, -239, -221, -175, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -192, -88, -230, -152, -82, -166, -135, -239, -210, -235, -239, -239, -260, -127, -96, 0, -67, -54, -39, 0, 0, -26, 0, -239, -239, -239, -240, 0, -65, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -244, -47, 0, 0, -43, -240, -88, -57, -38, -35, -34, -54, -227, -66, -239, -54, -17, -19, -73, -240, -18, -15, -42, -163, 0, 0, -16, -14, -13, -31, -8, 0, -54, 0, 0, 0, 0, -248, -252, 0, 0, 0, -7, 0, 0, 0, -54, -54, -54, -54, -227, 0, -22, 0, -25, -20, 0, 0, -227, -41, -240, -240, -240, -240, -99, -5, -88, 0, 0, 0, 0, -88, -54, 0, -12, -240, 0, 0, 0, 0, 0, 0, -240, -227, -240, 0, -240, 0, 0, 0, -65, -65, -65, -1, 0, -68, -279, -40, 0, 0, 0, -248, 0, 2, -248, 0, 0, 0, 0, -3, 0, 0, 0, -215, -196, -185, -174, 5, 6, 0, -103, -66, 0, -240, -227, -227, -227, -227, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -227, 7, 0, 0, }; protected static short [] yyRindex = { 1, 0, 0, 0, 0, 0, -209, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, -74, -165, -209, 0, 0, 0, 0, 13, 0, -137, 13, 13, 0, 14, 0, 0, 0, 16, 0, 0, 0, 17, 0, -209, -209, -209, -142, 0, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -137, 0, 0, 0, -142, -165, 0, 0, 0, 0, -46, -229, 19, -209, 16, 0, 0, 0, -142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 10, 22, 0, 23, 0, 0, 0, 0, 0, -159, 0, -142, -142, -142, -142, 0, 0, -165, 0, 0, 0, 0, -165, 16, 0, 0, -142, 0, 0, 0, 0, 0, 0, -142, 24, -142, 0, -142, 0, 0, 0, 18, 18, 18, 0, 0, 25, 0, 0, 0, 0, 0, 26, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -225, 0, -142, 28, 29, 30, 31, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, }; protected static short [] yyGindex = { 0, 0, -4, 92, -44, -45, 0, 202, -52, 255, 262, 195, 0, 0, 0, 0, 0, -92, }; protected static short [] yyTable = { 111, 1, 36, 97, 114, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 120, 72, 76, 115, 157, 164, 119, 86, 157, 93, 95, 96, 35, 35, 71, 90, 65, 35, 69, 66, 144, 91, 35, 107, 108, 109, 195, 37, 126, 38, 71, 71, 71, 71, 84, 71, 68, 71, 127, 69, 126, 69, 84, 93, 1, 75, 196, 158, 72, 200, 127, 158, 116, 159, 3, 198, 133, 159, 198, 126, 181, 174, 175, 176, 177, 182, 92, 98, 201, 127, 126, 4, 5, 160, 161, 61, 185, 160, 161, 202, 127, 126, 84, 186, 72, 187, 84, 188, 84, 84, 203, 127, 189, 190, 191, 41, 42, 43, 44, 45, 72, 72, 72, 72, 77, 72, 84, 72, 72, 84, 84, 84, 84, 72, 84, 85, 46, 47, 48, 49, 50, 87, 88, 89, 207, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 101, 28, 125, 29, 30, 31, 134, 178, 179, 128, 129, 130, 131, 63, 64, 32, 206, 35, 148, 149, 150, 65, 81, 156, 66, 100, 81, 81, 67, 81, 81, 81, 193, 194, 102, 81, 97, 167, 168, 169, 170, 68, 69, 70, 71, 78, 128, 129, 130, 131, 103, 79, 80, 81, 82, 83, 90, 118, 35, 121, 86, 86, 91, 183, 38, 137, 138, 139, 140, 141, 142, 128, 129, 130, 131, 86, 173, 106, 122, 86, 86, 123, 124, 135, 136, 145, 146, 151, 164, 152, 153, 154, 147, 155, 166, 180, 171, 1, 1, 184, 192, 172, 117, 199, 179, 204, 205, 197, 210, 84, 48, 208, 86, 78, 96, 30, 93, 86, 25, 97, 58, 90, 41, 40, 60, 57, 61, 59, 88, 39, 105, 99, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, }; protected static short [] yyCheck = { 45, 0, 6, 263, 48, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 67, 20, 21, 262, 271, 272, 66, 26, 271, 28, 29, 30, 267, 267, 258, 265, 271, 267, 258, 274, 80, 271, 267, 42, 43, 44, 320, 263, 270, 265, 274, 275, 276, 277, 258, 279, 291, 281, 280, 279, 270, 281, 266, 62, 257, 290, 340, 314, 67, 279, 280, 314, 311, 320, 258, 162, 75, 320, 165, 270, 127, 121, 122, 123, 124, 132, 316, 342, 279, 280, 270, 258, 259, 340, 341, 282, 136, 340, 341, 279, 280, 270, 263, 143, 258, 145, 266, 147, 268, 269, 279, 280, 151, 152, 153, 285, 286, 287, 288, 289, 274, 275, 276, 277, 271, 279, 258, 281, 127, 266, 262, 263, 269, 132, 266, 265, 306, 307, 308, 309, 310, 346, 347, 348, 184, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 258, 335, 72, 337, 338, 339, 76, 268, 269, 274, 275, 276, 277, 263, 264, 349, 281, 267, 343, 344, 345, 271, 258, 93, 274, 314, 262, 263, 278, 265, 266, 267, 262, 263, 263, 271, 263, 107, 108, 109, 110, 291, 292, 293, 294, 289, 274, 275, 276, 277, 266, 295, 296, 297, 298, 299, 265, 262, 267, 278, 268, 269, 271, 133, 265, 300, 301, 302, 303, 304, 305, 274, 275, 276, 277, 258, 279, 265, 278, 262, 263, 278, 278, 262, 265, 265, 263, 265, 272, 265, 265, 284, 296, 263, 263, 262, 283, 258, 259, 273, 263, 283, 62, 263, 269, 262, 262, 309, 263, 258, 258, 284, 258, 258, 258, 258, 258, 269, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 37, 31, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, -1, 335, -1, 337, 338, 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, 349, }; #line 678 "Parser.jay" public Parser (ScriptingContext context, string name) { this.name = name; this.reader = new MyTextReader (); this.current_context = context; lexer = new Tokenizer (context, reader, name); } public bool Parse (string text) { try { reader.Text = text; lexer.restart (); if (yacc_verbose_flag) yyparse (lexer, new yydebug.yyDebugSimple ()); else yyparse (lexer); return true; } catch (Exception e){ // Please do not remove this, it is used during debugging // of the grammar // current_context.Error (lexer.location + " : Parsing error "); current_context.Error (e.ToString ()); return false; } } /* end end end */ } #line default namespace yydebug { using System; public interface yyDebug { void push (int state, Object value); void lex (int state, int token, string name, Object value); void shift (int from, int to, int errorFlag); void pop (int state); void discard (int state, int token, string name, Object value); void reduce (int from, int to, int rule, string text, int len); void shift (int from, int to); void accept (Object value); void error (string message); void reject (); } class yyDebugSimple : yyDebug { void println (string s){ Console.WriteLine (s); } public void push (int state, Object value) { println ("push\tstate "+state+"\tvalue "+value); } public void lex (int state, int token, string name, Object value) { println("lex\tstate "+state+"\treading "+name+"\tvalue "+value); } public void shift (int from, int to, int errorFlag) { switch (errorFlag) { default: // normally println("shift\tfrom state "+from+" to "+to); break; case 0: case 1: case 2: // in error recovery println("shift\tfrom state "+from+" to "+to +"\t"+errorFlag+" left to recover"); break; case 3: // normally println("shift\tfrom state "+from+" to "+to+"\ton error"); break; } } public void pop (int state) { println("pop\tstate "+state+"\ton error"); } public void discard (int state, int token, string name, Object value) { println("discard\tstate "+state+"\ttoken "+name+"\tvalue "+value); } public void reduce (int from, int to, int rule, string text, int len) { println("reduce\tstate "+from+"\tuncover "+to +"\trule ("+rule+") "+text); } public void shift (int from, int to) { println("goto\tfrom state "+from+" to "+to); } public void accept (Object value) { println("accept\tvalue "+value); } public void error (string message) { println("error\t"+message); } public void reject () { println("reject"); } } } // %token constants class Token { public const int QUIT = 257; public const int EOL = 258; public const int EOF = 259; public const int NONE = 260; public const int ERROR = 261; public const int IDENTIFIER = 262; public const int INTEGER = 263; public const int NUMBER = 264; public const int STRING = 265; public const int HASH = 266; public const int AT = 267; public const int PERCENT = 268; public const int DOLLAR = 269; public const int DOT = 270; public const int BANG = 271; public const int COMMA = 272; public const int ASSIGN = 273; public const int STAR = 274; public const int PLUS = 275; public const int MINUS = 276; public const int DIV = 277; public const int OPEN_PARENS = 278; public const int CLOSE_PARENS = 279; public const int OPEN_BRACKET = 280; public const int CLOSE_BRACKET = 281; public const int OP_LT = 282; public const int OP_GT = 283; public const int COLON = 284; public const int PROCESSES = 285; public const int REGISTERS = 286; public const int PARAMETERS = 287; public const int LOCALS = 288; public const int TYPE = 289; public const int METHOD = 290; public const int PARENT = 291; public const int LENGTH = 292; public const int LOWER = 293; public const int UPPER = 294; public const int KIND = 295; public const int ACCESSIBLE = 296; public const int CONTENTS = 297; public const int LINE = 298; public const int NOT = 299; public const int UNKNOWN = 300; public const int FUNDAMENTAL = 301; public const int ARRAY = 302; public const int STRUCT = 303; public const int CLASS = 304; public const int POINTER = 305; public const int MODULES = 306; public const int SOURCES = 307; public const int METHODS = 308; public const int BREAKPOINTS = 309; public const int THREADGROUPS = 310; public const int GLOBAL = 311; public const int FRAME = 312; public const int START = 313; public const int SHOW = 314; public const int PROCESS = 315; public const int CONTINUE = 316; public const int BACKTRACE = 317; public const int UP = 318; public const int DOWN = 319; public const int STEP = 320; public const int NEXT = 321; public const int STEPI = 322; public const int NEXTI = 323; public const int FINISH = 324; public const int BREAK = 325; public const int PRINT = 326; public const int DISASSEMBLE = 327; public const int SET = 328; public const int ASSERT = 329; public const int BREAKPOINT = 330; public const int SAVE = 331; public const int KILL = 332; public const int THREADGROUP = 333; public const int SEARCH = 334; public const int LIST = 335; public const int SELECT = 336; public const int BACKGROUND = 337; public const int STOP = 338; public const int MODULE = 339; public const int IGNORE = 340; public const int UNIGNORE = 341; public const int ALL = 342; public const int ENABLE = 343; public const int DISABLE = 344; public const int DELETE = 345; public const int CREATE = 346; public const int ADD = 347; public const int REMOVE = 348; public const int HELP = 349; public const int yyErrorCode = 256; } namespace yyParser { using System; /** thrown for irrecoverable syntax errors and stack overflow. */ public class yyException : System.Exception { public yyException (string message) : base (message) { } } /** must be implemented by a scanner object to supply input to the parser. */ public interface yyInput { /** move on to next token. @return false if positioned beyond tokens. @throws IOException on input error. */ bool advance (); // throws java.io.IOException; /** classifies current token. Should not be called if advance() returned false. @return current %token or single character. */ int token (); /** associated with current token. Should not be called if advance() returned false. @return value for token(). */ Object value (); } } } // close outermost namespace, that MUST HAVE BEEN opened in the prolog --=-=-= -- Martin Baulig martin@gnome.org martin@ximian.com --=-=-=-- From sma@3plus4.de Sat Mar 1 15:49:51 2003 From: sma@3plus4.de (Stefan Matthias Aust) Date: Sat, 01 Mar 2003 16:49:51 +0100 Subject: [Mono-list] SWT In-Reply-To: <5.2.0.9.2.20030301115348.02322258@mail.alphasierrapapa.com> References: <1046482139.653.2.camel@hal> <20030225162004.41074.qmail@web13904.mail.yahoo.com> <1046482139.653.2.camel@hal> <5.2.0.9.2.20030301115348.02322258@mail.alphasierrapapa.com> Message-ID: <3E60D69F.5000407@3plus4.de> Christoph Wille wrote: > Runs on MS.NET only I think (Mike: did you try to compile it with Mono > on Windows yet?) I just tried to compile the 20030217 version with mono 0.20. I took all files mentioned in the SWT.build file (a lot of .cs files are still Java) but the WebControl stuff and mcs sucessfully builds that. I was also able to build the formlayout example (randomly picked) but then, the mono runtime emits a lot of warnings as it cannot load functions like AbortDoc or Arc from user32.dll. It terminates with the warning that marshalling type 03 is not implemented - what ever that means... Unfortunately, I also failed to build that example with .NET. Compilation is successful but then there's the error "Fatail execution engine error. Stopped (ttyp input)" bye -- Stefan Matthias Aust // www.3plus4software.de // Inter Deum Et Diabolum Semper Musica Est From christophw@alphasierrapapa.com Sat Mar 1 16:10:44 2003 From: christophw@alphasierrapapa.com (Christoph Wille) Date: Sat, 01 Mar 2003 17:10:44 +0100 Subject: [Mono-list] SWT In-Reply-To: <3E60D69F.5000407@3plus4.de> References: <5.2.0.9.2.20030301115348.02322258@mail.alphasierrapapa.com> <1046482139.653.2.camel@hal> <20030225162004.41074.qmail@web13904.mail.yahoo.com> <1046482139.653.2.camel@hal> <5.2.0.9.2.20030301115348.02322258@mail.alphasierrapapa.com> Message-ID: <5.2.0.9.2.20030301170939.0237c7a0@mail.alphasierrapapa.com> At 04:49 PM 3/1/2003 +0100, Stefan Matthias Aust wrote: >>Runs on MS.NET only I think (Mike: did you try to compile it with Mono on >>Windows yet?) > >I just tried to compile the 20030217 version with mono 0.20. I took all >files mentioned in the SWT.build file (a lot of .cs files are still Java) >but the WebControl stuff and mcs sucessfully builds that. Internally we are already a bit farther (actually we have a stripped-down version of SharpDevelop running on #WT). We'll definitely have a more improved #WT download soon. Chris From omni_brain@hotmail.com Sat Mar 1 17:18:28 2003 From: omni_brain@hotmail.com (Mike Krueger) Date: Sat, 01 Mar 2003 18:18:28 +0100 Subject: [Mono-list] SWT (was:Write on linux, Run on Wondows?) Message-ID: Hi >(Mike: did you try to compile it with Mono on Windows yet?) No because the WebControl depends on SWF. I use the AxHost class for wrapping the COM Control. I don't know COM very well therefore this was the easiest solution for using the IE ActiveX control. If anyone wants to remove that dependency I'll include it into SWT. Other than that it should just run. Regards Mike _________________________________________________________________ MSN 8 with e-mail virus protection service: 2 months FREE* http://join.msn.com/?page=features/virus From malekith@pld-linux.org Sat Mar 1 17:40:03 2003 From: malekith@pld-linux.org (Michal Moskal) Date: Sat, 1 Mar 2003 18:40:03 +0100 Subject: [Mono-list] Lame newbie question about debugger/autogen.sh In-Reply-To: References: <20030227220202.11986.71059.Mailman@headcheese.ximian.com> Message-ID: <20030301174003.GA16980@roke.freak> On Fri, Feb 28, 2003 at 09:57:01AM +0200, Jeandre du Toit wrote: > > > [user1@client debugger]# ./autogen.sh ^^^^^^^^ > > : bad interpreter: No such file or directory > > [user1@client debugger]# > > You need to be in the directory where autogen.sh is located before > running the script as "./autogen.sh". The "." means that the location is > the current directory. He apparently is. Try using ls -l /bin/sh, maybe dangling link. No other clue. -- : Michal Moskal ::::: malekith/at/pld-linux.org : GCS {C,UL}++++$ a? !tv : PLD Linux ::::::: Wroclaw University, CS Dept : {E-,w}-- {b++,e}>+++ h From j.el-rayes@daemon.li Sat Mar 1 22:15:05 2003 From: j.el-rayes@daemon.li (Josef El-Rayes) Date: Sat, 1 Mar 2003 23:15:05 +0100 Subject: [Mono-list] [PATCH] error in ADO.NET mysql example Message-ID: <20030301221505.GA930@daemon.li> --8t9RHnE3ZwKMSgU+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline hi! there has to be a cast from object to string in order to put the value from reader["firstname"] into string FirstName. Same for sirname. greets, josef -- www: http://www.daemon.li nic-hdl: JER1080312-NICAT FreeBSD PortMaintainer Student of ComputerScience --8t9RHnE3ZwKMSgU+ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="mysql.diff" --- mysql.orig 2003-03-01 23:02:09.000000000 +0100 +++ mysql 2003-03-01 23:02:36.000000000 +0100 @@ -190,8 +190,8 @@ dbcmd.CommandText = sql; IDataReader reader = dbcmd.ExecuteReader(); while(reader.Read()) { - string FirstName = reader["firstname"]; - string LastName = reader["lastname"]; + string FirstName = (string) reader["firstname"]; + string LastName = (string) reader["lastname"]; Console.WriteLine("Name: " + FirstName + " " + LastName); } --8t9RHnE3ZwKMSgU+-- From Eran.Sandler@smarteam.com Sun Mar 2 10:01:40 2003 From: Eran.Sandler@smarteam.com (Eran Sandler) Date: Sun, 2 Mar 2003 12:01:40 +0200 Subject: [Mono-list] COM / DCOM in Mono Message-ID: <78AF93592520674C8277657BFB0FE01F0F21FB@ilexc01.SMART.INTRA> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2E0A2.B83F5C64 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, As far as I know, the intentions of allowing Mono to run COM objects are currently based around Wine. I thought of something (Probably someone thought about it as well before me, but I'll say it anyway) that might save us this trouble. Why not treat all COM calls as DCOM. I know the performance will be VERY bad compared toward in-process COM objects but that way, we can simply put a Windows box near the UN*X/Linux one and call all the necessary COM calls from it.=20 In this manner, we don't have to mimic all COM calls and the whole COM layer, we simply delegate it back to where it works well enough. What do you think about it? Eran. ------_=_NextPart_001_01C2E0A2.B83F5C64 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable COM / DCOM in Mono

Hi,

As far = as I know, the intentions of allowing = Mono to run COM objects are currently based around Wine.

I thought of something (Probably someone thought = about it as well before me, but Ill say it anyway) that = might save us this trouble.

Why not = treat all COM calls as DCOM. I know the performance will be VERY bad compared toward = in-process COM objects but that way, we can simply put a Windows box = near the UN*X/Linux one and call all the necessary COM calls from = it. =

In this = manner, we dont have to mimic all COM calls and the whole COM layer, we = simply delegate it back to where it works well enough.

What do = you think about it?

Eran.

------_=_NextPart_001_01C2E0A2.B83F5C64-- From lloyd@galador.net Sun Mar 2 10:59:26 2003 From: lloyd@galador.net (Lloyd Dupont) Date: Sun, 2 Mar 2003 21:59:26 +1100 Subject: [Mono-list] 100% OT, need advice to buy a linux package... Message-ID: <002101c2e0aa$ca762e00$0300000a@hermes> This is a multi-part message in MIME format. ------=_NextPart_000_001E_01C2E106.FDA88B90 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, Sorry to be so much OT, it's just you are my preferred linux user = mailing list... Anyway I recently screwed up my FreeBSD station and I don't feel like = configuring it again ... So I'm thinking to buy a linux distro with the following things: - boot manager managing Linux / XP on NTFS - out of the box XFree configuration with the NVidia driver (and the = mouse wheel, etc) - out of the box ADSL configuration - be compatible with standart tool !!!!!! last linux distro I install (was it Mandrake ?) bypass the setting I set = with ... was it XF86Config ? (the new XFree config tool for 4.2 ?, I = don't remember...), quite frustrating ..... and the adress where to order it on the internet.... BTW, a question, is it normal on linux if only root could read my NTFS = filesystem ? (I mean I mount it on, let's say, /mnt/C, with FreeBSD, ok, = anyone could read it, with mandrake I remember only root was allowed to = read it... was it my mistake ?) ------=_NextPart_000_001E_01C2E106.FDA88B90 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,
Sorry to be so much OT, it's just you = are my=20 preferred linux user mailing list...
 
Anyway I recently screwed up my FreeBSD = station and=20 I don't feel like configuring it again ...
 
So I'm thinking to buy a linux distro = with the=20 following things:
- boot manager managing Linux / XP on=20 NTFS
- out of the box XFree configuration = with the=20 NVidia driver (and the mouse wheel, etc)
- out of the box ADSL = configuration
- be compatible with standart tool=20 !!!!!!
last linux distro I install (was it = Mandrake ?)=20 bypass the setting I set with ... was it XF86Config ? (the new XFree = config tool=20 for 4.2 ?, I don't remember...), quite frustrating .....
 
and the adress where to order it on the = internet....
 
BTW, a question, is it normal on linux = if only root=20 could read my NTFS filesystem ? (I mean I mount it on, let's say, = /mnt/C, with=20 FreeBSD, ok, anyone could read it, with mandrake I remember only root = was=20 allowed to read it... was it my mistake ?)
 
------=_NextPart_000_001E_01C2E106.FDA88B90-- From ianm@ActiveState.com Sun Mar 2 13:02:41 2003 From: ianm@ActiveState.com (Ian MacLean) Date: Sun, 02 Mar 2003 22:02:41 +0900 Subject: [Mono-list] monoresgen and resgen compatibility Message-ID: <3E6200F1.3040800@activestate.com> Hi, I'm wondering if there is the intention to have monoresgen commandline compatible with resgen.exe from the .Net SDK ? Right now all its missing is the /compile flag that enables it to take multiple input files. I'm working on getting NAnt be able to execute builds using mono tools ie so that the uses mcs and uses monoresgen. I'd be happy to add support for the /Compile flag if there are no objections. Ian From lupus@ximian.com Sun Mar 2 13:20:51 2003 From: lupus@ximian.com (Paolo Molaro) Date: Sun, 2 Mar 2003 14:20:51 +0100 Subject: [Mono-list] monoresgen and resgen compatibility In-Reply-To: <3E6200F1.3040800@activestate.com> References: <3E6200F1.3040800@activestate.com> Message-ID: <20030302132051.GS2653@debian.org> On 03/02/03 Ian MacLean wrote: > I'm wondering if there is the intention to have monoresgen commandline > compatible with resgen.exe from the .Net SDK ? Right now all its missing Yes, that is the plan. > is the /compile flag that enables it to take multiple input files. > I'm working on getting NAnt be able to execute builds using mono tools > ie so that the uses mcs and uses monoresgen. I'd be Very good news. > happy to add support for the /Compile flag if there are no objections. No objections:-) Thanks! lupus / who likes getting patches -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From jlaban@wanadoo.fr Sun Mar 2 16:45:22 2003 From: jlaban@wanadoo.fr (Jerome Laban) Date: Sun, 2 Mar 2003 17:45:22 +0100 Subject: [Mono-list] Patch for selective logging Message-ID: <078301c2e0db$1e9201a0$0500a8c0@jaybook> This is a multi-part message in MIME format. ------=_NextPart_000_077F_01C2E0E3.7F869680 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0780_01C2E0E3.7F869680" ------=_NextPart_001_0780_01C2E0E3.7F869680 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi everyone,=20 Here is a possible patch for selective logging to console. Now, = messages like "cant resolve internal call to" can be removed. They not = only appear when corlib and mono runtime are out of sync, they also = appear when embedding mono, and this is annoying. So here are 3 files:=20 - A diff for some mono files to call the new logging api, - Two files for the new logging functions. (to place in = ./mono/mono/utils) Two options are also added to command line : a.. --log-level=3DVALUE, for which the possible values are from 2 to 7 = (mapped from the G_LOG_LEVEL_XXX enum). 2 stands for error messages = only, 7 for error+critical+warning+message+info+debug. b.. --log-mask=3DMASK, this option is not listed in the usage infos, = it is the decimal value of the mask. See mono-logger.h for more infos on = possible values. For code usage sample, see loader.c line 72. To remove messages when using mcs, add --log-level=3D3 in the mcs script = file. This is only a patch proposition, is that okay lupus / gonzalo ? The patch also includes header updates for object.h and threads.h that = were using the "this" keyword as a function parameter, which is = incompatible for inclusion in a C++ source file. Jerome. ------=_NextPart_001_0780_01C2E0E3.7F869680 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi everyone,
 
    Here is a possible patch for = selective=20 logging to console. Now, messages like "cant resolve internal call to" = can be=20 removed. They not only appear when corlib and mono runtime are out of = sync, they=20 also appear when embedding mono, and this is annoying.
 
    So here are 3 files: =
        - A diff = for some=20 mono files to call the new logging api,
        - Two = files for the=20 new logging functions. (to place in ./mono/mono/utils)
 
Two options are also added to command line = :
  • --log-level=3DVALUE, for which the = possible values are from 2 to 7 (mapped from the=20 G_LOG_LEVEL_XXX enum). 2 stands for error messages = only, 7=20 for error+critical+warning+message+info+debug.
  • --log-mask=3DMASK, this option is = not listed=20 in the usage infos, it is the decimal value of the mask.=20 See mono-logger.h for more infos on possible = values.
For code usage sample, see loader.c line = 72.
 
To remove messages when using mcs, add = --log-level=3D3 in the=20 mcs script file.
 
This is only a patch proposition, is that okay lupus = / gonzalo=20 ?
 
The patch also includes header updates for object.h = and=20 threads.h that were using the "this" keyword as a = function parameter, which=20 is incompatible for inclusion in a C++ source file.
 
Jerome.
------=_NextPart_001_0780_01C2E0E3.7F869680-- ------=_NextPart_000_077F_01C2E0E3.7F869680 Content-Type: application/octet-stream; name="logcpp.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="logcpp.diff" Index: mono/jit/mono.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /mono/mono/mono/jit/mono.c,v=0A= retrieving revision 1.50=0A= diff -u -r1.50 mono.c=0A= --- mono/jit/mono.c 21 Feb 2003 22:04:49 -0000 1.50=0A= +++ mono/jit/mono.c 2 Mar 2003 16:07:15 -0000=0A= @@ -17,6 +17,7 @@=0A= #include "mono/metadata/mono-config.h"=0A= #include =0A= #include =0A= +#include =0A= #include =0A= #include =0A= =0A= @@ -156,6 +157,7 @@=0A= " @imagename compile the given = image\n"=0A= " --ncompile NUM compile methods NUM times (default: 1000)\n"=0A= " --noboundcheck Disables bound checks\n"=0A= + " --log-level=3DLEVEL Sets the logging level (Default: 5, = Message)\n"=0A= "\n"=0A= "Development:\n"=0A= " --debug[=3DFORMAT] write a debugging file. FORMAT is one = of:\n"=0A= @@ -269,6 +271,9 @@=0A= setlocale(LC_ALL, "");=0A= g_log_set_always_fatal (G_LOG_LEVEL_ERROR);=0A= g_log_set_fatal_mask (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR);=0A= +=0A= + mono_trace_init ();=0A= + mono_trace_push (G_LOG_LEVEL_MESSAGE, MONO_TRACE_ALL);=0A= =0A= if (argc < 2)=0A= usage (argv [0]);=0A= @@ -351,6 +356,24 @@=0A= precompile_classes =3D g_list_append (precompile_classes, argv = [++i]);=0A= } else if (strcmp (argv [i], "--verbose") =3D=3D 0) {=0A= verbose =3D TRUE;;=0A= + } else if (strncmp (argv [i], "--log-level=3D", 12) =3D=3D 0) {=0A= + const char *levelstr =3D &argv [i][12];=0A= + int level =3D G_LOG_LEVEL_MESSAGE;=0A= +=0A= + if(levelstr) {=0A= + if(sscanf (levelstr, "%d", &level)) {=0A= + mono_trace_set_level ((1<=0A= #include =0A= #include =0A= +#include =0A= =0A= static gboolean dummy_icall =3D TRUE;=0A= =0A= @@ -68,11 +69,11 @@=0A= return ves_icall_dummy;=0A= =0A= if (!method) {=0A= - g_warning ("can't resolve internal call, method is null");=0A= + mono_trace_warning (MONO_TRACE_TYPE, "can't resolve internal call, = method is null");=0A= }=0A= =0A= if (!icall_hash) {=0A= - g_warning ("icall_hash not initialized");=0A= + mono_trace_warning (MONO_TRACE_TYPE, "icall_hash not initialized");=0A= g_assert_not_reached ();=0A= }=0A= =0A= @@ -90,12 +91,13 @@=0A= else=0A= name =3D g_strconcat (method->klass->name, "::", method->name, "(", = tmpsig, ")", NULL);=0A= if (!(res =3D g_hash_table_lookup (icall_hash, name))) {=0A= - g_warning ("cant resolve internal call to \"%s\" (tested without = signature also)", name);=0A= - g_print ("\nYour mono runtime and corlib are out of sync.\n");=0A= - g_print ("When you update one from cvs you need to update, compile = and install\nthe other too.\n");=0A= - g_print ("Do not report this as a bug unless you're sure you have = updated correctly:\nyou probably have a broken mono install.\n");=0A= - g_print ("If you see other errors or faults after this message they = are probably related\n");=0A= - g_print ("and you need to fix your mono install first.\n");=0A= + mono_trace_warning (MONO_TRACE_TYPE, "cant resolve internal call to = \"%s\" (tested without signature also)", name);=0A= + mono_trace_message (MONO_TRACE_TYPE, =0A= + "\nYour mono runtime and corlib are out of sync.\n"=0A= + "When you update one from cvs you need to update, compile and = install\nthe other too.\n"=0A= + "Do not report this as a bug unless you're sure you have updated = correctly:\nyou probably have a broken mono install.\n"=0A= + "If you see other errors or faults after this message they are = probably related\n"=0A= + "and you need to fix your mono install first.\n");=0A= =0A= g_free (name);=0A= g_free (tmpsig);=0A= @@ -142,7 +144,7 @@=0A= case MEMBERREF_PARENT_TYPEREF:=0A= klass =3D mono_class_from_typeref (image, MONO_TOKEN_TYPE_REF | = nindex);=0A= if (!klass) {=0A= - g_warning ("Missing field %s in typeref index %d", fname, nindex);=0A= + mono_trace_warning (MONO_TRACE_TYPE, "Missing field %s in typeref = index %d", fname, nindex);=0A= return NULL;=0A= }=0A= mono_class_init (klass);=0A= @@ -228,14 +230,14 @@=0A= case MEMBERREF_PARENT_TYPEREF:=0A= klass =3D mono_class_from_typeref (image, MONO_TOKEN_TYPE_REF | = nindex);=0A= if (!klass) {=0A= - g_warning ("Missing method %s in assembly %s typeref index %d", = mname, image->name, nindex);=0A= + mono_trace_warning (MONO_TRACE_TYPE, "Missing method %s in assembly = %s typeref index %d", mname, image->name, nindex);=0A= mono_metadata_free_method_signature (sig);=0A= return NULL;=0A= }=0A= mono_class_init (klass);=0A= method =3D find_method (klass, mname, sig);=0A= if (!method)=0A= - g_warning ("Missing method %s in assembly %s typeref index %d", = mname, image->name, nindex);=0A= + mono_trace_warning (MONO_TRACE_TYPE, "Missing method %s in assembly = %s typeref index %d", mname, image->name, nindex);=0A= mono_metadata_free_method_signature (sig);=0A= return method;=0A= case MEMBERREF_PARENT_TYPESPEC: {=0A= @@ -255,7 +257,7 @@=0A= mono_class_init (klass);=0A= method =3D find_method (klass, mname, sig);=0A= if (!method)=0A= - g_warning ("Missing method %s in assembly %s typeref index %d", = mname, image->name, nindex);=0A= + mono_trace_warning (MONO_TRACE_TYPE, "Missing method %s in assembly = %s typeref index %d", mname, image->name, nindex);=0A= mono_metadata_free_method_signature (sig);=0A= return method;=0A= }=0A= @@ -302,14 +304,14 @@=0A= case MEMBERREF_PARENT_TYPEDEF:=0A= klass =3D mono_class_get (image, MONO_TOKEN_TYPE_DEF | nindex);=0A= if (!klass) {=0A= - g_warning ("Missing method %s in assembly %s typedef index %d", = mname, image->name, nindex);=0A= + mono_trace_warning (MONO_TRACE_TYPE, "Missing method %s in assembly = %s typedef index %d", mname, image->name, nindex);=0A= mono_metadata_free_method_signature (sig);=0A= return NULL;=0A= }=0A= mono_class_init (klass);=0A= method =3D find_method (klass, mname, sig);=0A= if (!method)=0A= - g_warning ("Missing method %s in assembly %s typeref index %d", = mname, image->name, nindex);=0A= + mono_trace_warning (MONO_TRACE_TYPE, "Missing method %s in assembly = %s typeref index %d", mname, image->name, nindex);=0A= mono_metadata_free_method_signature (sig);=0A= return method;=0A= default:=0A= @@ -418,7 +420,7 @@=0A= if (!gmodule) {=0A= gchar *error =3D g_strdup (g_module_error ());=0A= if (!(gmodule=3Dg_module_open (scope, G_MODULE_BIND_LAZY))) {=0A= - g_warning ("Failed to load library %s (%s): %s", full_name, scope, = error);=0A= + mono_trace_warning (MONO_TRACE_DLLIMPORT, "Failed to load library %s = (%s): %s", full_name, scope, error);=0A= g_free (error);=0A= g_free (full_name);=0A= return NULL;=0A= @@ -430,7 +432,7 @@=0A= g_module_symbol (gmodule, import, &method->addr); =0A= =0A= if (!method->addr) {=0A= - g_warning ("Failed to load function %s from %s", import, scope);=0A= + mono_trace_warning (MONO_TRACE_DLLIMPORT, "Failed to load function %s = from %s", import, scope);=0A= return NULL;=0A= }=0A= return method->addr;=0A= Index: mono/metadata/object.h=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /mono/mono/mono/metadata/object.h,v=0A= retrieving revision 1.87=0A= diff -u -r1.87 object.h=0A= --- mono/metadata/object.h 21 Feb 2003 22:42:16 -0000 1.87=0A= +++ mono/metadata/object.h 2 Mar 2003 16:07:17 -0000=0A= @@ -368,13 +368,13 @@=0A= mono_load_remote_field (MonoObject *this_obj, MonoClass *klass, = MonoClassField *field, gpointer *res);=0A= =0A= MonoObject *=0A= -mono_load_remote_field_new (MonoObject *this, MonoClass *klass, = MonoClassField *field);=0A= +mono_load_remote_field_new (MonoObject *this_obj, MonoClass *klass, = MonoClassField *field);=0A= =0A= void=0A= mono_store_remote_field (MonoObject *this_obj, MonoClass *klass, = MonoClassField *field, gpointer val);=0A= =0A= void=0A= -mono_store_remote_field_new (MonoObject *this, MonoClass *klass, = MonoClassField *field, MonoObject *arg);=0A= +mono_store_remote_field_new (MonoObject *this_obj, MonoClass *klass, = MonoClassField *field, MonoObject *arg);=0A= =0A= void=0A= mono_method_return_message_restore (MonoMethod *method, gpointer = *params, MonoArray *out_args);=0A= Index: mono/metadata/threads.h=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /mono/mono/mono/metadata/threads.h,v=0A= retrieving revision 1.29=0A= diff -u -r1.29 threads.h=0A= --- mono/metadata/threads.h 21 Feb 2003 23:45:03 -0000 1.29=0A= +++ mono/metadata/threads.h 2 Mar 2003 16:07:17 -0000=0A= @@ -52,11 +52,11 @@=0A= gpointer arg);=0A= extern MonoThread *mono_thread_attach (MonoDomain *domain);=0A= =0A= -extern HANDLE = ves_icall_System_Threading_Thread_Thread_internal(MonoThread *this, = MonoObject *start);=0A= -extern void = ves_icall_System_Threading_Thread_Thread_free_internal(MonoThread *this, = HANDLE thread);=0A= -extern void ves_icall_System_Threading_Thread_Start_internal(MonoThread = *this, HANDLE thread);=0A= +extern HANDLE = ves_icall_System_Threading_Thread_Thread_internal(MonoThread *this_obj, = MonoObject *start);=0A= +extern void = ves_icall_System_Threading_Thread_Thread_free_internal(MonoThread = *this_obj, HANDLE thread);=0A= +extern void ves_icall_System_Threading_Thread_Start_internal(MonoThread = *this_obj, HANDLE thread);=0A= extern void ves_icall_System_Threading_Thread_Sleep_internal(int ms);=0A= -extern gboolean = ves_icall_System_Threading_Thread_Join_internal(MonoThread *this, int = ms, HANDLE thread);=0A= +extern gboolean = ves_icall_System_Threading_Thread_Join_internal(MonoThread *this_obj, = int ms, HANDLE thread);=0A= extern gint32 ves_icall_System_Threading_Thread_GetDomainID (void);=0A= extern void ves_icall_System_Threading_Thread_SlotHash_store(MonoObject = *data);=0A= extern MonoObject = *ves_icall_System_Threading_Thread_SlotHash_lookup(void);=0A= @@ -69,7 +69,7 @@=0A= =0A= extern gboolean = ves_icall_System_Threading_WaitHandle_WaitAll_internal(MonoArray = *mono_handles, gint32 ms, gboolean exitContext);=0A= extern gint32 = ves_icall_System_Threading_WaitHandle_WaitAny_internal(MonoArray = *mono_handles, gint32 ms, gboolean exitContext);=0A= -extern gboolean = ves_icall_System_Threading_WaitHandle_WaitOne_internal(MonoObject *this, = HANDLE handle, gint32 ms, gboolean exitContext);=0A= +extern gboolean = ves_icall_System_Threading_WaitHandle_WaitOne_internal(MonoObject = *this_obj, HANDLE handle, gint32 ms, gboolean exitContext);=0A= =0A= extern gint32 = ves_icall_System_Threading_Interlocked_Increment_Int(gint32 *location);=0A= extern gint64 = ves_icall_System_Threading_Interlocked_Increment_Long(gint64 *location);=0A= Index: mono/utils/Makefile.am=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /mono/mono/mono/utils/Makefile.am,v=0A= retrieving revision 1.7=0A= diff -u -r1.7 Makefile.am=0A= --- mono/utils/Makefile.am 25 Jul 2002 12:02:04 -0000 1.7=0A= +++ mono/utils/Makefile.am 2 Mar 2003 16:07:18 -0000=0A= @@ -3,19 +3,21 @@=0A= INCLUDES =3D $(GLIB_CFLAGS) $(GMODULE_CFLAGS) -I$(top_srcdir) = -I$(top_srcdir)/mono =0A= =0A= libmonoutils_la_SOURCES =3D \=0A= - mono-hash.c \=0A= - mono-md5.c \=0A= - mono-sha1.c \=0A= + mono-hash.c \=0A= + mono-md5.c \=0A= + mono-sha1.c \=0A= monobitset.c \=0A= - strtod.h \=0A= - strtod.c=0A= + strtod.h \=0A= + strtod.c \=0A= + mono-logger.c=0A= =0A= libmonoutilsincludedir =3D $(includedir)/mono/utils=0A= =0A= libmonoutilsinclude_HEADERS =3D \=0A= monobitset.h \=0A= mono-digest.h \=0A= - mono-hash.h=0A= + mono-hash.h \=0A= + mono-logger.h=0A= =0A= EXTRA_DIST =3D ChangeLog=0A= =0A= ------=_NextPart_000_077F_01C2E0E3.7F869680 Content-Type: application/octet-stream; name="mono-logger.c" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="mono-logger.c" #include =0A= #include =0A= =0A= #include "mono-logger.h"=0A= =0A= typedef struct {=0A= GLogLevelFlags level;=0A= MonoTraceMask mask;=0A= } MonoLogLevelEntry;=0A= =0A= static GLogLevelFlags g_current_level =3D G_LOG_LEVEL_INFO;=0A= static MonoTraceMask g_current_mask =3D MONO_TRACE_ALL;=0A= =0A= static const char *g_mono_log_domain =3D "Mono";=0A= static GQueue *g_level_stack =3D NULL;=0A= =0A= /**=0A= * mono_trace_init:=0A= *=0A= * Initializes the mono tracer.=0A= */=0A= void =0A= mono_trace_init (void)=0A= {=0A= if(g_level_stack !=3D NULL) {=0A= g_warning(G_GNUC_PRETTY_FUNCTION ": Init already called.");=0A= } else {=0A= g_level_stack =3D g_queue_new();=0A= }=0A= }=0A= =0A= /**=0A= * mono_trace_cleanup:=0A= *=0A= * Releases the mono tracer.=0A= */=0A= void =0A= mono_trace_cleanup (void)=0A= {=0A= if(g_level_stack !=3D NULL) {=0A= while(!g_queue_is_empty (g_level_stack)) {=0A= g_free (g_queue_pop_head (g_level_stack));=0A= }=0A= =0A= g_queue_free (g_level_stack);=0A= g_level_stack =3D NULL;=0A= }=0A= }=0A= =0A= /**=0A= * mono_trace:=0A= *=0A= * @level: Verbose level of the specified message=0A= * @mask: Type of the specified message=0A= *=0A= * Traces a new message, depending on the current logging level=0A= * and trace mask.=0A= */=0A= void=0A= mono_trace(GLogLevelFlags level, MonoTraceMask mask, const char *format, = ...) =0A= {=0A= va_list ap;=0A= =0A= if(level <=3D g_current_level && mask & g_current_mask) {=0A= va_start (ap, format);=0A= g_logv (g_mono_log_domain, level, format, ap);=0A= va_end (ap);=0A= }=0A= }=0A= =0A= /**=0A= * mono_trace_set:=0A= *=0A= * @level: Verbose level to set=0A= * @mask: Mask of visible message types.=0A= *=0A= * Sets the current logging level and mask. Every subsequent call to=0A= * mono_trace will check the visibility of a message against these=0A= * values.=0A= */=0A= void =0A= mono_trace_set (GLogLevelFlags level, MonoTraceMask mask)=0A= {=0A= g_current_level =3D level;=0A= g_current_mask =3D mask;=0A= }=0A= =0A= /**=0A= * mono_trace_set_level:=0A= *=0A= * @level: Verbose level to set=0A= *=0A= * Sets the current logging level. Every subsequent call to=0A= * mono_trace will check the visibility of a message against this=0A= * value.=0A= */=0A= void =0A= mono_trace_set_level (GLogLevelFlags level)=0A= {=0A= g_current_level =3D level;=0A= }=0A= =0A= /**=0A= * mono_trace_set_mask:=0A= *=0A= * @mask: Mask of visible message types.=0A= *=0A= * Sets the current logging level. Every subsequent call to=0A= * mono_trace will check the visibility of a message against this=0A= * value.=0A= */=0A= void =0A= mono_trace_set_mask (MonoTraceMask mask)=0A= {=0A= g_current_mask =3D mask;=0A= }=0A= =0A= /**=0A= * mono_trace_push:=0A= *=0A= * @level: Verbose level to set=0A= * @mask: Mask of visible message types.=0A= *=0A= * Saves the current values of level and mask then calls mono_trace_set=0A= * with the specified new values.=0A= */=0A= void =0A= mono_trace_push (GLogLevelFlags level, MonoTraceMask mask)=0A= {=0A= if(g_level_stack =3D=3D NULL) {=0A= g_error(G_GNUC_PRETTY_FUNCTION ": cannot use mono_trace_push without = calling mono_trace_init first.");=0A= } else {=0A= MonoLogLevelEntry *entry =3D g_malloc(sizeof(MonoLogLevelEntry));=0A= entry->level =3D g_current_level;=0A= entry->mask =3D g_current_mask;=0A= =0A= g_queue_push_head (g_level_stack, (gpointer)entry);=0A= =0A= /* Set the new level and mask=0A= */=0A= mono_trace_set (level, mask);=0A= }=0A= }=0A= =0A= /**=0A= * mono_trace_pop:=0A= *=0A= * Restores level and mask values saved from a previous call to = mono_trace_push.=0A= */=0A= void =0A= mono_trace_pop (void)=0A= {=0A= if(g_level_stack =3D=3D NULL) {=0A= g_error(G_GNUC_PRETTY_FUNCTION ": cannot use mono_trace_pop without = calling mono_trace_init first.");=0A= } else {=0A= if(!g_queue_is_empty (g_level_stack)) {=0A= MonoLogLevelEntry *entry =3D (MonoLogLevelEntry*)g_queue_pop_head = (g_level_stack);=0A= =0A= /* Restore previous level and mask=0A= */=0A= mono_trace_set (entry->level, entry->mask);=0A= =0A= g_free (entry);=0A= }=0A= }=0A= }=0A= ------=_NextPart_000_077F_01C2E0E3.7F869680 Content-Type: application/octet-stream; name="mono-logger.h" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="mono-logger.h" #ifndef __MONO_LOGGER_H__=0A= #define __MONO_LOGGER_H__=0A= =0A= #include =0A= =0A= #define mono_trace_error(...) mono_trace(G_LOG_LEVEL_ERROR, \=0A= __VA_ARGS__)=0A= #define mono_trace_warning(...) mono_trace(G_LOG_LEVEL_WARNING, \=0A= __VA_ARGS__)=0A= #define mono_trace_message(...) mono_trace(G_LOG_LEVEL_MESSAGE, \=0A= __VA_ARGS__)=0A= =0A= typedef enum {=0A= MONO_TRACE_ASSEMBLY =3D (1<<0),=0A= MONO_TRACE_TYPE =3D (1<<1),=0A= MONO_TRACE_DLLIMPORT =3D (1<<2),=0A= =0A= MONO_TRACE_ALL =3D MONO_TRACE_ASSEMBLY |=0A= MONO_TRACE_TYPE |=0A= MONO_TRACE_DLLIMPORT,=0A= } MonoTraceMask;=0A= =0A= void =0A= mono_trace_init (void);=0A= =0A= void =0A= mono_trace_cleanup (void);=0A= =0A= void =0A= mono_trace (GLogLevelFlags level, MonoTraceMask mask, const char = *format, ...);=0A= =0A= void =0A= mono_trace_set (GLogLevelFlags level, MonoTraceMask mask);=0A= =0A= void =0A= mono_trace_set_level (GLogLevelFlags level);=0A= =0A= void =0A= mono_trace_set_mask (MonoTraceMask mask);=0A= =0A= void =0A= mono_trace_push (GLogLevelFlags level, MonoTraceMask mask);=0A= =0A= void =0A= mono_trace_pop (void);=0A= =0A= =0A= #endif=0A= ------=_NextPart_000_077F_01C2E0E3.7F869680-- From miguel@ximian.com Sun Mar 2 21:11:50 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 02 Mar 2003 16:11:50 -0500 Subject: [Mono-list] New mono development mailing list. Message-ID: <1046639509.2191.629.camel@erandi.boston.ximian.com> Hello everyone, [Thanks go to Paolo for drafting the charter of Mono-Devel-List] As the traffic on mono-list increases and the developer community around Mono increases as well, we have created and activated a mailing list specifically dedicated to discussions about developing Mono and programming *with* Mono. Programmers that work on Mono are _strongly_ encouraged to join this list. To join: http://lists.ximian.com/mailman/listinfo/mono-devel-list Third-party programmers interested in running or compiling their managed applications with Mono or that are interested in using mono-specific technologies should join the list as well. Examples of on-topic arguments are: *) proposals and patches for new features for the mono runtime and programs *) discussions about bugs in the mono runtime and programs *) discussions about future directions *) embedding API, scripting language bridges *) mono/mcs build issues *) programming with mono-specific assemblies *) discussions about third-party compilers that target and/or use directly the CLR *) discussions about getting a managed application run with mono Topics that are better discussed on other mailing lists: *) general C# questions (use the specific lists at develop.com) *) issues that are already covered by a more specific mono mailing list (like System.Windows.Forms or Gtk#) *) success reports about new apps running on mono, including runtime/build time support for new programming languages (use mono-list to reach a wider audience) Topics that should not happen on mono-devel: *) flame wars:-) *) discussions about bugs in non-mono applications *) hot topics you wouldn't want reported on slashdot:-) Miguel. From miguel@ximian.com Sun Mar 2 21:11:50 2003 From: miguel@ximian.com (Miguel de Icaza) Date: Sun, 02 Mar 2003 16:11:50 -0500 Subject: [Mono-list] [Mono-announce-list] New mono development mailing list. Message-ID: <1046639509.2191.629.camel@erandi.boston.ximian.com> Hello everyone, [Thanks go to Paolo for drafting the charter of Mono-Devel-List] As the traffic on mono-list increases and the developer community around Mono increases as well, we have created and activated a mailing list specifically dedicated to discussions about developing Mono and programming *with* Mono. Programmers that work on Mono are _strongly_ encouraged to join this list. To join: http://lists.ximian.com/mailman/listinfo/mono-devel-list Third-party programmers interested in running or compiling their managed applications with Mono or that are interested in using mono-specific technologies should join the list as well. Examples of on-topic arguments are: *) proposals and patches for new features for the mono runtime and programs *) discussions about bugs in the mono runtime and programs *) discussions about future directions *) embedding API, scripting language bridges *) mono/mcs build issues *) programming with mono-specific assemblies *) discussions about third-party compilers that target and/or use directly the CLR *) discussions about getting a managed application run with mono Topics that are better discussed on other mailing lists: *) general C# questions (use the specific lists at develop.com) *) issues that are already covered by a more specific mono mailing list (like System.Windows.Forms or Gtk#) *) success reports about new apps running on mono, including runtime/build time support for new programming languages (use mono-list to reach a wider audience) Topics that should not happen on mono-devel: *) flame wars:-) *) discussions about bugs in non-mono applications *) hot topics you wouldn't want reported on slashdot:-) Miguel. _______________________________________________ Mono-announce-list maillist - Mono-announce-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-announce-list From gert.driesen@pandora.be Mon Mar 3 06:00:01 2003 From: gert.driesen@pandora.be (Gert Driesen) Date: Mon, 3 Mar 2003 07:00:01 +0100 Subject: [Mono-list] effect of -nostdlib option Message-ID: <003901c2e14a$210dfeb0$0b9876d5@ardatis.com> This is a multi-part message in MIME format. ------=_NextPart_000_0036_01C2E152.82AF2740 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, Can anyone explain what the effect of specifying the -nostdlib option is = for the Mcs (using the Mono runtime or the .NET runtime) ? For the MS.NET compiler it allows you to specify another mscorlib.dll = that should be linked instead of the .NET Framework mscorlib.dll. But for Mcs this does not seems to work : when you want to build an = assembly using the Mono runtime you must use "mono mcs.exe [options]" = although in my opinion should be able to build an assembly using the = Mono system assemblies by using the following commandline : mcs.exe -target:library -nostdlib -noconfig -out:log4net.dll = -r:corlib.dll -r:System.dll -r:System.Xml.dll -r:System.Web.dll = -recurse:*.cs But apparently it does not seems to link to the corlib.dll again, = because I get the following compile errors : error CS0518: The predefined type `System.Object' is not defined error CS0518: The predefined type `System.ValueType' is not defined error CS0518: The predefined type `System.Attribute' is not defined error CS0518: The predefined type `System.IComparable' is not defined error CS0518: The predefined type `System.ICloneable' is not defined error CS0518: The predefined type `System.IConvertible' is not defined error CS0518: The predefined type `System.Collections.IEnumerable' is = not defined error CS0518: The predefined type `System.Collections.ICollection' is = not defined error CS0518: The predefined type `System.Collections.IEnumerator' is = not defined ...... Can anyone explain what the -nostdlib option is for then, and how I can = compile compile an assembly with the Mono system assemblies without = using Mono.exe Mcs.exe ? Gert ------=_NextPart_000_0036_01C2E152.82AF2740 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,
 
Can anyone explain what the effect of = specifying=20 the -nostdlib option is for the Mcs (using the Mono runtime or the .NET = runtime)=20 ?
 
For the MS.NET compiler it allows you = to specify=20 another mscorlib.dll that should be linked instead of the .NET Framework = mscorlib.dll.
 
But for Mcs this does not seems to work = : =20 when you want to build an assembly using the Mono runtime you must use = "mono=20 mcs.exe [options]" although in my opinion should be able to build an = assembly=20 using the Mono system assemblies by using the following commandline=20 :
 
mcs.exe -target:library -nostdlib = -noconfig=20 -out:log4net.dll -r:corlib.dll -r:System.dll -r:System.Xml.dll = -r:System.Web.dll=20 -recurse:*.cs
 
But apparently it does not seems to = link to the=20 corlib.dll again, because I get the following compile errors = :
 
error CS0518: The predefined type = `System.Object'=20 is not defined
error CS0518: The predefined type `System.ValueType' = is not=20 defined
error CS0518: The predefined type `System.Attribute' is not=20 defined
error CS0518: The predefined type `System.IComparable' is not = defined
error CS0518: The predefined type `System.ICloneable' is not=20 defined
error CS0518: The predefined type `System.IConvertible' is = not=20 defined
error CS0518: The predefined type = `System.Collections.IEnumerable' is=20 not defined
error CS0518: The predefined type=20 `System.Collections.ICollection' is not defined
error CS0518: The = predefined=20 type `System.Collections.IEnumerator' is not defined
......
 
Can anyone explain what the -nostdlib = option is for=20 then, and how I can compile compile an assembly with the Mono system = assemblies=20 without using Mono.exe Mcs.exe ?
 
Gert
 
 
 
 
------=_NextPart_000_0036_01C2E152.82AF2740-- From gert.driesen@pandora.be Mon Mar 3 07:00:43 2003 From: gert.driesen@pandora.be (Gert Driesen) Date: Mon, 3 Mar 2003 08:00:43 +0100 Subject: [Mono-list] log4net port to Mono ! Message-ID: <007d01c2e152$9ba20650$0b9876d5@ardatis.com> This is a multi-part message in MIME format. ------=_NextPart_000_007A_01C2E15A.FD3413B0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, We've finally managed to port log4net completely to Mono, we only had to = add conditional compilation directives to a few classes and exclude one = class (EventLogAppender, which logs events to the Windows event log). If you don't know, log4net is a logging framework that was initialliy = inspired by log4j. We have kept the framework as similar to the original = log4j as possible while taking advantage of new features in the .NET = runtime. We have support for the following appenders (compare them with loggers) = : - ADONetAppender (log events to a database) - ASPNetAppender (log events to ASP.NET tracing facility) - ConsoleAppender (log events to the console) - FileAppender (log events to a file) - NetSendAppender (log events using a NET SEND message, only supported = on Windows NT or higher) - RemotingAppender (log events to a remote sink) - RollingFileAppender (log events to a file, with support for rolling = over on date or size) - SMTPAppender (log events using SMTP) - UdpAppender (log events using UDP datagrams) - .... We have log4net running internally on the following runtimes : - MS .NET Framework 1.0 - MS .NET Framework 1.1 - MS .NET Compact Framework 1.0 - MS Shared Soure CLI (Rotor) 1.0 - Mono 0.21 We're currenly working on releasing a new beta which will contain the = binaries and sources for all the runtime versions. The current beta = only supports .NET 1.0, so we've been really busy since the last beta = :-) You can download the current beta at = http://www.sourceforge.net/projects/log4net. However, we're still looking for people to run our Mono port through = some tests on Linux. Is there anyone interested in testing log4net on = Linux, pelase let me know and I'll send you the binaries and a sample = application. Of course, you can always get the sources from our CVS and build it = yourself (using nant). Thanks, Gert ------=_NextPart_000_007A_01C2E15A.FD3413B0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,
 
We've finally managed to port log4net = completely to=20 Mono, we only had to add conditional compilation directives to a = few=20 classes and exclude one class (EventLogAppender, which logs events to = the=20 Windows event log).
 
If you don't know, log4net is a logging = framework=20 that was initialliy inspired by log4j. We have kept the framework as = similar to=20 the original log4j as possible while taking advantage of new features in = the=20 .NET runtime.
 
We have support for the following = appenders=20 (compare them with loggers) :
 
- ADONetAppender (log events to a=20 database)
- ASPNetAppender (log events to ASP.NET = tracing=20 facility)
- ConsoleAppender (log events to the=20 console)
- FileAppender (log events to a = file)
- NetSendAppender (log events using a = NET SEND=20 message, only supported on Windows NT or higher)
- RemotingAppender (log events to a = remote=20 sink)
- RollingFileAppender (log events to a = file, with=20 support for rolling over on date or size)
- SMTPAppender (log events using = SMTP)
- UdpAppender (log events using UDP=20 datagrams)
- ....
 
We have log4net running internally on = the following=20 runtimes :
 
- MS .NET Framework 1.0
- MS .NET Framework 1.1
- MS .NET Compact Framework = 1.0
- MS Shared Soure CLI (Rotor) = 1.0
- Mono 0.21
 
We're currenly working on releasing a = new beta=20 which will contain the binaries and sources for all the runtime = versions. =20 The current beta only supports .NET 1.0, so we've been really busy since = the=20 last beta :-)  You can download the current beta at http://www.sourcefor= ge.net/projects/log4net.
 
However, we're still looking for people = to run=20 our Mono port through some tests on Linux. Is there anyone = interested in=20 testing log4net on Linux, pelase let me know and I'll send you the = binaries and=20 a sample application.
 
Of course, you can always get the = sources from our=20 CVS and build it yourself (using nant).
 
Thanks,
 
Gert
 
 
------=_NextPart_000_007A_01C2E15A.FD3413B0-- From spamfrommailing@freax.org Mon Mar 3 09:42:57 2003 From: spamfrommailing@freax.org (Philip Van Hoof) Date: 03 Mar 2003 10:42:57 +0100 Subject: [Mono-list] A new project: a radiostation application Message-ID: <1046684577.30976.68.camel@snuffel> Hi there, We, three developers, are planning to start working on a GPL radiostation application. There are a few such applications already available like http://www.carmen.be. We would like to inherit the features from such applications and make it possible to import data from them. You can find screenshots of carmen on their website. Some of the features include ... * Playing multiple music channels at the same time. This music can come from anywhere (a stream on the internet, a local mp3 or ogg file, a stream from a shoutcast-server, input from a soundcard, etc etc) * It should support all the advanced features of those fancy soundcards -this is, in the first stage, less important. Most radiostations don't yet need a very high quality sound which those soundcards can deliver- * It should support multiple soundcards. For example, one soundcard for the input of media, one for the output, another one for another radio station that is running on the same computer, etc etc * Support for Radio Data System (I don't know if it is used a lot in the US but it is in Europe.. the primary use of this application will be in Belgium/Europe. So we need support for at least one device) * Automated mixing of songs. Each song has information like fadein and fadeout time in a database. This information should be used to determine when the next song should start and when the current song should start fading in. It should also be possible to record a introduction for each song and the system should, if recorded, play that while starting the song (so, * A very, "VERY" advanced playlist which gives the DJ the possibility to of course add and remove songs very easily and which shows when the songs will start (the correct time, calculated using information like fadein, fadeout and song lengths of other songs that will be played). * Support in the playlist to have advertisement. Most radiostations have a "advertisement"-planning .. (for example, they start the commercials each hour or each half-hour or at 16:00 and 16:15 and ...). The playlist should show that... * It should be possible for the DJ's to control the computer at home. For example in case nobody is mixing at night or in the early morning and something went wrong... So perhaps a webinterface or something like that should add the possibility to change the next song that will be played. * Monitoring of data: Another soundcard gets input. If there is nomore sound then something like sending a mail or a SMS to a key DJ should happen automatically. The idea is to be on the air 24/7... * Multiple players (duh). So we are not JUST trying to recompile xmms or another simple mp3-player. And all these players can play anything like.. a stream from a shoutcast-servver, a local mp3file, a cd, a a a... * A music-voting system. So that people can vote the next songs on a website, using their mobile, etc etc .. For example, at night or in the early morning when there is no DJ .. the voting system is used. And, of course, the mixing and the playlist does it job starting and mixing songs. I figured..we will need a VERY VERY VERY advanced multimedia framework for this. Then I saw a demo of GStreamer at FOSDEM in Brussels and started thinking .. maybe this can help us. We will also need a very good application development framework. Two of the three developers have been programming .NET. One (me) is also a fanatic GNOME developer and one is willing to learn a lot. Maybe C# is a good choice so thats why I am sending this question to both the GStreamer and Mono mailinglists. The questions.. * Are both GTK# and GST# mature enough for this? And if the "#" is not mature enough then is GStreamer ready for a project like this? * Are there others interested in helping this project? We do want to use the GPL license but .. we are also planning to actually sell this application and do professional support for it here in Belgium. Of course once it is finished (so, we are serious.. not a bunch of kids trying to hack a application and then throw it in the masses -> this is a very specific application with a huge amount of very important features that just need to work, period). We think we will need a year to complete the application (three developers). Note that we will not work on this application every hour.. we have real jobs and [girl|boy]friends :)! * Is the linux platform ready for this? Afaik it is. But what about support for multiple soundcards and RDS?) * How portable are GStreamer, Mono and Gtk# (I know mono runs on Windows and a lot other platforms. But what about GStreamer and the C# bindings like Gtk# and Gst#?). It would be, of course, great if we can build our application once and can then deploy it on a lot platforms. * Is this project a good idea? Or should we not even think about trying to create it .. (yes, we know that Unix stands for anti-bloatware. Well. if you are a DJ then you understand that this application should work fast and well. A DJ does not have time to switch between mp3-players, mixing tools, playlists, crab, a advertising/commercial-planning application, RDS, blabla, ... it should all be integrated in one system) * Are there specific requirements for non-Belgian and/or not Europe radiostations? Are there idea's ? Hints? Tips? * etc -- Philip Van Hoof me at freax dot org http://www.freax.be http://www.freax.eu.org From dick@ximian.com Mon Mar 3 13:20:27 2003 From: dick@ximian.com (Dick Porter) Date: 03 Mar 2003 13:20:27 +0000 Subject: [Mono-list] Bugfix for File.Set*Time() for directories In-Reply-To: <005501c2df59$469c5890$0400000a@gorilla> References: <005501c2df59$469c5890$0400000a@gorilla> Message-ID: <1046697627.12244.8.camel@hagbard.apathetic.discordia.org.uk> On Fri, 2003-02-28 at 18:43, Elan Feingold wrote: > * [io-layer/io.c]: Calling File.Set[LastWrite|LastAccess|Create]Time() > on a directory was failing, because the I/O layer was trying to open the > directory with write permission, which fails with EISDIR. This patch > works around the problem by recognizing this condition and reopening > without write permission. Patch applied, thanks. - Dick From dick@ximian.com Mon Mar 3 13:22:19 2003 From: dick@ximian.com (Dick Porter) Date: 03 Mar 2003 13:22:19 +0000 Subject: Fw: [Mono-list] Process.Start patch In-Reply-To: <055401c2dec3$fd82ec40$0500a8c0@jaybook> References: <055401c2dec3$fd82ec40$0500a8c0@jaybook> Message-ID: <1046697739.12244.11.camel@hagbard.apathetic.discordia.org.uk> On Fri, 2003-02-28 at 00:54, Jerome Laban wrote: > Actually I've found an other bug at the same location. If the end of > the specified path was a directory with the x flag, a process was > incorrectly started. > > The new patch fixes this issue. (replaces the previous mail's patch, I > hope it is not too late :p ) I'm looking at this patch, and will commit something soon. (The code also needs to set error values etc, which I will deal with.) - Dick From Graham.Allwood@CODA.com Mon Mar 3 13:32:03 2003 From: Graham.Allwood@CODA.com (Graham Allwood) Date: Mon, 3 Mar 2003 13:32:03 -0000 Subject: [Mono-list] Mint on cygwin... Message-ID: <30BF363A03BC7E46BD984CB089096CF205207A@mx-har-coda3.coda.com> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2E189.470A4620 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="iso-8859-1" Hi Auge, I see from some of your earlier posts you had trouble compiling MONO on cygwin from CVS. Well, I too am having trouble and I would be interested to know just what you had to do in the end to get it working. So far I've been following the instructions on the Mono download page for compiling using the scripts but I can't even get to compiling stage it simply fails whilst check for certain header files like sys/filio.h. Thanks for your help Graham Allwood -----Original Message----- From: Auge Mike [mailto:tobe_better@hotmail.com] Sent: 26 February 2003 19:51 To: mono-list@ximian.com Subject: [Mono-list] Mint on cygwin... I was able to compile and build mono 0.2 release on cygwin... but, why mono (jitter) is working while mint is not! I got the following "Application error" from windows: Software exception: 0xc00000fd occured in application at location 0x77eb98ca Any help, Thanx in advance, _________________________________________________________________ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list ------_=_NextPart_001_01C2E189.470A4620 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RE: [Mono-list] Mint on cygwin...

Hi Auge,

I see from some of your earlier posts you had trouble = compiling MONO on cygwin from CVS. Well, I too am having trouble and I = would be interested to know just what you had to do in the end to get = it working.

So far I've been following the instructions on the = Mono download page for compiling using the scripts but I can't even get = to compiling stage it simply fails whilst check for certain header = files like sys/filio.h.

Thanks for your help


Graham Allwood


-----Original Message-----
From: Auge Mike [mailto:tobe_better@hotmail.com]
Sent: 26 February 2003 19:51
To: mono-list@ximian.com
Subject: [Mono-list] Mint on cygwin...



I was able to compile and build mono 0.2 release on = cygwin... but, why mono
(jitter) is working while mint is not!

I got the following "Application error" = from windows:

Software exception: 0xc00000fd occured in application = at location 0x77eb98ca

Any help,

Thanx in advance,



_______________________________________________________________= __
Protect your PC - get McAfee.com VirusScan Online =
http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3D= 3963

_______________________________________________
Mono-list maillist  -  = Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list=

------_=_NextPart_001_01C2E189.470A4620-- From suresh@vishwak.com Mon Mar 3 10:24:37 2003 From: suresh@vishwak.com (suresh) Date: Mon, 03 Mar 2003 15:54:37 +0530 Subject: [Mono-list] Regarding error while running the csharp program using mono.l Message-ID: <3E632D65.1030401@vishwak.com> This is a multi-part message in MIME format. --------------010305060803070902030702 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit > Hi, I am very new to linux.I am just working on linux only before 2 days.I try to run csharp program.I got an error.I send my doubt. I appreciate u if u do help me regarding this.Thanks in advance. > > I am working on red hat linux 8.0.I just thought to install the mono > on my linux machine for running .net program.I download the files from > www.go-mono.com as follows > > Release 0.20 > Jan 20th 2003 > > 1.Mono Class Libraries and c# compiler > 2.Mono Runtime > 3.libgc-6.1-1.i386 rpm > 4.libgc-devel-6.1-1.i386 rpm > 5.mono-0.20-1.i386 rpm > 6.mono-devel-0.20-1.rpm > > I successfully installed these packages. > when I created csharp program and i have compiled using mcs compiler > which i download from go-mono.com. > > Then i compile the program using mcs compiler using command like this > > mcs /target:exe test.cs > > It gives the output test.exe > > Then i try to run the program using wine command like this > > wine test.exe > > It give the error message as following. > > could not stat /mnt/floppy(No such file or directory), ignoring drive A: > > fixme: cdrom: CDROM_GETIDEINTERFACE cd_rom device with major id not > supported > > fixme:win32:PE_CreateModule unknown directory 14 ignored > > err:module:PE_fixup_imports module(file) mscoree.dll (which is needed > by f:\test.exe) not found > > --------------010305060803070902030702 Content-Type: text/plain; name="error" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="error" Hi, I am working on red hat linux 8.0.I just thought to install the mono on my linux machine for running .net program.I download the files from www.go-mono.com as follows Release 0.20 Jan 20th 2003 1.Mono Class Libraries and c# compiler 2.Mono Runtime 3.libgc-6.1-1.i386 rpm 4.libgc-devel-6.1-1.i386 rpm 5.mono-0.20-1.i386 rpm 6.mono-devel-0.20-1.rpm I successfully installed these packages. when I created csharp program and i have compiled using mcs compiler which i download from go-mono.com. Then i compile the program using mcs compiler using command like this mcs /target:exe test.cs It gives the output test.exe Then i try to run the program using wine command like this wine test.exe It give the error message as following. could not stat /mnt/floppy(No such file or directory), ignoring drive A: fixme: cdrom: CDROM_GETIDEINTERFACE cd_rom device with major id not supported fixme:win32:PE_CreateModule unknown directory 14 ignored err:module:PE_fixup_imports module(file) mscoree.dll (which is needed by f:\test.exe) not found --------------010305060803070902030702-- From h_hamzehloo@yahoo.com Mon Mar 3 10:38:30 2003 From: h_hamzehloo@yahoo.com (Hassan Hamzehloo) Date: Mon, 3 Mar 2003 02:38:30 -0800 (PST) Subject: [Mono-list] Mono on freeBSD Message-ID: <20030303103830.22543.qmail@web10102.mail.yahoo.com> --0-950124380-1046687910=:21628 Content-Type: text/plain; charset=us-ascii any one can help , how can i install mono on FreeBSD ? what components on FreeBSD are required ? Hassan Hamzehloo Kharazmi Office Machines Co. Web Solution Developer --------------------------------- Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, and more --0-950124380-1046687910=:21628 Content-Type: text/html; charset=us-ascii

any one can help , how can i install mono on FreeBSD ?

what components on FreeBSD are required ?

 



Hassan Hamzehloo
Kharazmi Office Machines Co.
Web Solution Developer



Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, and more --0-950124380-1046687910=:21628-- From amien@tlabs.ac.za Mon Mar 3 11:37:05 2003 From: amien@tlabs.ac.za (Amien Crombie) Date: Mon, 03 Mar 2003 13:37:05 +0200 Subject: [Mono-list] .NET patent ? Message-ID: <003901c2e179$3710b750$827d15c4@Amien> This is a multi-part message in MIME format. --Boundary_(ID_vLeUErWKQ066gN4isdi4jw) Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Hi I am very interested in the Mono project as we have a large Linux user base. With the news of MS taking out patent rights for .NET, will this in any way effect the progress of Mono ? This also raises the question about future moves by MS in this regard. My personal feeling is that since Mono has done so much already, mono users will definitely have to make some decisions, even if it means paying some license fee. Thanks for a great product. Mogamad Amien Crombie Software Engineer. iThemba LABS National Accelerator Centre Faure Cape Town South Africa +27 21 843-1000 Website : www.tlabs.ac.za --Boundary_(ID_vLeUErWKQ066gN4isdi4jw) Content-type: text/html; charset=us-ascii Content-transfer-encoding: 7BIT

Hi

 

I am very interested in the Mono project as we have a large Linux user base.

With the news of MS taking out patent rights for .NET, will this in any way effect the progress of Mono ?

This also raises the question about future moves by MS in this regard.

My personal feeling is that since Mono has done so much already, mono users will definitely have to make some decisions, even if it means paying some license fee.

 

Thanks for a great product.

 

 

Mogamad Amien Crombie

Software Engineer.

iThemba LABS

National Accelerator Centre

Faure

Cape Town

South Africa

+27 21 843-1000

Website : www.tlabs.ac.za

 

 

 

--Boundary_(ID_vLeUErWKQ066gN4isdi4jw)-- From 425007@sina.com Mon Mar 3 13:36:06 2003 From: 425007@sina.com (d) Date: Mon, 3 Mar 2003 21:36:6 +0800 Subject: [Mono-list] (no subject) Message-ID: <20030303134139.E9169124363@listsmx.ximian.com> This is a multi-part message in MIME format. --=====000_Dragon615270250084_===== Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: quoted-printable hello ,i am a new to mono. I write a sample use system.runtime.remoting(source files in= attached files).it can run in windows ,but after client run= the console show : "file mono-hash.c:line 396 (mono_g_hash_table_remove):assertion = 'hash_table!=3Dnull' failed" . why ,and how can I avoid this. =A1=A1=A1=A1 =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1425007@sina.com =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A12003-03-03 --=====000_Dragon615270250084_===== Content-Type: application/octet-stream; name="2.cs" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="2.cs" Ly8gY3JlYXRlZCBvbiAyMDAzLTMtMSBhdCAxNDoxNw0KdXNpbmcgU3lzdGVtOw0KdXNpbmcgU3lz dGVtLlJ1bnRpbWUuUmVtb3Rpbmc7DQp1c2luZyBTeXN0ZW0uUnVudGltZS5SZW1vdGluZy5DaGFu bmVsczsNCnVzaW5nIFN5c3RlbS5SdW50aW1lLlJlbW90aW5nLkNoYW5uZWxzLlRjcDsNCnB1Ymxp YyBjbGFzcyBjbGllbnQNCnsNCiBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpDQogew0KCXRyeQ0K CXsNCgkJVGNwQ2hhbm5lbCBjaGFubmVsPW5ldyBUY3BDaGFubmVsKCk7DQoJCUNoYW5uZWxTZXJ2 aWNlcy5SZWdpc3RlckNoYW5uZWwoY2hhbm5lbCk7DQoJCWhlbGxvIGg9KGhlbGxvKUFjdGl2YXRv ci5HZXRPYmplY3QodHlwZW9mKGhlbGxvKSwidGNwOi8vMTI3LjAuMC4xOjQwMDAvaGVsbE1vbm8i KTsNCgkJQ29uc29sZS5Xcml0ZUxpbmUoaC5TYXlIZWxsbygpKTsNCgkJQ2hhbm5lbFNlcnZpY2Vz LlVucmVnaXN0ZXJDaGFubmVsKGNoYW5uZWwpOw0KCQlDb25zb2xlLldyaXRlTGluZSgiZXhpdCBm cm9tIHNlcnZlciIpOw0KCQkJCQ0KCX0NCgljYXRjaChFeGNlcHRpb24gZSkNCgl7DQoJCUNvbnNv bGUuV3JpdGVMaW5lKGUuVG9TdHJpbmcoKSk7DQoJCQ0KCQkNCgl9DQogfSANCgkNCn0NCg== --=====000_Dragon615270250084_===== Content-Type: application/octet-stream; name="1.cs" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="1.cs" Ly8gY3JlYXRlZCBvbiAyMDAzLTItMjYgYXQgOTozMw0KdXNpbmcgU3lzdGVtOw0KdXNpbmcgU3lz dGVtLlJ1bnRpbWUuUmVtb3Rpbmc7DQp1c2luZyBTeXN0ZW0uUnVudGltZS5SZW1vdGluZy5DaGFu bmVsczsNCnVzaW5nIFN5c3RlbS5SdW50aW1lLlJlbW90aW5nLkNoYW5uZWxzLlRjcDsNCnB1Ymxp YyBjbGFzcyBoZWxsbzpNYXJzaGFsQnlSZWZPYmplY3QgDQp7DQoJcHVibGljIHN0YXRpYyB2b2lk IE1haW4oKQ0KCXsNCiAJCVRjcENoYW5uZWwgY2hhbm5lbD1uZXcgVGNwQ2hhbm5lbCg0MDAwKTsN CgkJQ2hhbm5lbFNlcnZpY2VzLlJlZ2lzdGVyQ2hhbm5lbChjaGFubmVsKTsNCgkJUmVtb3RpbmdD b25maWd1cmF0aW9uLlJlZ2lzdGVyV2VsbEtub3duU2VydmljZVR5cGUodHlwZW9mKGhlbGxvKSwi aGVsbE1vbm8iLFdlbGxLbm93bk9iamVjdE1vZGUuU2luZ2xldG9uDQoJCSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQogICAgICAgICAgICAgICAg U3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJzdGFydCIpOw0KCQlTeXN0ZW0uQ29uc29sZS5SZWFk TGluZSgpOw0KCQ0KCX0NCglwdWJsaWMgc3RyaW5nIFNheUhlbGxvKCkNCgl7DQoJCUNvbnNvbGUu V3JpdGVMaW5lKCJoZWxsbyBmcm9tIG1vbm8iKTsNCgkJcmV0dXJuICJIZWxsbyBmcm9tIHNlcnZl ciI7DQoJfQ0KfQ0K --=====000_Dragon615270250084_=====-- From jonas@polymorphic.se Mon Mar 3 15:05:50 2003 From: jonas@polymorphic.se (jonas@polymorphic.se) Date: Mon, 3 Mar 2003 16:05:50 +0100 (W. Europe Standard Time) Subject: [Mono-list] Mono on freeBSD In-Reply-To: <20030303103830.22543.qmail@web10102.mail.yahoo.com> References: <20030303103830.22543.qmail@web10102.mail.yahoo.com> Message-ID: <.151.156.10.3.1046703950.squirrel@mail.polymorphic.se> Hi, > any one can help , how can i install mono on FreeBSD ? mono exists in the ports tree - this is the easiest way to install mono on freebsd. /Jonas Eklöf From Scott.Blomfield@cavalryinvestments.com Mon Mar 3 14:49:17 2003 From: Scott.Blomfield@cavalryinvestments.com (Scott Blomfield) Date: Mon, 3 Mar 2003 08:49:17 -0600 Subject: [Mono-list] .NET patent ? Message-ID: <88692A1FB43FEC40A2071DE04D9B31F30776F8@ustulmail01.cavalryinvestments.int> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2E194.1134AC26 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Please see http://www.go-mono.com/faq.html#patents for more information regarding mono and patents; It should adequately answer your questions. Discussion of this topic is generally discouraged on this list; the same old arguments go back and forth, and no new information is ever presented. (I.e. it's a bunch of people saying "I am not a lawyer, but...". Of course, if anyone has spoken to their patent attorney and has some new insight because of this, then this would be the correct place to post it. =20 HTH, =20 Scott =20 In case I am not quite correct/clear, let me post a link to Miguel's take on the situation, which expresses roughly the same sentiments: http://lists.ximian.com/archives/public/mono-list/2003-February/012170.h tml =20 =20 -----Original Message----- From: Amien Crombie [mailto:amien@tlabs.ac.za]=20 Sent: Monday, March 03, 2003 5:37 AM To: mono-list@ximian.com Subject: [Mono-list] .NET patent ? =20 Hi =20 I am very interested in the Mono project as we have a large Linux user base. With the news of MS taking out patent rights for .NET, will this in any way effect the progress of Mono ? This also raises the question about future moves by MS in this regard. My personal feeling is that since Mono has done so much already, mono users will definitely have to make some decisions, even if it means paying some license fee. =20 Thanks for a great product. =20 =20 Mogamad Amien Crombie Software Engineer. iThemba LABS=20 National Accelerator Centre Faure Cape Town South Africa +27 21 843-1000 Website : www.tlabs.ac.za =20 =20 =20 =20 ------_=_NextPart_001_01C2E194.1134AC26 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Please see http://www.go-mono.com/f= aq.html#patents for more information regarding mono and patents; It should adequately = answer your questions.

Discussion of this topic is = generally discouraged on this list; the same old arguments go back and forth, and = no new information is ever presented. (I.e. it’s a bunch of people saying = “I am not a lawyer, but…”. Of course, if anyone has spoken to = their patent attorney and has some new insight because of this, then this = would be the correct place to post it.

 

HTH,

 

Scott

 

In case I am not quite = correct/clear, let me post a link to Miguel’s take on the situation, which expresses = roughly the same sentiments:

http://lists.ximian.com/archives/public/mono-list/2003-Februa= ry/012170.html

 

 

-----Original = Message-----
From: Amien Crombie [mailto:amien@tlabs.ac.za]
Sent: Monday, March 03, = 2003 5:37 AM
To: = mono-list@ximian.com
Subject: [Mono-list] .NET = patent ?

 

Hi<= /p>

 

I am very interested in the = Mono project as we have a large Linux user base.

With the news of MS taking = out patent rights for .NET, will this in any way effect the progress of Mono = ?

This also raises the = question about future moves by MS in this regard.

My personal feeling is that = since Mono has done so much already, mono users will definitely have to make = some decisions, even if it means paying some license = fee.

 

Thanks for a great = product.

 

 

Mogamad Amien Crombie

Software Engineer.

iThemba = LABS

National Accelerator = Centre

Faure

Cape = Town

South = Africa

+27 21 843-1000

Website : www.tlabs.ac.z= a

 

 

 

=00 ------_=_NextPart_001_01C2E194.1134AC26-- From rafaelteixeirabr@hotmail.com Mon Mar 3 16:54:04 2003 From: rafaelteixeirabr@hotmail.com (A Rafael D Teixeira) Date: Mon, 03 Mar 2003 13:54:04 -0300 Subject: [Mono-list] Regarding error while running the csharp program using mono.l Message-ID: You should run it with our runtime: mono test.exe The reported error occurs because wine doesn't know how to handle .net executables. Happy Hackings, Rafael Teixeira Brazilian Polymath Mono, MonoQLE Hacker _________________________________________________________________ Help STOP SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail From lupus@ximian.com Mon Mar 3 17:27:43 2003 From: lupus@ximian.com (Paolo Molaro) Date: Mon, 3 Mar 2003 18:27:43 +0100 Subject: [Mono-list] Regarding error while running the csharp program using mono.l In-Reply-To: <3E632D65.1030401@vishwak.com> References: <3E632D65.1030401@vishwak.com> Message-ID: <20030303172743.GC11197@debian.org> On 03/03/03 suresh wrote: > I am very new to linux.I am just working on linux only before 2 days.I > try to run csharp program.I got an error.I send my doubt. I appreciate u > if u do help me regarding this.Thanks in advance. [...] > >Then i compile the program using mcs compiler using command like this > > > >mcs /target:exe test.cs > > > >It gives the output test.exe > > > >Then i try to run the program using wine command like this > > > >wine test.exe > > > >It give the error message as following. Run the program with: mono test.exe lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From gert.driesen@pandora.be Mon Mar 3 18:37:17 2003 From: gert.driesen@pandora.be (Gert Driesen) Date: Mon, 3 Mar 2003 19:37:17 +0100 Subject: [Mono-list] effect of -nostdlib option References: <3E7E3789@zathras> Message-ID: <002801c2e1b3$eb108840$629976d5@ardatis.com> Hi Jon, What you're actually saying is that it's not possible to use Mcs.exe on Windows to compile an assembly using the Mono system assemblies, without running it using the Mono runtime. I was hoping I could use the -nostblib option to force Mcs not to load the MS.NET corlib. But I guess it's not possible, right ? Gert ----- Original Message ----- From: "jopryor" To: "Gert Driesen" ; "mono-list" Sent: Monday, March 03, 2003 6:27 PM Subject: RE: [Mono-list] effect of -nostdlib option > -nostdlib does two things. It keeps corlib.dll from being loaded by default. > > The second thing is what's causing you problems. -nostdlib tells mcs to grab > all types from the files it's compiling. This includes the base types, such > as System.Object (which you were getting errors about). > > The only reason to use -nostdlib is when compiling corlib itself, which should > use the types defined in corlib, *not* types definied in the previous version > of corlib. > > You shouldn't need -nostdlib. It's "for internal use only." ;-) > > - Jon > > >===== Original Message From Gert Driesen ===== > >Hi, > > > >Can anyone explain what the effect of specifying the -nostdlib option is for > the Mcs (using the Mono runtime or the .NET runtime) ? > > > >For the MS.NET compiler it allows you to specify another mscorlib.dll that > should be linked instead of the .NET Framework mscorlib.dll. > > > >But for Mcs this does not seems to work : when you want to build an assembly > using the Mono runtime you must use "mono mcs.exe [options]" although in my > opinion should be able to build an assembly using the Mono system assemblies > by using the following commandline : > > > >mcs.exe -target:library -nostdlib -noconfig -out:log4net.dll -r:corlib.dll > -r:System.dll -r:System.Xml.dll -r:System.Web.dll -recurse:*.cs > > > >But apparently it does not seems to link to the corlib.dll again, because I > get the following compile errors : > > > >error CS0518: The predefined type `System.Object' is not defined > >error CS0518: The predefined type `System.ValueType' is not defined > >error CS0518: The predefined type `System.Attribute' is not defined > >error CS0518: The predefined type `System.IComparable' is not defined > >error CS0518: The predefined type `System.ICloneable' is not defined > >error CS0518: The predefined type `System.IConvertible' is not defined > >error CS0518: The predefined type `System.Collections.IEnumerable' is not > defined > >error CS0518: The predefined type `System.Collections.ICollection' is not > defined > >error CS0518: The predefined type `System.Collections.IEnumerator' is not > defined > >...... > > > >Can anyone explain what the -nostdlib option is for then, and how I can > compile compile an assembly with the Mono system assemblies without using > Mono.exe Mcs.exe ? > > > >Gert > > > From michael.erdmann@snafu.de Mon Mar 3 20:07:52 2003 From: michael.erdmann@snafu.de (Michael Erdmann) Date: Mon, 03 Mar 2003 21:07:52 +0100 Subject: [Mono-list] IL Assembler In-Reply-To: <1045415225.1384.8.camel@ajiy20dvy21ce.bc.hsia.telus.net> References: <001801c2b52d$8b6086f0$3ba8a8c0@kctan> <3E36E4F9.4050400@snafu.de> <000c01c2c729$ff0f1400$0d6c5ddb@kctan100> <1043856312.2481.37.camel@erandi.boston.ximian.com> <3E382DDF.20806@snafu.de> <1043891837.2481.225.camel@erandi.boston.ximian.com> <3E401B0E.6070008@snafu.de> <1044390672.2469.318.camel@erandi.boston.ximian.com> <3E402604.9060705@latitudegeo.com> <3E41784E.7030204@snafu.de> <3E417EE8.3050501@latitudegeo.com> <3E42B195.8030801@snafu.de> <3E42B506.60307@latitudegeo.com> <3E46B3AF.9060801@snafu.de> <1044822575.25842.3.camel@ajiy20dvy21ce.bc.hsia.telus.net> <3E4F9708.6090307@snafu.de> <1045415225.1384.8.camel@ajiy20dvy21ce.bc.hsia.telus.net> Message-ID: <3E63B618.6050803@snafu.de> Jackson Harper wrote: >Hello, > > I have not been able to work on the ILasm frontend much this last week, >I am currently trying to finish Mono.PEToolkit so we will have a better >backend for ILasm (and mcs, mbas, ...). > > Interesting idea about a testing framework. Have you looked at Nunit? I >have a tests directory under ilasm but that might be an appropriate spot >for your testing application. I could setup a test_framework or >something directory if neccasary. > Is it possible, that the exitcode of mono depends on the assembler result, which means if the assmbler has generated code. For example: 0 - success 1 ­- File not found 2 - Syntax error This would allow me to derive the verdict of a test based on the assembler return code. Michael > > >Thanks, >Jackson > > > > From glen@enabledtechnology.net Mon Mar 3 20:20:33 2003 From: glen@enabledtechnology.net (Glen Starchman) Date: 03 Mar 2003 12:20:33 -0800 Subject: [Mono-list] Embedding Mono Message-ID: <1046722832.51208.9.camel@hanzomon.enabledtech> Hey, all. I am working on a very specialized project and would like to embed the Mono environment in a FreeBSD kernel (for the sake of argument, let's assume that is a good idea, my real problem is below :-) . I am having a couple of problems, however: 1) When I build with "./configure --with-gc=none" , GTK# will not build, complaining about a missing garbage collector 2) If I build with "./configure --with-gc=boehm", any assembly run by mono segfaults with an assertion on line 4099 of jit.c (mono_get_lmf_addr) on cleanup I have tried building against both the Boehm GC in the FreeBSD ports tree (6.2a3) and against the one on go-mono.com (6.1). I get the same results with both. Oh, and just for giggles I tried each of the above with both gcc 2.95.4 and gcc 3.2.1, all with the same result. If anyone has any insight into this problem that would be great! I am tired of banging my head against the wall. My specs: FreeBSD 4.7 Release (i386) gcc 2.95.4 mono-0.21 mcs-0.21.0.0 Thanks in advance. -- Glen Starchman President & CEO The Enabled Technology Group, LLC 206.234.7330 From daniel@rawbyte.com Mon Mar 3 20:45:36 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Mon, 3 Mar 2003 12:45:36 -0800 Subject: [Mono-list] Embedding Mono In-Reply-To: <1046722832.51208.9.camel@hanzomon.enabledtech> References: <1046722832.51208.9.camel@hanzomon.enabledtech> Message-ID: <20030303204536.GA15309@rawbyte.com> > 2) If I build with "./configure --with-gc=boehm", any assembly run by > mono segfaults with an assertion on line 4099 of jit.c > (mono_get_lmf_addr) on cleanup This occurs with regular Mono from the command line or when embedding? When embedding, with recent versions of mono you need to do certain things when running managed code in the main thread (either mono_thread_attach() or special calls for running managed code in a separate thread) Otherwise you will get that error. You can have a look at embed/ in the documentation directory cheers Daniel From manyoso@yahoo.com Mon Mar 3 22:28:41 2003 From: manyoso@yahoo.com (Adam Treat) Date: Mon, 3 Mar 2003 17:28:41 -0500 Subject: [Mono-list] Qt# 0.7 has been released. Message-ID: <200303031728.41246.manyoso@yahoo.com> March 3rd, 2003 Qt# 0.7 - A cross-platform GUI toolkit for Mono and Portable.Net, has been released. Download for source, binaries, tutorials and documentation: http://sourceforge.net/project/showfiles.php?group_id=48999 Information and screenshots: http://qtcsharp.sourceforge.net This package contains Qt#, version 0.7. This is a maintenance release. The main improvements over 0.6 are an easier build system, improvements in the demo apps, unicode support, and support for slots that take a QString parameter. Changes since 0.6 * Add support for dynamic resize to the Mandlebrot example * Add overloaded version of QWidget.SetSizePolicy * Use LPWStr marshalling for unicode strings * Fix versioning and install target for libqtsharp and general improvements to the build system * Added support for slot connection in constructor in QToolButton * Added support for unicode QString <--> string conversion * Add QGL* support * Make SLOT and SIGNAL remove extraneous spaces * Add support for slots that take a single QString param From ianm@ActiveState.com Tue Mar 4 04:59:58 2003 From: ianm@ActiveState.com (Ian MacLean) Date: Tue, 04 Mar 2003 13:59:58 +0900 Subject: [Mono-list] effect of -nostdlib option In-Reply-To: <002801c2e1b3$eb108840$629976d5@ardatis.com> References: <3E7E3789@zathras> <002801c2e1b3$eb108840$629976d5@ardatis.com> Message-ID: <3E6432CE.3060205@activestate.com> Jon wrote: >>-nostdlib does two things. It keeps corlib.dll from being loaded by > > default. > >>The second thing is what's causing you problems. -nostdlib tells mcs to > > grab > >>all types from the files it's compiling. This includes the base types, > > such > >>as System.Object (which you were getting errors about). Hmm I think the second part is incorrect behaviour. if you add a reference to another corlib then it should find the types there. If you use csc.exe with the following commandline: csc -nostdlib -r:C:\mono-0.20\install\lib\corlib.dll Class1.cs it works fine. However with csc -nostdlib -r:C:\mono-0.20\install\lib\corlib.dll Class1.cs it fails. I don't think there is anything in the docs on -nostdlib that indicate that the compiler should ignore all -r flags when its set. >>The only reason to use -nostdlib is when compiling corlib itself, which > > should > >>use the types defined in corlib, *not* types definied in the previous > > version > >>of corlib. >> >>You shouldn't need -nostdlib. It's "for internal use only." ;-) really ? thats not the impression I get from reading the ms docs on nostdlib. Ian From ianm@ActiveState.com Tue Mar 4 05:11:00 2003 From: ianm@ActiveState.com (Ian MacLean) Date: Tue, 04 Mar 2003 14:11:00 +0900 Subject: [Mono-list] effect of -nostdlib option In-Reply-To: <3E6432CE.3060205@activestate.com> References: <3E7E3789@zathras> <002801c2e1b3$eb108840$629976d5@ardatis.com> <3E6432CE.3060205@activestate.com> Message-ID: <3E643564.7050708@activestate.com> Ian MacLean wrote: > > Hmm I think the second part is incorrect behaviour. if you add a > reference to another corlib then it should find the types there. If you > use csc.exe with the following commandline: > > csc -nostdlib -r:C:\mono-0.20\install\lib\corlib.dll Class1.cs > > it works fine. However with > > csc -nostdlib -r:C:\mono-0.20\install\lib\corlib.dll Class1.cs it fails. sorry. That should be : with mcs -nostdlib -r:C:\mono-0.20\install\lib\corlib.dll Class1.cs it fails. Ian From miguel@ximian.com Tue Mar 4 05:21:16 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 04 Mar 2003 00:21:16 -0500 Subject: [Mono-list] effect of -nostdlib option In-Reply-To: <002801c2e1b3$eb108840$629976d5@ardatis.com> References: <3E7E3789@zathras> <002801c2e1b3$eb108840$629976d5@ardatis.com> Message-ID: <1046755276.24609.19.camel@erandi.boston.ximian.com> Hello, > What you're actually saying is that it's not possible to use Mcs.exe on > Windows to compile an assembly using the Mono system assemblies, without > running it using the Mono runtime. > > I was hoping I could use the -nostblib option to force Mcs not to load the > MS.NET corlib. But I guess it's not possible, right ? In the MCS compiler -nostdlib turns on a special mode in which the compiler is setup for self-hosting. Since the compiler is written in C# and uses System.Reflection as its core type repository, there a number of assumptions in the code about the meaning of this flag. In reality we should three states: * Normal state. * Do not load default libraries, I will provide them in the command line * Do not load default libraries, and setup for corlib bootstrap Today -nostdlib stands for (3), while the behavior you want is (2). It is not very hard to fix, but it is a very low priority for me. If someone wants to do it, feel free to send a patch. Miguel From piersh@friskit.com Tue Mar 4 05:33:19 2003 From: piersh@friskit.com (Piers Haken) Date: Mon, 3 Mar 2003 21:33:19 -0800 Subject: [Mono-list] effect of -nostdlib option Message-ID: <9891913C5BFE87429D71E37F08210CB9297587@zeus.sfhq.friskit.com> unless something fundamental in the runtime has change recently, i don't think it's so easy a fix. the problem being that you cannot reflect on a corlib other than the one being used for execution. a while ago i suggested adding support for Assembly.Load()ing multiple corlibs, but it got turned down becuse it's too hard given the current type architecture in the runtime. apparently. piers. -----Original Message----- From: Miguel de Icaza [mailto:miguel@ximian.com] Sent: Monday, March 03, 2003 9:21 PM To: Gert Driesen Cc: jopryor; mono-list Subject: Re: [Mono-list] effect of -nostdlib option Hello, > What you're actually saying is that it's not possible to use Mcs.exe on > Windows to compile an assembly using the Mono system assemblies, without > running it using the Mono runtime. >=20 > I was hoping I could use the -nostblib option to force Mcs not to load the > MS.NET corlib. But I guess it's not possible, right ? In the MCS compiler -nostdlib turns on a special mode in which the compiler is setup for self-hosting. Since the compiler is written in C# and uses System.Reflection as its core type repository, there a number of assumptions in the code about the meaning of this flag. In reality we should three states: * Normal state. * Do not load default libraries, I will provide them in the command line * Do not load default libraries, and setup for corlib bootstrap Today -nostdlib stands for (3), while the behavior you want is (2). It is not very hard to fix, but it is a very low priority for me. If someone wants to do it, feel free to send a patch. Miguel _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From miguel@ximian.com Tue Mar 4 05:46:44 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 04 Mar 2003 00:46:44 -0500 Subject: [Mono-list] effect of -nostdlib option In-Reply-To: <9891913C5BFE87429D71E37F08210CB9297587@zeus.sfhq.friskit.com> References: <9891913C5BFE87429D71E37F08210CB9297587@zeus.sfhq.friskit.com> Message-ID: <1046756804.24610.39.camel@erandi.boston.ximian.com> Hello! > unless something fundamental in the runtime has change recently, i don't > think it's so easy a fix. the problem being that you cannot reflect on a > corlib other than the one being used for execution. a while ago i > suggested adding support for Assembly.Load()ing multiple corlibs, but it > got turned down becuse it's too hard given the current type architecture > in the runtime. apparently. It is very possible that the runtime imposes some extra constraints that I can not remember at this point. The compiler can definitely be hacked into accepting types from a different assembly, but whether the runtimes (.NET and Mono) can cope with that is in fact a separate problem. Thanks for reminding us of this Piers, I had forgotten that discussion. (btw, since you are reading the list: CVS MCS requires an install of the compiler before it will compile the corlib classes. Today Lluis found a bug in mcs when he commited his new remoting work). Miguel From jopryor@vt.edu Mon Mar 3 17:27:57 2003 From: jopryor@vt.edu (jopryor) Date: Mon, 3 Mar 2003 12:27:57 -0500 Subject: [Mono-list] effect of -nostdlib option Message-ID: <3E7E3789@zathras> -nostdlib does two things. It keeps corlib.dll from being loaded by default. The second thing is what's causing you problems. -nostdlib tells mcs to grab all types from the files it's compiling. This includes the base types, such as System.Object (which you were getting errors about). The only reason to use -nostdlib is when compiling corlib itself, which should use the types defined in corlib, *not* types definied in the previous version of corlib. You shouldn't need -nostdlib. It's "for internal use only." ;-) - Jon >===== Original Message From Gert Driesen ===== >Hi, > >Can anyone explain what the effect of specifying the -nostdlib option is for the Mcs (using the Mono runtime or the .NET runtime) ? > >For the MS.NET compiler it allows you to specify another mscorlib.dll that should be linked instead of the .NET Framework mscorlib.dll. > >But for Mcs this does not seems to work : when you want to build an assembly using the Mono runtime you must use "mono mcs.exe [options]" although in my opinion should be able to build an assembly using the Mono system assemblies by using the following commandline : > >mcs.exe -target:library -nostdlib -noconfig -out:log4net.dll -r:corlib.dll -r:System.dll -r:System.Xml.dll -r:System.Web.dll -recurse:*.cs > >But apparently it does not seems to link to the corlib.dll again, because I get the following compile errors : > >error CS0518: The predefined type `System.Object' is not defined >error CS0518: The predefined type `System.ValueType' is not defined >error CS0518: The predefined type `System.Attribute' is not defined >error CS0518: The predefined type `System.IComparable' is not defined >error CS0518: The predefined type `System.ICloneable' is not defined >error CS0518: The predefined type `System.IConvertible' is not defined >error CS0518: The predefined type `System.Collections.IEnumerable' is not defined >error CS0518: The predefined type `System.Collections.ICollection' is not defined >error CS0518: The predefined type `System.Collections.IEnumerator' is not defined >...... > >Can anyone explain what the -nostdlib option is for then, and how I can compile compile an assembly with the Mono system assemblies without using Mono.exe Mcs.exe ? > >Gert From jopryor@vt.edu Mon Mar 3 17:43:31 2003 From: jopryor@vt.edu (jopryor) Date: Mon, 3 Mar 2003 12:43:31 -0500 Subject: [Mono-list] log4net port to Mono ! Message-ID: <3E7E6CA3@zathras> I haven't looked extensively at the log4j documentation yet (you might want to link to it from the log4net site so *some* documentation is available), but I still have some questions and comments. First, the question: why use log4j over the existing .NET logging framework -- the System.Diagnostics.TraceListener class (with hooks into the Trace, Debug, and Switch classes). The biggest difference appears to be that log4j permits "hierarchical" logging. I'm not sure I immediately see the use of it, but I'm sure it can be useful. Most everything else appears (at a glance, I didn't look long) to be in .NET already. This includes XML configuration files, and the ability to log to various sources (Files, Streams -- and, by implication, sockets -- and the NET event log under .NET). So why use log4j? This isn't a flame, I'm just curious. Second, my comments. As suggested above, it would be a good idea to provide a link to the log4j documentation (or provide specific log4net documentation) so users don't have to go to apache and search for log4j. Especially when the www.apache.org search engine provides incorrect results. :-) You also might want to investigate adding .NET features to the code. In particular, look up the Conditional attribute. This would prevent you from having code like (taken from the FAQ): if(log.IsDebugEnabled) { log.Debug("Entry number: " + i + " is " + entry[i]); } You could instead make "log.Debug" conditional on the symbol DEBUG: [Conditional("DEBUG")] void Debug (string msg) {/* ... */} which would remove the "if" statement: log.Debug ("Entry number: " + i + " is " + entry[i]); The call to "log.Debug" would only be present when the symbol "DEBUG" is defined by the compiler. Thanks, - Jon >===== Original Message From Gert Driesen ===== >Hi, > >We've finally managed to port log4net completely to Mono, we only had to add conditional compilation directives to a few classes and exclude one class (EventLogAppender, which logs events to the Windows event log). > >If you don't know, log4net is a logging framework that was initialliy inspired by log4j. We have kept the framework as similar to the original log4j as possible while taking advantage of new features in the .NET runtime. > >We have support for the following appenders (compare them with loggers) : > >- ADONetAppender (log events to a database) >- ASPNetAppender (log events to ASP.NET tracing facility) >- ConsoleAppender (log events to the console) >- FileAppender (log events to a file) >- NetSendAppender (log events using a NET SEND message, only supported on Windows NT or higher) >- RemotingAppender (log events to a remote sink) >- RollingFileAppender (log events to a file, with support for rolling over on date or size) >- SMTPAppender (log events using SMTP) >- UdpAppender (log events using UDP datagrams) >- .... > >We have log4net running internally on the following runtimes : > >- MS .NET Framework 1.0 >- MS .NET Framework 1.1 >- MS .NET Compact Framework 1.0 >- MS Shared Soure CLI (Rotor) 1.0 >- Mono 0.21 > >We're currenly working on releasing a new beta which will contain the binaries and sources for all the runtime versions. The current beta only supports .NET 1.0, so we've been really busy since the last beta :-) You can download the current beta at http://www.sourceforge.net/projects/log4net. > >However, we're still looking for people to run our Mono port through some tests on Linux. Is there anyone interested in testing log4net on Linux, pelase let me know and I'll send you the binaries and a sample application. > >Of course, you can always get the sources from our CVS and build it yourself (using nant). > >Thanks, > >Gert From jopryor@vt.edu Mon Mar 3 19:26:09 2003 From: jopryor@vt.edu (jopryor) Date: Mon, 3 Mar 2003 14:26:09 -0500 Subject: [Mono-list] effect of -nostdlib option Message-ID: <3E64ACF4@zathras> You might try using the -noconfig compiler option, which prevents loading the default assemblies, and then reference the mono assemblies: mcs.exe -target:library -noconfig -out:log4net.dll -r:corlib.dll -r:System.dll -r:System.Xml.dll -r:System.Web.dll -recurse:*.cs Alas, I don't have a Windows box to try this on, but I would expect this to work. Just make sure that the referenced assemblies are in the current directory (corlib.dll, etc.) - Jon >===== Original Message From Gert Driesen ===== >Hi Jon, > >What you're actually saying is that it's not possible to use Mcs.exe on >Windows to compile an assembly using the Mono system assemblies, without >running it using the Mono runtime. > >I was hoping I could use the -nostblib option to force Mcs not to load the >MS.NET corlib. But I guess it's not possible, right ? > >Gert > >----- Original Message ----- >From: "jopryor" >To: "Gert Driesen" ; "mono-list" > >Sent: Monday, March 03, 2003 6:27 PM >Subject: RE: [Mono-list] effect of -nostdlib option > > >> -nostdlib does two things. It keeps corlib.dll from being loaded by >default. >> >> The second thing is what's causing you problems. -nostdlib tells mcs to >grab >> all types from the files it's compiling. This includes the base types, >such >> as System.Object (which you were getting errors about). >> >> The only reason to use -nostdlib is when compiling corlib itself, which >should >> use the types defined in corlib, *not* types definied in the previous >version >> of corlib. >> >> You shouldn't need -nostdlib. It's "for internal use only." ;-) >> >> - Jon >> >> >===== Original Message From Gert Driesen ===== >> >Hi, >> > >> >Can anyone explain what the effect of specifying the -nostdlib option is >for >> the Mcs (using the Mono runtime or the .NET runtime) ? >> > >> >For the MS.NET compiler it allows you to specify another mscorlib.dll >that >> should be linked instead of the .NET Framework mscorlib.dll. >> > >> >But for Mcs this does not seems to work : when you want to build an >assembly >> using the Mono runtime you must use "mono mcs.exe [options]" although in >my >> opinion should be able to build an assembly using the Mono system >assemblies >> by using the following commandline : >> > >> >>mcs.exe -target:library -nostdlib -noconfig -out:log4net.dll -r:corlib.dll >> -r:System.dll -r:System.Xml.dll -r:System.Web.dll -recurse:*.cs >> > >> >But apparently it does not seems to link to the corlib.dll again, because >I >> get the following compile errors : >> > >> >error CS0518: The predefined type `System.Object' is not defined >> >error CS0518: The predefined type `System.ValueType' is not defined >> >error CS0518: The predefined type `System.Attribute' is not defined >> >error CS0518: The predefined type `System.IComparable' is not defined >> >error CS0518: The predefined type `System.ICloneable' is not defined >> >error CS0518: The predefined type `System.IConvertible' is not defined >> >error CS0518: The predefined type `System.Collections.IEnumerable' is not >> defined >> >error CS0518: The predefined type `System.Collections.ICollection' is not >> defined >> >error CS0518: The predefined type `System.Collections.IEnumerator' is not >> defined >> >...... >> > >> >Can anyone explain what the -nostdlib option is for then, and how I can >> compile compile an assembly with the Mono system assemblies without using >> Mono.exe Mcs.exe ? >> > >> >Gert >> >> >> > >_______________________________________________ >Mono-list maillist - Mono-list@lists.ximian.com >http://lists.ximian.com/mailman/listinfo/mono-list From eriklebel@yahoo.ca Mon Mar 3 20:37:28 2003 From: eriklebel@yahoo.ca (Erik LeBel) Date: Mon, 3 Mar 2003 15:37:28 -0500 (EST) Subject: [Mono-list] Reflection error Message-ID: <20030303203728.66113.qmail@web13309.mail.yahoo.com> --0-1181084378-1046723848=:64597 Content-Type: text/plain; charset=us-ascii While using reflection I've found that ParameterInfo's IsIn, IsOut and IsRetval always return false. I have not found any logged bugs at Ximian's bugzilla. Is this a know problem? If this is not a problem, then I'll assume that something in my code is not correct, but it seems odd to have all the metadata except method attribute info. - erik --------------------------------- Post your free ad now! Yahoo! Canada Personals --0-1181084378-1046723848=:64597 Content-Type: text/html; charset=us-ascii

While using reflection I've found that ParameterInfo's IsIn, IsOut and IsRetval always return false. I have not found any logged bugs at Ximian's bugzilla. Is this a know problem? If this is not a problem, then I'll assume that something in my code is not correct, but it seems odd to have all the metadata except method attribute info.

- erik



Post your free ad now! Yahoo! Canada Personals
--0-1181084378-1046723848=:64597-- From nicko@Neoworks.com Mon Mar 3 23:23:23 2003 From: nicko@Neoworks.com (Nicko Cadell) Date: Mon, 3 Mar 2003 23:23:23 -0000 Subject: [Mono-list] log4net port to Mono ! Message-ID: <487B2B5FD092D411977400D0B73EB0A23B6DA3@titan.neoworks.co.uk> Jon, Gert asked me to send you a quick reply. My comments are inline: > > First, the question: why use log4j over the existing .NET logging framework -- > > the System.Diagnostics.TraceListener class (with hooks into the Trace, Debug, > > and Switch classes). The biggest difference appears to be that log4j permits > > "hierarchical" logging. I'm not sure I immediately see the use of it, > > but I'm sure it can be useful. It is good to see that Microsoft have invested some effort in designing a flexible and lightweight logging API. We have nothing against it. log4net can even append events to the Trace system. You have spotted the major design difference in log4X systems. That is they support hierarchical decomposition of loggers and this results in a very fine grained logging system. log4j was originally designed when java debuggers were not really viable, therefore all program debugging had to be done through logging. Therefore the system is designed to support systems with a lot of internal logging. Dumping out all the internal log messages will quickly overload the developer, therefore fine grained control is required. In java we now have good debuggers. In .net we have even greater debuggers. But running apps in the debugger doesn't solve all the issues. There are lots of times where the app cannot be run in a debugger, or the app cannot be shutdown, or the environment cannot be simulated on a development machine. In these cases having good logging baked into your application is essential. log4net supports dynamic configuration, the logging levels, appenders, well everything can be adjusted at runtime. In many cases it is possible to diagnose issues without terminating the process in question, that is essential for some applications. > > Most everything else appears (at a glance, I didn't look long) to be > > in .NET already. This includes XML configuration files, and the ability to > > log to various sources (Files, Streams -- and, by implication, sockets > > -- and the NET event log under .NET). So why use log4j? The Trace system is flexible in that it supports pluggable loggers. However the api provided to listeners seems a little too lightweight and is slightly obsessed with working out how much to indent a message. There isn't a single solution that is right for everybody. log4net isn't right for all applications, but competition and choice are good for consumers. > > This isn't a flame, I'm just curious. > > > > Second, my comments. As suggested above, it would be a good idea to provide a > > link to the log4j documentation (or provide specific log4net documentation) so > > users don't have to go to apache and search for log4j. Especially when the > > www.apache.org search engine provides incorrect results. :-) We are acutely aware of the lack of any user documentation. It is something we are urgently working on. > > You also might want to investigate adding .NET features to the code. > > In particular, look up the Conditional attribute. This would prevent > > you from having code like (taken from the FAQ): > > > > if(log.IsDebugEnabled) > > { > > log.Debug("Entry number: " + i + " is " + entry[i]); > > } > > > > You could instead make "log.Debug" conditional on the symbol DEBUG: > > > > [Conditional("DEBUG")] > > void Debug (string msg) {/* ... */} > > > > which would remove the "if" statement: > > > > log.Debug ("Entry number: " + i + " is " + entry[i]); > > > > The call to "log.Debug" would only be present when the symbol "DEBUG" > > is defined by the compiler. We looked and doing things like this. And indeed this is exactly what the Trace system uses. One might think that the compiler was hacked to do conditional method compilation just for the benefit of the Trace system. The reason we don't use it is because the compiler will conditionally remove the logging statement from the code at compile time. Therefore your logging statement is gone. One of the key differentiators in log4net is that you can, at runtime, dynamically, enable all your logging. None of your logging is removed. Performance wise the use of a guard if(log.IsDebugEnabled) is not too bad (.net runtime seems good at that sort of thing). And the advantage of being able to get every last logging message out of the code seems like a good trade-off. Leaving in all the debug and trace logs does add to the code size, but CLI apps are very small in comparison to traditional apps, and disks are cheap. Even PDA have enough resources to cope. The benefits outweigh the costs. Are there any other .NET features that we have missed out on? Apologies if this is getting too off topic. Thanks for your comments, Nicko From j_post@pacbell.net Mon Mar 3 23:56:16 2003 From: j_post@pacbell.net (j_post) Date: Mon, 03 Mar 2003 15:56:16 -0800 Subject: [Mono-list] mcs-0.21 make errors Message-ID: <0HB700M8E6Q9JZ@mta5.snfc21.pbi.net> I recently downloaded mono-0.21 and mcs-0.21. Mono makes and installs without any problem, but mcs gives the following error (make -fmakefile.gnu): /bin/sh: -c: line 1: syntax error near unexpected token `;' /bin/sh: -c: line 1: `for i in ; do make -C $i -f makefile.gnu all || exit 1; done' make[1]: *** [all] Error 2 make: *** [all] Error 1 I've triple checked all dependencies and everything is ok, but I still get these errors. Any idea on what the problem is? J From michaela@ComparexAfrica.co.za Tue Mar 4 07:24:44 2003 From: michaela@ComparexAfrica.co.za (Michael Adams - CPX Tetra) Date: Tue, 4 Mar 2003 09:24:44 +0200 Subject: [Mono-list] Compiling on SCO OpenServer V Message-ID: <0159660481F7D211989F0008C71EF52503967535@exchcts01.pqafrica.co.za> Hi, I'm compiling mono on SCO OpenServer V Host ID as per configure : i686-pc-sco3.2v5.0.4 Unfortunatly this doesn't have AF_IPX or AF_INET6 defined, so... If possible, in a future release, could the file : /mono-x.xx/mono/metadata/socket-io.c be change to check for these deffinitions.. eg. #ifdef AF_IPX case AddressFamily_Ipx: family=AF_IPX; break; #endif etc... I see there is already one such check for #ifdef AF_IRDA Cheers ---------------------------------------------------------------------------- ------------ Michael Adams Software Developer For: Comparex Africa (Pty) Ltd Company Registration Number: 1993/003683/07 Tel: +27 (0)21-550 3450 Fax: +27 (0)21-550 3356 Cell: +27 (0)82 8419 320 e-mail: MichaelA@comparexafrica.co.za NOTICE: This message and any attachments are confidential and intended solely for the addressee. If you have received this message in error, please notify Michael Adans at Comparex Africa (Pty) Ltd., immediately, telephone number +27 (0) 21 550 3450. Any unauthorised use, alteration or dissemination is prohibited. Comparex Africa (Pty) Ltd., accepts no liability whatsoever for any loss whether it be direct, indirect or consequential, arising from information made available and actions resulting there from. From vkaluzhny@openlinksw.co.uk Tue Mar 4 09:03:26 2003 From: vkaluzhny@openlinksw.co.uk (Vlad Kaluzhny) Date: Tue, 4 Mar 2003 15:03:26 +0600 Subject: [Mono-list] cannot install mcs-0.21 Message-ID: <00d701c2e22c$ebc3c7b0$9a20a4d4@workhorse> This is a multi-part message in MIME format. ------=_NextPart_000_00D4_01C2E25F.356B2520 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello. Recently I have reviewed the latest version of Mono. the mono engine was installed succesfully. But compilation of mcs-0.21 hangs up on the stage of compilation of the new compiler. So, staying in mcs-0.21 I type "gmake -f makefile.gnu" and see the = followig: ---------- mcs /target:exe -o mcs.exe AssemblyInfo.cs assign.cs attribute.cs = driver.cs cs-parser.cs cs-tokenizer.cs tree.cs location.cs cfold.cs = class.cs codegen.cs const.cs constant.cs decl.cs delegate.cs enum.cs = ecore.cs expression.cs genericparser.cs interface.cs literal.cs = modifiers.cs namespace.cs parameter.cs pending.cs report.cs = rootcontext.cs statement.cs support.cs typemanager.cs symbolwriter.cs ---------- and this is forever - the compiler is hanged up. previous releases were running here ok. Couldn't some one help me, what can I do here? Regards, Vlad ------=_NextPart_000_00D4_01C2E25F.356B2520 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hello.
Recently I have reviewed the latest = version of=20 Mono.
the mono engine was installed=20 succesfully.
But compilation  of mcs-0.21 =  hangs up on=20 the stage
of compilation of the new =20 compiler.
So, staying in  mcs-0.21 I=20 type  "gmake -f = makefile.gnu" =20 and  see the followig:
----------
mcs /target:exe  -o = mcs.exe=20 AssemblyInfo.cs assign.cs attribute.cs driver.cs cs-parser.cs = cs-tokenizer.cs=20 tree.cs location.cs cfold.cs class.cs codegen.cs const.cs constant.cs = decl.cs=20 delegate.cs enum.cs ecore.cs expression.cs genericparser.cs interface.cs = literal.cs modifiers.cs namespace.cs parameter.cs pending.cs report.cs=20 rootcontext.cs statement.cs support.cs typemanager.cs=20 symbolwriter.cs
----------
and  this is forever - the = compiler is hanged=20 up.
previous releases were = running=20 here ok.
 
Couldn't some one help me, what can I = do=20 here?
 
Regards, = Vlad
------=_NextPart_000_00D4_01C2E25F.356B2520-- From lupus@ximian.com Tue Mar 4 10:48:49 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 4 Mar 2003 11:48:49 +0100 Subject: [Mono-list] Embedding Mono In-Reply-To: <1046722832.51208.9.camel@hanzomon.enabledtech> References: <1046722832.51208.9.camel@hanzomon.enabledtech> Message-ID: <20030304104849.GB32096@debian.org> On 03/03/03 Glen Starchman wrote: > 1) When I build with "./configure --with-gc=none" , GTK# will not build, > complaining about a missing garbage collector Yes, what do you expect? If an application needs the garbage collector and you compile it out there aren't many choices. > 2) If I build with "./configure --with-gc=boehm", any assembly run by > mono segfaults with an assertion on line 4099 of jit.c > (mono_get_lmf_addr) on cleanup More info about this would be appreciated, like a gdb stack trace and the like. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From charlouis.mono@wanadoo.be Tue Mar 4 11:12:54 2003 From: charlouis.mono@wanadoo.be (Charles-Louis) Date: 04 Mar 2003 12:12:54 +0100 Subject: [Mono-list] Writing daemons on Mono? Message-ID: <1046776374.25611.2.camel@localhost.localdomain> Hi, I'm pretty new to Linux programming, and I would like to know if it was possible to write a daemon with mono (just like a Service on .NET). Are there any specific classes for this? How can I interact with a running daemon, on mono? Regards, -- Charles-Louis From lupus@ximian.com Tue Mar 4 11:12:32 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 4 Mar 2003 12:12:32 +0100 Subject: [Mono-list] Reflection error In-Reply-To: <20030303203728.66113.qmail@web13309.mail.yahoo.com> References: <20030303203728.66113.qmail@web13309.mail.yahoo.com> Message-ID: <20030304111232.GC32096@debian.org> On 03/03/03 Erik LeBel wrote: > While using reflection I've found that ParameterInfo's IsIn, IsOut > and IsRetval always return false. I have not found any logged bugs at > Ximian's bugzilla. Is this a know problem? If this is not a problem, > then I'll assume that something in my code is not correct, but it seems > odd to have all the metadata except method attribute info. It's supposed to work (mcs uses them, for example). If you have a test case where it doesn't work, submit it so that people can check if it's a bug in your code or in mono. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From efeingold@mn.rr.com Tue Mar 4 14:42:30 2003 From: efeingold@mn.rr.com (Elan Feingold) Date: Tue, 4 Mar 2003 08:42:30 -0600 Subject: [Mono-list] patch: XML Deserialization In-Reply-To: <00f901c2de9c$97066b80$0400000a@gorilla> Message-ID: <000001c2e25c$496d3e80$0400000a@gorilla> This is a multi-part message in MIME format. ------=_NextPart_000_0001_01C2E229.FED2CE80 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, I sent this patch almost a week ago and have not seen it be merged into CVS or rejected. Hence this keep-alive email 8-) Best regards, -elan > I'm resending with tabs as requested. > > -elan > > > * XmlCustomFormatter.cs: Support for converting byte arrays to and > from > > Base64. > > > > * XmlSerialize.cs: Fix serialization of arrays to work better. > > Implemented simple XML deserialization, works for nested objects, > > arrays, etc. Most complex thing I tested was a structure containing > two > > arrays of structures. The code is fairly simple and easy to extend. > > > > My first C# and first Mono work, so please don't laugh. > > > > Best regards, > > > > -elan ------=_NextPart_000_0001_01C2E229.FED2CE80 Content-Type: text/plain; name="patch.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="patch.txt" Index: System.Xml/XmlTextReader.cs=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /mono/mcs/class/System.XML/System.Xml/XmlTextReader.cs,v=0A= retrieving revision 1.49=0A= diff -u -r1.49 XmlTextReader.cs=0A= --- System.Xml/XmlTextReader.cs 16 Feb 2003 14:31:06 -0000 1.49=0A= +++ System.Xml/XmlTextReader.cs 27 Feb 2003 20:10:52 -0000=0A= @@ -1604,7 +1604,7 @@=0A= private string ReadName ()=0A= {=0A= if (!XmlChar.IsFirstNameChar (PeekChar ()))=0A= - throw new XmlException ("a name did not start with a legal = character");=0A= + throw new XmlException ("a name did not start with a legal = character " + PeekChar());=0A= =0A= nameLength =3D 0;=0A= =0A= Index: System.Xml.Serialization/XmlCustomFormatter.cs=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: = /mono/mcs/class/System.XML/System.Xml.Serialization/XmlCustomFormatter.cs= ,v=0A= retrieving revision 1.4=0A= diff -u -r1.4 XmlCustomFormatter.cs=0A= --- System.Xml.Serialization/XmlCustomFormatter.cs 19 Sep 2002 07:16:01 = -0000 1.4=0A= +++ System.Xml.Serialization/XmlCustomFormatter.cs 27 Feb 2003 20:10:53 = -0000=0A= @@ -16,10 +16,9 @@=0A= =0A= #region Methods=0A= =0A= - [MonoTODO]=0A= - internal static byte[] FromByteArrayBase64 (byte[] value)=0A= + internal static string FromByteArrayBase64 (byte[] value)=0A= {=0A= - throw new NotImplementedException ();=0A= + return Convert.ToBase64String(value);=0A= }=0A= =0A= internal static string FromByteArrayHex (byte[] value)=0A= @@ -86,6 +85,11 @@=0A= foreach (string token in tokens)=0A= output.Append (FromXmlNmToken (token));=0A= return output.ToString ();=0A= + }=0A= +=0A= + internal static byte[] ToByteArrayBase64 (string value)=0A= + {=0A= + return Convert.FromBase64String(value);=0A= }=0A= =0A= internal static char ToChar (string value)=0A= Index: System.Xml.Serialization/XmlSerializationWriter.cs=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: = /mono/mcs/class/System.XML/System.Xml.Serialization/XmlSerializationWrite= r.cs,v=0A= retrieving revision 1.6=0A= diff -u -r1.6 XmlSerializationWriter.cs=0A= --- System.Xml.Serialization/XmlSerializationWriter.cs 13 Sep 2002 = 21:15:11 -0000 1.6=0A= +++ System.Xml.Serialization/XmlSerializationWriter.cs 27 Feb 2003 = 20:10:53 -0000=0A= @@ -84,7 +84,7 @@=0A= return new InvalidOperationException (message);=0A= }=0A= =0A= - protected static byte[] FromByteArrayBase64 (byte[] value)=0A= + protected static string FromByteArrayBase64 (byte[] value)=0A= {=0A= return XmlCustomFormatter.FromByteArrayBase64 (value);=0A= }=0A= Index: System.Xml.Serialization/XmlSerializer.cs=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: = /mono/mcs/class/System.XML/System.Xml.Serialization/XmlSerializer.cs,v=0A= retrieving revision 1.18=0A= diff -u -r1.18 XmlSerializer.cs=0A= --- System.Xml.Serialization/XmlSerializer.cs 16 Feb 2003 07:27:47 -0000 = 1.18=0A= +++ System.Xml.Serialization/XmlSerializer.cs 27 Feb 2003 20:10:54 -0000=0A= @@ -6,9 +6,11 @@=0A= // John Donagher (john@webmeta.com)=0A= // Ajay kumar Dwivedi (adwiv@yahoo.com)=0A= // Tim Coleman (tim@timcoleman.com)=0A= +// Elan Feingold (ef10@cornell.edu)=0A= //=0A= // (C) 2002 John Donagher, Ajay kumar Dwivedi=0A= // Copyright (C) Tim Coleman, 2002=0A= +// (C) 2003 Elan Feingold=0A= // =0A= =0A= using System;=0A= @@ -17,6 +19,7 @@=0A= using System.Reflection;=0A= using System.Xml;=0A= using System.Xml.Schema;=0A= +using System.Text;=0A= =0A= namespace System.Xml.Serialization { =0A= ///
=0A= @@ -80,10 +83,10 @@=0A= }=0A= =0A= public XmlSerializer (Type type,=0A= - XmlAttributeOverrides overrides,=0A= - Type [] extraTypes,=0A= - XmlRootAttribute root,=0A= - string defaultNamespace)=0A= + XmlAttributeOverrides overrides,=0A= + Type [] extraTypes,=0A= + XmlRootAttribute root,=0A= + string defaultNamespace)=0A= {=0A= if (type =3D=3D null)=0A= throw new ArgumentNullException ("type");=0A= @@ -162,22 +165,208 @@=0A= throw new NotImplementedException ();=0A= }=0A= =0A= - [MonoTODO]=0A= public object Deserialize (Stream stream)=0A= {=0A= - throw new NotImplementedException ();=0A= + XmlTextReader xmlReader =3D new XmlTextReader(stream);=0A= + return Deserialize(xmlReader);=0A= }=0A= - [MonoTODO]=0A= +=0A= public object Deserialize (TextReader textReader)=0A= {=0A= - throw new NotImplementedException ();=0A= + XmlTextReader xmlReader =3D new XmlTextReader(textReader);=0A= + return Deserialize(xmlReader);=0A= }=0A= - [MonoTODO]=0A= - public object Deserialize (XmlReader xmlReader)=0A= +=0A= + public bool DeserializeComposite(XmlReader xmlReader, ref Object = theObject)=0A= {=0A= - throw new NotImplementedException ();=0A= + Type objType =3D theObject.GetType();=0A= + bool retVal =3D true;=0A= +=0A= + //Console.WriteLine("DeserializeComposite({0})", objType);=0A= + =0A= + // Are we at an empty element?=0A= + if (xmlReader.IsEmptyElement =3D=3D true)=0A= + return retVal;=0A= +=0A= + // Read each field, counting how many we find.=0A= + for (int numFields=3D0; xmlReader.Read(); )=0A= + {=0A= + XmlNodeType xmlNodeType =3D xmlReader.NodeType;=0A= + bool isEmpty =3D xmlReader.IsEmptyElement;=0A= + =0A= + if (xmlNodeType =3D=3D XmlNodeType.Element)=0A= + {=0A= + // Read the field.=0A= + DeserializeField(xmlReader, ref theObject, xmlReader.Name);=0A= + numFields++;=0A= + }=0A= + else if (xmlNodeType =3D=3D XmlNodeType.EndElement)=0A= + {=0A= + if (numFields =3D=3D 0)=0A= + {=0A= + //Console.WriteLine("Empty object deserialized, ignoring.");=0A= + retVal =3D false;=0A= + }=0A= + =0A= + return retVal;=0A= + }=0A= + }=0A= +=0A= + return retVal;=0A= }=0A= =0A= + public void DeserializeField(XmlReader xmlReader,=0A= + ref Object theObject,=0A= + String fieldName)=0A= + {=0A= + // Get the type=0A= + FieldInfo fieldInfo =3D theObject.GetType().GetField(fieldName);=0A= + Type fieldType =3D fieldInfo.FieldType;=0A= + Object value =3D null;=0A= + bool isEmptyField =3D xmlReader.IsEmptyElement;=0A= +=0A= + //Console.WriteLine("DeserializeField({0} of type {1}", fieldName, = fieldType);=0A= +=0A= + if (fieldType.IsArray && fieldType !=3D typeof(System.Byte[]))=0A= + {=0A= + // Create an empty array list.=0A= + ArrayList list =3D new ArrayList();=0A= +=0A= + // Call out to deserialize it.=0A= + DeserializeArray(xmlReader, list, fieldType.GetElementType());=0A= + value =3D list.ToArray(fieldType.GetElementType());=0A= + }=0A= + else if (isEmptyField =3D=3D true && fieldType.IsArray)=0A= + {=0A= + // Must be a byte array, just create an empty one.=0A= + value =3D new byte[0];=0A= + }=0A= + else if (isEmptyField =3D=3D false && =0A= + (IsInbuiltType(fieldType) || fieldType.IsEnum || = fieldType.IsArray))=0A= + {=0A= + // Built in, set it.=0A= + while (xmlReader.Read())=0A= + {=0A= + if (xmlReader.NodeType =3D=3D XmlNodeType.Text)=0A= + {=0A= + //Console.WriteLine(" -> value is '{0}'", xmlReader.Value);=0A= + =0A= + if (fieldType =3D=3D typeof(Guid))=0A= + value =3D XmlConvert.ToGuid(xmlReader.Value);=0A= + else if (fieldType =3D=3D typeof(Boolean))=0A= + value =3D XmlConvert.ToBoolean(xmlReader.Value);=0A= + else if (fieldType =3D=3D typeof(String))=0A= + value =3D xmlReader.Value;=0A= + else if (fieldType =3D=3D typeof(Int64))=0A= + value =3D XmlConvert.ToInt64(xmlReader.Value);=0A= + else if (fieldType =3D=3D typeof(DateTime))=0A= + value =3D XmlConvert.ToDateTime(xmlReader.Value);=0A= + else if (fieldType.IsEnum)=0A= + value =3D Enum.Parse(fieldType, xmlReader.Value);=0A= + else if (fieldType =3D=3D typeof(System.Byte[]))=0A= + value =3D XmlCustomFormatter.ToByteArrayBase64(xmlReader.Value);=0A= + else=0A= + Console.WriteLine("Error (type is '{0})'", fieldType);=0A= + =0A= + break;=0A= + }=0A= + }=0A= + }=0A= + else=0A= + {=0A= + //Console.WriteLine("Creating new {0}", fieldType);=0A= +=0A= + // Create the new complex object.=0A= + value =3D System.Activator.CreateInstance(fieldType);=0A= +=0A= + // Recurse, allowing the method to whack the object if it's empty.=0A= + DeserializeComposite(xmlReader, ref value);=0A= + }=0A= +=0A= + //Console.WriteLine(" Setting {0} to '{1}'", fieldName, value);=0A= +=0A= + // Set the field value.=0A= + theObject.GetType().InvokeMember(fieldName,=0A= + BindingFlags.SetField, =0A= + null,=0A= + theObject, =0A= + new Object[] { value },=0A= + null, null, null);=0A= +=0A= + // We need to munch the end.=0A= + if (IsInbuiltType(fieldType) || =0A= + fieldType.IsEnum || =0A= + fieldType =3D=3D typeof(System.Byte[]))=0A= + {=0A= + if (isEmptyField =3D=3D false)=0A= + while (xmlReader.Read() && xmlReader.NodeType !=3D = XmlNodeType.EndElement)=0A= + ;=0A= + }=0A= + =0A= + }=0A= +=0A= + public void DeserializeArray(XmlReader xmlReader, ArrayList theList, = Type theType)=0A= + {=0A= + //Console.WriteLine(" DeserializeArray({0})", theType);=0A= +=0A= + if (xmlReader.IsEmptyElement)=0A= + {=0A= + //Console.WriteLine(" DeserializeArray -> empty, nothing to do = here");=0A= + return;=0A= + }=0A= +=0A= + while (xmlReader.Read())=0A= + {=0A= + XmlNodeType xmlNodeType =3D xmlReader.NodeType;=0A= + bool isEmpty =3D xmlReader.IsEmptyElement;=0A= +=0A= + if (xmlNodeType =3D=3D XmlNodeType.Element)=0A= + {=0A= + // Must be an element of the array, create it.=0A= + Object obj =3D System.Activator.CreateInstance(theType);=0A= +=0A= + //Console.WriteLine(" created obj of type '{0}'", obj.GetType());=0A= +=0A= + // Deserialize and add.=0A= + if (DeserializeComposite(xmlReader, ref obj))=0A= + {=0A= + theList.Add(obj);=0A= + }=0A= + }=0A= + =0A= + if ((xmlNodeType =3D=3D XmlNodeType.Element && isEmpty) ||=0A= + (xmlNodeType =3D=3D XmlNodeType.EndElement))=0A= + {=0A= + return;=0A= + }=0A= + }=0A= + }=0A= +=0A= + public object Deserialize(XmlReader xmlReader)=0A= + {=0A= + Object obj =3D null;=0A= +=0A= + // Read each node in the tree.=0A= + while (xmlReader.Read())=0A= + {=0A= + if (xmlReader.NodeType =3D=3D XmlNodeType.Element)=0A= + {=0A= + // Create the top level object.=0A= + //Console.WriteLine("Creating '{0}'", xsertype.FullName);=0A= + obj =3D System.Activator.CreateInstance(xsertype);=0A= +=0A= + // Deserialize it.=0A= + DeserializeComposite(xmlReader, ref obj);=0A= + }=0A= + else if (xmlReader.NodeType =3D=3D XmlNodeType.EndElement)=0A= + {=0A= + return obj;=0A= + }=0A= + } =0A= +=0A= + return obj;=0A= + } =0A= +=0A= protected virtual object Deserialize (XmlSerializationReader reader)=0A= {=0A= // This is what MS does!!!=0A= @@ -266,7 +455,7 @@=0A= object [] memberObj =3D (object []) typeTable [objType];=0A= if (memberObj =3D=3D null)=0A= throw new Exception ("Unknown Type " + objType +=0A= - " encountered during Serialization");=0A= + " encountered during Serialization");=0A= =0A= Hashtable memberTable =3D (Hashtable) memberObj [0];=0A= XmlAttributes xmlAttributes =3D (XmlAttributes) memberTable [""];=0A= @@ -369,7 +558,7 @@=0A= =0A= Type objType =3D o.GetType ();=0A= =0A= - if (IsInbuiltType(objType))=20 + if (IsInbuiltType(objType))=0A= {=0A= SerializeBuiltIn (writer, o);=0A= return;=0A= @@ -420,7 +609,7 @@=0A= =0A= attributeName =3D xmlAttributes.GetAttributeName (attributeType, = member.Name);=0A= attributeNs =3D xmlAttributes.GetAttributeNamespace (attributeType);=0A= - =0A= +=0A= if (attributeValue is XmlQualifiedName) {=0A= XmlQualifiedName qname =3D (XmlQualifiedName) attributeValue;=0A= =0A= @@ -474,12 +663,12 @@=0A= elementValue =3D fieldInfo.GetValue (o);=0A= }=0A= else {=0A= - elementType =3D propertyInfo.PropertyType;=0A= + elementType =3D propertyInfo.PropertyType;=0A= elementValue =3D propertyInfo.GetValue (o, null);=0A= }=0A= -=0A= elementName =3D xmlElements.GetElementName (elementType, = member.Name);=0A= elementNs =3D xmlElements.GetElementNamespace (elementType);=0A= +=0A= WriteElement (writer, xmlElements, elementName, elementNs, = elementType, elementValue);=0A= }=0A= }=0A= @@ -539,7 +728,7 @@=0A= for (int i =3D 0; i < count; i++)=20 {=0A= object itemValue =3D itemInfo.GetValue (value, new object[1] {i});=0A= - Type itemType =3D itemInfo.PropertyType;=0A= + Type itemType =3D itemInfo.PropertyType;=0A= =0A= if (itemValue !=3D null)=20 {=0A= @@ -558,7 +747,7 @@=0A= }=0A= else if (type.IsEnum)=20 {=0A= - // FIXME=0A= + writer.WriteString(GetXmlValue(value));=0A= }=0A= else { //Complex Type=0A= @@ -581,9 +770,8 @@=0A= string arrayTypeName =3D = TypeTranslator.GetTypeData(arrayType).ElementName;=0A= =0A= TypeData td =3D TypeTranslator.GetTypeData (arrayType);=0A= - writer.WriteStartElement (td.ElementName);=0A= - Console.WriteLine(td.ElementName);=0A= - //Special Treatment for Byte array=0A= +=0A= + // Special Treatment for Byte array=0A= if(arrayType.Equals(typeof(byte)))=0A= {=0A= WriteBuiltinValue(writer,o);=0A= @@ -592,8 +780,10 @@=0A= {=0A= for(int i=3D0; i< arr.Length; i++)=0A= {=0A= + writer.WriteStartElement (td.ElementName);=0A= +=0A= object value =3D arr.GetValue(i);=0A= - if (IsInbuiltType (arrayType))=20 + if (IsInbuiltType (arrayType))=0A= {=0A= WriteBuiltinValue(writer, value);=0A= }=0A= @@ -601,9 +791,10 @@=0A= {=0A= SerializeMembers(writer, value, false);=0A= }=0A= +=0A= + writer.WriteEndElement();=0A= }=0A= }=0A= - writer.WriteEndElement();=0A= }=0A= =0A= /// =0A= @@ -615,6 +806,7 @@=0A= [MonoTODO ("Remove FIXMEs")]=0A= private void FillTypeTable (Type type)=0A= {=0A= + // If it's already in the table, don't add it again.=0A= if (typeTable.Contains (type))=0A= return;=0A= =0A= @@ -634,8 +826,8 @@=0A= }=0A= else {=0A= //There must be a public constructor=0A= - if (!HasDefaultConstructor (type))=0A= - throw new Exception ("Can't Serialize Type " + type.Name + " since = it does not have default Constructor");=0A= + //if (!HasDefaultConstructor (type))=0A= + //throw new Exception ("Can't Serialize Type " + type.Name + " = since it does not have default Constructor");=0A= =0A= if (type.GetInterface ("ICollection") =3D=3D typeof = (System.Collections.ICollection)) {=0A= FillICollectionType (type);=0A= @@ -681,6 +873,7 @@=0A= continue;=0A= =0A= if (fieldInfo !=3D null) {=0A= +=0A= //If field is readOnly or const, do not serialize it.=0A= if (fieldInfo.IsLiteral || fieldInfo.IsInitOnly)=0A= continue;=0A= @@ -724,11 +917,15 @@=0A= FillTypeTable (fieldInfo.FieldType);=0A= } =0A= else if (propertyInfo !=3D null) {=0A= +=0A= //If property is readonly or writeonly, do not serialize it.=0A= //Exceptions are properties whose return type is array, = ICollection or IEnumerable=0A= //Indexers are not serialized unless the class Implements = ICollection.=0A= - if (!(propertyInfo.PropertyType.IsArray || Implements = (propertyInfo.PropertyType, typeof (ICollection)) || =0A= - (propertyInfo.PropertyType !=3D typeof (string) && Implements = (propertyInfo.PropertyType, typeof (IEnumerable))))) {=0A= + if (!(propertyInfo.PropertyType.IsArray || =0A= + Implements (propertyInfo.PropertyType, typeof (ICollection)) || =0A= + (propertyInfo.PropertyType !=3D typeof (string) && =0A= + Implements (propertyInfo.PropertyType, typeof (IEnumerable)))))=0A= + {=0A= if(!(propertyInfo.CanRead && propertyInfo.CanWrite) || = propertyInfo.GetIndexParameters ().Length !=3D 0)=0A= continue;=0A= }=0A= @@ -858,9 +1055,12 @@=0A= {=0A= if (type.IsEnum)=0A= return false;=0A= - if (type.IsValueType || type =3D=3D typeof (string) || = type.IsPrimitive)=0A= + if (/* type.IsValueType || */type =3D=3D typeof (string) || = type.IsPrimitive)=0A= return true;=0A= - if (type =3D=3D typeof (DateTime) || type =3D=3D typeof (XmlNode) || = type.IsSubclassOf (typeof (XmlNode)))=0A= + if (type =3D=3D typeof (DateTime) || =0A= + type =3D=3D typeof (Guid) ||=0A= + type =3D=3D typeof (XmlNode) || =0A= + type.IsSubclassOf (typeof (XmlNode)))=0A= return true;=0A= =0A= return false;=0A= @@ -931,7 +1131,7 @@=0A= }=0A= #endregion=0A= if (value is byte[])=0A= - return XmlCustomFormatter.FromByteArrayHex((byte[])value);=0A= + return XmlCustomFormatter.FromByteArrayBase64((byte[])value);=0A= if (value is Guid)=0A= return XmlConvert.ToString((Guid)value);=0A= if(value is DateTime)=0A= ------=_NextPart_000_0001_01C2E229.FED2CE80-- From lupus@ximian.com Tue Mar 4 15:33:03 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 4 Mar 2003 16:33:03 +0100 Subject: [Mono-list] mcs-0.21 make errors In-Reply-To: <0HB700M8E6Q9JZ@mta5.snfc21.pbi.net> References: <0HB700M8E6Q9JZ@mta5.snfc21.pbi.net> Message-ID: <20030304153302.GJ32096@debian.org> On 03/03/03 j_post wrote: > I recently downloaded mono-0.21 and mcs-0.21. Mono makes and installs without > any problem, but mcs gives the following error (make -fmakefile.gnu): > > /bin/sh: -c: line 1: syntax error near unexpected token `;' > /bin/sh: -c: line 1: `for i in ; do make -C $i -f makefile.gnu all || exit > 1; done' > make[1]: *** [all] Error 2 > make: *** [all] Error 1 I guess this is in the tools directory? Your /bin/sh doesn't support the for loop without items, you can safely remove the lines with for i in $(DIRS); ... from the makefile. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From lupus@ximian.com Tue Mar 4 15:49:15 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 4 Mar 2003 16:49:15 +0100 Subject: [Mono-list] Embedding Mono In-Reply-To: <1046789407.256.3.camel@hanzomon.enabledtech> References: <1046722832.51208.9.camel@hanzomon.enabledtech> <20030304104849.GB32096@debian.org> <1046789407.256.3.camel@hanzomon.enabledtech> Message-ID: <20030304154915.GK32096@debian.org> On 03/04/03 Glen Starchman wrote: > > > 2) If I build with "./configure --with-gc=boehm", any assembly run by > > > mono segfaults with an assertion on line 4099 of jit.c ^^^^ > > > (mono_get_lmf_addr) on cleanup > > > > More info about this would be appreciated, like a gdb stack trace and > > the like. > > > Sorry, should have done this before. For clarity's sake I am including > the entire backtrace and at the bottom the embed example that causes the > trace: I assumed that by 'mono' above you meant mono the program. If you are using the embedding API, currently you need to execute the managed code in a separate thread. This limitation will be removed again in the future, but in the mean time yu can look at mono/samples/embed to see how to implement it. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From lupus@ximian.com Tue Mar 4 16:55:49 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 4 Mar 2003 17:55:49 +0100 Subject: [Mono-list] Writing daemons on Mono? In-Reply-To: <1046776374.25611.2.camel@localhost.localdomain> References: <1046776374.25611.2.camel@localhost.localdomain> Message-ID: <20030304165549.GM32096@debian.org> On 03/04/03 Charles-Louis wrote: > I'm pretty new to Linux programming, and I would like to know if it was > possible to write a daemon with mono (just like a Service on .NET). See the thread at: http://lists.ximian.com/archives/public/mono-list/2002-November/009751.html lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From lupus@ximian.com Tue Mar 4 17:35:03 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 4 Mar 2003 18:35:03 +0100 Subject: [Mono-list] effect of -nostdlib option In-Reply-To: <1046756804.24610.39.camel@erandi.boston.ximian.com> References: <9891913C5BFE87429D71E37F08210CB9297587@zeus.sfhq.friskit.com> <1046756804.24610.39.camel@erandi.boston.ximian.com> Message-ID: <20030304173503.GO32096@debian.org> On 03/04/03 Miguel de Icaza wrote: > > unless something fundamental in the runtime has change recently, i don't > > think it's so easy a fix. the problem being that you cannot reflect on a > > corlib other than the one being used for execution. a while ago i > > suggested adding support for Assembly.Load()ing multiple corlibs, but it > > got turned down becuse it's too hard given the current type architecture > > in the runtime. apparently. > > It is very possible that the runtime imposes some extra constraints that > I can not remember at this point. The compiler can definitely be hacked > into accepting types from a different assembly, but whether the runtimes > (.NET and Mono) can cope with that is in fact a separate problem. Currently the runtime doesn't allow the loading of two assemblies with the same name: of course this limitation needs to be lifted before the release, but I don't have the time currently to properly test it. As for loading two different corlibs in the same mono runtime, there are many things to consider and I'm not making any promise that will be supported in the future (though it may work: note, the MS runtime too crashes in some cases when you load two different corlibs in it). Now, the point about running mcs without the mono runtime and having it resolve types from a corlib different from the one it is currently executing with is a little different. I assume this will be the MS runtime: _if_ it doesn't crash when accessing some types from the different corlib (see above) there may still be issues because the Reflection.Emit API doesn't cope well in that scenario in some cases. We had to add a little extension to the API in mono to be able to compile corlib, for example (see SetCorlibTypeBuilders () in AssemblyBuilder.cs). Since the MS runtime doesn't have that extension, the compiled program may have references both to the corlib specified on the command line and to the corlib mcs was run with (though I agree this may or may not be a real issue...). lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From ginga@kit.hi-ho.ne.jp Tue Mar 4 17:46:08 2003 From: ginga@kit.hi-ho.ne.jp (ginga@kit.hi-ho.ne.jp) Date: Wed, 05 Mar 2003 02:46:08 +0900 Subject: [Mono-list] Re: patch: XML Deserialization In-Reply-To: <000001c2e25c$496d3e80$0400000a@gorilla> References: <00f901c2de9c$97066b80$0400000a@gorilla> <000001c2e25c$496d3e80$0400000a@gorilla> Message-ID: <20030305022411.7FC5.GINGA@kit.hi-ho.ne.jp> --------_3E64E13B7FD1084B0008_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Hi Elan. > I sent this patch almost a week ago and have not seen it be merged into > CVS or rejected. Hence this keep-alive email 8-) Thanks for your patch and sorry to be too late! Unfortunately I don't know much of xml serializer and now cannot make enough time to check all your code. Would you like to write some testcases? I prepared an unsolicited template and your name is already set here :) Regards, Atsushi Eno --------_3E64E13B7FD1084B0008_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="XmlSerializerTests.cs" Content-Disposition: attachment; filename="XmlSerializerTests.cs" Content-Transfer-Encoding: base64 Ly8NCi8vIFN5c3RlbS5YbWwuWG1sU2VyaWFsaXplclRlc3RzDQovLw0KLy8gQXV0aG9yOg0KLy8g ICBFbGFuIEZlaW5nb2xkIDxlZmVpbmdvbGRAbW4ucnIuY29tPg0KLy8NCi8vIChDKSAyMDAzIEVs YW4gRmVpbmdvbGQNCi8vDQovLw0KDQoNCg0KdXNpbmcgU3lzdGVtOw0KdXNpbmcgU3lzdGVtLlht bDsNCnVzaW5nIFN5c3RlbS5YbWwuU2VyaWFsaXphdGlvbjsNCg0KdXNpbmcgTlVuaXQuRnJhbWV3 b3JrOw0KDQpuYW1lc3BhY2UgTW9ub1Rlc3RzLlN5c3RlbS5YbWwNCnsNCglwdWJsaWMgY2xhc3Mg WG1sU2VyaWFsaXplclRlc3RzIDogVGVzdENhc2UNCgl7DQoJCXB1YmxpYyBYbWxTZXJpYWxpemVy VGVzdHMgKCkgOiBiYXNlICgiTW9ub1Rlc3RzLlN5c3RlbS5YbWwuWG1sU2VyaWFsaXplclRlc3Rz IHRlc3RzdWl0ZSIpIHt9DQoJCXB1YmxpYyBYbWxTZXJpYWxpemVyVGVzdHMgKHN0cmluZyBuYW1l KSA6IGJhc2UgKG5hbWUpIHt9DQoNCgkJcHJvdGVjdGVkIG92ZXJyaWRlIHZvaWQgU2V0VXAgKCkN CgkJew0KCQl9DQoNCgkJcHVibGljIHZvaWQgVGVzdERlc2VyaWFsaXplICgpDQoJCXsNCgkJCS8v IFdyaXRlIHlvdXIgdGVzdHMgaGVyZS4NCgkJfQ0KCX0NCn0NCg== --------_3E64E13B7FD1084B0008_MULTIPART_MIXED_-- From ginga@kit.hi-ho.ne.jp Tue Mar 4 17:46:18 2003 From: ginga@kit.hi-ho.ne.jp (ginga@kit.hi-ho.ne.jp) Date: Wed, 05 Mar 2003 02:46:18 +0900 Subject: [Mono-list] Re: (no subject) In-Reply-To: <20030227162846.70344.qmail@web13309.mail.yahoo.com> References: <20030227162846.70344.qmail@web13309.mail.yahoo.com> Message-ID: <20030305024326.7FCB.GINGA@kit.hi-ho.ne.jp> Hello, > This patch make the addresses three issues: > - fills thrown XmlException objects with Location information > - verifies that element tags are paired together in a valid fassion > - prevents the apperance of multiple root elements. Thanks! And sorry to be late. It seems excellent. I'll commit your patch with trivial fix (this class is used to parse InnerXml and in such case multiple top elements should be allowed). Thanks again, Atsushi Eno From lupus@ximian.com Tue Mar 4 18:17:17 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 4 Mar 2003 19:17:17 +0100 Subject: [Mono-list] COM / DCOM in Mono In-Reply-To: <78AF93592520674C8277657BFB0FE01F0F21FB@ilexc01.SMART.INTRA> References: <78AF93592520674C8277657BFB0FE01F0F21FB@ilexc01.SMART.INTRA> Message-ID: <20030304181717.GQ32096@debian.org> On 03/02/03 Eran Sandler wrote: > Why not treat all COM calls as DCOM. I know the performance will be VERY > bad compared toward in-process COM objects but that way, we can simply > put a Windows box near the UN*X/Linux one and call all the necessary COM > calls from it. > > In this manner, we don't have to mimic all COM calls and the whole COM > layer, we simply delegate it back to where it works well enough. > > What do you think about it? I think the current stance about COM support is: we're waiting for someone that needs it and contributes the code:-) I guess something that works, even if it's slow, is better than nothing. If you have the skills and the time to contribute in this area, you're welcome! Feel free to ask any questions about how best to integrate the code into the mono runtime. Thanks! lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From lupus@ximian.com Tue Mar 4 18:21:22 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 4 Mar 2003 19:21:22 +0100 Subject: [Mono-list] Threads - Calling the Parent constructor from another assembly? In-Reply-To: <1046446714.26070.18.camel@localhost.localdomain> References: <1046446714.26070.18.camel@localhost.localdomain> Message-ID: <20030304182122.GR32096@debian.org> On 02/28/03 Charles-Louis wrote: > Basically, the core assembly contains an empty thread, and some classes > to access it. My Mono assembly contains a frontend for those methods, > and the GtkComponent class inherits from a BasicComponent in the core. > > in the Parent's constructor: (Core.dll) > > this.theThread = new Thread(new ThreadStart(WorkerThread)); > //where WorkerThread is an empty virtual function// > > in Child: > Class1 theClass = new Class1(); > // the Class1 constructor doesn't exist, so it should call > // the parent's constructor > > > Problem: > If I compile Mono + Common classes into one assembly, it works, andthe > Thread is initialized, but if I separate both assemblies (in order to > share the core), the Thread is never initialized (Parent's constructor > is not used). Can you provide a small test case and file a bug report at bugzilla.ximian.com with instructions about how to compile it and reproduce the issue? Thanks lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From ginga@kit.hi-ho.ne.jp Tue Mar 4 19:15:38 2003 From: ginga@kit.hi-ho.ne.jp (ginga@kit.hi-ho.ne.jp) Date: Wed, 05 Mar 2003 04:15:38 +0900 Subject: [Mono-list] XmlDocument.SelectSingleNode("ancestor::foo") Message-ID: <20030305034224.7FCE.GINGA@kit.hi-ho.ne.jp> Hi, I found that mono's XPath feature is incompatible with MS .NET. XPath specification defines "ancestor" axis as to find ancestor nodes by "document reversal order." MS's XmlDocument.SelectSingleNode () doesn't, while Mono's current implementation does. This method is documented as "always" return a node by document (non-reversal) order. (I wonder if there are rational reason for them to break W3C recommendation...) -------------------- using System; using System.Xml; public class Test { public static void Main(string[] args) { XmlDocument doc = new XmlDocument (); doc.LoadXml (""); XmlElement bar = doc.SelectSingleNode ("//bar") as XmlElement; XmlElement foo = bar.SelectSingleNode ("ancestor::foo") as XmlElement; Console.WriteLine (foo.GetAttribute ("a")); foo = bar.SelectSingleNode ("ancestor::foo [1]") as XmlElement; Console.WriteLine (foo.GetAttribute ("a")); } } -------------------- Interesting to say, the last SelectSingleNode("ancestor::foo[1]") is consistent with XPath recommendation (returns "3"). I cannot say that it is bug of mono, but this inconsistency will be problematic. Regards, Atsushi Eno From piersh@friskit.com Tue Mar 4 23:08:19 2003 From: piersh@friskit.com (Piers Haken) Date: Tue, 4 Mar 2003 15:08:19 -0800 Subject: [Mono-list] XmlDocument.SelectSingleNode("ancestor::foo") Message-ID: <9891913C5BFE87429D71E37F08210CB929758B@zeus.sfhq.friskit.com> Ouch, good catch Atsushi! Yeah, it seems that SelectNodes always returns the nodes in document order, and SelectSingleNode just returns the first of these. Ugh. Can you add a bug to the database so we can track this, it's not going to be a simple fix, I'm afraid... Piers. -----Original Message----- From: ginga@kit.hi-ho.ne.jp [mailto:ginga@kit.hi-ho.ne.jp]=20 Sent: Tuesday, March 04, 2003 11:16 AM To: mono-list@ximian.com Subject: [Mono-list] XmlDocument.SelectSingleNode("ancestor::foo") Hi, I found that mono's XPath feature is incompatible with MS .NET. XPath specification defines "ancestor" axis as to find ancestor nodes by "document reversal order." MS's XmlDocument.SelectSingleNode () doesn't, while Mono's current implementation does. This method is documented as "always" return a node by document (non-reversal) order. (I wonder if there are rational reason for them to break W3C recommendation...) -------------------- using System; using System.Xml; public class Test { public static void Main(string[] args) { XmlDocument doc =3D new XmlDocument (); doc.LoadXml (""); XmlElement bar =3D doc.SelectSingleNode ("//bar") as XmlElement; XmlElement foo =3D bar.SelectSingleNode ("ancestor::foo") as XmlElement; Console.WriteLine (foo.GetAttribute ("a")); foo =3D bar.SelectSingleNode ("ancestor::foo [1]") as XmlElement; Console.WriteLine (foo.GetAttribute ("a")); } } -------------------- Interesting to say, the last SelectSingleNode("ancestor::foo[1]") is consistent with XPath recommendation (returns "3"). I cannot say that it is bug of mono, but this inconsistency will be problematic. Regards, Atsushi Eno _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From eduardo_osorio_armenta@hotmail.com Wed Mar 5 07:48:28 2003 From: eduardo_osorio_armenta@hotmail.com (Eduardo Osorio Armenta) Date: Tue, 4 Mar 2003 23:48:28 -0800 (PST) Subject: [Mono-list] COM / DCOM in Mono In-Reply-To: <20030304181717.GQ32096@debian.org> Message-ID: <20030305074828.65118.qmail@web11503.mail.yahoo.com> i am not a skillfull dev. but just for ask, where to begin? i mean what class? --- Paolo Molaro wrote: > On 03/02/03 Eran Sandler wrote: > > Why not treat all COM calls as DCOM. I know the > performance will be VERY > > bad compared toward in-process COM objects but > that way, we can simply > > put a Windows box near the UN*X/Linux one and call > all the necessary COM > > calls from it. > > > > In this manner, we don't have to mimic all COM > calls and the whole COM > > layer, we simply delegate it back to where it > works well enough. > > > > What do you think about it? > > I think the current stance about COM support is: > we're waiting for someone that needs it and > contributes the code:-) > I guess something that works, even if it's slow, is > better than nothing. > If you have the skills and the time to contribute in > this area, you're > welcome! Feel free to ask any questions about how > best to integrate the > code into the mono runtime. > > Thanks! > > lupus > > -- > ----------------------------------------------------------------- > lupus@debian.org > debian/rules > lupus@ximian.com Monkeys > do it better > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ From miguel@ximian.com Wed Mar 5 07:48:51 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 05 Mar 2003 02:48:51 -0500 Subject: [Mono-list] MonoDoc 0.2 released. Message-ID: <1046850531.28240.681.camel@erandi.boston.ximian.com> Here it is, your moment of Zen: Monodoc 0.2, by Miguel de Icaza, Duncan Mak. * What is this This is a preliminary release of the Mono Documentation Browser, a tool that can be used to browse the API documentation that is provided with Mono. The new version includes vastly improved rendering, and includes namespace rendering, which will be very useful for those of you who want to document, as it is easy to spot what is missing. * The documentors Duncan Mak, Hector Gomez, Jeffrey Stedfast, Kevin Breit, Lee Malabone, Martin Willemoes Hansen, Miguel de Icaza, Peter Williams, Raphael J. Schmid. We documented 71 classes, which is 10% of the effort for documenting Gtk#. Some of them even with examples. A lot of the work has been in copying and editing the contents from Gtk+. But in some places we have excelled, and we have incorporated more documentation from other free documentation, added examples, and added pointers which are missing from the general Gtk+ documentation. We believe strongly that we can simplify vastly GUI development, and good documentation is a central piece of this effort. Please join us in finishing this documentation process. * Details The current release contains two major components: * Base class libraries documentation. * Gtk# documentation. The current release contains documentation that was extracted from the ECMA specification, so it is not a complete set of documents for all the classes in .NET The Gtk# documentation contains stubs automatically generated, and thanks to the help of the great mono-docs team, progress is rapidly happening on this front. * The release The source code is not being released, only a binary of the documentation browser that requires the latest version of Mono and Gtk#. The binaries are cross-platform, so they should work on any Mono platform with Gtk 2.x. In addition, the GtkHTML widget from GNOME CVS HEAD is required (cvs co gtkhtml, on the gnome cvs repository). Those interested in the source code for Monodoc can download it from the Mono Anonymous CVS repository (for more details see: http://www.go-mono.com/anoncvs.html). * Availability http://www.go-mono.com/archive/monodoc-0.2.tar.gz * The coders Duncan Mak, Miguel de Icaza. Miguel. From duncan@ximian.com Wed Mar 5 08:25:48 2003 From: duncan@ximian.com (Duncan Mak) Date: 05 Mar 2003 03:25:48 -0500 Subject: [Mono-list] Current XML breaks gtk-sharp compilation Message-ID: <1046852747.5280.4.camel@diphthong> Hey guys, Some of the recent changes in System.Xml is causing the gtk-sharp build to break. This affects the new monodoc browser too. ### Gtk# Compilation ### mono ../generator/gapi_codegen.exe --generate atk-api.xml pango-api.xml gdk-api.xml gdk-symbols.xml gtk-api.xml gtk-symbols.xml glade-api.xml art-api.xml gnome-api.xml gda-api.xml gst-api.xml gnomedb-api.xml rsvg-api.xml && touch generated-stamp No Namespaces found. No Namespaces found. No Namespaces found. No Namespaces found. No Namespaces found. No Namespaces found. No Namespaces found. No Namespaces found. No Namespaces found. No Namespaces found. No Namespaces found. 0 types parsed. ### Running the tree assembler for monodoc. ### diphthong:~/Mono/gtk-sharp/doc $ make tree mono --debug ../../monodoc/browser/assembler.exe --ecma en -o documentation Processing namespace Atk Processing input file Action.xml Unhandled Exception: System.Xml.XmlException: expected '>' (3E) but found ' -- Duncan Mak From david.cornelson@placet.com Wed Mar 5 02:46:00 2003 From: david.cornelson@placet.com (David A. Cornelson) Date: Tue, 4 Mar 2003 20:46:00 -0600 Subject: [Mono-list] ASP.NET, mod_mono, Apache Message-ID: <004e01c2e2c1$5b254590$04a8a8c0@encoreteam.com> This is a multi-part message in MIME format. ------=_NextPart_000_004F_01C2E28F.108AD590 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable Dear Mono Developers, =20 I'd like to thank everyone that's working on this project. Being a more = or less evangelical Microsoft technologies consultant, you'll probably find = it surprising that I not only support Mono, but am avidly waiting for the = day that I can publish my VS.NET projects to my Debian Linux server. =20 I think I bring an interesting perspective to your project too. Although = I run a linux server, I am by no means an expert. I still get extremely frustrated with installing things when they simply don't work out of the box. The expectations of linux software developers on linux users are extraordinarily high if you ask me. But then again, some people get just = as frustrated with what is commonly called Microsoft Voodoo so I shouldn't complain too much. =20 But I do laugh at this because I feel rather confident that I have a = clear understanding of Microsoft voodoo and have leveraged that knowledge as a senior consultant. So there's Linux voodoo and MS voodoo. =20 Mono offers the hope of bridging that gap. =20 So now you're getting very close to making my wishes come true and I = want to help. I can't write code since my career has always revolved around = business processes, not nuts and bolts development. I think there's a place for people like me, but so far the focus of the Mono project has _been_ on = the nuts and bolts. That will very likely continue for awhile. =20 But it seems to me that there's a void in the sense that there are developers of the framework, but now you really need people to start = _using_ it. You almost need to start a Mono Users Group or Developers Group. If there is one, I'm unaware of it. =20 Anyway, I have issues with the whole linux/apache voodoo part of this = and maybe it's inappropriate, but I'll toss these ideas out anyway: =20 - Is it possible to make the ASP.NET/Apache installation very = fool proof? I have found some typically rough install guides, but they only mention Apache 2. I still run Apache 1.3 because I have many users on my linux server and they've lobbied against Apache 2. So my request would = be that mod_mono have very clear, foolproof instructions or packages that = work with the latest official releases of Apache (1.3.27 and 2). The idea is = that someone like me (a business type developer with some knowledge of DEB's = and RPM's) could execute an install and have a sample website running automatically. Samples for web forms in this installation would be extraordinarily helpful. I have played with the Mono testing web server, = but I think mod_mono is really the killer app that needs to be pushed for = people like myself. Maybe there should be an automatically installed test = website under Apache that runs as localhost/monotest or something. I could help = in this are if you think it's a good idea. - Is it possible to show code behind functioning as it does in ASP.NET/IIS? I've been doing .NET for 18 months now and nearly no one I = know recommends using inline script in their ASPX files. I would even go so = far as to say that code behind needs to be stressed and inline script should = be minimalized, but maybe that's my own opinion. =20 I promise to work on testing things and reporting issues in the near = future. My focus is really from a business perspective (again). How can I write = a very typical presentation tier, business tier, and data tier in Mono connected to a PostgreSQL or MySQL database? Well, I know how to write = the code in .NET and I know all the voodoo of .NET on IIS 5/6. I want to do whatever it takes to help Mono start showing _real_ examples of this in Linux/Apache. So the most important namespaces are System.Data, System.Data.MySqlClient, System.Xml (less so), = System.Web.UI.WebControls, System.Web.UI.HtmlControls, and System.Collections. I'm sure I'm = forgetting something. =20 Again - I love it and have been playing with it for awhile. It's = installed on my public server Plover.Net. If there's anything I can do for the = Mono project with my Windows 2003 Server RC2 (Placet.Com) or Plover.Net = (Debian Linux), please let me know. =20 Thanks, =20 David A. Cornelson David.Cornelson@Placet.Com =20 ------=_NextPart_000_004F_01C2E28F.108AD590 Content-Type: text/html; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable

Dear Mono Developers,

 

I’d like to thank everyone that’s = working on this project. Being a more or less evangelical Microsoft technologies = consultant, you’ll probably find it surprising that I not only support Mono, = but am avidly waiting for the day that I can publish my VS.NET projects to my = Debian Linux server.

 

I think I bring an interesting perspective to = your project too. Although I run a linux = server, I am by no means an expert. I still get extremely frustrated with installing = things when they simply don’t work out of the box. The expectations of linux = software developers on linux users are extraordinarily high if you ask me. But = then again, some people get just as frustrated with what is commonly called Microsoft Voodoo so I shouldn’t complain too = much.

 

But I do laugh at this because I feel rather = confident that I have a clear understanding of Microsoft voodoo and have leveraged = that knowledge as a senior consultant. So there’s Linux voodoo and MS = voodoo.

 

Mono offers the hope of bridging that = gap.

 

So now you’re getting very close to = making my wishes come true and I want to help. I can’t write code since my = career has always revolved around business processes, not nuts and bolts = development. I think there’s a place for people like me, but so far the focus = of the Mono project has _been_ = on the nuts and bolts. That will very likely continue for = awhile.

 

But it seems to me that there’s a void in = the sense that there are developers of the framework, but now you really = need people to start _using_ = it. You almost need to start a Mono Users Group or Developers Group. If there is = one, I’m unaware of it.

 

Anyway, I have issues with the whole = linux/apache voodoo part of this and maybe it’s inappropriate, but I’ll toss = these ideas out anyway:

 

-          Is it possible to make the ASP.NET/Apache installation very fool proof? I = have found some typically rough install guides, but they only mention Apache = 2. I still run Apache 1.3 because I have many users on my linux server and = they’ve lobbied against Apache 2. So my request would be that mod_mono have very = clear, foolproof instructions or packages that work with the latest official = releases of Apache (1.3.27 and 2). The idea is that someone like me (a business = type developer with some knowledge of DEB’s and RPM’s) could = execute an install and have a sample website running automatically. Samples for web = forms in this installation would be extraordinarily helpful. I have played = with the Mono testing web server, but I think mod_mono is really the killer app that = needs to be pushed for people like myself. Maybe there should be an automatically installed test website under Apache that runs as localhost/monotest or something. I could help in this are if you think it’s a good = idea.

-          Is it possible to show code behind functioning as it does in ASP.NET/IIS? = I’ve been doing .NET for 18 months now and nearly no one I know recommends = using inline script in their ASPX files. I would even go so far as to say that code = behind needs to be stressed and inline script should be minimalized, but maybe = that’s my own opinion.

 

I promise to work on testing things and = reporting issues in the near future. My focus is really from a business = perspective (again). How can I write a very typical presentation tier, business = tier, and data tier in Mono connected to a PostgreSQL or MySQL database? Well, I know = how to write the code in .NET and I know all the voodoo of .NET on IIS 5/6. I = want to do whatever it takes to help Mono start showing _real_ examples of this in Linux/Apache. So the most important namespaces are System.Data, System.Data.MySqlClient, = System.Xml (less so), System.Web.UI.WebControls, System.Web.UI.HtmlControls, and = System.Collections. I’m sure I’m forgetting something.

 

Again – I love it and have been playing = with it for awhile. It’s installed on my public server Plover.Net. If = there’s anything I can do for the Mono project with my Windows 2003 Server RC2 (Placet.Com) or Plover.Net (Debian Linux), please let me = know.

 

Thanks,

 

David A. Cornelson

David.Cornelson@Placet.Com=

 

------=_NextPart_000_004F_01C2E28F.108AD590-- From Eran.Sandler@smarteam.com Wed Mar 5 08:10:43 2003 From: Eran.Sandler@smarteam.com (Eran Sandler) Date: Wed, 5 Mar 2003 10:10:43 +0200 Subject: [Mono-list] COM / DCOM in Mono Message-ID: <78AF93592520674C8277657BFB0FE01F03C55D@ilexc01.SMART.INTRA> Hi, Well, I'm currently investigating how implement DCOM on other systems. I know it WAS implemented for UN*X and Linux by 3rd party companies but they didn't release the code. Working with DCOM shouldn't be that hard since I only need a proxy alive and a way to marshal data to it (at first it can be other proxies or simple data types. It might give us what we want. Although I have a question.=20 I will try to implement DCOM in C or C++ (I haven't decided yet), I persume I need to use some form of Platform Invoke to call this code, right? Can you point me out to a place where P/Invoke was used so I can check it out a bit? Eran -----Original Message----- From: Paolo Molaro [mailto:lupus@ximian.com]=20 Sent: Tuesday, March 04, 2003 8:17 PM To: mono-list@ximian.com Subject: Re: [Mono-list] COM / DCOM in Mono On 03/02/03 Eran Sandler wrote: > Why not treat all COM calls as DCOM. I know the performance will be VERY > bad compared toward in-process COM objects but that way, we can simply > put a Windows box near the UN*X/Linux one and call all the necessary COM > calls from it.=20 >=20 > In this manner, we don't have to mimic all COM calls and the whole COM > layer, we simply delegate it back to where it works well enough. >=20 > What do you think about it? I think the current stance about COM support is: we're waiting for someone that needs it and contributes the code:-) I guess something that works, even if it's slow, is better than nothing. If you have the skills and the time to contribute in this area, you're welcome! Feel free to ask any questions about how best to integrate the code into the mono runtime. Thanks! lupus --=20 ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From bigzjj@21cn.com Wed Mar 5 08:21:52 2003 From: bigzjj@21cn.com (=?GB2312?Q?=D5=D4=BE=FC=BD=DC?=) Date: Wed, 5 Mar 2003 16:21:52 +0800 Subject: [Mono-list] need help Message-ID: hello I download Release 0.21 Windows Setup Wizard (NT/2000/XP). but i don't know how to install and setup it. can you give me some document about install at windows. thank you very much! From miguel@ximian.com Wed Mar 5 07:48:51 2003 From: miguel@ximian.com (Miguel de Icaza) Date: Wed, 05 Mar 2003 02:48:51 -0500 Subject: [Mono-list] [Mono-announce-list] MonoDoc 0.2 released. Message-ID: <1046850531.28240.681.camel@erandi.boston.ximian.com> Here it is, your moment of Zen: Monodoc 0.2, by Miguel de Icaza, Duncan Mak. * What is this This is a preliminary release of the Mono Documentation Browser, a tool that can be used to browse the API documentation that is provided with Mono. The new version includes vastly improved rendering, and includes namespace rendering, which will be very useful for those of you who want to document, as it is easy to spot what is missing. * The documentors Duncan Mak, Hector Gomez, Jeffrey Stedfast, Kevin Breit, Lee Malabone, Martin Willemoes Hansen, Miguel de Icaza, Peter Williams, Raphael J. Schmid. We documented 71 classes, which is 10% of the effort for documenting Gtk#. Some of them even with examples. A lot of the work has been in copying and editing the contents from Gtk+. But in some places we have excelled, and we have incorporated more documentation from other free documentation, added examples, and added pointers which are missing from the general Gtk+ documentation. We believe strongly that we can simplify vastly GUI development, and good documentation is a central piece of this effort. Please join us in finishing this documentation process. * Details The current release contains two major components: * Base class libraries documentation. * Gtk# documentation. The current release contains documentation that was extracted from the ECMA specification, so it is not a complete set of documents for all the classes in .NET The Gtk# documentation contains stubs automatically generated, and thanks to the help of the great mono-docs team, progress is rapidly happening on this front. * The release The source code is not being released, only a binary of the documentation browser that requires the latest version of Mono and Gtk#. The binaries are cross-platform, so they should work on any Mono platform with Gtk 2.x. In addition, the GtkHTML widget from GNOME CVS HEAD is required (cvs co gtkhtml, on the gnome cvs repository). Those interested in the source code for Monodoc can download it from the Mono Anonymous CVS repository (for more details see: http://www.go-mono.com/anoncvs.html). * Availability http://www.go-mono.com/archive/monodoc-0.2.tar.gz * The coders Duncan Mak, Miguel de Icaza. Miguel. _______________________________________________ Mono-announce-list maillist - Mono-announce-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-announce-list From daniel@rawbyte.com Wed Mar 5 09:49:17 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Wed, 5 Mar 2003 01:49:17 -0800 Subject: [Mono-list] ASP.NET, mod_mono, Apache In-Reply-To: <004e01c2e2c1$5b254590$04a8a8c0@encoreteam.com> References: <004e01c2e2c1$5b254590$04a8a8c0@encoreteam.com> Message-ID: <20030305094917.GD22328@rawbyte.com> Hi! > processes, not nuts and bolts development. I think there's a place for > people like me, but so far the focus of the Mono project has _been_ on the > nuts and bolts. That will very likely continue for awhile. Mono is still a work in progress, the focus will be in the nuts and bolts for a while. Large parts of the framework have already been implemented and can be useful, but it is not at a stage where it focus on the user friendly side of things. > - Is it possible to make the ASP.NET/Apache installation very fool > proof? I have found some typically rough install guides, but they only > mention Apache 2. I still run Apache 1.3 because I have many users on my > linux server and they've lobbied against Apache 2. So my request would be > that mod_mono have very clear, foolproof instructions or packages that work > with the latest official releases of Apache (1.3.27 and 2). The idea is that > someone like me (a business type developer with some knowledge of DEB's and > RPM's) could execute an install and have a sample website running > automatically. Samples for web forms in this installation would be > extraordinarily helpful. There's already an rpm module for Apache 2, for Red Hat 8, that includes sample pages, etc. We look forward to contributions of .deb packages or other formats. Modules developed for Apache 2 are not compatible with Apache 1.3 I plan to support Apache 1.3 in the future but the current focus is on Apache 2, because of the better support for threading and Windows. You can always keep a copy of Apache 2 running in paralell with your Apache 1.3 (either different port or using a reverse proxy) > I have played with the Mono testing web server, but > I think mod_mono is really the killer app that needs to be pushed for people > like myself. Maybe there should be an automatically installed test website > under Apache that runs as localhost/monotest or something. I could help in > this are if you think it's a good idea. It's already there, when you install the RPM (and restart apache) you can find teh XSP samples in http://localhost/mono/index.aspx I have read somewhere that the current ASP.NET implementation can run Microsoft petstore-like sample application (IBuySpy?) > I promise to work on testing things and reporting issues in the near future. > My focus is really from a business perspective (again). How can I write a > very typical presentation tier, business tier, and data tier in Mono > connected to a PostgreSQL or MySQL database? Well, I know how to write the > code in .NET and I know all the voodoo of .NET on IIS 5/6. I want to do > whatever it takes to help Mono start showing _real_ examples of this in > Linux/Apache. So the most important namespaces are System.Data, > System.Data.MySqlClient, System.Xml (less so), System.Web.UI.WebControls, > System.Web.UI.HtmlControls, and System.Collections. I'm sure I'm forgetting > something. I think the best way to proceed is to start programming or porting your ASP.NET applications, and when you run into functionality that has not been implemented, implement it and submit a patch to incorporate it in Mono. Documentation writing and well documented bug reports thru the bug tracking system are also welcome. Cheers Daniel From dietmar@ximian.com Wed Mar 5 10:38:28 2003 From: dietmar@ximian.com (dietmar) Date: 05 Mar 2003 11:38:28 +0100 Subject: [Mono-list] COM / DCOM in Mono In-Reply-To: <78AF93592520674C8277657BFB0FE01F03C55D@ilexc01.SMART.INTRA> References: <78AF93592520674C8277657BFB0FE01F03C55D@ilexc01.SMART.INTRA> Message-ID: <1046860708.5406.80.camel@localhost.localdomain> On Wed, 2003-03-05 at 09:10, Eran Sandler wrote: > Although I have a question. > I will try to implement DCOM in C or C++ (I haven't decided yet), I > persume I need to use some form of Platform Invoke to call this code, > right? > > Can you point me out to a place where P/Invoke was used so I can check > it out a bit? I have some tests in mono/mono/tests/pinvoke*.cs - Dietmar From lupus@ximian.com Wed Mar 5 10:46:12 2003 From: lupus@ximian.com (Paolo Molaro) Date: Wed, 5 Mar 2003 11:46:12 +0100 Subject: [Mono-list] COM / DCOM in Mono In-Reply-To: <20030305074828.65118.qmail@web11503.mail.yahoo.com> References: <20030304181717.GQ32096@debian.org> <20030305074828.65118.qmail@web11503.mail.yahoo.com> Message-ID: <20030305104612.GV32096@debian.org> On 03/04/03 Eduardo Osorio Armenta wrote: > i am not a skillfull dev. > but just for ask, where to begin? > i mean what class? You can start looking at the types in the System.Runtime.InteropServices namespace. Some are already stubbed, but most are completely missing, I think. Creating the stubs would be helpful and it doesn't require much programming experience. Thanks! lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From lupus@ximian.com Wed Mar 5 11:01:23 2003 From: lupus@ximian.com (Paolo Molaro) Date: Wed, 5 Mar 2003 12:01:23 +0100 Subject: [Mono-list] COM / DCOM in Mono In-Reply-To: <78AF93592520674C8277657BFB0FE01F03C55D@ilexc01.SMART.INTRA> References: <78AF93592520674C8277657BFB0FE01F03C55D@ilexc01.SMART.INTRA> Message-ID: <20030305110123.GW32096@debian.org> On 03/05/03 Eran Sandler wrote: > Well, I'm currently investigating how implement DCOM on other systems. I > know it WAS implemented for UN*X and Linux by 3rd party companies but > they didn't release the code. > > Working with DCOM shouldn't be that hard since I only need a proxy alive > and a way to marshal data to it (at first it can be other proxies or > simple data types. > > It might give us what we want. If I may suggest a course of action: * start small, get the simple things working first * that pretty much means starting the work on a windows system so that you can use the standard COM libraries there and you can focus on the mono side of the development * create a simple void Ping() client or server (whichever is easier to implement) and then figure out what kind of support is needed in the runtime to either expose the server or call out to the client. Creating a little tarball with the code and a makefile to compile it with the ms runtime will be helpful as a start, to see what kind of support is needed (and how the metadata looks like for the COM cliet or server). > Although I have a question. > I will try to implement DCOM in C or C++ (I haven't decided yet), I > persume I need to use some form of Platform Invoke to call this code, > right? > > Can you point me out to a place where P/Invoke was used so I can check > it out a bit? Look into metadata/marshal.c, the mono_marshal_get_native_wrapper () function. Basically, when the JIT sees a call to a P/Invoke method m, it calls: wrapper_method = mono_marshal_get_native_wrapper (m); and wrapper method is called instead. The wrapper takes acre of the need for marshaling values or different call conventions and so on. I guess COM requires similar support. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From gonzalo@ximian.com Wed Mar 5 11:38:49 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 05 Mar 2003 12:38:49 +0100 Subject: [Mono-list] Current XML breaks gtk-sharp compilation In-Reply-To: <1046852747.5280.4.camel@diphthong> References: <1046852747.5280.4.camel@diphthong> Message-ID: <1046864328.27333.25.camel@portatil> El mié, 05 de 03 de 2003 a las 09:25, Duncan Mak escribió: > Hey guys, > > Some of the recent changes in System.Xml is causing the gtk-sharp build > to break. No, this was related to MemoryStream, which i've been fixing. It's all in CVS now. -Gonzalo From Eran.Sandler@smarteam.com Wed Mar 5 11:48:01 2003 From: Eran.Sandler@smarteam.com (Eran Sandler) Date: Wed, 5 Mar 2003 13:48:01 +0200 Subject: [Mono-list] COM / DCOM in Mono Message-ID: <78AF93592520674C8277657BFB0FE01F03C560@ilexc01.SMART.INTRA> Actually what I'm trying to do is a little different and I don't think I can make it work on Windows.=20 What I was thinking was on the lines of implementing the Com Callable Wrapper (CCW) in Mono so instead of creating the objects as in-processes COM objects (which it can't because we are running on Linux), I will actually create them as DCOM objects. In this manner Mono, at first, will have a COM implementation that will require someone who wants to run an ASP.NET application calling COM objects, to install a Windows machine along side the Linux+Mono machine and configure all the COM objects there as DCOM (using the dcomcnfg utility). This will eliminate the need to re-implement and support the whole COM infrastructure that exists in Windows. To do this I have started to investigate how is the CCW implemented in Windows and what things do I need to implement. After I'll find out what needs to be implemented I will have to do 2 things: 1) Implement a DCOM client for Linux. 2) Understand where to intercept CCW calls and re-implement my own CCW that will use the DCOM client. I have found an article written by Frank Rem on iDevResource.com about implementing a DCOM client in Linux using FreeDCE. I will try to base the code on it and see if I can, at first, call a simple DCOM object running on a Windows machine.=20 Form there on, the road should be relatively simple until a FULL COM implementation for Linux will work (or the integration of Wine ;-), which ever comes first). Eran -----Original Message----- From: Paolo Molaro [mailto:lupus@ximian.com]=20 Sent: Wednesday, March 05, 2003 1:01 PM To: mono-list@ximian.com Subject: Re: [Mono-list] COM / DCOM in Mono On 03/05/03 Eran Sandler wrote: > Well, I'm currently investigating how implement DCOM on other systems. I > know it WAS implemented for UN*X and Linux by 3rd party companies but > they didn't release the code. >=20 > Working with DCOM shouldn't be that hard since I only need a proxy alive > and a way to marshal data to it (at first it can be other proxies or > simple data types. >=20 > It might give us what we want. If I may suggest a course of action: * start small, get the simple things working first * that pretty much means starting the work on a windows system so that you can use the standard COM libraries there and you can focus on the mono side of the development * create a simple void Ping() client or server (whichever is easier to implement) and then figure out what kind of support is needed in the runtime to either expose the server or call out to the client. Creating a little tarball with the code and a makefile to compile it with the ms runtime will be helpful as a start, to see what kind of support is needed (and how the metadata looks like for the COM cliet or server). > Although I have a question.=20 > I will try to implement DCOM in C or C++ (I haven't decided yet), I > persume I need to use some form of Platform Invoke to call this code, > right? >=20 > Can you point me out to a place where P/Invoke was used so I can check > it out a bit? Look into metadata/marshal.c, the mono_marshal_get_native_wrapper () function. Basically, when the JIT sees a call to a P/Invoke method m, it calls: wrapper_method =3D mono_marshal_get_native_wrapper (m); and wrapper method is called instead. The wrapper takes acre of the need for marshaling values or different call conventions and so on. I guess COM requires similar support. lupus --=20 ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From jpo234@netscape.net Wed Mar 5 11:56:46 2003 From: jpo234@netscape.net (jpo234@netscape.net) Date: Wed, 05 Mar 2003 06:56:46 -0500 Subject: [Mono-list] COM / DCOM in Mono Message-ID: <49F44201.15006A57.00065BAA@netscape.net> > Well, I'm currently investigating how implement DCOM on other systems. I > know it WAS implemented for UN*X and Linux by 3rd party companies but > they didn't release the code. Be aware that Greg Turner is working on a DCOM implementation for Wine. He has some initial tests running (not just DCOM but binary compatible to Windows). One of the problems he identified was the fact that a number of Linux programs provide DCE-RPC services on Linux: Samba (as the oldes and most advanced program), DCE-RPC itself and DCOM. This mess would require some kind of DCE-RPC "portmapper" to sort out. Regards Joerg __________________________________________________________________ The NEW Netscape 7.0 browser is now available. Upgrade now! http://channels.netscape.com/ns/browsers/download.jsp Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ From danmorg@sc.rr.com Wed Mar 5 12:57:16 2003 From: danmorg@sc.rr.com (Daniel Morgan) Date: Wed, 5 Mar 2003 07:57:16 -0500 Subject: [Mono-list] anon cvs server Message-ID: Mono anoncvs server that works: export CVSROOT=:pserver:anonymous@cvs.hispalinux.es:/mono From Graham.Allwood@CODA.com Wed Mar 5 13:47:32 2003 From: Graham.Allwood@CODA.com (Graham Allwood) Date: Wed, 5 Mar 2003 13:47:32 -0000 Subject: [Mono-list] Build once run on multiple platforms Message-ID: <30BF363A03BC7E46BD984CB089096CF2052089@mx-har-coda3.coda.com> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2E31D.C586FCB0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="iso-8859-1" Can I ask a general question? More clarification I suppose. It not going to be possible to run a program compiled with the MS .NET implementation (using Windows) on MONO is it? I mean, when I compile with either CSC or MCS and add references to say System.Data (or whatever) then this will add a reference to a strong named type. So when I compile with MS.NET, the strong name of the MONO System.Data assembly is not going to match? So is the idea that when I compile under windows I use the MONO libraries if I want my exe to run on Unix because things like System.Data will have the same strong name on both machines? I thinking more towards System.Windows.Forms, but I didn't know if this would complicate things. Regards Graham Allwood ------_=_NextPart_001_01C2E31D.C586FCB0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Can I ask a general question? More clarification I = suppose.

 

It not going to be possible to run a program = compiled with the MS .NET implementation (using Windows) on MONO is it? I mean, when = I compile with either CSC or MCS and add references to say System.Data (or whatever) then this will add a reference to a strong named type. So = when I compile with MS.NET, the strong name of the MONO System.Data assembly is not going to match?

 

So is the idea that when I compile under windows I = use the MONO libraries if I want my exe to run on Unix because things like System.Data will have the same = strong name on both machines?

 

I thinking more towards System.Windows.Forms, but I didn't know if this would complicate = things.

 

Regards

 

Graham = Allwood

 

------_=_NextPart_001_01C2E31D.C586FCB0-- From rafaelteixeirabr@hotmail.com Wed Mar 5 14:19:02 2003 From: rafaelteixeirabr@hotmail.com (A Rafael D Teixeira) Date: Wed, 05 Mar 2003 11:19:02 -0300 Subject: [Mono-list] Build once run on multiple platforms Message-ID: >From: "Graham Allwood" >Subject: [Mono-list] Build once run on multiple platforms > >It not going to be possible to run a program compiled with the MS .NET >implementation (using Windows) on MONO is it? I mean, when I compile with >either CSC or MCS and add references to say System.Data (or whatever) then >this will add a reference to a strong named type. So when I compile with >MS.NET, the strong name of the MONO System.Data assembly is not going to >match? For now it's a moot point, as the mono runtime doesn't look at the strong name, only the base name. In the future, it will check, but probably we will give a relaxing option for a selected list of assemblies. Besides you can always use config files to specify at runtime what library to use, as is already needed when mixing 1.0 and 1.1 code and/or runtimes, in windows. >So is the idea that when I compile under windows I use the MONO libraries >if >I want my exe to run on Unix because things like System.Data, >System.Windows.Forms will have the same strong name on both machines? You can, but I think it won't be mandatory, as said above... Successfull developments, Rafael Teixeira Brazilian Polymath Mono, MonoQLE Hacker _________________________________________________________________ Tired of spam? Get advanced junk mail protection with MSN 8. http://join.msn.com/?page=features/junkmail From Eran.Sandler@smarteam.com Wed Mar 5 14:05:14 2003 From: Eran.Sandler@smarteam.com (Eran Sandler) Date: Wed, 5 Mar 2003 16:05:14 +0200 Subject: [Mono-list] COM / DCOM in Mono Message-ID: <78AF93592520674C8277657BFB0FE01F0F2259@ilexc01.SMART.INTRA> I don't want to emulate COM and/or make Linux apps talk suing DCE-RPC to DCOM. My main intention in here is to simply allow ASP.NET programs that access COM objects to run on Linux under Apache2, Mod_Mono and Mono. That's it. Instead of emulating the environment I simply delegate it to the Windows machine. Eran -----Original Message----- From: jpo234@netscape.net [mailto:jpo234@netscape.net]=20 Sent: Wednesday, March 05, 2003 1:57 PM To: Eran Sandler Cc: mono-list@ximian.com Subject: RE: [Mono-list] COM / DCOM in Mono > Well, I'm currently investigating how implement DCOM on other systems. I > know it WAS implemented for UN*X and Linux by 3rd party companies but > they didn't release the code. Be aware that Greg Turner is working on a DCOM implementation for Wine. He has some initial tests running (not just DCOM but binary=20 compatible to Windows). One of the problems he identified was the fact that a number of Linux programs provide DCE-RPC services on Linux: Samba (as the oldes and most advanced program), DCE-RPC itself and DCOM. This mess would=20 require some kind of DCE-RPC "portmapper" to sort out. Regards Joerg __________________________________________________________________ The NEW Netscape 7.0 browser is now available. Upgrade now! http://channels.netscape.com/ns/browsers/download.jsp=20 Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ From dmartz@shelbrook.com Wed Mar 5 15:55:20 2003 From: dmartz@shelbrook.com (Darren Martz) Date: Wed, 5 Mar 2003 07:55:20 -0800 Subject: [Mono-list] COM / DCOM in Mono Message-ID: <001801c2e32f$a346a800$6414a8c0@whippet> Eran, IMHO, a daemon may be is necessary to manage the incoming server requests and handling of the delta pings. I recall the term "oxid resolver", but its been a number of years since I seriously dealt with the DCOM wire protocol. That port to Unix was done in Germany and included the mind of Don Box to oversee the operation - or so I recall. He wrote a excellent book on DCOM that covers details on the wire protocol itself... "Essential COM". I know some of the internals (thanks to Don's DCOM course), so I may be able to help a bit. As for marshalling, is there any need to support custom marshallers? If yes, that could require a fair *bit* of work. However, if its just the basics and only a standard marshaller is required it would certainly narrow the scope. Given the large development community of Visual Basic, I wouldn't be surprised if the standard marshaller is all that would be required. Hope that helps, Darren ---------------------------------------------------- Subject: RE: [Mono-list] COM / DCOM in Mono Date: Wed, 5 Mar 2003 10:10:43 +0200 From: "Eran Sandler" To: Hi, Well, I'm currently investigating how implement DCOM on other systems. I know it WAS implemented for UN*X and Linux by 3rd party companies but they didn't release the code. Working with DCOM shouldn't be that hard since I only need a proxy alive and a way to marshal data to it (at first it can be other proxies or simple data types. It might give us what we want. Although I have a question.=20 I will try to implement DCOM in C or C++ (I haven't decided yet), I persume I need to use some form of Platform Invoke to call this code, right? Can you point me out to a place where P/Invoke was used so I can check it out a bit? Eran From claytonharbour@sporadicism.com Wed Mar 5 16:12:07 2003 From: claytonharbour@sporadicism.com (Clayton Harbour) Date: Wed, 5 Mar 2003 08:12:07 -0800 Subject: [Mono-list] Dns broken for anoncvs? Message-ID: <030AA98E506A7546B7632C2CB45AEDEF73EF@home.sporadicism.local> Hi, I have been unable to connect to the anonymous cvs server for the past couple of days. I have tried a number of times both inside and outside of my network and the results seem to be the same, the host name is not valid. I have tried using the following site as well: http://network-tools.com/default.asp Is there something that has changed that the anoncvs page does not reflect? Also I just wanted to say that you guys are doing a great job. I am giving an internal presentation on .net technologies and open source tools in April and your project is at the top of my list for "best project out there". Keep up the great work! Clayton Harbour From Graham.Allwood@CODA.com Wed Mar 5 17:27:52 2003 From: Graham.Allwood@CODA.com (Graham Allwood) Date: Wed, 5 Mar 2003 17:27:52 -0000 Subject: [Mono-list] Developing MONO Message-ID: <30BF363A03BC7E46BD984CB089096CF205208E@mx-har-coda3.coda.com> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2E33C.8D575910 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="iso-8859-1" Just out of interest, how many people use Unix / Linux for writing / contributing to MONO and how many people use Windows? I wouldn't mind helping but I'm running WinXP, am I going to find it difficult? Graham ------_=_NextPart_001_01C2E33C.8D575910 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Just out of interest, how many people use Unix / = Linux for writing / contributing to  MONO and how many people use = Windows?

 

I wouldn't mind helping but I'm running WinXP, am I going to find it = difficult?

 

Graham

------_=_NextPart_001_01C2E33C.8D575910-- From dbowler@hegemony.com Wed Mar 5 17:49:09 2003 From: dbowler@hegemony.com (David P. Bowler) Date: Wed, 5 Mar 2003 11:49:09 -0600 Subject: [Mono-list] COM / DCOM in Mono References: <001801c2e32f$a346a800$6414a8c0@whippet> Message-ID: <009e01c2e33f$868b5c00$6400a8c0@dell333> The MEOW packet is described in Essential COM but not in any great detail... Still, the book is excellent for understanding at a higher level what is going on and would likely be helpful in helping determine what path you'd like to take for COM interop in mono... Its a nice read too, I like how Don Box writes. I took Don's "Optimizing Distributed COM" course and after hearing him speak for 40+ hours about DCOM, it made me better appreciate his writing style. Drudging up what I remember, the oxid resolver ran on port 135 and took incoming DCOM calls and mapped them to the appropriate com class guids on the local machine. Keep-Alive pings occured every 2 minutes for the remote objects and that time was not configurable.(made for a lot of manual pinging) It would seem to me, that if the intent was to simply remote everything out to windows boxes, that the only responsibilities of the mono side would be: 1. marshalling 2. socket maintenance with the remote oxid resolver. 3. local GUID maintenance so that you could properly construct the MEOW packets. (linux side CLSID database? ick) Cheers, David P. Bowler dbowler@hegemony.com www.hegemony.com From danmorg@sc.rr.com Wed Mar 5 17:48:37 2003 From: danmorg@sc.rr.com (Daniel Morgan) Date: Wed, 5 Mar 2003 12:48:37 -0500 Subject: [Mono-list] Dns broken for anoncvs? In-Reply-To: <030AA98E506A7546B7632C2CB45AEDEF73EF@home.sporadicism.local> Message-ID: Try this Mono anoncvs server that works: export CVSROOT=:pserver:anonymous@cvs.hispalinux.es:/mono -----Original Message----- From: mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.com]On Behalf Of Clayton Harbour Sent: Wednesday, March 05, 2003 11:12 AM To: mono-list@lists.ximian.com Subject: [Mono-list] Dns broken for anoncvs? Hi, I have been unable to connect to the anonymous cvs server for the past couple of days. I have tried a number of times both inside and outside of my network and the results seem to be the same, the host name is not valid. I have tried using the following site as well: http://network-tools.com/default.asp Is there something that has changed that the anoncvs page does not reflect? Also I just wanted to say that you guys are doing a great job. I am giving an internal presentation on .net technologies and open source tools in April and your project is at the top of my list for "best project out there". Keep up the great work! Clayton Harbour _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From eriklebel@yahoo.ca Wed Mar 5 18:36:54 2003 From: eriklebel@yahoo.ca (Erik LeBel) Date: Wed, 5 Mar 2003 13:36:54 -0500 (EST) Subject: [Mono-list] Developing MONO In-Reply-To: <30BF363A03BC7E46BD984CB089096CF205208E@mx-har-coda3.coda.com> Message-ID: <20030305183654.68276.qmail@web13310.mail.yahoo.com> --0-1044698380-1046889414=:66481 Content-Type: text/plain; charset=us-ascii Acctually, with WinXP it can be done. I've tried mono on windows and linux, but use it mostly on windows XP. Without Cygwin or .NET i can develop in mono, and using some simple scripts generate make files for the core class libraries. I'm still working on getting the debugger compiled and running on windows (though Im sure this is easier if you have Cygwin) because i dont have automake tools. Some components work better on linux: using the ASP.NET components requires some patches: some directives are hard compiled to look for config files in locations that dont exist, and the mcs.exe which requires running through mono.exe cannot be executed natively. References to mcs need to be remapped to the mcs.bat provided by the install. erik Graham Allwood wrote: Just out of interest, how many people use Unix / Linux for writing / contributing to MONO and how many people use Windows? I wouldn't mind helping but I'm running WinXP, am I going to find it difficult? Graham --------------------------------- Post your free ad now! Yahoo! Canada Personals --0-1044698380-1046889414=:66481 Content-Type: text/html; charset=us-ascii

Acctually, with WinXP it can be done.

I've tried mono on windows and linux, but use it mostly on windows XP. Without Cygwin or .NET i can develop in mono, and using some simple scripts generate make files for the core class libraries.

I'm still working on getting the debugger compiled and running on windows (though Im sure this is easier if you have Cygwin) because i dont have automake tools.

Some components work better on linux:

using the ASP.NET components requires some patches: some directives are hard compiled to look for config files in locations that dont exist, and the mcs.exe which requires running through mono.exe cannot be executed natively. References to mcs need to be remapped to the mcs.bat provided by the install.

erik

 Graham Allwood <Graham.Allwood@CODA.com> wrote:

Just out of interest, how many people use Unix / Linux for writing / contributing to  MONO and how many people use Windows?

 

I wouldn't mind helping but I'm running WinXP, am I going to find it difficult?

 

Graham



Post your free ad now! Yahoo! Canada Personals
--0-1044698380-1046889414=:66481-- From eriklebel@yahoo.ca Wed Mar 5 18:49:22 2003 From: eriklebel@yahoo.ca (Erik LeBel) Date: Wed, 5 Mar 2003 13:49:22 -0500 (EST) Subject: [Mono-list] Web Services Message-ID: <20030305184922.30001.qmail@web13302.mail.yahoo.com> --0-371021045-1046890162=:29568 Content-Type: text/plain; charset=us-ascii Is anyone currently working on web services? I've looked at it briefly, and I think that the work comes down to several parts: - compiling web service (System.Web.Compilation) Service description: - using reflection to generate WSDL info (probably through ServiceDescription objects, I've been looking at this) - serialization of ServiceDescription into WSDL (XmlSerializer does this sort of, needs some work) - unserializing WSDL to a ServiceDescription - generatying proxy code from ServiceDescription - from here can build mWSDL.exe or some such to fetch and generate proxies. Run time: (not looked at this) - serialization of requests - mod_mono handling for SOAP requests Having said all that, I'm interested in helping out here (esp service description), if anyone's working on it (or has some good feedback or advice to offer) I'd like to follow in their steps. thanks, erik --------------------------------- Post your free ad now! Yahoo! Canada Personals --0-371021045-1046890162=:29568 Content-Type: text/html; charset=us-ascii

Is anyone currently working on web services?

I've looked at it briefly, and I think that the work comes down to several parts:

- compiling web service (System.Web.Compilation)

Service description:

- using reflection to generate WSDL info (probably through ServiceDescription objects, I've been looking at this)

- serialization of ServiceDescription into WSDL (XmlSerializer does this sort of, needs some work)

- unserializing WSDL to a ServiceDescription

- generatying proxy code from ServiceDescription

- from here can build mWSDL.exe or some such to fetch and generate proxies.

Run time: (not looked at this)

- serialization of requests

- mod_mono handling for SOAP requests

 

Having said all that, I'm interested in helping out here (esp service description), if anyone's working on it (or has some good feedback or advice to offer) I'd like to follow in their steps.

thanks,

erik



Post your free ad now! Yahoo! Canada Personals
--0-371021045-1046890162=:29568-- From lists@sebastian-bergmann.de Wed Mar 5 19:07:53 2003 From: lists@sebastian-bergmann.de (Sebastian Bergmann) Date: Wed, 05 Mar 2003 20:07:53 +0100 Subject: [Mono-list] Broken link to Windows binaries Message-ID: <20030305190736.2A639124547@listsmx.ximian.com> The link to http://www.superin.formativ.net/mono/mono.htm on http://go-mono.org/download.html is broken. Where can I get (recent) mono binaries for Windows? Thanks & Greetings, Sebastian -- Sebastian Bergmann http://sebastian-bergmann.de/ http://phpOpenTracker.de/ Did I help you? Consider a gift: http://wishlist.sebastian-bergmann.de/ From sma@3plus4.de Wed Mar 5 19:35:19 2003 From: sma@3plus4.de (Stefan Matthias Aust) Date: Wed, 05 Mar 2003 20:35:19 +0100 Subject: [Mono-list] Broken link to Windows binaries In-Reply-To: <20030305190736.2A639124547@listsmx.ximian.com> References: <20030305190736.2A639124547@listsmx.ximian.com> Message-ID: <3E665177.6020904@3plus4.de> The link on www.go-mono.com/download.html points to http://www.go-mono.com/archive/mono-0.21-win32-1.exe which works for me. It's by the way a *very* new version, released on January 2103! :-) bye -- Stefan Matthias Aust // www.3plus4software.de // Inter Deum Et Diabolum Semper Musica Est From martin@gnome.org Wed Mar 5 19:34:36 2003 From: martin@gnome.org (Martin Baulig) Date: 05 Mar 2003 20:34:36 +0100 Subject: [Mono-list] Released version 0.2.1 "Camebridge" of the Mono Debugger Message-ID: <86r89l7gkz.fsf@einstein.home-of-linux.org> Hi guys, just released version 0.2.1 "Camebridge" of the Mono Debugger :-) * Availability http://www.go-mono.com/archive/mono-debugger-0.2.1.tar.gz Below are the release notes: The Mono Debugger - 0.2.1 "Camebridge" ====================================== This is mostly a bug-fix release, but it also contains a few new features. See the NEWS file for details. About the Mono Debugger ----------------------- The Mono Debugger is a graphical debugger which is written in C#. It can debug both native and managed applications and it has a graphical and a text-mode user interface. At the moment, the debugger only works on the i386 architecture running either a Linux 2.2.x or 2.4.x kernel or FreeBSD 4.7. Most likely, the debugger also works on OpenBSD, but I don't have an OpenBSD system to test it. You can debug any single-threaded and multi-threaded managed applications (unmanaged multi-threaded applications are also supported, but a few restrictions apply in this case). Design Goals ------------ The debugger was designed to be modular and portable to other systems. However, when we started this project, we were already short on time so the backend is currently only implemented on the i386 architecture running either a Linux or BSD kernel. Our main idea was to write a debugger for managed applications, but still being able to debug unmanaged applications such as the JIT if necessary. However, due to the limited time we had on our hands, support for unmanaged applications is still a bit preliminary; it should be enough for a hacker to fix a bug, but it's way too uncomfortable for an ordinary user. Unlike other debugger GUI's, the debugger does not talk to an external debugger application such as gdb, but does everything itself. Thanks ------ First of all, I'd like to thank Ximian, Inc. which is a wonderful company to work for and Miguel de Icaza who helped me a lot this summer. Without them, this project wouldn't have become possible. I really appreciated hacking on this and it is a lot of fun to see my "baby" grow and develop :-) Limitations ----------- Ok, before promising too much, let's start with the limitations ;-) At the moment, the debugger only works on the i386 architecture. Despite its modular design, it's probably a huge task to port it to another hardware architecture. When we started the project, I originally wrote the backend just for Linux 2.2.x, but while doing the FreeBSD port I realized how easy it was to do this - so the debugger can probably be ported to all flavors of BSD with very little effort. The only limitation is that the operating system must support kernel-level threads and you must use them in glib and the runtime. This is explained a bit more detailed in README.FreeBSD. When debugging unmanaged applications, you cannot view any parameters or local variables. This is because the code to read the type information from a DWARF 2 symbol file is not yet written. At the moment, you need to use the HexEditor together with the method's disassembly and register viewer ...... At the moment, you cannot modify parameters or local variables. To do this right, we need to write an expression parser, but this takes some time to implement. Currently we cannot store the module list and breakpoints to disk because serialization support in Mono is not yet mature enough. The user interface still needs some loving. Features -------- * Single Stepping Engine The single stepping engine is responsible for single-stepping, stopping and continuing the target and getting notifications when the target hit a breakpoint. At the moment, the single stepping engine (class/SingleSteppingEngine.cs) can - step one machine instruction - step one machine instruction while stepping over method calls - step until the end of the current method - step until leaving a range of source lines (this includes stepping until reaching another source line) - step one source line - step one source line while stepping over method calls - step one source line while stepping over method calls, but only if the method is in a user-configurable list of modules (shared libs, dlls) When debugging managed applications, the single stepping engine can also - automatically trigger a JIT compilation of methods while single-stepping. This is done completely trasparently for the user, so you don't need to worry about JIT trampolines, not even when stepping one machine instruction, they'll be invisible for you like system calls. - insert a breakpoint on a method which is not yet JITed. - call a method in the target (but this is still very preliminar; due to the lacking expression parser we can't create the parameters yet). However, this is already used to call a property's getter and Object.ToString(). The single stepping engine supports debugging multi-threaded applications; a stepping operation in one thread does not affect any of the other threads. This means for instance that it is safe to insert a breakpoint on a method which is called by another thread. * Breakpoints Breakpoints can be used in managed and unmanaged methods. You can insert a breakpoint either for a method or for a source line. When inserting the breakpoint for a method, it'll be inserted on the instruction immediately following the method's prologue. So when the breakpoint it hit, the method's parameters can already be accessed. Breakpoints may be inserted for not-yet-JITed methods, the debugger will automatically insert the breakpoint when the method is JITed. When inserting the breakpoints by source line, it'll also re-lookup its address each time the method is JITed. This allows the JIT to create different code for the method each time it JITs it and breakpoints will still be working. The user interface may supply its own breakpoint handler class which may be used to implement conditional breakpoints; such a conditional breakpoint can also read parameters and local variables to decide whether to continue the target. Breakpoints can be inserted on a per-thread level, this means that a breakpoint will only "break" on the "correct" thread. This is very important when debugging system functions such as corlib. * Modules Each shared library and each dll appears as a module to the debugger. The user may configure whether to enter a module's methods while single-stepping and load/unload the module's symbol tables. The module list persists across multiple invocations of the same target; later on we can even synchronize it to disk - as well as the user's breakpoint settings. * Parameters and local variables Type support for managed types is almost complete. The debugger can already read all fundamental types, arrays, structs and classes. It can call a property's getter method and invoke an object's ToString() method. * Disassembly and processor registers The debugger has a CPU view to see a disassembly of the current method and view/modify the processor registers. There's also a hex editor to view/modify the target's memory. * Hex Editor The debugger has a hex editor to inspect or modify the target's memory. * Command line interface In addition to the graphical user interface, the debugger also has a textual command line interface (which is also available in the GUI). The command line interface has a few very cool features which the GUI does not have: - when debugging multi-threaded applications, you can debug all threads, not just the main thread. This includes single-stepping, getting stack frames and backtraces etc. for any of the other threads. - all commands are synchronous, especially the stepping commands; the debugger waits until the target has stopped again. - you can access variables from any stack frame, not just from the current one. - there's a (still very simple) expression evaluator which allows you to inspect local variables and parameters. - it can be used as regression test suite. March 4th, 2003 Martin Baulig -- Martin Baulig martin@gnome.org martin@ximian.com From danmorg@sc.rr.com Wed Mar 5 19:36:05 2003 From: danmorg@sc.rr.com (Daniel Morgan) Date: Wed, 5 Mar 2003 14:36:05 -0500 Subject: [Mono-list] Broken link to Windows binaries In-Reply-To: <20030305190736.2A639124547@listsmx.ximian.com> Message-ID: go-mono.org is not a valid address. www.go.mono.com is a valid address. The download page is at http://www.go-mono.com/download.html -----Original Message----- From: mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.com]On Behalf Of Sebastian Bergmann Sent: Wednesday, March 05, 2003 2:08 PM To: mono-list@lists.ximian.com Subject: [Mono-list] Broken link to Windows binaries The link to http://www.superin.formativ.net/mono/mono.htm on http://go-mono.org/download.html is broken. Where can I get (recent) mono binaries for Windows? Thanks & Greetings, Sebastian -- Sebastian Bergmann http://sebastian-bergmann.de/ http://phpOpenTracker.de/ Did I help you? Consider a gift: http://wishlist.sebastian-bergmann.de/ _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From gert.driesen@pandora.be Wed Mar 5 19:36:46 2003 From: gert.driesen@pandora.be (Gert Driesen) Date: Wed, 5 Mar 2003 20:36:46 +0100 Subject: [Mono-list] Windows Seup package Message-ID: <005f01c2e34e$8f23af70$d29b76d5@ardatis.com> This is a multi-part message in MIME format. ------=_NextPart_000_005C_01C2E356.F0BD5DF0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, Would it be possible to have the Windows Setup package register the = following information in the registry on install : - SdkInstallRoot (would point to the root of the mono "sdk", eg. = c:\mono-0.20\install) - FrameworkAssemblyDirectory (would point to the lib directory, eg. = c:\mono-0.20\install\lib) Each mono version should register itself (using the setup package), by = creating a subkey (named after the version) in = HKEY_LOCAL_MACHINE\Software\Mono and adding the two values mentioned = above under this subkey. For the 0.21 version, you would end up with the following registry = entries : HKEY_LOCAL_MACHINE\ SOFTWARE\ Mono\ 0.21\ SdkInstallRoot =3D c:\mono-0.21\install FrameworkAssemblyDirectory =3D c:\mono-0.21\install\lib When Mono 0.22 is released and installed later on, you'd get : HKEY_LOCAL_MACHINE\ SOFTWARE\ Mono\ 0.21\ SdkInstallRoot =3D c:\mono-0.21\install FrameworkAssemblyDirectory =3D c:\mono-0.21\install\lib 0.22\ SdkInstallRoot =3D c:\mono-0.22\install FrameworkAssemblyDirectory =3D c:\mono-0.22\install\lib This will allow tools (like NAnt) to discover the availability (and the = location) of mono runtimes on Windows. Is it also possible to include the libxml libraries (libxml2.dll and = libxslt.dll) in the Windows Setup package ? Thanks, Gert ------=_NextPart_000_005C_01C2E356.F0BD5DF0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,

Would it be possible to have the Windows Setup package = register=20 the following information in the registry on install :

- = SdkInstallRoot=20 (would point to the root of the mono "sdk", eg.=20 c:\mono-0.20\install)

- FrameworkAssemblyDirectory (would = point to=20 the lib directory, eg. c:\mono-0.20\install\lib)

Each mono = version should=20 register itself (using the setup package), by creating a subkey (named = after the=20 version) in HKEY_LOCAL_MACHINE\Software\Mono and adding the two values = mentioned=20 above under this subkey.

For the 0.21 version, you would end up = with the=20 following registry entries :

HKEY_LOCAL_MACHINE\
  =20 SOFTWARE\
     =20 Mono\
         =20 0.21\
          &nbs= p; =20 SdkInstallRoot =3D=20 c:\mono-0.21\install
        &= nbsp;   =20 FrameworkAssemblyDirectory =3D c:\mono-0.21\install\lib

When Mono = 0.22 is=20 released and installed later on, you'd get=20 :

HKEY_LOCAL_MACHINE\
  =20 SOFTWARE\
     =20 Mono\
         =20 0.21\
          &nbs= p; =20 SdkInstallRoot =3D=20 c:\mono-0.21\install
        &= nbsp;   =20 FrameworkAssemblyDirectory  =3D=20 c:\mono-0.21\install\lib
       &nb= sp; =20 0.22\
          &nbs= p; =20 SdkInstallRoot =3D=20 c:\mono-0.22\install
        &= nbsp;   =20 FrameworkAssemblyDirectory =3D c:\mono-0.22\install\lib

This will = allow=20 tools (like NAnt) to discover the availability (and the location) of = mono=20 runtimes on Windows.
 
Is it also possible to include the = libxml libraries=20 (libxml2.dll and libxslt.dll) in the Windows Setup package=20 ?

Thanks,

Gert
------=_NextPart_000_005C_01C2E356.F0BD5DF0-- From eriklebel@yahoo.ca Wed Mar 5 21:02:01 2003 From: eriklebel@yahoo.ca (Erik LeBel) Date: Wed, 5 Mar 2003 16:02:01 -0500 (EST) Subject: [Mono-list] Reflection error In-Reply-To: <20030304111232.GC32096@debian.org> Message-ID: <20030305210201.93934.qmail@web13306.mail.yahoo.com> --0-981146507-1046898121=:93793 Content-Type: text/plain; charset=us-ascii The following code snippet indicates that: IsOut is set only for out parameters. (as it should) Ref parameters are characterised by the ParameterType.FullName having a '&' appended to if, and the parameter is not an IsOut. (this seems like a hack, there must be a better way to determine this) IsIn is not set for any of these parameters. A parameter is out if it fails to qualify for the previous conditions. (not terribly useful) MSDN states that the IsIn and IsOut values MAY be set by the compiler, but don't need to. I presume Mono uses a more deterministic system to decide on the direction of its arguments. the code sample itself may be buggy. I'm sure there is another case where IsOut is not set even though the parameter is an out, but the code is rather lengthy, I'm still trying to refine it. using System; using System.Reflection; class parminfo { public static void mymethod(int int1m, out string str2m, ref string str3m, out string str4m) { str2m = "in mymethod"; str4m = "also in mymethod"; } public static int Main(string[] args) { Console.WriteLine("Reflection.Parameterinfo"); Type Mytype = Type.GetType("parminfo"); MethodBase Mymethodbase = Mytype.GetMethod("mymethod"); Console.WriteLine("Mymethodbase = " + Mymethodbase); foreach (ParameterInfo Myparam in Mymethodbase.GetParameters()) { Console.WriteLine(" param #{0} {1}", Myparam.Position, Myparam.Name); Console.WriteLine(" type: {0} ({1})", Myparam.ParameterType.Name, Myparam.ParameterType.FullName); Console.WriteLine(" IsIn: {0}", Myparam.IsIn); Console.WriteLine(" IsOut: {0}", Myparam.IsOut); Console.WriteLine(" IsRetval: {0}", Myparam.IsRetval); } return 0; } } Paolo Molaro wrote:On 03/03/03 Erik LeBel wrote: > While using reflection I've found that ParameterInfo's IsIn, IsOut > and IsRetval always return false. I have not found any logged bugs at > Ximian's bugzilla. Is this a know problem? If this is not a problem, > then I'll assume that something in my code is not correct, but it seems > odd to have all the metadata except method attribute info. It's supposed to work (mcs uses them, for example). If you have a test case where it doesn't work, submit it so that people can check if it's a bug in your code or in mono. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list --------------------------------- Post your free ad now! Yahoo! Canada Personals --0-981146507-1046898121=:93793 Content-Type: text/html; charset=us-ascii

The following code snippet indicates that:

IsOut is set only for out parameters. (as it should)

Ref parameters are characterised by the ParameterType.FullName having a '&' appended to if, and the parameter is not an IsOut. (this seems like a hack, there must be a better way to determine this)

IsIn is not set for any of these parameters. A parameter is out if it fails to qualify for the previous conditions. (not terribly useful)

MSDN states that the IsIn and IsOut values MAY be set by the compiler, but don't need to. I presume Mono uses a more deterministic system to decide on the direction of its arguments.

the code sample itself may be buggy. I'm sure there is another case where IsOut is not set even though the parameter is an out, but the code is rather lengthy, I'm still trying to refine it.

 

using System;
using System.Reflection;
 
class parminfo
{
    public static void mymethod(int int1m, out string str2m,
     ref string str3m, out string str4m)
    {
       str2m = "in mymethod";
       str4m = "also in mymethod";
    }
 
    public static int Main(string[] args)
    {
 Console.WriteLine("Reflection.Parameterinfo");
      
 Type Mytype = Type.GetType("parminfo");
 MethodBase Mymethodbase = Mytype.GetMethod("mymethod");
 Console.WriteLine("Mymethodbase = " + Mymethodbase);
 
 foreach (ParameterInfo Myparam in Mymethodbase.GetParameters())
 {
     Console.WriteLine(" param #{0}  {1}", Myparam.Position,
      My param.Name);
     Console.WriteLine("   type: {0} ({1})",
      Myparam.ParameterType.Name,
      Myparam.ParameterType.FullName);
     Console.WriteLine("   IsIn: {0}", Myparam.IsIn);
     Console.WriteLine("   IsOut: {0}", Myparam.IsOut);
     Console.WriteLine("   IsRetval: {0}", Myparam.IsRetval);
 }
 
 return 0;
    }
}

 Paolo Molaro <lupus@ximian.com> wrote:

On 03/03/03 Erik LeBel wrote:
> While using reflection I've found that ParameterInfo's IsIn, IsOut
> and IsRetval always return false. I have not found any logged bugs at
> Ximian's bugzilla. Is this a know problem? If this is not a problem,
> then I'll assume that something in my code is not correct, but it seems
> odd to have all the metadata except method attribute info.

It's supposed to work (mcs uses them, for example).
If you have a test case where it doesn't work, submit it so that
people can check if it's a bug in your code or in mono.

lupus

--
-----------------------------------------------------------------
lupus@debian.org debian/rules
lupus@ximian.com Monkeys do it better
_______________________________________________
Mono-list maillist - Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listi nfo/mono-list



Post your free ad now! Yahoo! Canada Personals
--0-981146507-1046898121=:93793-- From pt99par@student.bth.se Wed Mar 5 22:09:55 2003 From: pt99par@student.bth.se (Per Arneng) Date: Wed, 5 Mar 2003 23:09:55 +0100 Subject: [Mono-list] System.Web.Mail supports Multiple recipients Message-ID: <200303052309.55707.pt99par@student.bth.se> Hi! Just updated the namespace with some classes to support Multiple recipien= ts in=20 To and Cc. These are handled correctly. Bcc however needs to be checked. = It=20 seems according to my tests that MS ignores Bcc in System.Web.Mail.=20 Now all the major parts of System.Web.Mail are implemented. There is some= work=20 left to do: * Set correct default values for different vars * Mime boundaries * UUEncoding (still ) * Quoted printable encoding for To Bcc Cc headers like MS when non-ASCII = (new) * Test cases to verify with MS.Net runtime * Code docs * Code cleaning * Documentation MonoDoc //Per From alexandre.braganca@i2s.pt Wed Mar 5 17:59:28 2003 From: alexandre.braganca@i2s.pt (=?iso-8859-1?Q?Alexandre_Bragan=E7a?=) Date: Wed, 5 Mar 2003 17:59:28 -0000 Subject: [Mono-list] COM / DCOM in Mono Message-ID: <14B84FC5D81A8B49A38804ECDDF442AB0992C4@mailserver.i2s.local> I don't now if I understand correctely the ideia, but mono Remoting from = a Linux box to a Windows box and importing the COM component in the = Windows box wouldn't do what you want? Alexandre -----Original Message----- From: Eran Sandler [mailto:Eran.Sandler@smarteam.com]=20 Sent: quarta-feira, 5 de Mar=E7o de 2003 14:05 To: jpo234@netscape.net Cc: mono-list@ximian.com Subject: RE: [Mono-list] COM / DCOM in Mono I don't want to emulate COM and/or make Linux apps talk suing DCE-RPC to = DCOM. My main intention in here is to simply allow ASP.NET programs that = access COM objects to run on Linux under Apache2, Mod_Mono and Mono. = That's it. Instead of emulating the environment I simply delegate it to the Windows = machine. Eran -----Original Message----- From: jpo234@netscape.net [mailto:jpo234@netscape.net]=20 Sent: Wednesday, March 05, 2003 1:57 PM To: Eran Sandler Cc: mono-list@ximian.com Subject: RE: [Mono-list] COM / DCOM in Mono > Well, I'm currently investigating how implement DCOM on other = systems. I > know it WAS implemented for UN*X and Linux by 3rd party = companies but > they didn't release the code. Be aware that Greg Turner is working on a DCOM implementation for Wine. = He has some initial tests running (not just DCOM but binary=20 compatible to Windows). One of the problems he identified was the fact that a number of Linux = programs provide DCE-RPC services on Linux: Samba (as the oldes and most = advanced program), DCE-RPC itself and DCOM. This mess would=20 require some kind of DCE-RPC "portmapper" to sort out. Regards Joerg __________________________________________________________________ The NEW Netscape 7.0 browser is now available. Upgrade now! = http://channels.netscape.com/ns/browsers/download.jsp=20 Get your own FREE, personal Netscape Mail account today at = http://webmail.netscape.com/ = _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com = http://lists.ximian.com/mailman/listinfo/mono-list From fd0h1440@yahoo.co.uk Wed Mar 5 18:37:06 2003 From: fd0h1440@yahoo.co.uk (fd) Date: 05 Mar 2003 18:37:06 +0000 Subject: [Mono-list] ASP.NET, mod_mono, Apache In-Reply-To: <004e01c2e2c1$5b254590$04a8a8c0@encoreteam.com> References: <004e01c2e2c1$5b254590$04a8a8c0@encoreteam.com> Message-ID: <1046889426.1124.18.camel@localhost.localdomain> On Wed, 2003-03-05 at 02:46, David A. Cornelson wrote: > - Is it possible to make the ASP.NET/Apache installation very > fool proof? I have found some typically rough install guides, but they > only mention Apache 2. I still run Apache 1.3 because I have many > users on my linux server and they˘ve lobbied against Apache 2. So my > request would be that mod_mono have very clear, foolproof instructions > or packages that work with the latest official releases of Apache > (1.3.27 and 2). The idea is that someone like me (a business type > developer with some knowledge of DEB˘s and RPM˘s) could execute an > install and have a sample website running automatically. Samples for > web forms in this installation would be extraordinarily helpful. I > have played with the Mono testing web server, but I think mod_mono is > really the killer app that needs to be pushed for people like myself. > Maybe there should be an automatically installed test website under > Apache that runs as localhost/monotest or something. I could help in > this are if you think it˘s a good idea. The libapache2-mod-mono package for Debian is being tested right now. When released, it'll be part of the Mono for Debian archive at http://www.debianplanet.org/mono/. A lot of feedback has been taken to make this work with the minimum of hassle, as we're aiming to make Debian the easiest platform to use for .NET developers and users coming from a Windows background. It'll be possible to install a complete ASP.NET hosting environment on a freshly installed Debian system with one command. apt-get install libapache2-mod-mono will pull any necessary dependencies including Apache 2 and the Mono JIT, and insert the necessary configuration file directives. There are still a couple of issues that make mod_mono difficult to use in a real-world environment. Obviously it'd be sensible not to push mod_mono to the masses until these issues are addressed. There is also an RPM available on the mod_mono site, but I gather it needs a certain amount of tweaking to get working. From Sebastien Pouliot Wed Mar 5 22:56:56 2003 From: Sebastien Pouliot (Sebastien Pouliot) Date: Wed, 05 Mar 2003 17:56:56 -0500 Subject: [Mono-list] Developing MONO References: <30BF363A03BC7E46BD984CB089096CF205208E@mx-har-coda3.coda.com> Message-ID: <004801c2e36a$8569fef0$0301a8c0@einstein> This is a multi-part message in MIME format. --Boundary_(ID_SGDeEA7reSGmQNvfxIc67g) Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 7BIT Hello Graham, I been using exclusively Windows 2000 for the last 6 months (well since I joined up Mono) without too much difficulty (once setup). However I only work on the class library (I can't build the runtime) and I never used GTK# or QT# (actually I never used Winforms), the Mono debugger (screenshots are so cool that I may install Linux just to try it) so YMMV. For myself the most difficult part is that the Linux and Windows build are different (make versus NAnt), which sometimes lead to small problems (mostly when I break the Linux build because I forget to add the new files the unix.args). So running XP shouldn't stop you from contributing in (most part of) Mono. Sebastien Pouliot Security Architect, Motus Technologies, http://www.motus.com/ work: spouliot@motus.com home: spouliot@videotron.ca ----- Original Message ----- From: Graham Allwood To: mono-list@ximian.com Sent: Wednesday, March 05, 2003 12:27 PM Subject: [Mono-list] Developing MONO Just out of interest, how many people use Unix / Linux for writing / contributing to MONO and how many people use Windows? I wouldn't mind helping but I'm running WinXP, am I going to find it difficult? Graham --Boundary_(ID_SGDeEA7reSGmQNvfxIc67g) Content-type: text/html; charset=iso-8859-1 Content-transfer-encoding: 7BIT
Hello Graham,
 
I been using exclusively Windows 2000 for the last 6 months (well since I joined up Mono) without too much difficulty (once setup). However I only work on the class library (I can't build the runtime) and I never used GTK# or QT# (actually I never used Winforms), the Mono debugger (screenshots are so cool that I may install Linux just to try it) so YMMV.
 
For myself the most difficult part is that the Linux and Windows build are different (make versus NAnt), which sometimes lead to small problems (mostly when I break the Linux build because I forget to add the new files the unix.args).
 
So running XP shouldn't stop you from contributing in (most part of) Mono.
 
Sebastien Pouliot
Security Architect, Motus Technologies, http://www.motus.com/
work: spouliot@motus.com
home: spouliot@videotron.ca
----- Original Message -----
Sent: Wednesday, March 05, 2003 12:27 PM
Subject: [Mono-list] Developing MONO

Just out of interest, how many people use Unix / Linux for writing / contributing to  MONO and how many people use Windows?

 

I wouldn't mind helping but I'm running WinXP, am I going to find it difficult?

 

Graham

--Boundary_(ID_SGDeEA7reSGmQNvfxIc67g)-- From martin@gnome.org Wed Mar 5 19:34:36 2003 From: martin@gnome.org (Martin Baulig) Date: Wed, 05 Mar 2003 20:34:36 +0100 Subject: [Mono-list] [Mono-announce-list] Released version 0.2.1 "Camebridge" of the Mono Debugger Message-ID: <86r89l7gkz.fsf@einstein.home-of-linux.org> Hi guys, just released version 0.2.1 "Camebridge" of the Mono Debugger :-) * Availability http://www.go-mono.com/archive/mono-debugger-0.2.1.tar.gz Below are the release notes: The Mono Debugger - 0.2.1 "Camebridge" ====================================== This is mostly a bug-fix release, but it also contains a few new features. See the NEWS file for details. About the Mono Debugger ----------------------- The Mono Debugger is a graphical debugger which is written in C#. It can debug both native and managed applications and it has a graphical and a text-mode user interface. At the moment, the debugger only works on the i386 architecture running either a Linux 2.2.x or 2.4.x kernel or FreeBSD 4.7. Most likely, the debugger also works on OpenBSD, but I don't have an OpenBSD system to test it. You can debug any single-threaded and multi-threaded managed applications (unmanaged multi-threaded applications are also supported, but a few restrictions apply in this case). Design Goals ------------ The debugger was designed to be modular and portable to other systems. However, when we started this project, we were already short on time so the backend is currently only implemented on the i386 architecture running either a Linux or BSD kernel. Our main idea was to write a debugger for managed applications, but still being able to debug unmanaged applications such as the JIT if necessary. However, due to the limited time we had on our hands, support for unmanaged applications is still a bit preliminary; it should be enough for a hacker to fix a bug, but it's way too uncomfortable for an ordinary user. Unlike other debugger GUI's, the debugger does not talk to an external debugger application such as gdb, but does everything itself. Thanks ------ First of all, I'd like to thank Ximian, Inc. which is a wonderful company to work for and Miguel de Icaza who helped me a lot this summer. Without them, this project wouldn't have become possible. I really appreciated hacking on this and it is a lot of fun to see my "baby" grow and develop :-) Limitations ----------- Ok, before promising too much, let's start with the limitations ;-) At the moment, the debugger only works on the i386 architecture. Despite its modular design, it's probably a huge task to port it to another hardware architecture. When we started the project, I originally wrote the backend just for Linux 2.2.x, but while doing the FreeBSD port I realized how easy it was to do this - so the debugger can probably be ported to all flavors of BSD with very little effort. The only limitation is that the operating system must support kernel-level threads and you must use them in glib and the runtime. This is explained a bit more detailed in README.FreeBSD. When debugging unmanaged applications, you cannot view any parameters or local variables. This is because the code to read the type information from a DWARF 2 symbol file is not yet written. At the moment, you need to use the HexEditor together with the method's disassembly and register viewer ...... At the moment, you cannot modify parameters or local variables. To do this right, we need to write an expression parser, but this takes some time to implement. Currently we cannot store the module list and breakpoints to disk because serialization support in Mono is not yet mature enough. The user interface still needs some loving. Features -------- * Single Stepping Engine The single stepping engine is responsible for single-stepping, stopping and continuing the target and getting notifications when the target hit a breakpoint. At the moment, the single stepping engine (class/SingleSteppingEngine.cs) can - step one machine instruction - step one machine instruction while stepping over method calls - step until the end of the current method - step until leaving a range of source lines (this includes stepping until reaching another source line) - step one source line - step one source line while stepping over method calls - step one source line while stepping over method calls, but only if the method is in a user-configurable list of modules (shared libs, dlls) When debugging managed applications, the single stepping engine can also - automatically trigger a JIT compilation of methods while single-stepping. This is done completely trasparently for the user, so you don't need to worry about JIT trampolines, not even when stepping one machine instruction, they'll be invisible for you like system calls. - insert a breakpoint on a method which is not yet JITed. - call a method in the target (but this is still very preliminar; due to the lacking expression parser we can't create the parameters yet). However, this is already used to call a property's getter and Object.ToString(). The single stepping engine supports debugging multi-threaded applications; a stepping operation in one thread does not affect any of the other threads. This means for instance that it is safe to insert a breakpoint on a method which is called by another thread. * Breakpoints Breakpoints can be used in managed and unmanaged methods. You can insert a breakpoint either for a method or for a source line. When inserting the breakpoint for a method, it'll be inserted on the instruction immediately following the method's prologue. So when the breakpoint it hit, the method's parameters can already be accessed. Breakpoints may be inserted for not-yet-JITed methods, the debugger will automatically insert the breakpoint when the method is JITed. When inserting the breakpoints by source line, it'll also re-lookup its address each time the method is JITed. This allows the JIT to create different code for the method each time it JITs it and breakpoints will still be working. The user interface may supply its own breakpoint handler class which may be used to implement conditional breakpoints; such a conditional breakpoint can also read parameters and local variables to decide whether to continue the target. Breakpoints can be inserted on a per-thread level, this means that a breakpoint will only "break" on the "correct" thread. This is very important when debugging system functions such as corlib. * Modules Each shared library and each dll appears as a module to the debugger. The user may configure whether to enter a module's methods while single-stepping and load/unload the module's symbol tables. The module list persists across multiple invocations of the same target; later on we can even synchronize it to disk - as well as the user's breakpoint settings. * Parameters and local variables Type support for managed types is almost complete. The debugger can already read all fundamental types, arrays, structs and classes. It can call a property's getter method and invoke an object's ToString() method. * Disassembly and processor registers The debugger has a CPU view to see a disassembly of the current method and view/modify the processor registers. There's also a hex editor to view/modify the target's memory. * Hex Editor The debugger has a hex editor to inspect or modify the target's memory. * Command line interface In addition to the graphical user interface, the debugger also has a textual command line interface (which is also available in the GUI). The command line interface has a few very cool features which the GUI does not have: - when debugging multi-threaded applications, you can debug all threads, not just the main thread. This includes single-stepping, getting stack frames and backtraces etc. for any of the other threads. - all commands are synchronous, especially the stepping commands; the debugger waits until the target has stopped again. - you can access variables from any stack frame, not just from the current one. - there's a (still very simple) expression evaluator which allows you to inspect local variables and parameters. - it can be used as regression test suite. March 4th, 2003 Martin Baulig -- Martin Baulig martin@gnome.org martin@ximian.com _______________________________________________ Mono-announce-list maillist - Mono-announce-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-announce-list From jason@379.com Thu Mar 6 02:38:45 2003 From: jason@379.com (J. Perkins) Date: Wed, 05 Mar 2003 21:38:45 -0500 Subject: [Mono-list] SWT port? Message-ID: <3E66B4B5.4030105@379.com> I tried to search the mailing lists but just got a bunch of dead links. I thought I remembered someone talking about porting SWT to C#. Is anyone working on this? The wx.NET binding is coming well and I intend to keep working on it, but I'm a little disappointed at the amount of code that is duplicated between the CLR and wxWindows. I have a few projects that need a lighterweight GUI, and SWT would seem to be just the thing. SWT: http://makeashorterlink.com/?G51B253B3 Jason 379 From amerigo5@hotmail.com Thu Mar 6 04:05:54 2003 From: amerigo5@hotmail.com (amerigo5 amerigo5) Date: Wed, 05 Mar 2003 22:05:54 -0600 Subject: [Mono-list] mod_mono error Message-ID: Hi, Does anyone recognize what the error below means? --start of error----- [Wed Mar 05 21:49:19 2003] [notice] Apache/2.0.44 (Unix) mod_mono/0.3 configured -- resuming normal operations ** (process:22789): CRITICAL **: : shared file [/.wapi/shared_data-0] open error: No such file or directory ** (process:22789): WARNING **: Failed to attach shared memory! Falling back to non-shared handles [Wed Mar 05 21:49:37 2003] [error] mod_mono: Could not initialize ModMono.dll. Is it in your path? --end of error------ I haven't done anything with the "/var/www/.wapi/" . I am not sure if this is necessary since I installed the apache 2.0.44 from the source. Also, the modmono.dll is in /usr/lib I am currently stuck. Any help would be highly appreciated. Thanks, -G _________________________________________________________________ Help STOP SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail From duncan@ximian.com Thu Mar 6 05:32:52 2003 From: duncan@ximian.com (Duncan Mak) Date: 06 Mar 2003 00:32:52 -0500 Subject: [Mono-list] Mono 0.22 has been released! Message-ID: <1046928772.10631.0.camel@diphthong> Hello everyone! We are releasing a new version of Mono, Mono 0.22. A new release is made today because of the few recent bug-fixes that were committed to CVS. Source code and binaries for this release can be found on the web page, http://www.go-mono.com/download.html The URLs for the sources are: * MCS package (the Class Libraries, C# and VB.NET compiler and other assorted tools written in Managed code): http://www.go-mono.com/archive/mcs-0.22.tar.gz * Mono package (the Runtime engine and JIT compiler): http://www.go-mono.com/archive/mono-0.22.tar.gz RPM packages for this release can be downloaded from the web-page as well as from the 'Mono' channel on Red Carpet. Debian packages will appear on the download page later, as well as an installer for our Windows users. Since last Thursday, 320 commits have been made to our CVS repository. These following hackers contributed to Mono since version 0.21: Aleksey Demakov, Alexandre Pigolkine, Atsushi Enomoto, Elan Feingeld, Dick Porter, Dietmar Maurer, Duncan Mak, Gonzalo Paniagua, Ian MacLean, Jackson Harper, Jean-Marc Andre, Jerome Laban, Lluis Sanchez, Martin Baulig, Miguel de Icaza, Nick Drochak, Paolo Molaro, Pedro Martinez, Per Ameng, Peter Williams, Rafael Teixeira, Reggie Burnett, Sebastien Pouliot, Tim Coleman and Zoltan Varga. Highlights: * The "MemoryStream" bug. This bug affected a lot of classes, and made them crashy, database code, XML parsing and a few others were crashing. Thanks to Gonzalo for fixing this bug. * System.Data: More bug fixes from Aleksey and Tim. * Reflection: Zoltan continues to provide fixes to our Reflection.Emit code to host IKVM. * Remoting: Lluis added support for activation using activation attributes. * PEToolkit: Jackson imported the PEAPI package from the Queensland University of Technology in Australia. This will replace the existing Mono.PEToolkit for our ILasm back-end. * Windows Forms: More fixes from Reggie and Alexandre. * System.Web.Mail: Per has been working on this namespace. He announces recently that all major parts of System.Web.Mail has now been implemented. * System.Web.Mobile: Gaurav continues to make progress here. * Misc: Ian MacLean contributed a /compile flag to monoresgen and assorted bug-fixes and improvements from the rest of the team. My name is Duncan Mak, and I just made my first Mono release. -- Duncan Mak From duncan@ximian.com Thu Mar 6 05:32:52 2003 From: duncan@ximian.com (Duncan Mak) Date: Thu, 06 Mar 2003 00:32:52 -0500 Subject: [Mono-list] [Mono-announce-list] Mono 0.22 has been released! Message-ID: <1046928772.10631.0.camel@diphthong> Hello everyone! We are releasing a new version of Mono, Mono 0.22. A new release is made today because of the few recent bug-fixes that were committed to CVS. Source code and binaries for this release can be found on the web page, http://www.go-mono.com/download.html The URLs for the sources are: * MCS package (the Class Libraries, C# and VB.NET compiler and other assorted tools written in Managed code): http://www.go-mono.com/archive/mcs-0.22.tar.gz * Mono package (the Runtime engine and JIT compiler): http://www.go-mono.com/archive/mono-0.22.tar.gz RPM packages for this release can be downloaded from the web-page as well as from the 'Mono' channel on Red Carpet. Debian packages will appear on the download page later, as well as an installer for our Windows users. Since last Thursday, 320 commits have been made to our CVS repository. These following hackers contributed to Mono since version 0.21: Aleksey Demakov, Alexandre Pigolkine, Atsushi Enomoto, Elan Feingeld, Dick Porter, Dietmar Maurer, Duncan Mak, Gonzalo Paniagua, Ian MacLean, Jackson Harper, Jean-Marc Andre, Jerome Laban, Lluis Sanchez, Martin Baulig, Miguel de Icaza, Nick Drochak, Paolo Molaro, Pedro Martinez, Per Ameng, Peter Williams, Rafael Teixeira, Reggie Burnett, Sebastien Pouliot, Tim Coleman and Zoltan Varga. Highlights: * The "MemoryStream" bug. This bug affected a lot of classes, and made them crashy, database code, XML parsing and a few others were crashing. Thanks to Gonzalo for fixing this bug. * System.Data: More bug fixes from Aleksey and Tim. * Reflection: Zoltan continues to provide fixes to our Reflection.Emit code to host IKVM. * Remoting: Lluis added support for activation using activation attributes. * PEToolkit: Jackson imported the PEAPI package from the Queensland University of Technology in Australia. This will replace the existing Mono.PEToolkit for our ILasm back-end. * Windows Forms: More fixes from Reggie and Alexandre. * System.Web.Mail: Per has been working on this namespace. He announces recently that all major parts of System.Web.Mail has now been implemented. * System.Web.Mobile: Gaurav continues to make progress here. * Misc: Ian MacLean contributed a /compile flag to monoresgen and assorted bug-fixes and improvements from the rest of the team. My name is Duncan Mak, and I just made my first Mono release. -- Duncan Mak _______________________________________________ Mono-announce-list maillist - Mono-announce-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-announce-list From christophw@alphasierrapapa.com Thu Mar 6 06:44:16 2003 From: christophw@alphasierrapapa.com (Christoph Wille) Date: Thu, 06 Mar 2003 07:44:16 +0100 Subject: [Mono-list] SWT port? In-Reply-To: <3E66B4B5.4030105@379.com> Message-ID: <5.2.0.9.2.20030306074056.04587058@mail.alphasierrapapa.com> At 09:38 PM 3/5/2003 -0500, J. Perkins wrote: >I tried to search the mailing lists but just got a bunch of dead links. > >I thought I remembered someone talking about porting SWT to C#. Is anyone >working on this? The wx.NET binding is coming well and I intend to keep >working on it, but I'm a little disappointed at the amount of code that is >duplicated between the CLR and wxWindows. I have a few projects that need >a lighterweight GUI, and SWT would seem to be just the thing. The #develop team is porting Java SWT to C# SharpWT. Discussions happen on the following list: http://lists.ximian.com/mailman/listinfo/sd-mono-port Downloads are not yet available from our main site (http://www.icsharpcode.net/), but from our sf.net downloads page: http://sourceforge.net/project/showfiles.php?group_id=17610&release_id=139533 (This page, btw, has also three chapter downloads on #develop in the section entitled "Inside SharpDevelop - Chapters") Chris #develop senior project wrangler From kstrempel@gmx.de Thu Mar 6 08:16:44 2003 From: kstrempel@gmx.de (Kai Strempel) Date: Thu, 6 Mar 2003 09:16:44 +0100 (MET) Subject: [Mono-list] RE: Writing daemons on Mono? Message-ID: <26710.1046938604@www20.gmx.net> >>Hi, >>I'm pretty new to Linux programming, and I would like to know if it was >>possible to write a daemon with mono (just like a Service on .NET). >>Are there any specific classes for this? >>How can I interact with a running daemon, on mono? Is in progress.. Bye Kai.. -- +++ GMX - Mail, Messaging & more http://www.gmx.net +++ Bitte lächeln! Fotogalerie online mit GMX ohne eigene Homepage! From daniel@rawbyte.com Thu Mar 6 08:51:32 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Thu, 6 Mar 2003 00:51:32 -0800 Subject: [Mono-list] mod_mono error In-Reply-To: References: Message-ID: <20030306085132.GA28007@rawbyte.com> As mentioned in the FAQ, you need to create the .wapi/ directory in teh home directory of the user Apache runs as. If you are using Apache taht came with your distribution, it is /var/www/. If you installed Apache from source, say in /usr/local/apache2/ then you need to create the /usr/local/apache2/htdocs/.wapi directory and make sure has the right permissions and is owned by the user Apache run as. I can see how the current wording in the FAQ entry can be confusing, so I will be updating it to be more specific. but this should solve it, let me know Cheers daniel > Hi, > > Does anyone recognize what the error below means? > > --start of error----- > [Wed Mar 05 21:49:19 2003] [notice] Apache/2.0.44 (Unix) mod_mono/0.3 > configured -- resuming normal operations > > ** (process:22789): CRITICAL **: : shared file [/.wapi/shared_data-0] open > error: No such file or directory > > ** (process:22789): WARNING **: Failed to attach shared memory! Falling > back to non-shared handles > [Wed Mar 05 21:49:37 2003] [error] mod_mono: Could not initialize > ModMono.dll. Is it in your path? > --end of error------ > > I haven't done anything with the "/var/www/.wapi/" . I am not sure if this > is necessary since I installed the apache 2.0.44 from the source. > > Also, the modmono.dll is in /usr/lib > > I am currently stuck. Any help would be highly appreciated. > > Thanks, > -G > > > > > _________________________________________________________________ > Help STOP SPAM with the new MSN 8 and get 2 months FREE* > http://join.msn.com/?page=features/junkmail > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From Graham.Allwood@CODA.com Thu Mar 6 08:47:35 2003 From: Graham.Allwood@CODA.com (Graham Allwood) Date: Thu, 6 Mar 2003 08:47:35 -0000 Subject: [Mono-list] Developing MONO Message-ID: <30BF363A03BC7E46BD984CB089096CF205208F@mx-har-coda3.coda.com> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2E3BD.087DC720 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Thanks for the reply Erik and Sebastien. =20 Sebastien, do you use cygwin then? =20 I'm really keen on contributing (if I get the time) but I need to get = the environment right. I'm a windows .net developer so would feel more at = home in Windows. I take it that there aren't enough GNU build tools = available for Windows to eliminate Cygwin are there? I've been trying for a while now = to get Cygwin to build MONO from the scripts but there's always something wrong. =20 This may be a na=EFve question but why is it so complicated building = MONO? I mean these all these utilities used like configure, automake (or = something). =20 Final question (for now), why can't both the Windows and Unix builds = use the same Nant file? =20 Thanks =20 Graham =20 -----Original Message----- From: Sebastien Pouliot [mailto:spouliot@videotron.ca]=20 Sent: 05 March 2003 22:57 To: Graham Allwood; mono-list@ximian.com Subject: Re: [Mono-list] Developing MONO =20 Hello Graham, =20 I been using exclusively Windows 2000 for the last 6 months (well since = I joined up Mono) without too much difficulty (once setup). However I = only work on the class library (I can't build the runtime) and I never used = GTK# or QT# (actually I never used Winforms), the Mono debugger (screenshots = are so cool that I may install Linux just to try it) so YMMV. =20 For myself the most difficult part is that the Linux and Windows build = are different (make versus NAnt), which sometimes lead to small problems = (mostly when I break the Linux build because I forget to add the new files the unix.args). =20 So running XP shouldn't stop you from contributing in (most part of) = Mono. =20 Sebastien Pouliot Security Architect, Motus Technologies, http://www.motus.com/ =20 work: spouliot@motus.com =20 home: spouliot@videotron.ca =20 ----- Original Message -----=20 From: Graham Allwood =20 To: mono-list@ximian.com =20 Sent: Wednesday, March 05, 2003 12:27 PM Subject: [Mono-list] Developing MONO =20 Just out of interest, how many people use Unix / Linux for writing / contributing to MONO and how many people use Windows? =20 I wouldn't mind helping but I'm running WinXP, am I going to find it difficult? =20 Graham ------_=_NextPart_001_01C2E3BD.087DC720 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Thanks for the reply Erik and = Sebastien.

 

=

Sebastien= , do you use cygwin = then?

 

=

I'm really keen on contributing = (if I get the time) but I need to get the environment right. I'm a windows .net developer so would feel more at home = in Windows. I take it that there aren't enough GNU build tools available for = Windows to eliminate Cygwin are there? I've been = trying for a while now to get Cygwin to build MONO = from the scripts but there's always something = wrong.

 

=

This may be a na=EFve question but = why is it so complicated building MONO? I mean these all these utilities used = like configure, automake = (or something).

 

=

Final question (for now), why = can't both the Windows and Unix builds use the = same Nant file?

 

=

Thanks

=

 

=

Graham

=

 

=

--= ---Original Message-----
From: Sebastien Pouliot [mailto:spouliot@videotron.ca]
Sent: =
05= March 2003 = 22= :57
To: Graham Allwood; mono-list@ximian.com
Subject: Re: [Mono-list] Developing MONO

 

Hello = Graham,

 

I been using = exclusively Windows 2000 for the last 6 months (well since I joined up Mono) = without too much difficulty (once setup). However I only work on the class library = (I can't build the runtime) and I never used GTK# or QT# (actually I never used Winforms), the Mono debugger (screenshots are so cool that I may = install Linux just to try it) so YMMV.

 

For myself the = most difficult part is that the Linux and Windows build are different (make versus = NAnt), which sometimes lead to small problems (mostly when I break the Linux = build because I forget to add the new files the = unix.args).

 

So running XP shouldn't = stop you from contributing in (most part = of) Mono.

 

Sebastien Pouliot
Security Architect, Motus Technologies, http://www.motus.com/
work: spouliot@motus.com
home: spouliot@videotron.ca

----- Original Message = -----

From: Graham Allwood =

Sent: Wednesday, March 05, = 2003 12:27 PM

Subject: [Mono-list] Developing MONO

 

Just out of interest, how = many people use Unix / Linux for writing / contributing to=A0 MONO and how many people use = Windows?

 

I wouldn't mind helping = but I'm running WinXP, am I going to find it = difficult?

 

Graham

------_=_NextPart_001_01C2E3BD.087DC720-- From Eran.Sandler@smarteam.com Thu Mar 6 07:55:36 2003 From: Eran.Sandler@smarteam.com (Eran Sandler) Date: Thu, 6 Mar 2003 09:55:36 +0200 Subject: [Mono-list] COM / DCOM in Mono Message-ID: <78AF93592520674C8277657BFB0FE01F0F225F@ilexc01.SMART.INTRA> It may solve the problem for talking with COM object in Linux, but you = can do the same by using Microsoft SOAP Toolkit and treat these COM = objects as a Web Service. What I'm trying to do is to make an ASP.NET application that does = reference certain COM objects for legacy reasons (the transition from = ASP to ASP.NET) and needs to run on top of Linux.=20 For that I need to simply write a DCOM client and write a compatible Com = Callable Wrapper (CCW) that will make all COM calls DCOM. Eran Sandler Software Engineer SmarTeam Corporation http://www.smarteam.com Email: erans@smarteam.com=20 Tel: +(972) 9 764 3938 Fax: +(972) 9 764 4001 -----Original Message----- From: alexandre.braganca@i2s.pt [mailto:alexandre.braganca@i2s.pt]=20 Sent: Wednesday, March 05, 2003 7:59 PM To: Eran Sandler Cc: mono-list@ximian.com Subject: RE: [Mono-list] COM / DCOM in Mono I don't now if I understand correctely the ideia, but mono Remoting from = a Linux box to a Windows box and importing the COM component in the = Windows box wouldn't do what you want? Alexandre -----Original Message----- From: Eran Sandler [mailto:Eran.Sandler@smarteam.com]=20 Sent: quarta-feira, 5 de Mar=E7o de 2003 14:05 To: jpo234@netscape.net Cc: mono-list@ximian.com Subject: RE: [Mono-list] COM / DCOM in Mono I don't want to emulate COM and/or make Linux apps talk suing DCE-RPC to = DCOM. My main intention in here is to simply allow ASP.NET programs that = access COM objects to run on Linux under Apache2, Mod_Mono and Mono. = That's it. Instead of emulating the environment I simply delegate it to the Windows = machine. Eran -----Original Message----- From: jpo234@netscape.net [mailto:jpo234@netscape.net]=20 Sent: Wednesday, March 05, 2003 1:57 PM To: Eran Sandler Cc: mono-list@ximian.com Subject: RE: [Mono-list] COM / DCOM in Mono > Well, I'm currently investigating how implement DCOM on other = systems. I > know it WAS implemented for UN*X and Linux by 3rd party = companies but > they didn't release the code. Be aware that Greg Turner is working on a DCOM implementation for Wine. = He has some initial tests running (not just DCOM but binary=20 compatible to Windows). One of the problems he identified was the fact that a number of Linux = programs provide DCE-RPC services on Linux: Samba (as the oldes and most = advanced program), DCE-RPC itself and DCOM. This mess would=20 require some kind of DCE-RPC "portmapper" to sort out. Regards Joerg __________________________________________________________________ The NEW Netscape 7.0 browser is now available. Upgrade now! = http://channels.netscape.com/ns/browsers/download.jsp=20 Get your own FREE, personal Netscape Mail account today at = http://webmail.netscape.com/ = _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com = http://lists.ximian.com/mailman/listinfo/mono-list From charlouis.mono@wanadoo.be Thu Mar 6 10:09:56 2003 From: charlouis.mono@wanadoo.be (Charles-Louis) Date: 06 Mar 2003 11:09:56 +0100 Subject: [Mono-list] Threads - Calling the Parent constructor from another assembly? In-Reply-To: <20030304182122.GR32096@debian.org> References: <1046446714.26070.18.camel@localhost.localdomain> <20030304182122.GR32096@debian.org> Message-ID: <1046945396.2025.1.camel@localhost.localdomain> Sorry, I think the problem was from my side... it's not a bug :| Le mar 04/03/2003 Ă  19:21, Paolo Molaro a Ă©crit : > On 02/28/03 Charles-Louis wrote: > > Basically, the core assembly contains an empty thread, and some classes > > to access it. My Mono assembly contains a frontend for those methods, > > and the GtkComponent class inherits from a BasicComponent in the core. > > > > in the Parent's constructor: (Core.dll) > > > > this.theThread = new Thread(new ThreadStart(WorkerThread)); > > //where WorkerThread is an empty virtual function// > > > > in Child: > > Class1 theClass = new Class1(); > > // the Class1 constructor doesn't exist, so it should call > > // the parent's constructor > > > > > > Problem: > > If I compile Mono + Common classes into one assembly, it works, andthe > > Thread is initialized, but if I separate both assemblies (in order to > > share the core), the Thread is never initialized (Parent's constructor > > is not used). > > Can you provide a small test case and file a bug report at > bugzilla.ximian.com with instructions about how to compile it and reproduce > the issue? > > Thanks > > lupus -- Charles-Louis From lupus@ximian.com Thu Mar 6 12:20:08 2003 From: lupus@ximian.com (Paolo Molaro) Date: Thu, 6 Mar 2003 13:20:08 +0100 Subject: [Mono-list] Developing MONO In-Reply-To: <30BF363A03BC7E46BD984CB089096CF205208F@mx-har-coda3.coda.com> References: <30BF363A03BC7E46BD984CB089096CF205208F@mx-har-coda3.coda.com> Message-ID: <20030306122008.GD32096@debian.org> On 03/06/03 Graham Allwood wrote: > I'm really keen on contributing (if I get the time) but I need to get the > environment right. I'm a windows .net developer so would feel more at home > in Windows. I take it that there aren't enough GNU build tools available for > Windows to eliminate Cygwin are there? I've been trying for a while now to > get Cygwin to build MONO from the scripts but there's always something > wrong. I used the script and it worked for me, if you get errors, you should file bug reports about them or (better) send patches to fix them. > This may be a naďve question but why is it so complicated building MONO? I > mean these all these utilities used like configure, automake (or something). It works flawlessly on linux, though I agree cygwin is not always a perfect fit for reproducing a unixy environment on windows. The windows programmers that want to use a different build process are welcome to contribute an nmake makefile or whatever they think makes the build process in windows easier for them. So far I think nobody stepped up to contribute that; if we missed a patch that does that, please remind us so that we can include it in the tarballs and in cvs. > Final question (for now), why can't both the Windows and Unix builds use the > same Nant file? Well, I think the question should be: why can't the windows build use makefiles? :-) Part of the reason is that until recently mono couldn't run nant, but even now, I wouldn't switch the build to use nant on unix, because I find makefiles so much nicer, both to maintain and to use. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From mikko.salmenpera@tut.fi Thu Mar 6 14:09:08 2003 From: mikko.salmenpera@tut.fi (=?ISO-8859-1?Q?Mikko_Salmenper=E4?=) Date: Thu, 06 Mar 2003 16:09:08 +0200 Subject: [Mono-list] Mono and web services Message-ID: <3E675684.4060207@tut.fi> This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigB40BD4C11204EDA5142E1D49 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Hi, Is it possible to run web services with mono? If it is, are there any examples available? Mikko -- -------------------------------------------- I Research Engineer I I Mikko Salmenperä I I Tampere University of Technology I I Automation and Control Institute I I I I e-mail: mikko.salmenpera@tut.fi I I tel: +358 (0)3 3115 4203 I I gsm: +358 (0)40 588 4765 I I fax: +358 (0)3 3115 2340 I -------------------------------------------- --------------enigB40BD4C11204EDA5142E1D49 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQE+Z1aExacFY6Ga/g4RAgljAKCbzEZMFdsdUdo1yieN6f8xlxoQNwCePpNI CAYV6Wh9pjOsChyFq0dQUvY= =Q5Pa -----END PGP SIGNATURE----- --------------enigB40BD4C11204EDA5142E1D49-- From vikas.deolaliker@sun.com Thu Mar 6 16:32:22 2003 From: vikas.deolaliker@sun.com (Vikas Deolaliker) Date: Thu, 6 Mar 2003 08:32:22 -0800 Subject: [Mono-list] Building Mono on Windows XP In-Reply-To: <30BF363A03BC7E46BD984CB089096CF205208F@mx-har-coda3.coda.com> Message-ID: <002101c2e3fd$f99f6880$0201a8c0@DEOLALI> This is a multi-part message in MIME format. ------=_NextPart_000_0022_01C2E3BA.EB7C2880 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit I am trying to build Mono-0.21 and mcs-0.21 on WinXP/Cygwin. I can't find anywhere the GLIB2.0 library for windows? Without this the configure script on mono build breaks. Any ideas where I could locate the glib for windows? Vikas Deolaliker ------=_NextPart_000_0022_01C2E3BA.EB7C2880 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Message
I am=20 trying to build Mono-0.21 and mcs-0.21 on WinXP/Cygwin. I can't find = anywhere=20 the GLIB2.0 library for windows? Without this the configure script on = mono build=20 breaks. Any ideas where I could locate the glib for windows?=20
 
Vikas=20 Deolaliker
------=_NextPart_000_0022_01C2E3BA.EB7C2880-- From Graham.Allwood@CODA.com Thu Mar 6 16:49:39 2003 From: Graham.Allwood@CODA.com (Graham Allwood) Date: Thu, 6 Mar 2003 16:49:39 -0000 Subject: [Mono-list] Building Mono on Windows XP Message-ID: <30BF363A03BC7E46BD984CB089096CF2052094@mx-har-coda3.coda.com> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2E400.60B5DF20 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="iso-8859-1" Vikas, You should find a link to this and other required libraries at the bottom of the download page: http://www.go-mono.com/download.html Hope this helps Graham -----Original Message----- From: Vikas Deolaliker [mailto:vikas.deolaliker@sun.com] Sent: 06 March 2003 16:32 To: mono-list@ximian.com Subject: [Mono-list] Building Mono on Windows XP I am trying to build Mono-0.21 and mcs-0.21 on WinXP/Cygwin. I can't find anywhere the GLIB2.0 library for windows? Without this the configure script on mono build breaks. Any ideas where I could locate the glib for windows? Vikas Deolaliker ------_=_NextPart_001_01C2E400.60B5DF20 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Message

Vikas,

 

=

You should find a link to this and = other required libraries at the bottom of the download = page:

 

=

http://www.go-mono.com/dow= nload.html

 

=

Hope this = helps

 

=

Graham

=

 

=

--= ---Original Message-----
From: Vikas Deolaliker [mailto:vikas.deolaliker@sun.com]
Sent: =
06= March 2003 = 16= :32
To: = mono-list@ximian.com
Subject: [Mono-list] = Building Mono on Windows XP

 

I am trying to build Mono-0.21 and mcs-0.21 on WinXP/Cygwin. I can't find = anywhere the GLIB2.0 library for windows? Without this the configure script on = mono build breaks. Any ideas where I could locate the glib for windows? =

 

Vikas Deolaliker

------_=_NextPart_001_01C2E400.60B5DF20-- From miguel@ximian.com Thu Mar 6 17:34:25 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 06 Mar 2003 12:34:25 -0500 Subject: [Mono-list] Mono and web services In-Reply-To: <3E675684.4060207@tut.fi> References: <3E675684.4060207@tut.fi> Message-ID: <1046972065.8245.517.camel@erandi.boston.ximian.com> Hello, > Is it possible to run web services with mono? If it is, are there any > examples available? No support for web services yet. Miguel From jaime@gnome.org Thu Mar 6 18:37:28 2003 From: jaime@gnome.org (Jaime Anguiano Olarra) Date: 06 Mar 2003 19:37:28 +0100 Subject: [Mono-list] Mono Weekly News, Feb 21st, March 06th Message-ID: <1046975848.685.3.camel@monoer> Hi all!, Finally I have done a new MWN issue with statistics and mail summary for the last two weeks. This time there is no interview but I hope to get them back for the next issue. You can get it here: http://monoevo.sourceforge.net/mwn/20030306.html And the archives: http://monoevo.sf.net/mwn/archives.html Thanks and best wishes, Jaime. -- http://www.go-mono.org -- The Mono Project, .net + freedom. From umuff@quark.com Thu Mar 6 18:56:13 2003 From: umuff@quark.com (Urs Muff) Date: Thu, 6 Mar 2003 11:56:13 -0700 Subject: [Mono-list] OT: which linux do you use and why Message-ID: <23436D758E4CA54F8EDC2F7DE3B1A28B02A8B3FD@denver.quark.com> This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C2E412.0F0C6510 Content-Type: text/plain I'm a windows/Mac guy and didn't keep up to date with all the different Linux flavors. What are the main differences and advantages of each system; since most of you are Linux guys I thought you might have an opinion about that: - Debian - Mandrake - Red Hat - SuSE Sorry for the OT spam. - Urs C. Muff ------_=_NextPart_001_01C2E412.0F0C6510 Content-Type: text/html Content-Transfer-Encoding: quoted-printable OT: which linux do you use and why

I'm a windows/Mac = guy and didn't keep up to date with all the different Linux = flavors.  What are the main = differences and advantages of each system; since most of you = are Linux guys I thought you might have an opinion about = that:

-       Debian
-       Mandrake
-       Red Hat
-       SuSE

Sorry for the OT = spam.

- Urs C. = Muff

------_=_NextPart_001_01C2E412.0F0C6510-- From jaime@gnome.org Thu Mar 6 18:37:28 2003 From: jaime@gnome.org (Jaime Anguiano Olarra) Date: Thu, 06 Mar 2003 19:37:28 +0100 Subject: [Mono-list] [Mono-announce-list] Mono Weekly News, Feb 21st, March 06th Message-ID: <1046975848.685.3.camel@monoer> Hi all!, Finally I have done a new MWN issue with statistics and mail summary for the last two weeks. This time there is no interview but I hope to get them back for the next issue. You can get it here: http://monoevo.sourceforge.net/mwn/20030306.html And the archives: http://monoevo.sf.net/mwn/archives.html Thanks and best wishes, Jaime. -- http://www.go-mono.org -- The Mono Project, .net + freedom. _______________________________________________ Mono-announce-list maillist - Mono-announce-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-announce-list From Sebastien Pouliot Thu Mar 6 23:42:02 2003 From: Sebastien Pouliot (Sebastien Pouliot) Date: Thu, 06 Mar 2003 18:42:02 -0500 Subject: [Mono-list] Developing MONO References: <30BF363A03BC7E46BD984CB089096CF205208F@mx-har-coda3.coda.com> Message-ID: <004f01c2e439$fd2e6460$0301a8c0@einstein> This is a multi-part message in MIME format. --Boundary_(ID_gyLkVQ9q6e9ghM2pvQrGSQ) Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: quoted-printable Hello Graham, Sebastien, do you use cygwin then? Yes I do. I'm really keen on contributing (if I get the time) but I need to get = the environment right. I'm a windows .net developer so would feel more = at home in Windows. I take it that there aren't enough GNU build tools = available for Windows to eliminate Cygwin are there? I've been trying = for a while now to get Cygwin to build MONO from the scripts but there's = always something wrong. As I said I never (well that's not entirely true but close enough) tried = to compile mono (under /mono/ in CVS) - so I didn't need the scripts. I = only compile mcs, the class library, the tools (i.e. what's under /mcs/ = in CVS) and, sometime, the doc (/mono/doc/web). This is far more easier = to setup. This may be a na=EFve question but why is it so complicated building = MONO? I mean these all these utilities used like configure, automake (or = something). Many different environments. It makes us remember that cross platform = development is difficult without Mono ;-) Final question (for now), why can't both the Windows and Unix builds = use the same Nant file? That would be nice (for the record I much prefer NAnt over makefiles = :-). Sebastien Pouliot Security Architect, Motus Technologies, http://www.motus.com/ work: spouliot@motus.com home: spouliot@videotron.ca --Boundary_(ID_gyLkVQ9q6e9ghM2pvQrGSQ) Content-type: text/html; charset=iso-8859-1 Content-transfer-encoding: quoted-printable
Hello Graham,

Sebastien, do you = use cygwin = then?

 Yes I do.

I'm really = keen on=20 contributing (if I get the time) but I need to get the environment = right. I'm=20 a windows .net developer so would feel more = at home=20 in Windows. I take it that there aren't enough GNU build tools = available for=20 Windows to eliminate Cygwin are there? = I've been=20 trying for a while now to get Cygwin to = build MONO=20 from the scripts but there's always something=20 wrong.

As I said I = never (well=20 that's not entirely true but close enough) tried to compile = mono (under=20 /mono/ in CVS) - so I didn't need the scripts. I only = compile mcs, the=20 class library, the tools (i.e. what's under /mcs/ in CVS) and, sometime, = the doc=20 (/mono/doc/web). This is far more easier to setup.

This may be = a na=EFve=20 question but why is it so complicated building MONO? I mean these all = these=20 utilities used like configure, automake (or=20 something).

 Many different environments. It makes us remember that = cross=20 platform development is difficult without Mono=20 ;-)

Final = question (for=20 now), why can't both the Windows and Unix = builds use=20 the same Nant file?

That would be nice (for the record I much prefer NAnt = over=20 makefiles :-).

 

Sebastien=20 Pouliot
Security Architect, Motus Technologies, http://www.motus.com/
work: spouliot@motus.com
home: spouliot@videotron.ca
=

 

--Boundary_(ID_gyLkVQ9q6e9ghM2pvQrGSQ)-- From jonpryor@vt.edu Fri Mar 7 02:24:59 2003 From: jonpryor@vt.edu (Jonathan Pryor) Date: 06 Mar 2003 21:24:59 -0500 Subject: [Mono-list] Build once run on multiple platforms In-Reply-To: <30BF363A03BC7E46BD984CB089096CF2052089@mx-har-coda3.coda.com> References: <30BF363A03BC7E46BD984CB089096CF2052089@mx-har-coda3.coda.com> Message-ID: <1047003897.1888.30.camel@melchior.magi> There are two answers, the short term answer and the long term answer. The short term answer is that this isn't a problem, for .NET->Mono usage scenarios. Mono doesn't support strong names at the moment, nor does it support shared assemblies and the GAC (Global Assembly Cache). The benefit to all this is that you can take your csc-compiled code which uses the System.Data strong name and it'll work under Mono without any problems (unless you hit an area that hasn't been implemented yet.) The opposite direction "breaks" things: you can't compile your Mono app against Mono's System.Data and have it magically use .NET's System.Data strong-name assembly under Windows. .NET expects a non-shared assembly, so it'll look for a System.Data.dll in the program's AppBasePath directory, *not* the System.Data shared assembly. You could copy Mono's System.Data.dll into the program's directory and things should work, but that's probably not quite what you want. The long term answer is unknown. Long-term Mono should support strong-names, shared assemblies, and the GAC, but in doing so will probably need to provide a mapping mechanism so that Mono can run .NET-compiled programs using the Mono-native libraries, as appropriate. Alternatively we could argue that all ECMA-standardized assemblies should have the same assembly name, public key, and version (these are all part of the ECMA-335 standard for the standardized types), so there shouldn't be any interoperability problems for the standardized types... ...Then realize that most types aren't standardized (System.Data, System.Windows.Forms, etc.), so a mapping mechanism is probably necessary. There are still a lot unanswered issues for the long-term solution. - Jon On Wed, 2003-03-05 at 08:47, Graham Allwood wrote: > Can I ask a general question? More clarification I suppose. > > > > It not going to be possible to run a program compiled with the MS .NET > implementation (using Windows) on MONO is it? I mean, when I compile > with either CSC or MCS and add references to say System.Data (or > whatever) then this will add a reference to a strong named type. So > when I compile with MS.NET, the strong name of the MONO System.Data > assembly is not going to match? > > > > So is the idea that when I compile under windows I use the MONO > libraries if I want my exe to run on Unix because things like > System.Data will have the same strong name on both machines? > > > > I thinking more towards System.Windows.Forms, but I didn't know if > this would complicate things. > > > > Regards > > > > Graham Allwood > > > > From cleamcpb@hotmail.com Thu Mar 6 16:33:37 2003 From: cleamcpb@hotmail.com (Michael Schwery) Date: Thu, 06 Mar 2003 16:33:37 +0000 Subject: [Mono-list] RedHat 8.0 rpm Message-ID:

I've noticed on the .22 and .21 releases there are no rpms

for RedHat 8.0. When will it be available.




MSN 8 with e-mail virus protection service: 2 months FREE* From dan@astusa.com Thu Mar 6 19:21:53 2003 From: dan@astusa.com (Dan Maltes) Date: Thu, 6 Mar 2003 14:21:53 -0500 Subject: [Mono-list] RE: [Mono-announce-list] Mono 0.22 has been released! In-Reply-To: <13BEDBBA3AD4D311B7F3004005A2E2FA6900B2@NTSERVER2> Message-ID: <13BEDBBA3AD4D311B7F3004005A2E2FA2FAFC5@NTSERVER2> I'm curious, how can we tell what parts of the remaining mono framework classes are/can be written in C# and what parts have to be done with gcc/glibc? I've no experience with gcc but would like to contribute to mono framework classes that can be written in C#. -Dan -----Original Message----- From: mono-announce-list-admin@lists.ximian.com [mailto:mono-announce-list-admin@lists.ximian.com] On Behalf Of Duncan Mak Sent: Thursday, March 06, 2003 12:33 AM To: mono-list mailing list; mono-announce-list@lists.ximian.com Subject: [Mono-announce-list] Mono 0.22 has been released! Hello everyone! We are releasing a new version of Mono, Mono 0.22. A new release is made today because of the few recent bug-fixes that were committed to CVS. Source code and binaries for this release can be found on the web page, http://www.go-mono.com/download.html The URLs for the sources are: * MCS package (the Class Libraries, C# and VB.NET compiler and other assorted tools written in Managed code): http://www.go-mono.com/archive/mcs-0.22.tar.gz * Mono package (the Runtime engine and JIT compiler): http://www.go-mono.com/archive/mono-0.22.tar.gz RPM packages for this release can be downloaded from the web-page as well as from the 'Mono' channel on Red Carpet. Debian packages will appear on the download page later, as well as an installer for our Windows users. Since last Thursday, 320 commits have been made to our CVS repository. These following hackers contributed to Mono since version 0.21: Aleksey Demakov, Alexandre Pigolkine, Atsushi Enomoto, Elan Feingeld, Dick Porter, Dietmar Maurer, Duncan Mak, Gonzalo Paniagua, Ian MacLean, Jackson Harper, Jean-Marc Andre, Jerome Laban, Lluis Sanchez, Martin Baulig, Miguel de Icaza, Nick Drochak, Paolo Molaro, Pedro Martinez, Per Ameng, Peter Williams, Rafael Teixeira, Reggie Burnett, Sebastien Pouliot, Tim Coleman and Zoltan Varga. Highlights: * The "MemoryStream" bug. This bug affected a lot of classes, and made them crashy, database code, XML parsing and a few others were crashing. Thanks to Gonzalo for fixing this bug. * System.Data: More bug fixes from Aleksey and Tim. * Reflection: Zoltan continues to provide fixes to our Reflection.Emit code to host IKVM. * Remoting: Lluis added support for activation using activation attributes. * PEToolkit: Jackson imported the PEAPI package from the Queensland University of Technology in Australia. This will replace the existing Mono.PEToolkit for our ILasm back-end. * Windows Forms: More fixes from Reggie and Alexandre. * System.Web.Mail: Per has been working on this namespace. He announces recently that all major parts of System.Web.Mail has now been implemented. * System.Web.Mobile: Gaurav continues to make progress here. * Misc: Ian MacLean contributed a /compile flag to monoresgen and assorted bug-fixes and improvements from the rest of the team. My name is Duncan Mak, and I just made my first Mono release. -- Duncan Mak _______________________________________________ Mono-announce-list maillist - Mono-announce-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-announce-list From atownley@meridianp2p.com Fri Mar 7 11:07:28 2003 From: atownley@meridianp2p.com (Andrew S. Townley) Date: 07 Mar 2003 11:07:28 +0000 Subject: [Mono-list] mbas: Special behavior for first line of source file? Message-ID: <1047035248.1428.27.camel@miyu.meridianp2p.com> ----=_NextPart_ST_11_08_49_Friday_March_07_2003_3960 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi. Let me start by saying that I wouldn't be the biggest VB wizard (and I can't check this because I'm waiting for IT to get me a license for the Visual Studio .NET), but I don't remember that the first line of a source file has to start with a keyword. Basically, I couldn't figure out why my stupid hello world program wouldn't work, but then I did one without comments and it worked. If you start the file with either a blank line or a comment, the compiler gives the following error: $ mbas hello.vb syntax error, expecting EOF CLASS DELEGATE ENUM FRIEND IMPORTS INTERFACE MODULE NAMESPACE OPTION PRIVATE PROTECTED PUBLIC SHARED STRUCTURE OP_LT Line: 2 Col: 0 VirtLine: 2 Token: 308 : Parsing error in hello.vb hello.vb(2) error BC9999: Mono.MonoBASIC.yyParser.yyException: irrecoverable syntax error in <0x00701> 00 Mono.MonoBASIC.Parser:yyparse (Mono.MonoBASIC.yyParser.yyInput) in <0x00244> 00 Mono.MonoBASIC.Parser:parse () Compilation failed: 1 Error(s), 0 warnings is this really how it is supposed to be? Sorry for asking such a bone-headed question, but something bone-headed like this wouldn't surprise me since VB these days just seems like a series of bolt-ons on top of bolt-ons. Thanks in advance, ast --=20 Andrew S. Townley ----=_NextPart_ST_11_08_49_Friday_March_07_2003_3960 Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (GNU/Linux) iD8DBQA+aH1wlLbNLLbqqhQRAvxDAJ0Tl5ZoTc1v+yVt9IcN0DP1uDcF0QCfSq14 CiOe8qcr1+m/NDlXeV4vupQ= =ZCG2 -----END PGP SIGNATURE----- ----=_NextPart_ST_11_08_49_Friday_March_07_2003_3960-- From jonpryor@vt.edu Fri Mar 7 13:54:36 2003 From: jonpryor@vt.edu (Jonathan Pryor) Date: 07 Mar 2003 08:54:36 -0500 Subject: [Mono-list] RE: [Mono-announce-list] Mono 0.22 has been released! In-Reply-To: <13BEDBBA3AD4D311B7F3004005A2E2FA2FAFC5@NTSERVER2> References: <13BEDBBA3AD4D311B7F3004005A2E2FA2FAFC5@NTSERVER2> Message-ID: <1047045276.1888.39.camel@melchior.magi> In general, what *can* be done in C# *should* be done in C#. That summarizes to class libraries in C#, JIT/interpreter and related code in C. There are exceptions. Some C# code has been turned into internal calls to remove those annoying "The library Foo.dll could not be found" messages. Other class library sections couldn't easily be done in C#, such as many IO functions, so C internal calls exist which the C# classes use for their implementation. I would imagine that remoting is mostly written in C, but I have no idea. Development speed has also been used as an exception. At one point, we wanted our XML library to be 100% managed code (IIRC), but expediency led us to wrap libxslt and libxml2 for XSLT functionality. This may change in the future. So how do you tell the difference? Try to write it in C#, and if you can't, fall back to C. :-) - Jon On Thu, 2003-03-06 at 14:21, Dan Maltes wrote: > I'm curious, how can we tell what parts of the remaining mono framework > classes are/can be written in C# and what parts have to be done with > gcc/glibc? I've no experience with gcc but would like to contribute to > mono framework classes that can be written in C#. > > -Dan > > > -----Original Message----- > From: mono-announce-list-admin@lists.ximian.com > [mailto:mono-announce-list-admin@lists.ximian.com] On Behalf Of Duncan > Mak > Sent: Thursday, March 06, 2003 12:33 AM > To: mono-list mailing list; mono-announce-list@lists.ximian.com > Subject: [Mono-announce-list] Mono 0.22 has been released! > > > Hello everyone! > > We are releasing a new version of Mono, Mono 0.22. A new release > is made today because of the few recent bug-fixes that were committed > to CVS. > > Source code and binaries for this release can be found on the > web page, > > http://www.go-mono.com/download.html > > The URLs for the sources are: > > * MCS package (the Class Libraries, C# and VB.NET compiler > and other assorted tools written in Managed code): > > http://www.go-mono.com/archive/mcs-0.22.tar.gz > > * Mono package (the Runtime engine and JIT compiler): > > http://www.go-mono.com/archive/mono-0.22.tar.gz > > RPM packages for this release can be downloaded from the web-page > as well as from the 'Mono' channel on Red Carpet. Debian packages will > appear on the download page later, as well as an installer for our > Windows users. > > Since last Thursday, 320 commits have been made to our CVS > repository. These following hackers contributed to Mono since version > 0.21: > > Aleksey Demakov, Alexandre Pigolkine, Atsushi Enomoto, Elan > Feingeld, Dick Porter, Dietmar Maurer, Duncan Mak, Gonzalo > Paniagua, Ian MacLean, Jackson Harper, Jean-Marc Andre, Jerome > Laban, Lluis Sanchez, Martin Baulig, Miguel de Icaza, Nick > Drochak, Paolo Molaro, Pedro Martinez, Per Ameng, Peter Williams, > Rafael Teixeira, Reggie Burnett, Sebastien Pouliot, Tim Coleman > and Zoltan Varga. > > Highlights: > > * The "MemoryStream" bug. > This bug affected a lot of classes, and made them crashy, > database code, XML parsing and a few others were > crashing. Thanks to Gonzalo for fixing this bug. > > * System.Data: > More bug fixes from Aleksey and Tim. > > * Reflection: > Zoltan continues to provide fixes to our Reflection.Emit code > to host IKVM. > > * Remoting: > Lluis added support for activation using activation > attributes. > > * PEToolkit: > Jackson imported the PEAPI package from the Queensland > University of Technology in Australia. This will replace the > existing Mono.PEToolkit for our ILasm back-end. > > * Windows Forms: > More fixes from Reggie and Alexandre. > > * System.Web.Mail: > Per has been working on this namespace. He announces recently > that all major parts of System.Web.Mail has now been > implemented. > > * System.Web.Mobile: > Gaurav continues to make progress here. > > * Misc: > > Ian MacLean contributed a /compile flag to monoresgen and > assorted bug-fixes and improvements from the rest of the team. > > > My name is Duncan Mak, and I just made my first Mono release. From tganter@mac.com Fri Mar 7 11:45:28 2003 From: tganter@mac.com (Thomas Ganter) Date: Fri, 07 Mar 2003 12:45:28 +0100 Subject: [Mono-list] Mac OS X porting ... ? Message-ID: <3955948.1047037528367.JavaMail.tganter@mac.com> Hello all, excuse me if this is a FAQ, but I did not find it in the FAQ. 8^) I am a somewhat (minorly) experienced Mac developer who would want to get in contact with anyone currently working on an OS X port of Mono. To avoid clutter on this list, please contact me via private mail: tganter@mac.com - Thomas From j@bitron.ch Fri Mar 7 12:52:53 2003 From: j@bitron.ch (Jürg Billeter) Date: Fri, 7 Mar 2003 13:52:53 +0100 Subject: [Mono-list] Binaries for Mac OS X Message-ID: Hi Would somebody be so kind and provide ready-to-use binaries of the mono runtime - compiled for Mac OS X - to me? The problem is that I don't have access to a PPC/Mac OS X machine but somebody wants to run a .NET program I wrote and he has no knowledge in compiling things. Thank you very much Jürg Billeter j at bitron dot ch From Neale.Ferguson@SoftwareAG-USA.com Fri Mar 7 14:51:41 2003 From: Neale.Ferguson@SoftwareAG-USA.com (Ferguson, Neale) Date: Fri, 7 Mar 2003 07:51:41 -0700 Subject: [Mono-list] Patch to build RPM on S390 Message-ID: <9A4FC925410C024792B85198DF1E97E403F46491@usmsg03.sagus.com> The following patch will allow the building of RPMs from the src RPM: --- mono-orig.spec 2003-03-07 14:46:39.000000000 -0500 +++ mono.spec 2003-03-07 14:29:42.000000000 -0500 @@ -36,11 +36,13 @@ %install rm -rf %{buildroot} (cd mono*; %makeinstall +%ifarch s390 cp mono/interpreter/mint %{buildroot}/usr/bin/mono +%endif ) %clean rm -rf %{buildroot} @@ -82,12 +84,14 @@ %{_mandir}/man5/* %files devel %defattr(-, root, root) +%ifnarch s390 %{_libdir}/*.a %{_libdir}/*.la %{_libdir}/*.so +%endif %{_libdir}/pkgconfig/* %{_includedir}/* %{_datadir}/%{name}/* Neale Ferguson From rafaelteixeirabr@hotmail.com Fri Mar 7 14:56:17 2003 From: rafaelteixeirabr@hotmail.com (A Rafael D Teixeira) Date: Fri, 07 Mar 2003 11:56:17 -0300 Subject: [Mono-list] mbas: Special behavior for first line of source file? Message-ID: It's a known (by me) bug in mbas. I don't have the time just now to look after it, for now, just start with a Option something or Namespace/Class/Module block. You can register a bug at bugzilla, for us to track it's correction. Thanks for your testing efforts, Rafael Teixeira Brazilian Polymath Mono, MonoQLE Hacker _________________________________________________________________ MSN 8 with e-mail virus protection service: 2 months FREE* http://join.msn.com/?page=features/virus From Neale.Ferguson@SoftwareAG-USA.com Fri Mar 7 15:01:47 2003 From: Neale.Ferguson@SoftwareAG-USA.com (Ferguson, Neale) Date: Fri, 7 Mar 2003 08:01:47 -0700 Subject: [Mono-list] S/390 RPMs Message-ID: <9A4FC925410C024792B85198DF1E97E403F46492@usmsg03.sagus.com> I have 0.22 RPMs for S390 do you want them for the website? Neale Ferguson From ranger@befunk.com Fri Mar 7 15:26:34 2003 From: ranger@befunk.com (Benjamin Reed) Date: Fri, 07 Mar 2003 10:26:34 -0500 Subject: [Mono-list] Mac OS X porting ... ? In-Reply-To: <3955948.1047037528367.JavaMail.tganter@mac.com> References: <3955948.1047037528367.JavaMail.tganter@mac.com> Message-ID: <3E68BA2A.1040906@befunk.com> Thomas Ganter wrote: > Hello all, > > excuse me if this is a FAQ, but I did not find it in the FAQ. 8^) > > I am a somewhat (minorly) experienced Mac developer who would want > to get in contact with anyone currently working on an OS X port of Mono. > > To avoid clutter on this list, please contact me via private mail: tganter@mac.com (Responding to the list anyways, I'm assuming others are interested in this... There seems to be a pretty decent response in here when the subject of OSX comes up -- I for one would like to see mono be actually usable. =) ) I don't know that anyone's actively working on it. I've given it a shot a couple of times off and on but the problems in getting mcs to work are beyond my coding abilities. Right now mono builds (and runs for some very minor things), but fails when building mcs with a bus error. (after warning about using non-atomic functions). Feel free to give it a shot, if you get it working let me know, and I'll package mcs in fink (mono is already, but only because some people asked for it on the list... it's not really stable yet). From mush_keithd@yahoo.co.uk Fri Mar 7 15:43:12 2003 From: mush_keithd@yahoo.co.uk (=?iso-8859-1?q?keith=20davey?=) Date: Fri, 7 Mar 2003 15:43:12 +0000 (GMT) Subject: [Mono-list] Mac OS X porting ... ? In-Reply-To: <3E68BA2A.1040906@befunk.com> Message-ID: <20030307154312.7837.qmail@web11003.mail.yahoo.com> Hi, I have been building on OSX. It does work but with some problems. The area I am most looking at is loading native OSX resources from within mono. OSX does not use standard shared objects like those from the windows and Linux world, so it is tricky. My mainn goal is to make a Cocoa# library, but there will have to be more ground work done before that. Keith --- Benjamin Reed wrote: > Thomas Ganter wrote: > > Hello all, > > > > excuse me if this is a FAQ, but I did not find it > in the FAQ. 8^) > > > > I am a somewhat (minorly) experienced Mac > developer who would want > > to get in contact with anyone currently working > on an OS X port of Mono. > > > > To avoid clutter on this list, please contact me > via private mail: tganter@mac.com > > (Responding to the list anyways, I'm assuming others > are interested in > this... There seems to be a pretty decent response > in here when the > subject of OSX comes up -- I for one would like to > see mono be actually > usable. =) ) > > I don't know that anyone's actively working on it. > I've given it a shot > a couple of times off and on but the problems in > getting mcs to work are > beyond my coding abilities. Right now mono builds > (and runs for some > very minor things), but fails when building mcs with > a bus error. > (after warning about using non-atomic functions). > > Feel free to give it a shot, if you get it working > let me know, and I'll > package mcs in fink (mono is already, but only > because some people asked > for it on the list... it's not really stable yet). > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com From eriklebel@yahoo.ca Fri Mar 7 16:34:42 2003 From: eriklebel@yahoo.ca (Erik LeBel) Date: Fri, 7 Mar 2003 11:34:42 -0500 (EST) Subject: [Mono-list] Web Services Message-ID: <20030307163442.86471.qmail@web13304.mail.yahoo.com> --0-117718404-1047054882=:85833 Content-Type: text/plain; charset=us-ascii So far no one has claimed ownership of Web Services. As long as their are no objections, I'm going to look at implementing as much of the core functionality as I can, and will send it in piecemeal. Anyone who wants in on the action, drop me a line. I'll send you what I've got. regards, Erik --------------------------------- Post your free ad now! Yahoo! Canada Personals --0-117718404-1047054882=:85833 Content-Type: text/html; charset=us-ascii

So far no one has claimed ownership of Web Services. As long as their are no objections, I'm going to look at implementing as much of the core functionality as I can, and will send it in piecemeal.

Anyone who wants in on the action, drop me a line. I'll send you what I've got.

regards,

Erik



Post your free ad now! Yahoo! Canada Personals
--0-117718404-1047054882=:85833-- From charlouis.mono@wanadoo.be Fri Mar 7 15:44:37 2003 From: charlouis.mono@wanadoo.be (Charles-Louis) Date: 07 Mar 2003 16:44:37 +0100 Subject: [Mono-list] How can the assembly check the OS it's on? Message-ID: <1047051877.21972.4.camel@localhost.localdomain> Hi, I was wondering if it was possible for an assembly to now on which OS it is running? eg. if I'm running on windows, I'll use the Windows System logs, and if I'm on Linux, i'll use the Linux logs... I'd like my compiled assembly to detect it, and I'd rather not use an App.config file for this. Is this possible? Thanks -- Charles-Louis From tcabanski@OAI.cc Fri Mar 7 20:09:16 2003 From: tcabanski@OAI.cc (Tom Cabanski) Date: Fri, 7 Mar 2003 14:09:16 -0600 Subject: [Mono-list] Porting an application to Mono on Linux Message-ID: <4E3C34A73FD9564C9957137B0867AEC10415E9@oai_ex1.OAI.cc> I have a non-trivial .NET application that I am trying to run under Mono on Linux. I have run into a few problems and I am wondering where I can find information to help me understand why. 1) Must I recompile the .NET source on my Linux box under Mono? I have moved a couple of trivial exes compiled on Microsoft .NET with no trouble. Was I just lucky? 2) I am curious to find out what is and is not supposed to work in the system.xml namespace. Is there a way to do this short of downloading and studying the source? I looked at the system.xml page and can see that there are todo items in the areas I am interested in; I just wonder what those todos are. 3) I am getting the following error: WARNING **:Could not load class from token 0x01000022 in /home/tom/netTest/oai.utility.dll WARNING **:Missing method Validate in assembly /home/tom/netTest/oai.utility.dll typeref index 33 Any pointers on what is causing it? Thanks ----------------------------- TFC From miguel@ximian.com Fri Mar 7 21:08:15 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 07 Mar 2003 16:08:15 -0500 Subject: [Mono-list] Mono 0.23 has been released Message-ID: <1047071295.2232.44.camel@erandi.boston.ximian.com> Hello everyone, A new release of Mono has been made, version 0.23. This is only a bug fix release, because we introduced an unfortunate bug in reflection in version 0.22. This should fix compilation for many of you that had problems. Packages and source code are avaliable from our web site: http://www.go-mono.com/download.html Packages will be available shortly on Red Carpet as well. Miguel From tobe_better@hotmail.com Fri Mar 7 21:18:52 2003 From: tobe_better@hotmail.com (Auge Mike) Date: Sat, 08 Mar 2003 01:18:52 +0400 Subject: [Mono-list] How can the assembly check the OS it's on? Message-ID: >I'd like my compiled assembly to detect it, and I'd rather not use an >App.config file for this. I think that you need to use Pinvoke. For Windows you can use the registry to get the Windows name and version, and in Linux you can get the version from the Environment variable, Auge, _________________________________________________________________ Help STOP SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail From jonpryor@vt.edu Fri Mar 7 21:20:38 2003 From: jonpryor@vt.edu (Jonathan Pryor) Date: 07 Mar 2003 16:20:38 -0500 Subject: [Mono-list] Porting an application to Mono on Linux In-Reply-To: <4E3C34A73FD9564C9957137B0867AEC10415E9@oai_ex1.OAI.cc> References: <4E3C34A73FD9564C9957137B0867AEC10415E9@oai_ex1.OAI.cc> Message-ID: <1047072038.1887.51.camel@melchior.magi> Inline... On Fri, 2003-03-07 at 15:09, Tom Cabanski wrote: > I have a non-trivial .NET application that I am trying to run under Mono > on Linux. I have run into a few problems and I am wondering where I can > find information to help me understand why. > > 1) Must I recompile the .NET source on my Linux box under Mono? I have > moved a couple of trivial exes compiled on Microsoft .NET with no > trouble. Was I just lucky? You weren't "just lucky." Mono and .NET use the same intermediate language, so .NET executables/assemblies should run under Mono... ...As long as the dependencies are met. :-) Running a csc-compiled Windows.Forms application under Mono won't work, using unimplemented parts of the Base Class Library won't work, strongly-named shared assemblies aren't currently supported, etc. So recompiling your application under Mono can be an easy way to see if you're using anything that hasn't been implemented (or stubbed out) in Mono. However, since the class may only be stubbed out, successful compilation doesn't ensure successful execution. > 2) I am curious to find out what is and is not supposed to work in the > system.xml namespace. Is there a way to do this short of downloading > and studying the source? I looked at the system.xml page and can see > that there are todo items in the areas I am interested in; I just wonder > what those todos are. Alas, I can't help you here. > 3) I am getting the following error: > > WARNING **:Could not load class from token 0x01000022 in > /home/tom/netTest/oai.utility.dll > WARNING **:Missing method Validate in assembly > /home/tom/netTest/oai.utility.dll typeref index 33 No idea here, either. - Jon From jonpryor@vt.edu Fri Mar 7 21:24:32 2003 From: jonpryor@vt.edu (Jonathan Pryor) Date: 07 Mar 2003 16:24:32 -0500 Subject: [Mono-list] How can the assembly check the OS it's on? In-Reply-To: <1047051877.21972.4.camel@localhost.localdomain> References: <1047051877.21972.4.camel@localhost.localdomain> Message-ID: <1047072272.1886.55.camel@melchior.magi> Easiest way I'm aware of is to check System.IO.Path.DirectorySeparatorChar. It's '\\' on Win32, '/' on Unix. Alas, I'm not aware of any other way, which pretty much prevents checking for Mac OS X vs. Linux vs. Solaris vs. AIX... I'd love to hear of a better form of checking. - Jon On Fri, 2003-03-07 at 10:44, Charles-Louis wrote: > Hi, > > I was wondering if it was possible for an assembly to now on which OS it > is running? > > eg. if I'm running on windows, I'll use the Windows System logs, and if > I'm on Linux, i'll use the Linux logs... > > I'd like my compiled assembly to detect it, and I'd rather not use an > App.config file for this. > > Is this possible? > > Thanks From danmorg@sc.rr.com Fri Mar 7 21:31:10 2003 From: danmorg@sc.rr.com (Daniel Morgan) Date: Fri, 7 Mar 2003 16:31:10 -0500 Subject: [Mono-list] How can the assembly check the OS it's on? In-Reply-To: <1047072272.1886.55.camel@melchior.magi> Message-ID: What about OSVersion and other properties found in System.Environment? -----Original Message----- From: mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.com]On Behalf Of Jonathan Pryor Sent: Friday, March 07, 2003 4:25 PM To: Charles-Louis Cc: Mono List Subject: Re: [Mono-list] How can the assembly check the OS it's on? Easiest way I'm aware of is to check System.IO.Path.DirectorySeparatorChar. It's '\\' on Win32, '/' on Unix. Alas, I'm not aware of any other way, which pretty much prevents checking for Mac OS X vs. Linux vs. Solaris vs. AIX... I'd love to hear of a better form of checking. - Jon On Fri, 2003-03-07 at 10:44, Charles-Louis wrote: > Hi, > > I was wondering if it was possible for an assembly to now on which OS it > is running? > > eg. if I'm running on windows, I'll use the Windows System logs, and if > I'm on Linux, i'll use the Linux logs... > > I'd like my compiled assembly to detect it, and I'd rather not use an > App.config file for this. > > Is this possible? > > Thanks _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From miguel@ximian.com Fri Mar 7 21:33:22 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 07 Mar 2003 16:33:22 -0500 Subject: [Mono-list] Porting an application to Mono on Linux In-Reply-To: <4E3C34A73FD9564C9957137B0867AEC10415E9@oai_ex1.OAI.cc> References: <4E3C34A73FD9564C9957137B0867AEC10415E9@oai_ex1.OAI.cc> Message-ID: <1047072802.21594.13.camel@erandi.boston.ximian.com> Hello, > 1) Must I recompile the .NET source on my Linux box under Mono? I have > moved a couple of trivial exes compiled on Microsoft .NET with no > trouble. Was I just lucky? You do not need to do that, but compiling on Linux will let the compiler flag the classes or methods that are missing. > 2) I am curious to find out what is and is not supposed to work in the > system.xml namespace. Is there a way to do this short of downloading > and studying the source? I looked at the system.xml page and can see > that there are todo items in the areas I am interested in; I just wonder > what those todos are. You can look at the regression test suite to get an idea. > 3) I am getting the following error: > > WARNING **:Could not load class from token 0x01000022 in > /home/tom/netTest/oai.utility.dll > WARNING **:Missing method Validate in assembly > /home/tom/netTest/oai.utility.dll typeref index 33 Make sure that the library is either on your current directory or in the MONO_PATH. From jonpryor@vt.edu Fri Mar 7 21:42:59 2003 From: jonpryor@vt.edu (Jonathan Pryor) Date: 07 Mar 2003 16:42:59 -0500 Subject: [Mono-list] How can the assembly check the OS it's on? In-Reply-To: References: Message-ID: <1047073379.1886.69.camel@melchior.magi> OSVersion just provides access to a PlatformID and a Version. PlatformID is an enumerated type. The .NET version only goes into detail for Win32 platforms (Win32S, Win32Windows, Win32NT). I don't think .NET mentions Unix *at all*. If it does, it certainly won't mention the myriad different flavors of Unix running around. Mono can extend PlatformID (in fact, it added a Unix value), but if an extended value is used under .NET, the results of expecting an extended value are likely undefined. So this isn't a portable, long-term solution. - Jon On Fri, 2003-03-07 at 16:31, Daniel Morgan wrote: > What about OSVersion and other properties found in System.Environment? > > -----Original Message----- > From: mono-list-admin@lists.ximian.com > [mailto:mono-list-admin@lists.ximian.com]On Behalf Of Jonathan Pryor > Sent: Friday, March 07, 2003 4:25 PM > To: Charles-Louis > Cc: Mono List > Subject: Re: [Mono-list] How can the assembly check the OS it's on? > > > Easiest way I'm aware of is to check > System.IO.Path.DirectorySeparatorChar. It's '\\' on Win32, '/' on Unix. > > Alas, I'm not aware of any other way, which pretty much prevents > checking for Mac OS X vs. Linux vs. Solaris vs. AIX... > > I'd love to hear of a better form of checking. > > - Jon > > On Fri, 2003-03-07 at 10:44, Charles-Louis wrote: > > Hi, > > > > I was wondering if it was possible for an assembly to now on which OS it > > is running? > > > > eg. if I'm running on windows, I'll use the Windows System logs, and if > > I'm on Linux, i'll use the Linux logs... > > > > I'd like my compiled assembly to detect it, and I'd rather not use an > > App.config file for this. > > > > Is this possible? > > > > Thanks > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From tcabanski@OAI.cc Fri Mar 7 21:49:26 2003 From: tcabanski@OAI.cc (Tom Cabanski) Date: Fri, 7 Mar 2003 15:49:26 -0600 Subject: [Mono-list] Thanks to all Message-ID: <4E3C34A73FD9564C9957137B0867AEC10415EA@oai_ex1.OAI.cc> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2E4F3.6C289CBC Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable The issue was a few incompatibilities with what is available in the Mono libraries at this time. I compiled under Mono to identify the problems, fixed the offending bits and got a bit further down the path. Now I just have to take a closer look at some of my object factory code as it uses reflection and appears to be having some issues under Mono. =20 I'll download the 0.23 release just in case that fixes my reflection problem. =20 Anyway, doing much better now thanks to all your suggestions. =20 TFC ------_=_NextPart_001_01C2E4F3.6C289CBC Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

The issue was a few incompatibilities with what is = available in the Mono libraries at this time.  I compiled under Mono to identify the problems, fixed the = offending bits and got a bit further down the path.  Now I just have to take a closer look at some of my object = factory code as it uses reflection and appears to be having some issues under = Mono.

 

I’ll download the 0.23 release just in case = that fixes my reflection problem.

 

Anyway, doing much better now thanks to all your suggestions.

 

TFC

=00 ------_=_NextPart_001_01C2E4F3.6C289CBC-- From miguel@ximian.com Fri Mar 7 22:04:47 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 07 Mar 2003 17:04:47 -0500 Subject: [Mono-list] Mexico, Boston, Hamburg, Paris. Message-ID: <1047074687.21595.23.camel@erandi.boston.ximian.com> Hello everyone, I am going to be in Mexico next week so it was important to get a release out while I had good access to the build machines. If you are in Mexico next week and want to meet and talk Mono-isms, send me an e-mail. I will be back in Boston on the 17th, going to the Web Services conference on the 18th and do a Mono keynote presentation. If you are coming in town for the Web Services conference, it would be nice to meet you. I wont have much time on the 18th, as I have to catch a plane. Duncan Mak will be available to show some of the cool features of Mono at the Web Services conference after am gone. On the 19th I will be talking at the OpenOffice Conference in Hamburg: http://marketing.openoffice.org/conference/ From the 20th to the 23rd I will be in Paris, trying every possible dish that my budget allows. Drop me an e-mail if you want to meet. Miguel. From mpeters@aktifkablo.net Fri Mar 7 23:26:42 2003 From: mpeters@aktifkablo.net (Mike Peters) Date: Sat, 8 Mar 2003 01:26:42 +0200 Subject: [Mono-list] Problems Compiling with GC on Linux Message-ID: <20030308012642.3b9a3f14.mpeters@aktifkablo.net> Hi, I'm having trouble compiling mono-0.22 on Linux, Slackware 8 with garbage collection enabled. I'm following the instructions as per the tutorial (http://go-mono.com/tutorial/html/en/installation/linux.html#garbage Chapter 4.1), installed gc6.1 and linked the headers. However I'm getting the following errors: ../io-layer/.libs/libwapi.al(timed-thread.lo): In function `timed_thread_start_routine': /source/mono-0.22/mono/io-layer/timed-thread.c:88: undefined reference to `GC_pthread_detach' ../io-layer/.libs/libwapi.al(timed-thread.lo): In function `_wapi_timed_thread_create': /source/mono-0.22/mono/io-layer/timed-thread.c:124: undefined reference to `GC_pthread_create' collect2: ld returned 1 exit status make[3]: *** [pedump] Error 1 make[3]: Leaving directory `/source/mono-0.22/mono/metadata' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/source/mono-0.22/mono' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/source/mono-0.22' make: *** [all] Error 2 Any ideas where I'm going wrong? Thanks in advance for your help. -- Mike Registered Linux User #247123 All Hell hadn't been let loose. It was merely Detritus. But from a few feet away you couldn't tell the difference. (The Fifth Elephant) From danmorg@sc.rr.com Fri Mar 7 23:53:56 2003 From: danmorg@sc.rr.com (Daniel Morgan) Date: Fri, 7 Mar 2003 18:53:56 -0500 Subject: [Mono-list] How can the assembly check the OS it's on? In-Reply-To: <1047073379.1886.69.camel@melchior.magi> Message-ID: I would be interested to know what DotGNU Portable.NET and Rotor (Microsoft Shared Source CLI) have for those values. Maybe, Miguel de Icaza the next time he goes to an ECMA meeting he should address this issue. How do you determine in C# or .NET which CLI implementation you are running? DotGNU Portable.NET Intel ORP Microsoft .NET Mono Rotor (MS SS CLI) Then there are the different versions of the CLI implementation. For instance: .NET has 1.0, 1.1, ... Mono has 0.21, 0.22, 0.23, ... ... How do you determine if you are running on just a interpreter, Just-In-Time compiler, or Ahead-Of-Time compiler? would these be considered features? How do you determine the operating environment we are running? Mono 0.21 on Cygwin 1.x.x on Windows XP Professional Mono 0.21 on Windows XP Professional (not using Cygwin) Mono 0.21 on Linux (Red Hat 7.2) Mono 0.21 on FreeBSD (FreeBSD 5.0) Mono 0.21 on Linux (Linux/S390) Mono 0.21 on Mac OS X ... How do you determine the archietecture? i686 PPC Alpha S390 SPARC UltraSPARC ... Could all these CLI implementations agree to some common API or something? -----Original Message----- From: Jonathan Pryor [mailto:jonpryor@vt.edu] Sent: Friday, March 07, 2003 4:43 PM To: Daniel Morgan Cc: Charles-Louis; Mono List Subject: RE: [Mono-list] How can the assembly check the OS it's on? OSVersion just provides access to a PlatformID and a Version. PlatformID is an enumerated type. The .NET version only goes into detail for Win32 platforms (Win32S, Win32Windows, Win32NT). I don't think .NET mentions Unix *at all*. If it does, it certainly won't mention the myriad different flavors of Unix running around. Mono can extend PlatformID (in fact, it added a Unix value), but if an extended value is used under .NET, the results of expecting an extended value are likely undefined. So this isn't a portable, long-term solution. - Jon On Fri, 2003-03-07 at 16:31, Daniel Morgan wrote: > What about OSVersion and other properties found in System.Environment? > > -----Original Message----- > From: mono-list-admin@lists.ximian.com > [mailto:mono-list-admin@lists.ximian.com]On Behalf Of Jonathan Pryor > Sent: Friday, March 07, 2003 4:25 PM > To: Charles-Louis > Cc: Mono List > Subject: Re: [Mono-list] How can the assembly check the OS it's on? > > > Easiest way I'm aware of is to check > System.IO.Path.DirectorySeparatorChar. It's '\\' on Win32, '/' on Unix. > > Alas, I'm not aware of any other way, which pretty much prevents > checking for Mac OS X vs. Linux vs. Solaris vs. AIX... > > I'd love to hear of a better form of checking. > > - Jon > > On Fri, 2003-03-07 at 10:44, Charles-Louis wrote: > > Hi, > > > > I was wondering if it was possible for an assembly to now on which OS it > > is running? > > > > eg. if I'm running on windows, I'll use the Windows System logs, and if > > I'm on Linux, i'll use the Linux logs... > > > > I'd like my compiled assembly to detect it, and I'd rather not use an > > App.config file for this. > > > > Is this possible? > > > > Thanks > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From hgomez_36@flashmail.com Sat Mar 8 08:51:05 2003 From: hgomez_36@flashmail.com (Hector E. Gomez Morales) Date: 08 Mar 2003 02:51:05 -0600 Subject: [Mono-list] Monodoc Bug Message-ID: <1047113465.1173.20.camel@spivaka.uninet.mx> --=-OImvIzu9Z++kp/efVJTV Content-Type: text/plain Content-Transfer-Encoding: 7bit Monodoc has a bug where is crashes when you select a namespace or a doc with two tags in the remarks section. The backtrace is this: in <0x000c1> 00 System.Xml.XmlTextReader:ReadStartTag () in <0x000bb> 00 System.Xml.XmlTextReader:ReadTag () in <0x000ee> 00 System.Xml.XmlTextReader:ReadContent () in <0x0002b> 00 System.Xml.XmlTextReader:Read () in <0x00080> 00 System.Xml.XmlDocument:ReadNode (System.Xml.XmlReader) in <0x00032> 00 System.Xml.XmlDocument:Load (System.Xml.XmlReader) in <0x00081> 00 System.Xml.XmlDocument:Load (System.IO.Stream) in <0x001de> 00 .EcmaHelpSource:RenderNamespaceLookup (string) in <0x000f8> 00 .RootTree:RenderUrl (string) in <0x001a5> 00 .TreeBrowser:RowActivated (object,System.EventArgs) in <0x00067> 01 System.MulticastDelegate:invoke_void_object_EventArgs (object,System.EventArgs) in <0x00164> 00 GtkSharp.voidObjectSignal:voidObjectCallback (intptr,int) in <0x00026> 05 GtkSharp.voidObjectSignal:voidObjectCallback (intptr,int) in (unmanaged) 06 Gtk.Application:gtk_main () in <0x00004> 06 Gtk.Application:gtk_main () in <0x0003b> 00 .Browser:Main () I attach a candidate patch. --=-OImvIzu9Z++kp/efVJTV Content-Disposition: attachment; filename=XmlTextReader.diff Content-Transfer-Encoding: quoted-printable Content-Type: text/x-patch; name=XmlTextReader.diff; charset=UTF-8 Index: XmlTextReader.cs =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/public/mcs/class/System.XML/System.Xml/XmlTextReader.cs,v retrieving revision 1.52 diff -u -r1.52 XmlTextReader.cs --- XmlTextReader.cs 4 Mar 2003 18:39:58 -0000 1.52 +++ XmlTextReader.cs 8 Mar 2003 08:50:03 -0000 @@ -1014,7 +1014,6 @@ if (haveEnteredDocument && elementStack.Count =3D=3D 0 && !allowMultipl= eRoot) throw ReaderError("document has terminated, cannot open new element"); =20 - haveEnteredDocument =3D true; SkipWhitespace (); =20 bool isEmptyElement =3D false; --=-OImvIzu9Z++kp/efVJTV-- From mwh@sysrq.dk Sat Mar 8 10:38:23 2003 From: mwh@sysrq.dk (Martin Willemoes Hansen) Date: 08 Mar 2003 11:38:23 +0100 Subject: [Mono-list] Re: [Mono-hackers-list] Mexico, Boston, Hamburg, Paris. In-Reply-To: <1047074687.21595.23.camel@erandi.boston.ximian.com> References: <1047074687.21595.23.camel@erandi.boston.ximian.com> Message-ID: <1047119903.338.7.camel@spiril.sysrq.dk> On Fri, 2003-03-07 at 23:04, Miguel de Icaza wrote: > Hello everyone, > > I am going to be in Mexico next week so it was important to get a > release out while I had good access to the build machines. If you are > in Mexico next week and want to meet and talk Mono-isms, send me an > e-mail. > > I will be back in Boston on the 17th, going to the Web Services > conference on the 18th and do a Mono keynote presentation. Cool, cant wait for that presentation, please post it somewhere when your done :o) > If you are > coming in town for the Web Services conference, it would be nice to meet > you. I wont have much time on the 18th, as I have to catch a plane. > > Duncan Mak will be available to show some of the cool features of > Mono at the Web Services conference after am gone. > > On the 19th I will be talking at the OpenOffice Conference in > Hamburg: > > http://marketing.openoffice.org/conference/ > > From the 20th to the 23rd I will be in Paris, trying every possible > dish that my budget allows. > > Drop me an e-mail if you want to meet. > > Miguel. > > > _______________________________________________ > Mono-hackers-list maillist - Mono-hackers-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-hackers-list -- Martin Willemoes Hansen -------------------------------------------------------- E-Mail mwh@sysrq.dk Website mwh.sysrq.dk IRC MWH, freenode.net -------------------------------------------------------- From lupus@ximian.com Sat Mar 8 11:20:01 2003 From: lupus@ximian.com (Paolo Molaro) Date: Sat, 8 Mar 2003 12:20:01 +0100 Subject: [Mono-list] Porting an application to Mono on Linux In-Reply-To: <4E3C34A73FD9564C9957137B0867AEC10415E9@oai_ex1.OAI.cc> References: <4E3C34A73FD9564C9957137B0867AEC10415E9@oai_ex1.OAI.cc> Message-ID: <20030308112001.GL32096@debian.org> On 03/07/03 Tom Cabanski wrote: > 2) I am curious to find out what is and is not supposed to work in the > system.xml namespace. Is there a way to do this short of downloading > and studying the source? I looked at the system.xml page and can see > that there are todo items in the areas I am interested in; I just wonder > what those todos are. You need to check the source, most of the time the MonoTODO attribute has a comment in it. Maybe the script that generates the page could add the comment from the MonoTODO constructor to the web page as well (should be done in a way that doesn't clutter the view, though). > 3) I am getting the following error: > > WARNING **:Could not load class from token 0x01000022 in > /home/tom/netTest/oai.utility.dll > WARNING **:Missing method Validate in assembly > /home/tom/netTest/oai.utility.dll typeref index 33 You can run: monodis --typeref oai.utility.dll |grep ^34 (34 is the decimal for 0x22). You'll get the name of the type that was not found (it's probably a class not yet stubbed or implemented in our class libraries). The same holds for the other message: in that case the type was found, but the method is not implemented: you can just check with the same monodis invocation what type it is, and report the bug in bugzilla.ximian.com, hopefully with a little patch to add what is missing:-) lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From lupus@ximian.com Sat Mar 8 11:25:12 2003 From: lupus@ximian.com (Paolo Molaro) Date: Sat, 8 Mar 2003 12:25:12 +0100 Subject: [Mono-list] Thanks to all In-Reply-To: <4E3C34A73FD9564C9957137B0867AEC10415EA@oai_ex1.OAI.cc> References: <4E3C34A73FD9564C9957137B0867AEC10415EA@oai_ex1.OAI.cc> Message-ID: <20030308112512.GM32096@debian.org> On 03/07/03 Tom Cabanski wrote: > The issue was a few incompatibilities with what is available in the Mono > libraries at this time. I compiled under Mono to identify the problems, > fixed the offending bits and got a bit further down the path. Now I Please, file a bug report about the missing bits. It's fine to work-around temporarily in your code, but other people may hit the same missing bits and we're back to square one. > just have to take a closer look at some of my object factory code as it > uses reflection and appears to be having some issues under Mono. Try to isolate a small test case and submit a bug report to bugzilla.ximian.com. Thanks! lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From omni_brain@hotmail.com Sat Mar 8 14:34:23 2003 From: omni_brain@hotmail.com (Mike Krueger) Date: Sat, 08 Mar 2003 15:34:23 +0100 Subject: [Mono-list] SWT port? Message-ID: Hi Yes, I'm working on this. You can discuss SWT on the SharpDevelop port mailing list. regards Mike >I tried to search the mailing lists but just got a bunch of dead links. > >I thought I remembered someone talking about porting SWT to C#. Is anyone >working on this? The wx.NET binding is coming well and I intend to keep >working on it, but I'm a little disappointed at the amount of code that is >duplicated between the CLR and wxWindows. I have a few projects that need a >lighterweight GUI, and SWT would seem to be just the thing. > >SWT: http://makeashorterlink.com/?G51B253B3 _________________________________________________________________ STOP MORE SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail From miguel@ximian.com Fri Mar 7 21:08:15 2003 From: miguel@ximian.com (Miguel de Icaza) Date: Fri, 07 Mar 2003 16:08:15 -0500 Subject: [Mono-list] [Mono-announce-list] Mono 0.23 has been released Message-ID: <1047071295.2232.44.camel@erandi.boston.ximian.com> Hello everyone, A new release of Mono has been made, version 0.23. This is only a bug fix release, because we introduced an unfortunate bug in reflection in version 0.22. This should fix compilation for many of you that had problems. Packages and source code are avaliable from our web site: http://www.go-mono.com/download.html Packages will be available shortly on Red Carpet as well. Miguel _______________________________________________ Mono-announce-list maillist - Mono-announce-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-announce-list From tcabanski@OAI.cc Sat Mar 8 22:07:56 2003 From: tcabanski@OAI.cc (Tom Cabanski) Date: Sat, 8 Mar 2003 16:07:56 -0600 Subject: [Mono-list] Activator.CreateInstance issue Message-ID: <4E3C34A73FD9564C9957137B0867AEC10415EB@oai_ex1.OAI.cc> Currently, attempting to pass a null parameter to a constructor using Activator.CreateInstance fails with "A null value was found where an object instance was required". Under Microsoft.NET, this passes a null value to the constructor as expected. =20 I've looked at the source and can see where the problem is; the code needs the attributes types to go look up the constructor. Obviously, Microsoft is using some other method when it encounters null parameters (perhaps they go look up the closest match if they have one or more null parameters). =20 Should I just add a bug at this point? My current sample is a very small console application. Would a Nunit test be better? Are you using Nunit 1 or 2? Is there a FAQ or instructions regarding setting up a development environment? I would like to make a quick patch here so I can move forward with my porting test. I'm not at all certain that what I come up with will be very efficient but I can certainly pass along the solution once I have it. Here's the example: using System; using System.Reflection; namespace TestReflection { class Foo { private string _name; =20 public Foo(string name) { if (name =3D=3D null) { _name =3D "NULL passed"; }=20 else=20 { _name =3D name; } } public override string ToString() { return _name; } } class Class1 { [STAThread] static void Main(string[] args) { Type t =3D Assembly.GetExecutingAssembly().GetType("TestReflection.Foo"); if (t =3D=3D null) { Console.WriteLine("No type"); }=20 else=20 { //this one works under Mono object [] o =3D new object[1]; string name =3D "Value Passed"; o[0] =3D name; try { Foo foo =3D (Foo)Activator.CreateInstance(t, o); Console.WriteLine(foo.ToString()); }=20 catch (Exception err) { Console.WriteLine("Unexpected failure under Mono {0}", err.Message); } //this one fails under Mono (works on .NET) o[0] =3D null; try { Foo foo =3D (Foo)Activator.CreateInstance(t, o); Console.WriteLine(foo.ToString()); }=20 catch (Exception err) { Console.WriteLine("Expected failure under Mono {0}", err.Message); } } } } } ----------------------------- TFC From duncan@ximian.com Sun Mar 9 00:28:08 2003 From: duncan@ximian.com (Duncan Mak) Date: 08 Mar 2003 19:28:08 -0500 Subject: [Mono-list] Mono 0.23 windows installer Message-ID: <1047169688.4404.5.camel@diphthong> Hi all! I'm going on go have dinner now, but I just uploaded Johannes' new windows installer for Mono 0.23, it's available here: http://primates.ximian.com/~duncan/mono-0.23-win32-1.exe I'd really appreciate it if someone with access to a Windows computer and various virus scanners to download it and give it a scan. I don't have access to Windows here at home, and I'm going out to dinner now. I can't check it right now. If you *do* find something that triggers the scanner, please calmly report to mono-list and post links and infos if you can find anything. If you find any other problems, also, please post to the list about it, we'll try out best to get everything working properly. Duncan. From bill@yornoc.net Sun Mar 9 00:59:15 2003 From: bill@yornoc.net (Bill Conroy) Date: Sat, 8 Mar 2003 19:59:15 -0500 Subject: [Mono-list] Mono 0.23 windows installer In-Reply-To: <1047169688.4404.5.camel@diphthong> Message-ID: <008f01c2e5d7$1d6ac0e0$fa01010a@yornoc.net> Win2K, Norton 7.60.926, and all is perfect. Thanks -bc -----Original Message----- From: mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.com] On Behalf Of Duncan Mak Sent: Saturday, March 08, 2003 7:28 PM To: mono-list mailing list Subject: [Mono-list] Mono 0.23 windows installer Hi all! I'm going on go have dinner now, but I just uploaded Johannes' new windows installer for Mono 0.23, it's available here: http://primates.ximian.com/~duncan/mono-0.23-win32-1.exe I'd really appreciate it if someone with access to a Windows computer and various virus scanners to download it and give it a scan. I don't have access to Windows here at home, and I'm going out to dinner now. I can't check it right now. If you *do* find something that triggers the scanner, please calmly report to mono-list and post links and infos if you can find anything. If you find any other problems, also, please post to the list about it, we'll try out best to get everything working properly. Duncan. _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From monomail@rogers.com Sun Mar 9 03:42:08 2003 From: monomail@rogers.com (Chris) Date: Sat, 08 Mar 2003 22:42:08 -0500 Subject: [Mono-list] Help Please - Building on Windows Message-ID: <3E6AB810.10502@rogers.com> Hi, I've been developing the DB2Client driver with Microsoft Visual Studio. Finally, belatedly, I want to see how things are running under Mono itself, so I'm playing around with the Windows version on W2K (.21 and .22) levels. I'm trying to compile the simple test app that is on the db2 driver web page, and I can't get it to go...:( What the heck am I doing wrong here? My compile command: D:\monoDev>mcs Test.cs -L D:\Mono-21\install\lib -r System.Data.dll -r Mono.Data.DB2Client.dll Test.cs(11) error CS0246: Cannot find type `DB2ClientConnection' Test.cs(12) error CS0165: Use of unassigned local variable `dbcon' Compilation failed: 2 error(s), 0 warnings My Environment, the relevent part anyway (let me know if something is missing): MONOARGS= Test.cs -r System.Data.dll MONO_BASEPATH=d:\mono-0.21\install MONO_CFG_DIR=D:\mono-0.21\install\etc\mono MONO_PATH=D:\mono-0.21\install\lib NUMBER_OF_PROCESSORS=1 OS=Windows_NT Os2LibPath=C:\WINNT\system32\os2\dll; Path=D:\mono-0.21\install\bin;G:\mono-0.21\install\lib; e:\PROGRA~1\Borland\CBUILD~1\Projects\Bpl;e:\PROGRA~1\B orland\CBUILD~1\Bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;E:\PROGRA~ 1\IBM\SQLLIB\BIN;E:\PROGRA~1\IBM\SQLLIB\FUNCTION;E:\PROGRA~1\IBM\SQLLIB\SAMPLES\ I think I'm picking up System.Data.Dll, but not Mono.Data.DB2Client.dll. Can anyone see what I'm doing wrong here? Thanks Chris From hgomez_36@flashmail.com Sun Mar 9 03:57:36 2003 From: hgomez_36@flashmail.com (Hector E. Gomez Morales) Date: 08 Mar 2003 21:57:36 -0600 Subject: [Mono-list] Update Monodoc Message-ID: <1047182256.1192.22.camel@spivaka.uninet.mx> --=-lc4+MIIIXm9iYjF+C788 Content-Type: text/plain Content-Transfer-Encoding: 7bit Needed to exclude , i think
 is too needed to exclude. This
needs some other implementation because i feel all this AND make the
parsing a bit more slow


previous:
Ok this is patch is more adecuate: This patch doesn't brake the build of
mono and mcs. It passes the tests. The problem is in the implementation
of the elementStack it all is well when ckecking well-formedness of the
xml documents but when validating the elementstacks (like p, a, class,
etc) fall to 0 reguraly. The purpose of XmlTextReader (from MS): Because
the XmlTextReader does not perform the extra checks required for data
validation, it provides a fast well-formedness parser.
So we don't care about validating in Reader, so the elementStacks from
xsl (a, p , class ,etc) doesn't need to be checked in the error if.

Really need suggestions or confirmation thanks

--=-lc4+MIIIXm9iYjF+C788
Content-Disposition: attachment; filename=XmlTextReader.diff
Content-Transfer-Encoding: quoted-printable
Content-Type: text/x-patch; name=XmlTextReader.diff; charset=UTF-8

Index: XmlTextReader.cs
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvs/public/mcs/class/System.XML/System.Xml/XmlTextReader.cs,v
retrieving revision 1.52
diff -u -r1.52 XmlTextReader.cs
--- XmlTextReader.cs	4 Mar 2003 18:39:58 -0000	1.52
+++ XmlTextReader.cs	9 Mar 2003 04:00:18 -0000
@@ -1011,7 +1011,7 @@
 			parserContext.NamespaceManager.PushScope ();
=20
 			string name =3D ReadName ();
-			if (haveEnteredDocument && elementStack.Count =3D=3D 0 && !allowMultipl=
eRoot)
+		        if (name !=3D "p" && name !=3D "struct"  && name !=3D "interface=
"  && name !=3D "class"  && name !=3D "enum"  && name !=3D "delegate" && ha=
veEnteredDocument && name !=3D "a" && name !=3D "i" && name !=3D "pre" && e=
lementStack.Count =3D=3D 0 && !allowMultipleRoot)
 				throw ReaderError("document has terminated, cannot open new element");
=20
 			haveEnteredDocument =3D true;

--=-lc4+MIIIXm9iYjF+C788--

From Scott.Blomfield@cavalryinvestments.com  Fri Mar  7 22:00:44 2003
From: Scott.Blomfield@cavalryinvestments.com (Scott Blomfield)
Date: Fri, 7 Mar 2003 16:00:44 -0600
Subject: [Mono-list] How can the assembly check the OS it's on?
Message-ID: <88692A1FB43FEC40A2071DE04D9B31F30776FC@ustulmail01.cavalryinvestments.int>

I thought I'd add 2c to all the posts so far, even though this one has
far less information than would be helpful...

The DOS environment variable OS is set to the windows type.
On Windows XP it will show "Windows_NT"
>From mbas (VB.NET) you should be able to get this via Envron("OS") if
they have implemented the Environ function. I do not know if C# exposes
a way to
find out environment settings. (I do not know C#). I also do not know
if previous versions of windows export this environment variable. That's
a lot of I don't knows sorry.

Hope this helps somewhat,

Scott

-----Original Message-----
From: Auge Mike [mailto:tobe_better@hotmail.com]=20
Sent: Friday, March 07, 2003 3:19 PM
To: charlouis.mono@wanadoo.be; mono-list@lists.ximian.com
Subject: Re: [Mono-list] How can the assembly check the OS it's on?



>I'd like my compiled assembly to detect it, and I'd rather not use an
>App.config file for this.

I think that you need to use Pinvoke. For Windows you can use the
registry=20
to get the Windows name and version, and in Linux you can get the
version=20
from the Environment variable,

Auge,

_________________________________________________________________
Help STOP SPAM with the new MSN 8 and get 2 months FREE* =20
http://join.msn.com/?page=3Dfeatures/junkmail

_______________________________________________
Mono-list maillist  -  Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list

From mrosset@telus.net  Sun Mar  9 07:32:08 2003
From: mrosset@telus.net (mike rosset)
Date: Sat, 8 Mar 2003 23:32:08 -0800
Subject: [Mono-list] xsp asp.net
Message-ID: <000801c2e60d$fe149400$6601a8c0@jupiter>

This is a multi-part message in MIME format.

------=_NextPart_000_0005_01C2E5CA.EF896A70
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Is there a mailing list for asp.net/xsp related questions or do I need =
to post them here?


Michael Rosset


------=_NextPart_000_0005_01C2E5CA.EF896A70
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable








Is there a mailing list for asp.net/xsp = related=20 questions or do I need to post them here?
 
 
Michael Rosset
 
 
------=_NextPart_000_0005_01C2E5CA.EF896A70-- From gonzalo@ximian.com Sun Mar 9 10:36:02 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 09 Mar 2003 11:36:02 +0100 Subject: [Mono-list] Activator.CreateInstance issue In-Reply-To: <4E3C34A73FD9564C9957137B0867AEC10415EB@oai_ex1.OAI.cc> References: <4E3C34A73FD9564C9957137B0867AEC10415EB@oai_ex1.OAI.cc> Message-ID: <1047206162.584.4.camel@portatil> El sáb, 08 de 03 de 2003 a las 23:07, Tom Cabanski escribió: > Should I just add a bug at this point? My current sample is a very > small console application. Would a Nunit test be better? Are you using > Nunit 1 or 2? Yes, please, report it through bugzilla. Whoever fixes it should add the proper test cases to ActivatorTest.cs, though it will also be nice if you provide a patch to add them :-). Thanks! From gonzalo@ximian.com Sun Mar 9 10:40:13 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 09 Mar 2003 11:40:13 +0100 Subject: [Mono-list] xsp asp.net In-Reply-To: <000801c2e60d$fe149400$6601a8c0@jupiter> References: <000801c2e60d$fe149400$6601a8c0@jupiter> Message-ID: <1047206413.587.7.camel@portatil> El dom, 09 de 03 de 2003 a las 08:32, mike rosset escribió: > Is there a mailing list for asp.net/xsp related questions or do I need > to post them here? Posting here is fine. -Gonzalo From jackson@latitudegeo.com Sun Mar 9 18:24:20 2003 From: jackson@latitudegeo.com (Jackson Harper) Date: 09 Mar 2003 10:24:20 -0800 Subject: [Mono-list] Little monodis patch Message-ID: <1047234260.32455.3.camel@ajiy20dvy21ce.bc.hsia.telus.net> --=-xgi5w+q8GhaEVK2sFod+ Content-Type: text/plain Content-Transfer-Encoding: 7bit Hello, Here is a little patch for monodis. This patch makes implements appear comma seperated instead of with a new implements clause. ie: implements Wilma, Betty insteadof: implements Wilma implements Betty May I commit? Jackson -- Jackson Harper --=-xgi5w+q8GhaEVK2sFod+ Content-Disposition: attachment; filename=main.c.patch Content-Type: text/x-patch; name=main.c.patch; charset=UTF-8 Content-Transfer-Encoding: 7bit Index: main.c =================================================================== RCS file: /cvs/public/mono/mono/dis/main.c,v retrieving revision 1.78 diff -u -r1.78 main.c --- main.c 29 Jan 2003 07:17:34 -0000 1.78 +++ main.c 9 Mar 2003 18:23:50 -0000 @@ -702,6 +702,7 @@ { plocator_t loc; guint start; + gboolean first_interface = 1; guint32 cols [MONO_INTERFACEIMPL_SIZE]; char *intf; MonoTableInfo *table = &m->tables [MONO_TABLE_INTERFACEIMPL]; @@ -731,7 +732,12 @@ if (cols [MONO_INTERFACEIMPL_CLASS] != loc.idx) break; intf = get_typedef_or_ref (m, cols [MONO_INTERFACEIMPL_INTERFACE]); - fprintf (output, " \timplements %s\n", intf); + if (first_interface) { + fprintf (output, " \timplements %s", intf); + first_interface = 0; + } else { + fprintf (output, ", %s", intf); + } g_free (intf); ++start; } --=-xgi5w+q8GhaEVK2sFod+-- From jeske@chat.net Sun Mar 9 18:37:24 2003 From: jeske@chat.net (David Jeske) Date: Sun, 9 Mar 2003 10:37:24 -0800 Subject: [Mono-list] lies and microbenmarks (Was: Mono 0.23 windows installer) In-Reply-To: <1047169688.4404.5.camel@diphthong> References: <1047169688.4404.5.camel@diphthong> Message-ID: <20030309103724.Q12706@mozart> --DKU6Jbt7q3WqK7+M Content-Type: text/plain; charset=us-ascii On Sat, Mar 08, 2003 at 07:28:08PM -0500, Duncan Mak wrote: > I'm going on go have dinner now, but I just uploaded Johannes' new > windows installer for Mono 0.23, it's available here: > > http://primates.ximian.com/~duncan/mono-0.23-win32-1.exe Wow, that was easy to install. Mono has come a long way. I know that if there are two things in the world not to trust, they are lies and microbenmarks. However, here are some mono vs. MS microbenmarks for the Windows installer above. Summary Observations: - mint failed to run the test - CSC speeds up MS more than Mono (somewhat expected) - mono is slower than MS - while many of the mono slowdowns seem related to JIT optimizations (which the new JIT will change and improve), the 2x slowdown in index_string_test points to a string, hashing, memory allocation, or other hashtable inefficiency - the mono 40% slowdown in object_test is interesting, both because the performance of method calls is very important, and because the CSC output makes the slowdown even worse by making MS faster and Mono slower. * Compiled with MCS: (times are in seconds, lower is better) test iterations Win-MS Win-Mono Mono-speedup --------------------------------------------------------- loop_test 500000 0.03 0.02 33% index_test 1000000 1.292 1.993 - 54% index_string_test 1000000 0.341 1.081 - 217% nested_int_test 23 0.01 0.02 - 50% nested_test 23 0.02 0.331 - 1555% return_test 5000000 0 0.01 n/a object_test 5000000 0.05 0.07 - 40% * Compiled with CSC: (times are in seconds, lower is better) (percentages are speedup of CSC output over MCS output) test iterations Win-MS Win-Mono ---------------------------------------------------------- loop_test 500000 0.02 (+33%) 0.02 ( 0%) index_test 1000000 1.172 (+ 9%) 2.003 (- 0.5%) index_string_test 1000000 0.33 (+ 3%) 1.091 (- 1%) nested_int_test 23 0.01 ( 0%) 0.02 ( 0%) nested_test 23 0.01 (+50%) 0.12 (+63%) return_test 5000000 0.01 n/a 0.01 ( 0%) object_test 5000000 0.03 (+40%) 0.081 (-15%) * Details Machine: Win2k, P4-1.8M, 768M (thinkpad A31) Win-MS: Microsoft .NET Framework v1.0.3705 Win-Mono: mono-0.23 from duncan's installer Microbenchmark SW: http://mozart.chat.net/~jeske/Projects/ScriptPerf/ (C# version attached) -- David Jeske (N9LCA) + http://www.chat.net/~jeske/ + jeske@chat.net --DKU6Jbt7q3WqK7+M Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="scriptperf.cs" // Allow easy reference to classes in the System namespace using System; using System.Collections; // This is the test class class testObject { public virtual int dothis(int iter) { return iter; } } // This "class" exists only to house the application's entry-point function class MainApp { public delegate void test_function(int INDEX); // loop_test public static void loop_test(int INDEX) { for(int x=0;x References: <1047234260.32455.3.camel@ajiy20dvy21ce.bc.hsia.telus.net> Message-ID: <20030309183730.GP32096@debian.org> On 03/09/03 Jackson Harper wrote: > Here is a little patch for monodis. This patch makes implements appear > comma seperated instead of with a new implements clause. ie: > > implements Wilma, Betty > > insteadof: > > implements Wilma > implements Betty > > May I commit? Yes, but please make the indentation use hard TABs instead of spaces. Thanks! lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From efeingold@mn.rr.com Sun Mar 9 18:47:07 2003 From: efeingold@mn.rr.com (Elan Feingold) Date: Sun, 9 Mar 2003 12:47:07 -0600 Subject: [Mono-list] Crypto issues and workarounds Message-ID: <026501c2e66c$49738880$0400000a@gorilla> Hi, I found a few things that presented problems when moving crypto .NET code over to Mono: (1) The Mono symmetric key cypto providers have CanReuseTransform == false, whereas .NET defines them to be true. This wouldn't have been that much of a problem, except that this code: Debug.Assert (encrypt.CanReuseTransform); Didn't actually fire in any way to let me know this wasn't the case. Anything I need to do to get these assertions to trigger? (2) In creating a CryptoStream to compute an MD5 hash, the .NET code was finishing up by calling: stream.FlushFinalBlock(); stream.Close(); With .NET, it turns out that calling Flush or FlushFinalBlock or neither before the Close results in the same hash, whereas with Mono, you *must not* call FlushFinalBlock, or it will "screw up" the hash. Having worked around these issues, my program (client/server, one on .NET and one on Linux) interoperate perfectly!! Best regards, -elan From efeingold@mn.rr.com Sun Mar 9 18:53:46 2003 From: efeingold@mn.rr.com (Elan Feingold) Date: Sun, 9 Mar 2003 12:53:46 -0600 Subject: [Mono-list] Crypto issues and workarounds In-Reply-To: <026501c2e66c$49738880$0400000a@gorilla> Message-ID: <026c01c2e66d$371ff460$0400000a@gorilla> > Debug.Assert (encrypt.CanReuseTransform); > > Didn't actually fire in any way to let me know this wasn't the case. > Anything I need to do to get these assertions to trigger? Duh...I was compiling the code "release" in Visual Studio to work around the unimplemented heap type issue. -elan From martin@gnome.org Sun Mar 9 18:53:40 2003 From: martin@gnome.org (Martin Baulig) Date: 09 Mar 2003 19:53:40 +0100 Subject: [Mono-list] Released version 0.2.2 "Cambridge" of the Mono Debugger :-) Message-ID: <864r6c2wy3.fsf@einstein.home-of-linux.org> Hi guys, a really bad bug slipped into the last debugger release which made it impossible to use the GUI, so I made a new release. http://primates.ximian.com/~martin/debugger/mono-debugger-0.2.2.tar.gz Below are the release notes again. Martin The Mono Debugger - 0.2.2 "Cambridge" ====================================== This is mostly a bug-fix release, but it also contains a few new features. See the NEWS file for details. About the Mono Debugger ----------------------- The Mono Debugger is a graphical debugger which is written in C#. It can debug both native and managed applications and it has a graphical and a text-mode user interface. At the moment, the debugger only works on the i386 architecture running either a Linux 2.2.x or 2.4.x kernel or FreeBSD 4.7. Most likely, the debugger also works on OpenBSD, but I don't have an OpenBSD system to test it. You can debug any single-threaded and multi-threaded managed applications (unmanaged multi-threaded applications are also supported, but a few restrictions apply in this case). Design Goals ------------ The debugger was designed to be modular and portable to other systems. However, when we started this project, we were already short on time so the backend is currently only implemented on the i386 architecture running either a Linux or BSD kernel. Our main idea was to write a debugger for managed applications, but still being able to debug unmanaged applications such as the JIT if necessary. However, due to the limited time we had on our hands, support for unmanaged applications is still a bit preliminary; it should be enough for a hacker to fix a bug, but it's way too uncomfortable for an ordinary user. Unlike other debugger GUI's, the debugger does not talk to an external debugger application such as gdb, but does everything itself. Thanks ------ First of all, I'd like to thank Ximian, Inc. which is a wonderful company to work for and Miguel de Icaza who helped me a lot this summer. Without them, this project wouldn't have become possible. I really appreciated hacking on this and it is a lot of fun to see my "baby" grow and develop :-) Limitations ----------- Ok, before promising too much, let's start with the limitations ;-) At the moment, the debugger only works on the i386 architecture. Despite its modular design, it's probably a huge task to port it to another hardware architecture. When we started the project, I originally wrote the backend just for Linux 2.2.x, but while doing the FreeBSD port I realized how easy it was to do this - so the debugger can probably be ported to all flavors of BSD with very little effort. The only limitation is that the operating system must support kernel-level threads and you must use them in glib and the runtime. This is explained a bit more detailed in README.FreeBSD. When debugging unmanaged applications, you cannot view any parameters or local variables. This is because the code to read the type information from a DWARF 2 symbol file is not yet written. At the moment, you need to use the HexEditor together with the method's disassembly and register viewer ...... At the moment, you cannot modify parameters or local variables. To do this right, we need to write an expression parser, but this takes some time to implement. Currently we cannot store the module list and breakpoints to disk because serialization support in Mono is not yet mature enough. The user interface still needs some loving. Features -------- * Single Stepping Engine The single stepping engine is responsible for single-stepping, stopping and continuing the target and getting notifications when the target hit a breakpoint. At the moment, the single stepping engine (class/SingleSteppingEngine.cs) can - step one machine instruction - step one machine instruction while stepping over method calls - step until the end of the current method - step until leaving a range of source lines (this includes stepping until reaching another source line) - step one source line - step one source line while stepping over method calls - step one source line while stepping over method calls, but only if the method is in a user-configurable list of modules (shared libs, dlls) When debugging managed applications, the single stepping engine can also - automatically trigger a JIT compilation of methods while single-stepping. This is done completely trasparently for the user, so you don't need to worry about JIT trampolines, not even when stepping one machine instruction, they'll be invisible for you like system calls. - insert a breakpoint on a method which is not yet JITed. - call a method in the target (but this is still very preliminar; due to the lacking expression parser we can't create the parameters yet). However, this is already used to call a property's getter and Object.ToString(). The single stepping engine supports debugging multi-threaded applications; a stepping operation in one thread does not affect any of the other threads. This means for instance that it is safe to insert a breakpoint on a method which is called by another thread. * Breakpoints Breakpoints can be used in managed and unmanaged methods. You can insert a breakpoint either for a method or for a source line. When inserting the breakpoint for a method, it'll be inserted on the instruction immediately following the method's prologue. So when the breakpoint it hit, the method's parameters can already be accessed. Breakpoints may be inserted for not-yet-JITed methods, the debugger will automatically insert the breakpoint when the method is JITed. When inserting the breakpoints by source line, it'll also re-lookup its address each time the method is JITed. This allows the JIT to create different code for the method each time it JITs it and breakpoints will still be working. The user interface may supply its own breakpoint handler class which may be used to implement conditional breakpoints; such a conditional breakpoint can also read parameters and local variables to decide whether to continue the target. Breakpoints can be inserted on a per-thread level, this means that a breakpoint will only "break" on the "correct" thread. This is very important when debugging system functions such as corlib. * Modules Each shared library and each dll appears as a module to the debugger. The user may configure whether to enter a module's methods while single-stepping and load/unload the module's symbol tables. The module list persists across multiple invocations of the same target; later on we can even synchronize it to disk - as well as the user's breakpoint settings. * Parameters and local variables Type support for managed types is almost complete. The debugger can already read all fundamental types, arrays, structs and classes. It can call a property's getter method and invoke an object's ToString() method. * Disassembly and processor registers The debugger has a CPU view to see a disassembly of the current method and view/modify the processor registers. There's also a hex editor to view/modify the target's memory. * Hex Editor The debugger has a hex editor to inspect or modify the target's memory. * Command line interface In addition to the graphical user interface, the debugger also has a textual command line interface (which is also available in the GUI). The command line interface has a few very cool features which the GUI does not have: - when debugging multi-threaded applications, you can debug all threads, not just the main thread. This includes single-stepping, getting stack frames and backtraces etc. for any of the other threads. - all commands are synchronous, especially the stepping commands; the debugger waits until the target has stopped again. - you can access variables from any stack frame, not just from the current one. - there's a (still very simple) expression evaluator which allows you to inspect local variables and parameters. - it can be used as regression test suite. March 4th, 2003 Martin Baulig -- Martin Baulig martin@gnome.org martin@ximian.com From danmorg@sc.rr.com Sun Mar 9 19:05:55 2003 From: danmorg@sc.rr.com (Daniel Morgan) Date: Sun, 9 Mar 2003 14:05:55 -0500 Subject: [Mono-list] Help Please - Building on Windows In-Reply-To: <3E6AB810.10502@rogers.com> Message-ID: The using for the namespace is wrong. It was assumed the namespace would be Mono.Data.DB2Client, but it is DB2ClientCS. If you look in DB2ClientConnection.cs, it has a namespace of DB2ClientCS. So, replace: using Mono.Data.DB2Client; with: using DB2ClientCS; Also, you need to make sure your DSN, UID, and PWD is set correctly in the connection string. To build on Windows: $ mcs.bat db2example.cs /r:System.Data.dll /r:Mono.Data.DB2Client.dll To build on Linux: $ mcs db2example.cs /r:System.Data.dll /r:Mono.Data.DB2Client.dll To run: $ mono db2example.exe -----Original Message----- From: mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.com]On Behalf Of Chris Sent: Saturday, March 08, 2003 10:42 PM To: mono-list@lists.ximian.com Subject: [Mono-list] Help Please - Building on Windows Hi, I've been developing the DB2Client driver with Microsoft Visual Studio. Finally, belatedly, I want to see how things are running under Mono itself, so I'm playing around with the Windows version on W2K (.21 and .22) levels. I'm trying to compile the simple test app that is on the db2 driver web page, and I can't get it to go...:( What the heck am I doing wrong here? My compile command: D:\monoDev>mcs Test.cs -L D:\Mono-21\install\lib -r System.Data.dll -r Mono.Data.DB2Client.dll Test.cs(11) error CS0246: Cannot find type `DB2ClientConnection' Test.cs(12) error CS0165: Use of unassigned local variable `dbcon' Compilation failed: 2 error(s), 0 warnings My Environment, the relevent part anyway (let me know if something is missing): MONOARGS= Test.cs -r System.Data.dll MONO_BASEPATH=d:\mono-0.21\install MONO_CFG_DIR=D:\mono-0.21\install\etc\mono MONO_PATH=D:\mono-0.21\install\lib NUMBER_OF_PROCESSORS=1 OS=Windows_NT Os2LibPath=C:\WINNT\system32\os2\dll; Path=D:\mono-0.21\install\bin;G:\mono-0.21\install\lib; e:\PROGRA~1\Borland\CBUILD~1\Projects\Bpl;e:\PROGRA~1\B orland\CBUILD~1\Bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;E:\PRO GRA~ 1\IBM\SQLLIB\BIN;E:\PROGRA~1\IBM\SQLLIB\FUNCTION;E:\PROGRA~1\IBM\SQLLIB\SAMP LES\ I think I'm picking up System.Data.Dll, but not Mono.Data.DB2Client.dll. Can anyone see what I'm doing wrong here? Thanks Chris _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From Sebastien Pouliot Sun Mar 9 20:48:47 2003 From: Sebastien Pouliot (Sebastien Pouliot) Date: Sun, 09 Mar 2003 15:48:47 -0500 Subject: [Mono-list] Crypto issues and workarounds References: <026501c2e66c$49738880$0400000a@gorilla> Message-ID: <008501c2e67d$4869a9e0$0301a8c0@einstein> Hello Elan, Please fill both issue in Bugzilla (http://bugzilla.ximian.com/). I will look at them once I finished something else I have in mind. > (1) The Mono symmetric key cypto providers have CanReuseTransform == > false, whereas .NET defines them to be true. This wouldn't have been > that much of a problem, except that this code: AFAIK most cryptography classes can be reused. However this isn't tested in the NUnit tests. That's why CanReuseTransform is returning false for all classes. This will need to be fixed to (a) match MS implementation and (b) for performance issues. It _was_ a known (but forgotten) issue. > (2) In creating a CryptoStream to compute an MD5 hash, the .NET code was > finishing up by calling: > > stream.FlushFinalBlock(); > stream.Close(); Can you add (in Bugzilla) some code which exhibit this behavior (works on MS, fails on Mono). I will fix it and add the code to NUnit. A last request. Could you tell me which are the cryptographic classes you used in your applications ? I'm curious about what's currently being used (and what may still hide monstuous bugs ;-). Thanks for the reporting the issues. Sebastien Pouliot Security Architect, Motus Technologies, http://www.motus.com/ work: spouliot@motus.com home: spouliot@videotron.ca From jlaban@wanadoo.fr Sun Mar 9 22:19:53 2003 From: jlaban@wanadoo.fr (Jerome Laban) Date: Sun, 9 Mar 2003 23:19:53 +0100 Subject: [Mono-list] SIGKILL/SIGTERM handling Message-ID: <0c2301c2e68a$026b0a80$0500a8c0@jaybook> This is a multi-part message in MIME format. ------=_NextPart_000_0C20_01C2E692.63A47090 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, Did anyone had to intercept SIGKILL/SIGTERM from a C# application ? = I'm trying to cleanly terminate application, but adding a new handler = for these two signals in C does not seem to be enough... Anyone ? Jerome. ------=_NextPart_000_0C20_01C2E692.63A47090 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,
 
    Did anyone had to intercept = SIGKILL/SIGTERM=20 from a C# application ? I'm trying to cleanly terminate application, but = adding=20 a new handler for these two signals in C does not seem to be=20 enough...
 
Anyone ?
 
Jerome.
------=_NextPart_000_0C20_01C2E692.63A47090-- From mathpup@mylinuxisp.com Sun Mar 9 23:10:32 2003 From: mathpup@mylinuxisp.com (Marcus) Date: Sun, 9 Mar 2003 17:10:32 -0600 Subject: [Mono-list] SIGKILL/SIGTERM handling In-Reply-To: <0c2301c2e68a$026b0a80$0500a8c0@jaybook> References: <0c2301c2e68a$026b0a80$0500a8c0@jaybook> Message-ID: <200303091710.32072.mathpup@mylinuxisp.com> On Sunday 09 March 2003 04:19 pm, Jerome Laban wrote: > Hi, > > Did anyone had to intercept SIGKILL/SIGTERM from a C# application ? I'm > trying to cleanly terminate application, but adding a new handler for these > two signals in C does not seem to be enough... AFAIK, it's not possible to intercept SIGKILL. From malekith@pld-linux.org Sun Mar 9 23:12:07 2003 From: malekith@pld-linux.org (Michal Moskal) Date: Mon, 10 Mar 2003 00:12:07 +0100 Subject: [Mono-list] SIGKILL/SIGTERM handling In-Reply-To: <0c2301c2e68a$026b0a80$0500a8c0@jaybook> References: <0c2301c2e68a$026b0a80$0500a8c0@jaybook> Message-ID: <20030309231207.GA20670@roke.freak> On Sun, Mar 09, 2003 at 11:19:53PM +0100, Jerome Laban wrote: > Hi, > > Did anyone had to intercept SIGKILL/SIGTERM from a C# application > ? I'm trying to cleanly terminate application, but adding a new handler > for these two signals in C does not seem to be enough... >From signal(7) manpage: The signals SIGKILL and SIGSTOP cannot be caught, blocked, or ignored. Therefore you can only intercept SIGTERM. -- : Michal Moskal ::::: malekith/at/pld-linux.org : GCS {C,UL}++++$ a? !tv : PLD Linux ::::::: Wroclaw University, CS Dept : {E-,w}-- {b++,e}>+++ h From pt99par@student.bth.se Sun Mar 9 15:51:22 2003 From: pt99par@student.bth.se (Per Arneng) Date: Sun, 9 Mar 2003 16:51:22 +0100 Subject: [Mono-list] System.Web.Mail + UUEncoding = true Message-ID: <200303091651.22550.pt99par@student.bth.se> Hi! Added UUEncoding to System.Web.Mail for attachment encoding. So now both = of=20 the encoding techniques work for attachments UUEncode, Base64. Soon the m= ail=20 api is totally complete since there is only some minor parts left to fix.= =20 -------------------------------------------------------------------------= -------------- Here are some issues in MS.NET System.Web.Mail. i would like to have some comments here on how the mono System.Web.Mail should handled these issues: * SmtpMail.Send throws HttpExceptions (why?) * Bcc is completely ignored * As soon as you add an attachment with UUEncode explicitly, all the othe= r=20 attachments will be encoded with UUEncode regardless of what you have=20 specified :)=20 * Text file attachments are allways encoded using Quoted printable regard= less=20 of what you have specified explicitly. * Filename for attachments must be absolute. if they are not you get: =09HttpException( "Unknown protocol" ); -------------------------------------------------------------------------= ------------- Best regards=20 =09Per Arneng From miguel@ximian.com Mon Mar 10 01:40:38 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 09 Mar 2003 20:40:38 -0500 Subject: [Mono-list] Re: Update Monodoc In-Reply-To: <1047182256.1192.22.camel@spivaka.uninet.mx> References: <1047182256.1192.22.camel@spivaka.uninet.mx> Message-ID: <1047260437.21595.130.camel@erandi.boston.ximian.com> Hello, Ok, I believe that the problem is that we have more than one container in the XML file. I will correct this in the help generator. Miguel. From rafaelteixeirabr@hotmail.com Mon Mar 10 13:21:45 2003 From: rafaelteixeirabr@hotmail.com (A Rafael D Teixeira) Date: Mon, 10 Mar 2003 10:21:45 -0300 Subject: [Mono-list] System.Web.Mail + UUEncoding = true Message-ID: >Added UUEncoding to System.Web.Mail for attachment encoding. So now both of >the encoding techniques work for attachments UUEncode, Base64. Soon the >mail >api is totally complete since there is only some minor parts left to fix. Great news!!! >----------------------------------------------------------------------- >Here are some issues in MS.NET System.Web.Mail. i would like >to have some comments here on how the mono System.Web.Mail >should handled these issues: > >* SmtpMail.Send throws HttpExceptions (why?) In Win2000, IIS 5.0 (the web server) can be configured to provide 'Virtual SMTP', as a forwarder to Exchange or other true smtp server. In that case, probably it will probably generate HTTPExceptions. >* Bcc is completely ignored In this issue I think we should do it the rightway. Forget what MS' implementation does here. >* As soon as you add an attachment with UUEncode explicitly, all the other >attachments will be encoded with UUEncode regardless of what you have >specified :) Could it be that some RFC mandates it? If not, doesn't follow MS either. >* Text file attachments are allways encoded using Quoted printable >regardless >of what you have specified explicitly. Ditto... >* Filename for attachments must be absolute. if they are not you get: > HttpException( "Unknown protocol" ); If they aren't absolute how can you find them, relative to the application directory, or the current directory, or relative to the first non-relative attachment? I think, here, you must follow what MS has done, because you don't have the concept of a Base URL as you have in the HTML/XML world. >Best regards > Per Arneng Keep the good work, and happy hackings, Rafael Teixeira Brazilian Polymath Mono, MonoQLE Hacker _________________________________________________________________ The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail From efeingold@mn.rr.com Mon Mar 10 13:34:58 2003 From: efeingold@mn.rr.com (Elan Feingold) Date: Mon, 10 Mar 2003 07:34:58 -0600 Subject: [Mono-list] GetDirectories, glob, and high ACSII characters Message-ID: <000001c2e709$d82f5de0$0400000a@gorilla> This is a multi-part message in MIME format. ------=_NextPart_000_0001_01C2E6D7.8D94EDE0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, Has anyone else noticed that the GetDirectories code (and probably file listing code) doesn't return directories with "foreign" characters (accented letters, etc.)? I traced this down to the call to glob() which, when compiled in a test C program, returns all the directories, but for some reason within Mono doesn't. Is this some locale related strangeness?????? Best regards, -elan DirectoryInfo dirInfo = new DirectoryInfo(dir); DirectoryInfo[] subDirs = dirInfo.GetDirectories(); foreach (DirectoryInfo subDir in subDirs) { Console.WriteLine("Directory is: {0}.", subDir.Name); } This code lists the offending directory in a small test program, but not when embedded into the Mono source: glob_t globbuf; int i = 0; glob("/mnt/trove/Music/Blonde Redhead/*", 0, NULL, &globbuf); printf("Matches: %d\n", globbuf.gl_pathc); for (i=0; i '%s'\n", globbuf.gl_pathv[i]); ------=_NextPart_000_0001_01C2E6D7.8D94EDE0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi,

 

Has anyone else noticed that the GetDirectories = code (and probably file listing code) doesn’t return directories with = “foreign” characters (accented letters, etc.)?

 

I traced this down to the call to glob() which, = when compiled in a test C program, returns all the directories, but for some = reason within Mono doesn’t.

 

Is this some locale related = strangeness??????

 

Best regards,

 

-elan

 

        = DirectoryInfo dirInfo =3D new DirectoryInfo(dir);

        = DirectoryInfo[] subDirs =3D dirInfo.GetDirectories();

 

        foreach = (DirectoryInfo subDir in subDirs)

        = {

        &nbs= p;   Console.WriteLine("Directory is: {0}.",  = subDir.Name);

        = }

 

This code lists the offending directory in a small = test program, but not when embedded into the Mono source:

 

    glob_t = globbuf;

    int i =3D 0;

   

    = glob("/mnt/trove/Music/Blonde Redhead/*", 0, NULL, &globbuf);

 

    printf("Matches: = %d\n", globbuf.gl_pathc);

    for (i=3D0; = i<globbuf.gl_pathc; i++)

        = printf(" -> '%s'\n", globbuf.gl_pathv[i]);

------=_NextPart_000_0001_01C2E6D7.8D94EDE0-- From rafaelteixeirabr@hotmail.com Mon Mar 10 14:50:55 2003 From: rafaelteixeirabr@hotmail.com (A Rafael D Teixeira) Date: Mon, 10 Mar 2003 11:50:55 -0300 Subject: [Mono-list] Interesting Articles on Remoting and Security Message-ID: .NET Remoting Security Solution, Part 1: Microsoft.Samples.Security.SSPI Assembly http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/remsspi.asp .NET Remoting Security Solution, Part 2: Microsoft.Samples.Runtime.Remoting.Security Assembly http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/remsec.asp Best regards, Rafael Teixeira Brazilian Polymath Mono, MonoQLE Hacker _________________________________________________________________ The new MSN 8: advanced junk mail protection and 2 months FREE* http://join.msn.com/?page=features/junkmail From efeingold@mn.rr.com Mon Mar 10 17:59:14 2003 From: efeingold@mn.rr.com (Elan Feingold) Date: Mon, 10 Mar 2003 11:59:14 -0600 Subject: [Mono-list] GetDirectories, glob, and high ACSII characters Message-ID: <000e01c2e72e$c3b3d650$0400000a@gorilla> Holy cow, that took a long time to find what's going on... The problem occurs when calling GetDirectories() when there are directories with "high ASCII" characters (like "M=E9lodie Citronique"). The function glob(), which is used in FindFirstFile(), uses fnmatch(), which uses mbsrtowcs(), to convert a multibyte string to a wide character string. I did not have any locale-related environment variables set. Since mono calls setlocale(LC_ALL, ""), this results in mbsrtowcs() failing for file names with extended characters. If I set a LC_CTYPE, say to "C", the files make their way past fnmatch(), but then there's a crash in FindNextFile(), where it tries to convert g_utf8_to_utf16 and fails (perhaps because the input isn't UTF8?). I tried adding a call to g_locale_to_utf8() but this failed as well. Help!!!! Can someone else shed some light on this? Easy to reproduce, just create a directory with an accented character, and then run this source. What is my LC_CTYPE and other locale environment variables supposed to be set to? using System.IO; using System; class C { static void Main() { string dir =3D "./"; DirectoryInfo dirInfo =3D new DirectoryInfo(dir); DirectoryInfo[] subDirs =3D dirInfo.GetDirectories(); foreach (DirectoryInfo subDir in subDirs) { Console.WriteLine("Directory is: {0}.", subDir.Name); } } } From gonzalo@ximian.com Mon Mar 10 18:26:32 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 10 Mar 2003 19:26:32 +0100 Subject: [Mono-list] GetDirectories, glob, and high ACSII characters In-Reply-To: <000e01c2e72e$c3b3d650$0400000a@gorilla> References: <000e01c2e72e$c3b3d650$0400000a@gorilla> Message-ID: <1047320774.584.75.camel@portatil> El lun, 10 de 03 de 2003 a las 18:59, Elan Feingold escribió: > If I set a LC_CTYPE, say to "C", the files make their way past > fnmatch(), but then there's a crash in FindNextFile(), where it tries to > convert g_utf8_to_utf16 and fails (perhaps because the input isn't > UTF8?). I tried adding a call to g_locale_to_utf8() but this failed as > well. We have this bug http://bugzilla.ximian.com/show_bug.cgi?id=30781 related to that problem. > Help!!!! Can someone else shed some light on this? Easy to reproduce, > just create a directory with an accented character, and then run this > source. > > What is my LC_CTYPE and other locale environment variables supposed to > be set to? I only set LC_ALL=es_ES or LC_ALL=C -Gonzalo From alexc2649@nyc.rr.com Mon Mar 10 18:40:29 2003 From: alexc2649@nyc.rr.com (Alexander Chan) Date: 10 Mar 2003 13:40:29 -0500 Subject: [Mono-list] please check Message-ID: <1047321629.6042.40.camel@gentoo-laptop.alexchan.info> --=-lco1+MxMjKun253cqOfa Content-Type: text/plain Content-Transfer-Encoding: 7bit Hi everybody, Here is some code i have tried for registration exception. it seems to compile but i am not sure what i need else i need to do. can somebody help me and tell me what i need to do. i have attached my code with this email. alex -- Alexander Chan --=-lco1+MxMjKun253cqOfa Content-Disposition: attachment; filename=RegistrationException.cs Content-Type: text/plain; name=RegistrationException.cs; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit // // System.EnterpriseServices.RegistrationException.cs // // Author: // Tim Coleman (tim@timcoleman.com) // // Copyright (C) Tim Coleman, 2002 // using System; using System.Runtime.Serialization; namespace System.EnterpriseServices { [Serializable] public sealed class RegistrationException : SystemException { #region Fields RegistrationErrorInfo[] errorInfo; #endregion // Fields #region Constructors [MonoTODO] public RegistrationException (string msg) : base (msg) { } #endregion // Constructors #region Properties public RegistrationErrorInfo[] ErrorInfo { get { return errorInfo; } } #endregion // Properties #region Methods //the coding of GetObjectdata() is so far written by alexander chan public override void GetObjectData (SerializationInfo info, StreamingContext ctx) { base.GetObjectData(info,ctx); info.AddValue("ErrorInfo",errorInfo); } private RegistrationException (SerializationInfo info, StreamingContext ctx):base (info,ctx) { errorInfo = (RegistrationErrorInfo[]) info.GetValue ("ErrorInfo", typeof (RegistrationErrorInfo[])); } #endregion // Methods } } --=-lco1+MxMjKun253cqOfa-- From jlaban@wanadoo.fr Mon Mar 10 21:55:27 2003 From: jlaban@wanadoo.fr (Jerome Laban) Date: Mon, 10 Mar 2003 22:55:27 +0100 Subject: [Mono-list] SIGKILL/SIGTERM handling References: <0c2301c2e68a$026b0a80$0500a8c0@jaybook> <200303091710.32072.mathpup@mylinuxisp.com> Message-ID: <0c9d01c2e74f$c42fe120$0500a8c0@jaybook> This is a multi-part message in MIME format. ------=_NextPart_000_0C9A_01C2E758.24B7F890 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit > > AFAIK, it's not possible to intercept SIGKILL. > My mistake for the SIGKILL, it was actually SIGINT. But this is not my point here. Sending either SIGTERM or SIGINT to a mono or mono embedded process and handling it via sigaction is not acting like I want. I included with this post an example. My goal here is to build something like a daemon, as for now, there is no support for services in mono. If I get this thing to work, I'll look closer at implementing this part. (There were some interesting posts here with this concern, just wondering if someone is working on it) As for the example, a signal handler is registered as well as a managed delegate method. The signal is handled fine, but the mono runtime seems to handle it too... and this not what I want. Compile with "make", run with "./sigtermtest" , kill with "killall sigtermtest" and see what the termination looks like. I'm not totally fluent with signals, so I may be missing something or I may be running after something that is not possible with the mono runtime. Any ideas ? Jerome. ------=_NextPart_000_0C9A_01C2E758.24B7F890 Content-Type: application/octet-stream; name="sigtermtest.tar.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="sigtermtest.tar.bz2" QlpoOTFBWSZTWT6qws4AAn//hMwyAEB/f/+f//eeyv//3+oARIAIUAYPOOLttcZrLuauWM2tmQkk mQCaaMk9JhojSGmmmgZGgAAA9QA0DUyp+jUMSQyep6nqNAaZAAAAADQAAAkRJoCNU9BoyZU3qm1D 0nqHpDIMjJpkAaAA9Qc0aNDTCAaYE00AZDQxAGjEaGCMgAkUEjJPUwKNPTU/VPRppqPUZPU9EAAa AAaMgabVDb5/TmX+I00bCD+SpCDf1a8T9iqFCFG/vukFKmEKCDYQe26XubEiYMY2JtAxvCz7sIoY waa2xkEwGk2NAxNYdoRl/mnPJexoK68V9zuhwwqOWS2Es65DspDrCVjXu+DspZ9mf6aL5beCbFo+ C8/bWY+rLwVC9mDRBla4Y6IwxqMkIsaGoUqcpUwQ3LLZ3qA49PtZPrs/hOu7k0nKQCFS8VDxpjjk CSLVg7DaD+0FaRtQmgnvdrDloZYeojbic8Echu+js7rarAwWRCsMjKSyVlj30E8SCUHMs0jkR18j mqGh6HO4BGFl0K0FK8QwjgcznNVxkRUNG1wt8ZY7p3VE+B1EDYjomCjsBmDn+dBRlHFl9PjAcxa+ yZ5Lok/U09s8SkjcNVFf6vh9uxJpMWIyqQlYI32mbKq6dl1ty+WEs96WVkoIrRQWnkFDAQIC0CGf bGSt6Edm+nJbt6JMjWjVx8KN/T3CFDJ6RV5cIvv2ZjdAoR52HMhmV0WNdYyuuj6pNWHPz86Qukgc vjwbXrw+rpzMRUV6wPotkMWeZnq6r1Yed2Y3xF1VRUKZUIKulLRckVBNb2DDisHlfHHHLRbJW9Mp SoqyETNu8EUQ7PgjCuCmxW2FGnRx5TNnIJpioiGsevmOFKi2XUdsMl+ZvrxETbrK29B32PjIdDi2 3aqjrxBymyGo5TB9B6CrCq03zLPkhlo2MNezZ6D8TLaZLtBdXtUyJEVEstyMZxBcaaJMw7oz/mEI OcOd98BEjI8qlz389xpOxPgbhmHajYW9xPZz5OaFI5hai+DffJhJZIUauN6CPWLXyBHpOBDo8rgr snszYLaUK7LqsHQMSde3I58cTPZ49ap1hqkQVwgYfNgVzhBjB8lhSVilohRcMBfD0NtJg0lzkOKY xl3DPc32evqWq7hrOdJobiX1BW6vjhUFaCf6YQdPab34hCXUt0uQxSlZy6/6VC/lrY5muIjAEAOM ho2vfk0FUp0sM66hZnwKMSgMplacMIE4JBkQcWiG6VG3jUz0225gGOnr5h8pddzcb+7VOuCO6+0Y M0oitvedvNARbFQpSI7qVFSwntnbuvddfgjMFAcqMPeIFaoFRPSis91lKlYQzJkzEp30EAHxaNJf QsBiHkrbYgdnfYM5EYriW5EGhvBm2G9uuvdrnHT69dG5RRQTI2ceoiekNNXhHOmgVBiRReJbMk5o iTnNNoUQTReKCmjuUyd5YwMYMeSqJBjas30ryzliRYgIBuWlhCtoStG5xBKozfqxTWTdNnYSClVZ 1diM/U6hjZOqBonI09FpSsxyZl2s6dqkbbJgiHsLeHBZXhFFoDaAT01LwOm1SLUqO5MW7oMQhpds TuIgH3rIXKXC9jNbTLnqD/oxvTGxmHkMcwWLiCGOj4pamBYsSGWEzdkpADDgqMGxSTAYCqYrkU2m hmw5KlyIkeubRgUGlvDSMyWNbyXWGboWcA0GqskLjjXGkyQ+AQIC07NwWSnd7j6P0MX5M6NL3GZZ 2mXNCxYiedLKqZIHmTSGxYHhDaitwkVjLcOZdClMhC6xhituFpt58QtTCkbhqGs3lHxYphMyVFql NZ+jTE8h2IulbdYVRiZGiJJpKSmWxrJcaK5WaN4s9duLiZLghqXBLcNw2BSIh6nQkbo9C6qWLnTS ssAzgIlWjRrBdhJwBZ4JTkqUFMYC+kp0Msk6Mka4DGtODmDiaBirwDO5aDm5OFU1mVE6yCx+IYqq KkmO28FBiwHsSnMpKwvTIGiEM74hf+LuSKcKEgfVWFnA ------=_NextPart_000_0C9A_01C2E758.24B7F890-- From gvaish@adobe.com Tue Mar 11 03:55:32 2003 From: gvaish@adobe.com (Gaurav Vaish) Date: Tue, 11 Mar 2003 09:25:32 +0530 Subject: [Mono-list] please check References: <1047321629.6042.40.camel@gentoo-laptop.alexchan.info> Message-ID: <007b01c2e782$107ff060$060d280a@master> Nothing. * You are just missing the overloaded constructors. * And initialization of errorInfo to 'null' (put it just where u've declared it, line 19) Happy Hacking, Gaurav http://mastergaurav.virtualave.net/iitk --------------------------------------- ----- Original Message ----- From: "Alexander Chan" To: Sent: Tuesday, March 11, 2003 00:10 Subject: [Mono-list] please check > Hi everybody, > > Here is some code i have tried for registration exception. it seems to > compile but i am not sure what i need else i need to do. can somebody > help me and tell me what i need to do. i have attached my code with this > email. > > alex > -- > Alexander Chan > From Sebastien Pouliot Tue Mar 11 03:59:07 2003 From: Sebastien Pouliot (Sebastien Pouliot) Date: Mon, 10 Mar 2003 22:59:07 -0500 Subject: [Mono-list] Status of unsafe code in Mono References: Message-ID: <008a01c2e782$90a878c0$0301a8c0@einstein> This is a multi-part message in MIME format. --Boundary_(ID_YkHKAyPkcvJ2scg7M59xuA) Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 7BIT Hello Ben, First I don't known anything specific to the status of unsafe in mono (never tried it with mono). But if (or when) it's supported I don't anticipate any problem using it within corlib (which is where the BigInteger will be most used) because corlib will only be used with the mono runtime (so it's simple). However using unsafe code will make the class less (must do some reading to quantify "less") useful for other uses [*] because the application using the assembly/class will be required to "acknowledge" to use of unsafe code - and this, IMHO, is bad for reusing (my main focus ;-). [*] Example: including BigInteger in Mono.Security to implement DH for SSL. The speed gain seems important for the specific methods but I'm unsure how it's translate in a real application. Is it still worth it ? If yes maybe the unsafe code could be #if/#endif depending on where it will be used (like corlib or other assemblies). Sebastien Pouliot Security Architect, Motus Technologies, http://www.motus.com/ work: spouliot@motus.com home: spouliot@videotron.ca ----- Original Message ----- From: Ben Maurer To: mono-list@lists.ximian.com Sent: Sunday, February 09, 2003 10:57 AM Subject: [Mono-list] Status of unsafe code in Mono Hi, I am working on improving/rewriting Mono.Math.BigInteger, a class that is essential for asymmetrical crypto. My main focus is speed. I have found that using unsafe code can give a 20% - 50% speed boost in a couple of functions. I was wondering how well unsafe code is implemented in mono. Is it to the point where production code can use it? Sincerely, Ben Maurer --Boundary_(ID_YkHKAyPkcvJ2scg7M59xuA) Content-type: text/html; charset=iso-8859-1 Content-transfer-encoding: 7BIT
Hello Ben,
 
First I don't known anything specific to the status of unsafe in mono (never tried it with mono). But if (or when) it's supported I don't anticipate any problem using it within corlib (which is where the BigInteger will be most used) because corlib will only be used with the mono runtime (so it's simple).
 
However using unsafe code will make the class less (must do some reading to quantify "less") useful for other uses [*] because the application using the assembly/class will be required to "acknowledge" to use  of unsafe code - and this, IMHO, is bad for reusing (my main focus ;-).
 
[*] Example: including BigInteger in Mono.Security to implement DH for SSL.
 
The speed gain seems important for the specific methods but I'm unsure how it's translate in a real application. Is it still worth it ?
If yes maybe the unsafe code could be #if/#endif depending on where it will be used (like corlib or other assemblies).
 
Sebastien Pouliot
Security Architect, Motus Technologies, http://www.motus.com/
work: spouliot@motus.com
home: spouliot@videotron.ca
----- Original Message -----
From: Ben Maurer
Sent: Sunday, February 09, 2003 10:57 AM
Subject: [Mono-list] Status of unsafe code in Mono

Hi,

 

I am working on improving/rewriting Mono.Math.BigInteger, a class that is essential for asymmetrical crypto. My main focus is speed. I have found that using unsafe code can give a 20% - 50% speed boost in a couple of functions.

 

I was wondering how well unsafe code is implemented in mono. Is it to the point where production code can use it?

 

Sincerely,
Ben Maurer

--Boundary_(ID_YkHKAyPkcvJ2scg7M59xuA)-- From fjh@cs.mu.OZ.AU Tue Mar 11 04:54:36 2003 From: fjh@cs.mu.OZ.AU (Fergus Henderson) Date: Tue, 11 Mar 2003 15:54:36 +1100 Subject: [Mono-list] How can the assembly check the OS it's on? In-Reply-To: References: <1047073379.1886.69.camel@melchior.magi> Message-ID: <20030311045436.GA2136@ceres.cs.mu.oz.au> On 07-Mar-2003, Daniel Morgan wrote: > How do you determine in C# or .NET which CLI implementation you are running? > > DotGNU Portable.NET > Intel ORP > Microsoft .NET > Mono > Rotor (MS SS CLI) Since when did ORP become a CLR implementation? Last time I looked, ORP was a JVM implementation, not a CLR implementation. -- Fergus Henderson | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: | -- the last words of T. S. Garp. From fjh@cs.mu.OZ.AU Tue Mar 11 05:02:06 2003 From: fjh@cs.mu.OZ.AU (Fergus Henderson) Date: Tue, 11 Mar 2003 16:02:06 +1100 Subject: [Mono-list] How can the assembly check the OS it's on? In-Reply-To: <1047051877.21972.4.camel@localhost.localdomain> References: <1047051877.21972.4.camel@localhost.localdomain> Message-ID: <20030311050206.GB2136@ceres.cs.mu.oz.au> On 07-Mar-2003, Charles-Louis wrote: > I was wondering if it was possible for an assembly to now on which OS it > is running? In general it's much better to write your application so that it tests for features, rather than testing the OS type. code which tests the OS type is generally harder to port to new systems. > eg. if I'm running on windows, I'll use the Windows System logs, and if > I'm on Linux, i'll use the Linux logs... What will you do on Windows 2030, when Windows is running a Linux kernel and supports the Unix syslog interface? ;-) If you think that's far-fetched, consider MacOS X! Probably it's best to just try each method in turn. If none of the above methods work, you can resort to some fall-back such as printing to stderr and/or logging the messages to your own log file. -- Fergus Henderson | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: | -- the last words of T. S. Garp. From ICE@rsa-clan.com Tue Mar 11 05:27:11 2003 From: ICE@rsa-clan.com (ICE) Date: Tue, 11 Mar 2003 05:27:11 -0000 Subject: [Mono-list] Problem compiling, any advice? Message-ID: <001201c2e78e$debe9740$298f6ad5@rick7k6i3cazbh> This is a multi-part message in MIME format. ------=_NextPart_000_000F_01C2E78E.DDFC7FC0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi all :) This is my first post on the mono mail list.. so go easy on = me :P I just wanted to ask some advice with a problem im having. Im interested in running a UO (Ultima Online) emulator called "RunUO" = (www.runuo.com) on my Linux box... The problem being that the .NET = framework is needed. Turning to mono to help me, I came across a few problems when trying to = run the programme with Mono. RunUO starts ok with Mono... the scripts (written in C# btw) begin to = compile... but then disaster strikes and the process is killed by the = following message: Scripts: Compiling... Unhandled Exception: System.NullReferenceException: A null value was = found where an object instance was required in <0x000cc> 00 Mono.CSharp.Const:LookupConstantValue = (Mono.CSharp.EmitContext) in <0x00293> 00 Mono.CSharp.MemberAccess:ResolveMemberAccess = (Mono.CSharp.EmitContext,Mono.CSharp.Expression,Mono.CSharp.Expression,Mo= no.CSharp.Location,Mono.CSharp.Expression) in <0x0038d> 00 Mono.CSharp.SimpleName:SimpleNameResolve = (Mono.CSharp.EmitContext,Mono.CSharp.Expression,bool) in <0x00132> 00 Mono.CSharp.Expression:Resolve = (Mono.CSharp.EmitContext,Mono.CSharp.ResolveFlags) in <0x00102> 00 Mono.CSharp.Argument:Resolve = (Mono.CSharp.EmitContext,Mono.CSharp.Location) in <0x00296> 00 Mono.CSharp.Invocation:DoResolve = (Mono.CSharp.EmitContext) in <0x00151> 00 Mono.CSharp.Expression:Resolve = (Mono.CSharp.EmitContext,Mono.CSharp.ResolveFlags) in <0x0001d> 00 Mono.CSharp.StatementExpression:Resolve = (Mono.CSharp.EmitContext) in <0x000a9> 00 Mono.CSharp.If:Resolve (Mono.CSharp.EmitContext) in <0x0025e> 00 Mono.CSharp.Block:Resolve (Mono.CSharp.EmitContext) in <0x0025e> 00 Mono.CSharp.Block:Resolve (Mono.CSharp.EmitContext) in <0x0025e> 00 Mono.CSharp.Block:Resolve (Mono.CSharp.EmitContext) in <0x0025e> 00 Mono.CSharp.Block:Resolve (Mono.CSharp.EmitContext) in <0x0025e> 00 Mono.CSharp.Block:Resolve (Mono.CSharp.EmitContext) in <0x0010b> 00 Mono.CSharp.EmitContext:EmitTopBlock = (Mono.CSharp.Block,Mono.CSharp.InternalParameters,Mono.CSharp.Location) in <0x00357> 00 Mono.CSharp.EmitContext:EmitTopBlock = (Mono.CSharp.Block,Mono.CSharp.InternalParameters,Mono.CSharp.Location) in <0x005ad> 00 Mono.CSharp.Constructor:Emit (Mono.CSharp.TypeContainer) in <0x0017b> 00 Mono.CSharp.TypeContainer:Emit () in <0x004c8> 00 Mono.CSharp.RootContext:EmitCode () in <0x0075d> 00 Mono.CSharp.Driver:MainDriver (string[]) in <0x0000f> 00 Mono.CSharp.Driver:Main (string[]) I am wondering if anyone can give me some advice on what to do next. Is = this a bug in mono? If so.. where should I report it?.. . If its not a = bug, then any ideas on the fault? If ya have a spare 10 mins, and wish to see the problem for yourself, = you can download the latest version of RunUO (small) from this address:=20 http://www.runuo.com/files/index.php If anyone can offer any assistance in helping me resolve this issue, I = will be forever gratefull!! :) Thanks, -ICE- ------=_NextPart_000_000F_01C2E78E.DDFC7FC0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi all :)  This is my first post = on the mono=20 mail list.. so go easy on me :P
 
I just wanted to ask some advice with a = problem im=20 having.
 
Im interested in running a UO (Ultima = Online)=20 emulator called "RunUO" (www.runuo.com) on my=20 Linux box... The problem being that the .NET framework is = needed.
 
Turning to mono to help me, I came = across a few=20 problems when trying to run the programme with Mono.
 
RunUO starts ok with Mono... the = scripts (written=20 in C# btw) begin to compile... but then disaster strikes and the process = is=20 killed by the following message:
 
Scripts: Compiling...
Unhandled = Exception:=20 System.NullReferenceException: A null value was found where an object = instance=20 was required
in <0x000cc> 00 = Mono.CSharp.Const:LookupConstantValue=20 (Mono.CSharp.EmitContext)
in <0x00293> 00=20 Mono.CSharp.MemberAccess:ResolveMemberAccess=20 (Mono.CSharp.EmitContext,Mono.CSharp.Expression,Mono.CSharp.Expression,Mo= no.CSharp.Location,Mono.CSharp.Expression)
in=20 <0x0038d> 00 Mono.CSharp.SimpleName:SimpleNameResolve=20 (Mono.CSharp.EmitContext,Mono.CSharp.Expression,bool)
in = <0x00132> 00=20 Mono.CSharp.Expression:Resolve=20 (Mono.CSharp.EmitContext,Mono.CSharp.ResolveFlags)
in <0x00102> = 00=20 Mono.CSharp.Argument:Resolve=20 (Mono.CSharp.EmitContext,Mono.CSharp.Location)
in <0x00296> 00=20 Mono.CSharp.Invocation:DoResolve (Mono.CSharp.EmitContext)
in = <0x00151>=20 00 Mono.CSharp.Expression:Resolve=20 (Mono.CSharp.EmitContext,Mono.CSharp.ResolveFlags)
in <0x0001d> = 00=20 Mono.CSharp.StatementExpression:Resolve (Mono.CSharp.EmitContext)
in=20 <0x000a9> 00 Mono.CSharp.If:Resolve = (Mono.CSharp.EmitContext)
in=20 <0x0025e> 00 Mono.CSharp.Block:Resolve = (Mono.CSharp.EmitContext)
in=20 <0x0025e> 00 Mono.CSharp.Block:Resolve = (Mono.CSharp.EmitContext)
in=20 <0x0025e> 00 Mono.CSharp.Block:Resolve = (Mono.CSharp.EmitContext)
in=20 <0x0025e> 00 Mono.CSharp.Block:Resolve = (Mono.CSharp.EmitContext)
in=20 <0x0025e> 00 Mono.CSharp.Block:Resolve = (Mono.CSharp.EmitContext)
in=20 <0x0010b> 00 Mono.CSharp.EmitContext:EmitTopBlock=20 (Mono.CSharp.Block,Mono.CSharp.InternalParameters,Mono.CSharp.Location)in=20 <0x00357> 00 Mono.CSharp.EmitContext:EmitTopBlock=20 (Mono.CSharp.Block,Mono.CSharp.InternalParameters,Mono.CSharp.Location)in=20 <0x005ad> 00 Mono.CSharp.Constructor:Emit=20 (Mono.CSharp.TypeContainer)
in <0x0017b> 00=20 Mono.CSharp.TypeContainer:Emit ()
in <0x004c8> 00=20 Mono.CSharp.RootContext:EmitCode ()
in <0x0075d> 00=20 Mono.CSharp.Driver:MainDriver (string[])
in <0x0000f> 00=20 Mono.CSharp.Driver:Main (string[])
 
 
 
I am wondering if anyone can give me = some advice on=20 what to do next. Is this a bug in mono? If so.. where should I report=20 it?.. . If its not a bug, then any ideas on the fault?
 
If ya have a spare 10 mins, and wish to = see the=20 problem for yourself, you can download the latest version of RunUO = (small) from=20 this address:
 
http://www.runuo.com/files/= index.php
 
If anyone can offer any assistance in = helping me=20 resolve this issue, I will be forever gratefull!! :)
 
Thanks,
 
-ICE-
------=_NextPart_000_000F_01C2E78E.DDFC7FC0-- From danmorg@sc.rr.com Tue Mar 11 07:16:10 2003 From: danmorg@sc.rr.com (Daniel Morgan) Date: Tue, 11 Mar 2003 02:16:10 -0500 Subject: [Mono-list] How can the assembly check the OS it's on? In-Reply-To: <20030311045436.GA2136@ceres.cs.mu.oz.au> Message-ID: Maybe you need a pair of glasses to see. ORP has a CLI and JVM implementation. They even have OCL which is an Open CLI Library. -----Original Message----- From: Fergus Henderson [mailto:fjh@ceres.cs.mu.OZ.AU]On Behalf Of Fergus Henderson Sent: Monday, March 10, 2003 11:55 PM To: Daniel Morgan Cc: Jonathan Pryor; Charles-Louis; Mono List Subject: Re: [Mono-list] How can the assembly check the OS it's on? On 07-Mar-2003, Daniel Morgan wrote: > How do you determine in C# or .NET which CLI implementation you are running? > > DotGNU Portable.NET > Intel ORP > Microsoft .NET > Mono > Rotor (MS SS CLI) Since when did ORP become a CLR implementation? Last time I looked, ORP was a JVM implementation, not a CLR implementation. -- Fergus Henderson | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: | -- the last words of T. S. Garp. From david.marsal@free.fr Mon Mar 10 22:09:52 2003 From: david.marsal@free.fr (David Marsal) Date: 10 Mar 2003 23:09:52 +0100 Subject: [Mono-list] mono under Debian : unresolved type ... Message-ID: <1047334192.549.5.camel@localhost> Hello ! I try to compile the following hello.cs with mcs : using System; public class HelloWorld { static void Main() { Console.WriteLine("Hello World!"); } } but when I launch mcs I get : unresolved type: [mscorlib]System.Reflection.MemberFilter unresolved type: [mscorlib]System.Diagnostics.SymbolStore.ISymbolDocumentWriter unresolved type: [mscorlib]System.Diagnostics.SymbolStore.SymLanguageType unresolved type: [mscorlib]System.Diagnostics.SymbolStore.SymLanguageVendor unresolved type: [mscorlib]System.Diagnostics.SymbolStore.SymDocumentType unresolved type: [mscorlib]System.Diagnostics.SymbolStore.ISymbolWriter /usr/bin/mcs: unresolved external references The computer is running debian unstable with a sources.list : deb http://www.debianplanet.org/mono unstable main deb-src http://www.debianplanet.org/mono unstable main As a newbie, I can't understand a single word. What I missed ? thanks a lot for your help From dnnmaster@hotmail.com Tue Mar 11 05:19:12 2003 From: dnnmaster@hotmail.com (=?gb2312?B?uMogzfo=?=) Date: Tue, 11 Mar 2003 13:19:12 +0800 Subject: [Mono-list] About mono,Thank you! Message-ID: Dear Sir: I am a academic in china.The mono project of your company makes me flush.I had been learning c# for a long time.I am learning client development of c# now.I have a question about it.I see that your company can let .NET program run on linux and unix.I want to know whether my program which writed in windows can run on linux or unix with your component? And it need be modified or compiled again?If it can become true,What component should I intall?(My computer has Windows XP and Redhat linux). Thanks! Your stalwart _________________________________________________________________ ÓëÁŞ»úµÄĹóÓŃ˝řĐĐ˝»Á÷٬ÇëĘąÓĂ MSN Messenger: http://messenger.msn.com/cn From Graham.Allwood@CODA.com Tue Mar 11 09:05:41 2003 From: Graham.Allwood@CODA.com (Graham Allwood) Date: Tue, 11 Mar 2003 09:05:41 -0000 Subject: [Mono-list] How can the assembly check the OS it's on? Message-ID: <30BF363A03BC7E46BD984CB089096CF20520A8@mx-har-coda3.coda.com> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2E7AD.645621C0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="iso-8859-1" Are we talking about implementing a Framework class or writing an application? If it's the latter (which I presume it's not) then there is System.Diagnostics.EventLog which abstracts all of this. But I'm sure you all know that anyway and I've got mixed up with the question. Graham Allwood -----Original Message----- From: Daniel Morgan [mailto:danmorg@sc.rr.com] Sent: 11 March 2003 07:16 To: Fergus Henderson Cc: Jonathan Pryor; Charles-Louis; Mono List Subject: RE: [Mono-list] How can the assembly check the OS it's on? Maybe you need a pair of glasses to see. ORP has a CLI and JVM implementation. They even have OCL which is an Open CLI Library. -----Original Message----- From: Fergus Henderson [mailto:fjh@ceres.cs.mu.OZ.AU]On Behalf Of Fergus Henderson Sent: Monday, March 10, 2003 11:55 PM To: Daniel Morgan Cc: Jonathan Pryor; Charles-Louis; Mono List Subject: Re: [Mono-list] How can the assembly check the OS it's on? On 07-Mar-2003, Daniel Morgan wrote: > How do you determine in C# or .NET which CLI implementation you are running? > > DotGNU Portable.NET > Intel ORP > Microsoft .NET > Mono > Rotor (MS SS CLI) Since when did ORP become a CLR implementation? Last time I looked, ORP was a JVM implementation, not a CLR implementation. -- Fergus Henderson | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: | -- the last words of T. S. Garp. _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list ------_=_NextPart_001_01C2E7AD.645621C0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RE: [Mono-list] How can the assembly check the OS it's = on?

Are we talking about implementing a Framework class = or writing an application?

If it's the latter (which I presume it's not) then = there is System.Diagnostics.EventLog which abstracts all of this. But = I'm sure you all know that anyway and I've got mixed up with the = question.

Graham Allwood



-----Original Message-----
From: Daniel Morgan [mailto:danmorg@sc.rr.com]
Sent: 11 March 2003 07:16
To: Fergus Henderson
Cc: Jonathan Pryor; Charles-Louis; Mono List
Subject: RE: [Mono-list] How can the assembly check = the OS it's on?

Maybe you need a pair of glasses to see.

ORP has a CLI and JVM implementation.  They even = have OCL which is an Open
CLI Library.

-----Original Message-----
From: Fergus Henderson [mailto:fjh@ceres.cs.mu.OZ.AU]O= n Behalf Of Fergus
Henderson
Sent: Monday, March 10, 2003 11:55 PM
To: Daniel Morgan
Cc: Jonathan Pryor; Charles-Louis; Mono List
Subject: Re: [Mono-list] How can the assembly check = the OS it's on?


On 07-Mar-2003, Daniel Morgan = <danmorg@sc.rr.com> wrote:
> How do you determine in C# or .NET which CLI = implementation you are
running?
>
> DotGNU Portable.NET
> Intel ORP
> Microsoft .NET
> Mono
> Rotor (MS SS CLI)

Since when did ORP become a CLR = implementation?

Last time I looked, ORP was a JVM implementation, not = a CLR implementation.

--
Fergus Henderson <fjh@cs.mu.oz.au>  = |  "I have always known that the pursuit
The University of = Melbourne         |  of = excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  = |     -- the last words of T. S. Garp.

_______________________________________________
Mono-list maillist  -  = Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list=

------_=_NextPart_001_01C2E7AD.645621C0-- From lupus@ximian.com Tue Mar 11 09:33:19 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 11 Mar 2003 10:33:19 +0100 Subject: [Mono-list] Problem compiling, any advice? In-Reply-To: <001201c2e78e$debe9740$298f6ad5@rick7k6i3cazbh> References: <001201c2e78e$debe9740$298f6ad5@rick7k6i3cazbh> Message-ID: <20030311093319.GA1001@debian.org> On 03/11/03 ICE wrote: > RunUO starts ok with Mono... the scripts (written in C# btw) begin to compile... but then disaster strikes and the process is killed by the following message: > > Scripts: Compiling... > Unhandled Exception: System.NullReferenceException: A null value was found where an object instance was required > in <0x000cc> 00 Mono.CSharp.Const:LookupConstantValue (Mono.CSharp.EmitContext) > in <0x00293> 00 Mono.CSharp.MemberAccess:ResolveMemberAccess (Mono.CSharp.EmitContext,Mono.CSharp.Expression,Mono.CSharp.Expression,Mono.CSharp.Location,Mono.CSharp.Expression) This is a bug in the compiler. > I am wondering if anyone can give me some advice on what to do next. Is this a bug in mono? If so.. where should I report it?.. . If its not a bug, then any ideas on the fault? > > If ya have a spare 10 mins, and wish to see the problem for yourself, you can download the latest version of RunUO (small) from this address: > > http://www.runuo.com/files/index.php That link requires registering and god knows what else to be able to download the file. Please provide that actual files to compile or, if you can't distribute them, try to extract a simple test case that triggers the issue. Thanks! lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From charlouis.mono@wanadoo.be Tue Mar 11 09:42:22 2003 From: charlouis.mono@wanadoo.be (Charles-Louis) Date: 11 Mar 2003 10:42:22 +0100 Subject: [Mono-list] Mono Debugger: make errors (on gtksourceview-sharp.dll) Message-ID: <1047375742.2484.6.camel@localhost.localdomain> Hi, I just downloaded and installed mono 0.23, I have gtk-sharp 0.8 on a RH 8.0 box, and I tried to compile the mono-debugger. Unfortunately, There is a make error in the gtk directory: Making all in gtk make[3]: Entre dans le répertoire `/tmp/Mono/0.23/mono-debugger-0.2.2/widgets/gtk' /usr/local/bin/mcs --unsafe --target library -L /lib -r glib-sharp.dll -r gtk-sharp.dll -r gdk-sharp.dll -o gtksourceview-sharp.dll --recurse './*.cs' ./generated/GtkSharp.voidObjectboolSignal.cs(49) error CS0115: `GtkSharp.voidObjectboolSignal.Dispose' no suitable methods found to override Are there any other libraries I need? -- Charles-Louis From lupus@ximian.com Tue Mar 11 09:44:21 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 11 Mar 2003 10:44:21 +0100 Subject: [Mono-list] mono under Debian : unresolved type ... In-Reply-To: <1047334192.549.5.camel@localhost> References: <1047334192.549.5.camel@localhost> Message-ID: <20030311094421.GC1001@debian.org> On 03/10/03 David Marsal wrote: > I try to compile the following hello.cs with mcs : > > using System; > public class HelloWorld { > static void Main() { > Console.WriteLine("Hello World!"); > } > } > > > but when I launch mcs I get : > > unresolved type: [mscorlib]System.Reflection.MemberFilter > unresolved type: > [mscorlib]System.Diagnostics.SymbolStore.ISymbolDocumentWriter > unresolved type: [...] You have probably installed pnet or ran a command that replaces the mono CLR execution engine with the pnet one. pnet can't run mcs so you can download and run (as root) this script: http://www.debianplanet.org/mono/mono.init to get back to using mono to run .net programs. I include the script here as well: ==cut cut== #!/bin/sh # Copyright (C) 2002 Alp Toker # Licensed under the terms of the GNU GPL if [ ! -e /proc/sys/fs/binfmt_misc/register ]; then /sbin/modprobe binfmt_misc mount -t binfmt_misc none /proc/sys/fs/binfmt_misc fi if [ -e /proc/sys/fs/binfmt_misc/register ]; then echo ':CLR:M::MZ::/usr/bin/mono:' > /proc/sys/fs/binfmt_misc/register else echo "No binfmt_misc support" exit 1 fi exit 0 ==cut cut== lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From charlouis.mono@wanadoo.be Tue Mar 11 10:04:00 2003 From: charlouis.mono@wanadoo.be (Charles-Louis) Date: 11 Mar 2003 11:04:00 +0100 Subject: [Mono-list] How can the assembly check the OS it's on? In-Reply-To: <30BF363A03BC7E46BD984CB089096CF20520A8@mx-har-coda3.coda.com> References: <30BF363A03BC7E46BD984CB089096CF20520A8@mx-har-coda3.coda.com> Message-ID: <1047377040.2484.26.camel@localhost.localdomain> Thanks to all of you, You've been very helpful! I'll be using the System.IO.Path.DirectorySeparatorChar variable, because it's enough for the application I'm writing :-) Le mar 11/03/2003 à 10:05, Graham Allwood a écrit : > Are we talking about implementing a Framework class or writing an > application? > > If it's the latter (which I presume it's not) then there is > System.Diagnostics.EventLog which abstracts all of this. But I'm sure > you all know that anyway and I've got mixed up with the question. > > Graham Allwood > > > > -----Original Message----- > From: Daniel Morgan [mailto:danmorg@sc.rr.com] > Sent: 11 March 2003 07:16 > To: Fergus Henderson > Cc: Jonathan Pryor; Charles-Louis; Mono List > Subject: RE: [Mono-list] How can the assembly check the OS it's on? > > Maybe you need a pair of glasses to see. > > ORP has a CLI and JVM implementation. They even have OCL which is an > Open > CLI Library. > > -----Original Message----- > From: Fergus Henderson [mailto:fjh@ceres.cs.mu.OZ.AU]On Behalf Of > Fergus > Henderson > Sent: Monday, March 10, 2003 11:55 PM > To: Daniel Morgan > Cc: Jonathan Pryor; Charles-Louis; Mono List > Subject: Re: [Mono-list] How can the assembly check the OS it's on? > > > On 07-Mar-2003, Daniel Morgan wrote: > > How do you determine in C# or .NET which CLI implementation you are > running? > > > > DotGNU Portable.NET > > Intel ORP > > Microsoft .NET > > Mono > > Rotor (MS SS CLI) > > Since when did ORP become a CLR implementation? > > Last time I looked, ORP was a JVM implementation, not a CLR > implementation. > > -- > Fergus Henderson | "I have always known that the > pursuit > The University of Melbourne | of excellence is a lethal > habit" > WWW: | -- the last words of T. S. > Garp. > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list -- Charles-Louis From mwh@sysrq.dk Tue Mar 11 10:37:03 2003 From: mwh@sysrq.dk (Martin Willemoes Hansen) Date: 11 Mar 2003 11:37:03 +0100 Subject: [Mono-list] Mono Debugger: make errors (on gtksourceview-sharp.dll) In-Reply-To: <1047375742.2484.6.camel@localhost.localdomain> References: <1047375742.2484.6.camel@localhost.localdomain> Message-ID: <1047379022.331.16.camel@spiril.sysrq.dk> On Tue, 2003-03-11 at 10:42, Charles-Louis wrote: > Hi, > > I just downloaded and installed mono 0.23, I have gtk-sharp 0.8 on a RH > 8.0 box, and I tried to compile the mono-debugger. > > Unfortunately, There is a make error in the gtk directory: > > > Making all in gtk > make[3]: Entre dans le répertoire > `/tmp/Mono/0.23/mono-debugger-0.2.2/widgets/gtk' > /usr/local/bin/mcs --unsafe --target library -L /lib -r glib-sharp.dll > -r gtk-sharp.dll -r gdk-sharp.dll -o gtksourceview-sharp.dll --recurse > './*.cs' > ./generated/GtkSharp.voidObjectboolSignal.cs(49) error CS0115: > `GtkSharp.voidObjectboolSignal.Dispose' no suitable methods found to > override > > Are there any other libraries I need? I get this err too :( -- Martin Willemoes Hansen -------------------------------------------------------- E-Mail mwh@sysrq.dk Website mwh.sysrq.dk IRC MWH, freenode.net -------------------------------------------------------- From ICE@rsa-clan.com Tue Mar 11 10:46:32 2003 From: ICE@rsa-clan.com (ICE) Date: Tue, 11 Mar 2003 10:46:32 -0000 Subject: [Mono-list] Problem compiling, any advice? Message-ID: <002f01c2e7bb$7bae5b40$298f6ad5@rick7k6i3cazbh> Thanks for your reply :) > > Following on from what you suggested, here is a link directly to the RunUO > files. > www.utopia-rsa.com/RunUO-Beta-20.zip > > Running it under mono produces the errors I mentioned earlier :( Is this bug > being worked on? Or is it one not previously seen? > > I have been pulling my hair out for months trying to get to the source of > the problems, but its hard to tell if im making any real progress. > > If you are able to shed any light on this, I would be gratefull. Thanks > again :) > > -ICE- > > > ----- Original Message ----- > From: "Paolo Molaro" > To: > Sent: Tuesday, March 11, 2003 9:33 AM > Subject: Re: [Mono-list] Problem compiling, any advice? > > > > On 03/11/03 ICE wrote: > > > RunUO starts ok with Mono... the scripts (written in C# btw) begin to > compile... but then disaster strikes and the process is killed by the > following message: > > > > > > Scripts: Compiling... > > > Unhandled Exception: System.NullReferenceException: A null value was > found where an object instance was required > > > in <0x000cc> 00 Mono.CSharp.Const:LookupConstantValue > (Mono.CSharp.EmitContext) > > > in <0x00293> 00 Mono.CSharp.MemberAccess:ResolveMemberAccess > (Mono.CSharp.EmitContext,Mono.CSharp.Expression,Mono.CSharp.Expression,Mono. > CSharp.Location,Mono.CSharp.Expression) > > > > This is a bug in the compiler. > > > > > I am wondering if anyone can give me some advice on what to do next. Is > this a bug in mono? If so.. where should I report it?.. . If its not a bug, > then any ideas on the fault? > > > > > > If ya have a spare 10 mins, and wish to see the problem for yourself, > you can download the latest version of RunUO (small) from this address: > > > > > > http://www.runuo.com/files/index.php > > > > That link requires registering and god knows what else to be able to > > download the file. Please provide that actual files to compile or, if > > you can't distribute them, try to extract a simple test case that > > triggers the issue. > > > > Thanks! > > > > lupus > > > > -- > > ----------------------------------------------------------------- > > lupus@debian.org debian/rules > > lupus@ximian.com Monkeys do it better > > _______________________________________________ > > Mono-list maillist - Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list > > > From lupus@ximian.com Tue Mar 11 11:32:34 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 11 Mar 2003 12:32:34 +0100 Subject: [Mono-list] lies and microbenmarks (Was: Mono 0.23 windows installer) In-Reply-To: <20030309103724.Q12706@mozart> References: <1047169688.4404.5.camel@diphthong> <20030309103724.Q12706@mozart> Message-ID: <20030311113234.GD1001@debian.org> On 03/09/03 David Jeske wrote: > - CSC speeds up MS more than Mono (somewhat expected) mcs inserts useless additional variables with the pre/post increment/decrement operators, and that makes the jit produce somewhat worse code, there is already a bug filed for that. > - while many of the mono slowdowns seem related to JIT > optimizations (which the new JIT will change and improve), > the 2x slowdown in index_string_test points to a string, > hashing, memory allocation, or other hashtable inefficiency Yes, this issue should be investigated. We already discussed in the past about storing the calculated hashvalue for strings: that may help somewhat. Serge measured our hashtable implementation using the MS runtime and the speed was comparable to their implementation. The other issue is memory allocation: in the tests a lot of boxing operations take place, I have a simple patch that speeds up both index_test and index_string_test by about 10%, though it can be improved. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From hlf566@sohu.com Tue Mar 11 11:06:48 2003 From: hlf566@sohu.com (hlf566@sohu.com) Date: Tue, 11 Mar 2003 19:06:48 +0800 (CST) Subject: [Mono-list] [Myricom help #17446]Can you help me?(.net on redhat8.0) Message-ID: <7051449.1047380808575.JavaMail.postfix@mailsrv18.mail.sohu.com> > Hello my dear friend: > I am a linux lover,i am installing mono. > I installed it following the next step: > http://www.apacheworld.org/modmono/INSTALL > a) Install Mono 0.20 > Install the Mono rpms from > http://www.go-mono.com/download.html > b) Install Apache > httpd-2.0.40-8.i386.rpm > httpd-devel-2.0.40-8.i386.rpm > c) mod_mono > http://www.apacheworld.org/modmono/ > download Red Hat 8.0 rpm, > download corlib.dll.tar.gz > copy it over your existing corlib.dll > d) XSP web server (0.3) > chown -R apache.apache /home/user/mono/install/xsp/server/test > e) Configure Apache > Edit the /etc/httpd/conf/httpd.conf file and add the following: > > LoadModule mono_module libmod_mono.so > MonoApplication /mono /home/user/mono/install/xsp/server/test > mkdir /var/www/.wapi/ > chown apache.apache /var/www/.wapi > chmod 700 /var/www/.wapi > f) Start apache > As root, type: > /etc/init.d/httpd start > g) Browse the examples > http://127.0.0.1/mono/index.aspx > > Now i can look around those examples, > > I have a application abount .net(c#) on windows 2000,but i am not able to use it on redhat8.0. > If you would like help me,you can mail me a instruction about installing asp.net on redhat8.0. > especially how to dispose application. > Thank you very much. > I am a chinese. > I would lile make a friend with you. > please mail me as quickly as possible. > From daniel@rawbyte.com Tue Mar 11 12:31:21 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Tue, 11 Mar 2003 04:31:21 -0800 Subject: [Mono-list] mod_mono 0.3.6 Message-ID: <20030311123121.GA31675@rawbyte.com> Works with 0.23 and fixes the following error: System.ArgumentOutOfRangeException: Argument is out of range in <0x00052> 00 System.String:Substring (int) that prevented Apache from serving pages other than the ASP.NET ones when mod_mono is active. You can get the tarball and Red Hat 8.0 RPM at http://www.apacheworld.org/modmono/ Cheers Daniel From charlouis.mono@wanadoo.be Tue Mar 11 14:10:35 2003 From: charlouis.mono@wanadoo.be (Charles-Louis) Date: 11 Mar 2003 15:10:35 +0100 Subject: [Mono-list] Mono Debugger: make errors (on gtksourceview-sharp.dll) In-Reply-To: <1047379022.331.16.camel@spiril.sysrq.dk> References: <1047375742.2484.6.camel@localhost.localdomain> <1047379022.331.16.camel@spiril.sysrq.dk> Message-ID: <1047391835.2032.1.camel@localhost.localdomain> Le mar 11/03/2003 à 11:37, Martin Willemoes Hansen a écrit : > On Tue, 2003-03-11 at 10:42, Charles-Louis wrote: > > Hi, > > > > I just downloaded and installed mono 0.23, I have gtk-sharp 0.8 on a RH > > 8.0 box, and I tried to compile the mono-debugger. > > > > Unfortunately, There is a make error in the gtk directory: > > > > > > Making all in gtk > > make[3]: Entre dans le répertoire > > `/tmp/Mono/0.23/mono-debugger-0.2.2/widgets/gtk' > > /usr/local/bin/mcs --unsafe --target library -L /lib -r glib-sharp.dll > > -r gtk-sharp.dll -r gdk-sharp.dll -o gtksourceview-sharp.dll --recurse > > './*.cs' > > ./generated/GtkSharp.voidObjectboolSignal.cs(49) error CS0115: > > `GtkSharp.voidObjectboolSignal.Dispose' no suitable methods found to > > override > > > > Are there any other libraries I need? > > I get this err too :( these errors don't appear when installing the CVS version of gtk-sharp. -- Charles-Louis From koss@objectmentor.com Tue Mar 11 14:17:40 2003 From: koss@objectmentor.com (Bob Koss) Date: Tue, 11 Mar 2003 09:17:40 -0500 Subject: [Mono-list] CSharpMode ? Message-ID: Is anyone using CsMode in XEmacs? I can't get it to load using XEmacs 21.4.12. -- Robert Koss, Ph.D. | Training, Mentoring, Contract Development Senior Consultant | Object Oriented Design, C++, Java www.objectmentor.com | Extreme Programming From lists@sebastian-bergmann.de Tue Mar 11 15:23:18 2003 From: lists@sebastian-bergmann.de (Sebastian Bergmann) Date: Tue, 11 Mar 2003 16:23:18 +0100 Subject: [Mono-list] lies and microbenmarks In-Reply-To: <20030309103724.Q12706@mozart> References: <1047169688.4404.5.camel@diphthong> <20030309103724.Q12706@mozart> Message-ID: <20030311152515.3B3B81241AB@listsmx.ximian.com> David Jeske wrote: > - while many of the mono slowdowns seem related to JIT > optimizations (which the new JIT will change and improve), > the 2x slowdown in index_string_test points to a string, > hashing, memory allocation, or other hashtable inefficiency Is this new JIT already available somewhere, for instance from CVS? If so, is it in a usable state? When is it expected to be ready? I'm currently researching an article on Mono, so this information would be appreciated, Sebastian -- Sebastian Bergmann http://sebastian-bergmann.de/ http://phpOpenTracker.de/ Did I help you? Consider a gift: http://wishlist.sebastian-bergmann.de/ From miguel@ximian.com Tue Mar 11 16:15:45 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 11 Mar 2003 11:15:45 -0500 Subject: [Mono-list] Status of unsafe code in Mono In-Reply-To: References: Message-ID: <1047399345.2029.9.camel@erandi.boston.ximian.com> hello! > I am working on improving/rewriting Mono.Math.BigInteger, a class that > is essential for asymmetrical crypto. My main focus is speed. I have > found that using unsafe code can give a 20% - 50% speed boost in a > couple of functions. > I was wondering how well unsafe code is implemented in mono. Is it to > the point where production code can use it? It is well implemented, but if there was a bug, we would rapidly fix it ;-) Miguel From miguel@ximian.com Tue Mar 11 16:31:25 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 11 Mar 2003 11:31:25 -0500 Subject: [Mono-list] Problem compiling, any advice? In-Reply-To: <001201c2e78e$debe9740$298f6ad5@rick7k6i3cazbh> References: <001201c2e78e$debe9740$298f6ad5@rick7k6i3cazbh> Message-ID: <1047400285.2029.19.camel@erandi.boston.ximian.com> Hello, > RunUO starts ok with Mono... the scripts (written in C# btw) begin to > compile... but then disaster strikes and the process is killed by the > following message: > > Scripts: Compiling... > Unhandled Exception: System.NullReferenceException: A null value was > found where an object instance was required > in <0x000cc> 00 Mono.CSharp.Const:LookupConstantValue > (Mono.CSharp.EmitContext) > in <0x00293> 00 Mono.CSharp.MemberAccess:ResolveMemberAccess > (Mono.CSharp.EmitContext,Mono.CSharp.Expression,Mono.CSharp.Expression,Mono.CSharp.Location,Mono.CSharp.Expression) > in <0x0038d> 00 Mono.CSharp.SimpleName:SimpleNameResolve This output is actually the output of an old crash on the compiler. You might just have an old version of the compiler. The new compiler would have provided more information about where it crashed. Upgrade your compiler/mono Miguel. From Tam@SiuLung.com Tue Mar 11 16:40:45 2003 From: Tam@SiuLung.com (Alan Tam) Date: Wed, 12 Mar 2003 00:40:45 +0800 Subject: [Mono-list] Status of unsafe code in Mono References: <1047399345.2029.9.camel@erandi.boston.ximian.com> Message-ID: <002e01c2e7ec$fa479ad0$5710630a@IBMAlan> I think the question is: Would we really accept nothing except code that make things work more correct? Would we try to accept code if someone proves to us that it also works as correct as ours but is faster? Regards, Alan ----- Original Message ----- From: "Miguel de Icaza" To: "Ben Maurer" Cc: Sent: Wednesday, March 12, 2003 12:15 AM Subject: Re: [Mono-list] Status of unsafe code in Mono > hello! > > > I am working on improving/rewriting Mono.Math.BigInteger, a class that > > is essential for asymmetrical crypto. My main focus is speed. I have > > found that using unsafe code can give a 20% - 50% speed boost in a > > couple of functions. > > > I was wondering how well unsafe code is implemented in mono. Is it to > > the point where production code can use it? > > It is well implemented, but if there was a bug, we would rapidly fix it > ;-) > > Miguel > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > From martin@gnome.org Tue Mar 11 20:10:45 2003 From: martin@gnome.org (Martin Baulig) Date: 11 Mar 2003 21:10:45 +0100 Subject: [Mono-list] Status of unsafe code in Mono In-Reply-To: References: Message-ID: <86d6kx3bqy.fsf@einstein.home-of-linux.org> "Ben Maurer" writes: > I am working on improving/rewriting Mono.Math.BigInteger, a class that is essential for > asymmetrical crypto. My main focus is speed. I have found that using unsafe code can give > a 20% - 50% speed boost in a couple of functions. Hi, do you really mean `unsafe' and not `unchecked' - `unsafe' allows you to do unsafe things with pointers like, for instance, getting the address of something - while `uncheck' disables things like overflow checking. -- Martin Baulig martin@gnome.org martin@ximian.com From martin@gnome.org Tue Mar 11 20:11:43 2003 From: martin@gnome.org (Martin Baulig) Date: 11 Mar 2003 21:11:43 +0100 Subject: [Mono-list] Mono Debugger: make errors (on gtksourceview-sharp.dll) In-Reply-To: <1047391835.2032.1.camel@localhost.localdomain> References: <1047375742.2484.6.camel@localhost.localdomain> <1047379022.331.16.camel@spiril.sysrq.dk> <1047391835.2032.1.camel@localhost.localdomain> Message-ID: <868yvl3bpc.fsf@einstein.home-of-linux.org> Charles-Louis writes: > these errors don't appear when installing the CVS version of gtk-sharp. Ah, so that's the reason why I can't reproduce it. I'll check whether that's gtk# or a debugger problem. -- Martin Baulig martin@gnome.org martin@ximian.com From revision17@phreaker.net Tue Mar 11 21:29:42 2003 From: revision17@phreaker.net (revision17) Date: Tue, 11 Mar 2003 16:29:42 -0500 Subject: [Mono-list] Database with the best support in mono? Message-ID: <003801c2e815$5b630b10$0300a8c0@number17box> In all the .net apps I write I'm trying to make them as easily comatible with mono as possible. One that I'll be writing shortly uses a database, and I was wondering which has/will have the best support? From miguel@ximian.com Tue Mar 11 22:04:06 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 11 Mar 2003 17:04:06 -0500 Subject: [Mono-list] lies and microbenmarks In-Reply-To: <20030311152515.3B3B81241AB@listsmx.ximian.com> References: <1047169688.4404.5.camel@diphthong> <20030309103724.Q12706@mozart> <20030311152515.3B3B81241AB@listsmx.ximian.com> Message-ID: <1047420246.2028.155.camel@erandi.boston.ximian.com> Hello, > > - while many of the mono slowdowns seem related to JIT > > optimizations (which the new JIT will change and improve), > > the 2x slowdown in index_string_test points to a string, > > hashing, memory allocation, or other hashtable inefficiency > > Is this new JIT already available somewhere, for instance from CVS? If > so, is it in a usable state? When is it expected to be ready? Not available yet. When we are happy with its stability for the kind of production use that the current JIT is used for, it will be released. So `soon', but do not know how soon. It is now able to bootstrap all of the Mono class libraries, but there are still things that are broken. Miguel From sdhmis@sheratondover.com Tue Mar 11 22:33:42 2003 From: sdhmis@sheratondover.com (Kenneth Benson) Date: Tue, 11 Mar 2003 17:33:42 -0500 Subject: [Mono-list] libgc in CVS Message-ID: This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C2E81E.4538D2D0 Content-Type: text/plain; charset="iso-8859-1" *blinks* Did I miss something while I was gone? Ummm, why are all the different directories duplicated inside libgc? Thanks, (with a puzzled look) Ken ------_=_NextPart_001_01C2E81E.4538D2D0 Content-Type: text/html; charset="iso-8859-1" libgc in CVS

*blinks*

Did I miss something while I was gone?

Ummm, why are all the different directories duplicated inside libgc?

Thanks, (with a puzzled look)

Ken

------_=_NextPart_001_01C2E81E.4538D2D0-- From danmorg@sc.rr.com Tue Mar 11 23:50:15 2003 From: danmorg@sc.rr.com (Daniel Morgan) Date: Tue, 11 Mar 2003 18:50:15 -0500 Subject: [Mono-list] Database with the best support in mono? In-Reply-To: <003801c2e815$5b630b10$0300a8c0@number17box> Message-ID: For more information see http://www.go-mono.com/ado-net.html It depends on your requirements. I will ask some questions. What platforms will you run mono? What kind of hardware do you anticipate using? What is your budget? How many users or maximum connections do you anticpate? Will you have multiple databases scattered around the world? Another words, is distributed databases and replication technology important to you? Do you think you will need things like stored procedures, triggers, transactions? Mono has support for many data sources: XML, Oracle, Microsoft SQL Server, Sybase, MySQL, PostgreSQL, SQL Lite, Firebird/Interbase, IBM DB2 Universal Database, and ODBC. If a data source is not supported, it should not be hard to create a new using the various interfaces provided in ADO.NET like IDbConnection, IDbCommand, IDataReader, and IDataAdapter, etc... Also, if the data source is not listed above, there is a good chance that the data source has ODBC support which Mono's implementation of ADO.NET has. I will not compare the differences between the various DBMS engines out there; this should be done by your own research which is better. However, I can compare the various providers in Mono. Microosoft SQL Server (System.Data.SqlClient) is actively developed and is very usuable. PostgreSQL (Npgsql) is actively developed. MySQL (ByteFX.Data.MySQLClient) is actively developed. Oracle (System.Data.OracleClient) is actively developed, but has problems on Windows. Hopefully, this will change. IBM DB2 (Mono.Data.DB2Client) is actively developed, and I hear it works. The other providers work, but are not actively developed much. ODBC (System.Data.Odbc) works on Windows and Linux. PostgreSQL (Mono.Data.PostgreSqlClient) works, but is deprecated in favor of Npgsql. MySQL (Mono.Data.MySql) works, but is deprecated in favor of ByteFX.Data.MySQLClient. OLE DB (System.Data.OleDb) only works on Linux due to its underlying native library libgda which only works Linux. SQL Lite (Mono.Data.SqliteClient) works. Sybase (Mono.Data.SybaseClient) I hear works, but may have bit-rotted. TdsClient (Mono.Data.TdsClient) for older Sybase and Microsoft SQL Server database. I hear it works, but may have bit-rotted. I don't know the status of Firebird/Interbase though since it is a completely separate project. -----Original Message----- From: mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.com]On Behalf Of revision17 Sent: Tuesday, March 11, 2003 4:30 PM To: monolist Subject: [Mono-list] Database with the best support in mono? In all the .net apps I write I'm trying to make them as easily comatible with mono as possible. One that I'll be writing shortly uses a database, and I was wondering which has/will have the best support? _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From cfwhelan@adelphia.net Tue Mar 11 23:50:27 2003 From: cfwhelan@adelphia.net (Chris Whelan) Date: 11 Mar 2003 18:50:27 -0500 Subject: [Mono-list] Mono .23 Release - Red carpet In-Reply-To: <20030311213101.17408.94733.Mailman@headcheese.ximian.com> References: <20030311213101.17408.94733.Mailman@headcheese.ximian.com> Message-ID: <1047426626.4671.5.camel@dell-linux> --=-HkRvKOK8Uf1ZrAaFfTuN Content-Type: text/plain Content-Transfer-Encoding: 7bit Hi- I was just wondering why the mono red-carpet channel is still at .22 Regards, Chris Whelan --=-HkRvKOK8Uf1ZrAaFfTuN Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit Hi-

I was just wondering why the mono red-carpet channel is still at .22

Regards,

Chris Whelan


--=-HkRvKOK8Uf1ZrAaFfTuN-- From John.BouAntoun@rogen.com.au Wed Mar 12 00:49:54 2003 From: John.BouAntoun@rogen.com.au (John BouAntoun) Date: Wed, 12 Mar 2003 11:49:54 +1100 Subject: [Mono-list] .Net developer position available to Message-ID: This is a multi-part message in MIME format. ------_=_NextPart_001_01C2E831.4BFBB9A8 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi guys, I'm looking for a monoer who has .Net (preferrably ASP.Net) experience = and a degree in Computer Science/Computer Engineering/Software = Engineering who lives in Sydney, Austrlia. The position involves work on a global ASP.Net CRM system as well as = porting a legacy windows VB App to C#. If you are an avid monoer, who codes reguarly in C# and has some SQL = Server and ASP.Net experience shoot me an email. Thanks John BouAntoun ------_=_NextPart_001_01C2E831.4BFBB9A8 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable .Net developer position available to

Hi guys,

I'm looking for a monoer who has .Net = (preferrably ASP.Net) experience and a degree in Computer = Science/Computer Engineering/Software Engineering who lives in Sydney, = Austrlia.

The position involves work on a global = ASP.Net CRM system as well as porting a legacy windows VB App to = C#.

If you are an avid monoer, who codes = reguarly in C# and has some SQL Server and ASP.Net experience shoot me = an email.

Thanks

John BouAntoun

------_=_NextPart_001_01C2E831.4BFBB9A8-- From miguel@ximian.com Wed Mar 12 05:45:07 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 12 Mar 2003 00:45:07 -0500 Subject: [Mono-list] Mono .23 Release - Red carpet In-Reply-To: <1047426626.4671.5.camel@dell-linux> References: <20030311213101.17408.94733.Mailman@headcheese.ximian.com> <1047426626.4671.5.camel@dell-linux> Message-ID: <1047447906.2028.366.camel@erandi.boston.ximian.com> Hello, > I was just wondering why the mono red-carpet channel is still at .22 It has been corrected. From massimiliano.arcidiacono@st.com Wed Mar 12 07:58:46 2003 From: massimiliano.arcidiacono@st.com (Massimiliano Arcidiacono) Date: Wed, 12 Mar 2003 08:58:46 +0100 Subject: [Mono-list] Documentation vb.net for gtk# Message-ID: <003601c2e86d$3615c1b0$b08682a4@ctn.st.com> This is a multi-part message in MIME format. ------=_NextPart_000_0033_01C2E875.975FC990 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, I am a problem, where I can find the documentation vb.net for gtk# = ? I have write this program: Imports System Imports Gtk Module GtkTest Sub Main() =20 Dim Win as Window Dim Btn as Button =20 Application.Init() Win =3D new Window ("Hello GNOME") Btn =3D new Button ("GNU/Linux") Win.Add (Btn) =20 Win.SetDefaultSize(300,300) =20 Win.ShowAll() =20 =20 =20 Application.Run () =20 End Sub End Module =20 but I don't know other !!!! Where I canf find the documentation ? Best regards, Max Arcidiacono ------=_NextPart_000_0033_01C2E875.975FC990 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,
 
      I am a = problem,=20 where I can find the documentation vb.net for gtk# ?
 
I have write this program:
 
Imports = System
Imports=20 Gtk
 
Module = GtkTest
 
    Sub=20 Main()
   
     Dim Win as=20 Window
     Dim Btn as=20 Button
     
     = ;Application.Init()
   =20  Win =3D new Window ("Hello = GNOME")
     Btn =3D=20 new Button ("GNU/Linux")
     Win.Add=20 (Btn)
     
     = Win.SetDefaultSize(300,300)
   =20  
     Win.ShowAll()   =20   
     
   =20  
     Application.Run = ()
   =20  
    End Sub
 
End = Module

   
but = I don't=20 know other !!!!
 
Where I canf find the documentation ?
 
Best regards,
 
           Max=20 Arcidiacono
------=_NextPart_000_0033_01C2E875.975FC990-- From fabbe@paniq.net Wed Mar 12 09:36:35 2003 From: fabbe@paniq.net (Fabian Fagerholm) Date: 12 Mar 2003 11:36:35 +0200 Subject: [Mono-list] CSharpMode ? In-Reply-To: References: Message-ID: <1047461795.2807.5.camel@kernel> On Tue, 2003-03-11 at 16:17, Bob Koss wrote: > Is anyone using CsMode in XEmacs? > > I can't get it to load using XEmacs 21.4.12. Have you tried this: http://davh.dk/script/csharp-mode.el -- Fabian Fagerholm paniq.net From daniel@rawbyte.com Wed Mar 12 10:14:15 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Wed, 12 Mar 2003 02:14:15 -0800 Subject: [Mono-list] mod_mono and user dirs Message-ID: <20030312101415.GA2423@rawbyte.com> Miguel suggested to allow individual users to be able to run their own .aspx pages from their home directories. In Apache, you can use the UserDir configuration directive to tell the web server that when http://www.example.com/~userfoo/index.aspx is requested, it should return /home/userfoo/public_html/index.aspx But in ASP.NET, all requests go thru an ApplicationHost, that has a virtual path and a physical path, which are different for each user. I have thought of the following implementation possibilities: - Detect that a user directory is being requested and create an application host on the fly for that user - Create an ApplicationHost that is shared by all users, but modify HttpWorkerRequest so when the translated path is requested, it will return the appropriate user directory with public_html inserted in the right place. I am not entirely satisfied with these, specially because I dont know if b) will have some unwanted side effects Do you have any suggestions on the best way to approach this or a link to relevant discussion/info? I am posting this to some ASP.NET groups, but since they are windows centric I dont think they will know what I am talking about :-) Cheers Daniel From patrik.torstensson@intel.com Wed Mar 12 10:30:52 2003 From: patrik.torstensson@intel.com (Torstensson, Patrik) Date: Wed, 12 Mar 2003 02:30:52 -0800 Subject: [Mono-list] mod_mono and user dirs Message-ID: <487C7BED8BFCDD4C9B1E4EA3DCEA5FC70E1F4F@swsmsx402.isw.intel.com> You could also make a HttpModule that checks for /~ -----Original Message----- > From: Daniel Lopez [mailto:daniel@rawbyte.com] > Sent: Wednesday, March 12, 2003 11:14 AM > To: mono-list@ximian.com > Subject: [Mono-list] mod_mono and user dirs > > > > Miguel suggested to allow individual users to be able to run their > own .aspx pages from their home directories. > In Apache, you can use the UserDir configuration directive to > tell the web > server that when > http://www.example.com/~userfoo/index.aspx is requested, it > should return > /home/userfoo/public_html/index.aspx > > But in ASP.NET, all requests go thru an ApplicationHost, that > has a virtual > path and a physical path, which are different for each user. > I have thought > of the following implementation possibilities: > - Detect that a user directory is being requested and create > an application > host on the fly for that user > - Create an ApplicationHost that is shared by all users, but modify > HttpWorkerRequest so when the translated path is requested, > it will return > the appropriate user directory with public_html inserted in > the right place. > > I am not entirely satisfied with these, specially because I > dont know if b) > will have some unwanted side effects > Do you have any suggestions on the best way to approach this > or a link to > relevant discussion/info? > I am posting this to some ASP.NET groups, but since they are > windows centric > I dont think they will know what I am talking about :-) > > Cheers > > Daniel > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > From daniel@rawbyte.com Wed Mar 12 10:58:43 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Wed, 12 Mar 2003 02:58:43 -0800 Subject: [Mono-list] mod_mono and user dirs In-Reply-To: <487C7BED8BFCDD4C9B1E4EA3DCEA5FC70E1F4F@swsmsx402.isw.intel.com> References: <487C7BED8BFCDD4C9B1E4EA3DCEA5FC70E1F4F@swsmsx402.isw.intel.com> Message-ID: <20030312105843.GA2538@rawbyte.com> > You could also make a HttpModule that checks for /~ that into a correct path (that could be saved in web.config or other cfg > file) I can do that with Apache (and reuse the UserDir directive), but when do you use that information? My guess was overriding PathTranslated in HttpWorkerRequest, but it just does not feel right :) As you suggested, I will look for examples of HttpModules that change the physical path and see how they do it. thanks! > > -----Original Message----- > > From: Daniel Lopez [mailto:daniel@rawbyte.com] > > Sent: Wednesday, March 12, 2003 11:14 AM > > To: mono-list@ximian.com > > Subject: [Mono-list] mod_mono and user dirs > > > > > > > > Miguel suggested to allow individual users to be able to run their > > own .aspx pages from their home directories. > > In Apache, you can use the UserDir configuration directive to > > tell the web > > server that when > > http://www.example.com/~userfoo/index.aspx is requested, it > > should return > > /home/userfoo/public_html/index.aspx > > > > But in ASP.NET, all requests go thru an ApplicationHost, that > > has a virtual > > path and a physical path, which are different for each user. > > I have thought > > of the following implementation possibilities: > > - Detect that a user directory is being requested and create > > an application > > host on the fly for that user > > - Create an ApplicationHost that is shared by all users, but modify > > HttpWorkerRequest so when the translated path is requested, > > it will return > > the appropriate user directory with public_html inserted in > > the right place. > > > > I am not entirely satisfied with these, specially because I > > dont know if b) > > will have some unwanted side effects > > Do you have any suggestions on the best way to approach this > > or a link to > > relevant discussion/info? > > I am posting this to some ASP.NET groups, but since they are > > windows centric > > I dont think they will know what I am talking about :-) > > > > Cheers > > > > Daniel > > _______________________________________________ > > Mono-list maillist - Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list > > From daniel@rawbyte.com Wed Mar 12 11:13:09 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Wed, 12 Mar 2003 03:13:09 -0800 Subject: [Mono-list] mod_mono and user dirs In-Reply-To: <78AF93592520674C8277657BFB0FE01F03C569@ilexc01.SMART.INTRA> References: <78AF93592520674C8277657BFB0FE01F03C569@ilexc01.SMART.INTRA> Message-ID: <20030312111309.GB2538@rawbyte.com> > In IIS 6 a new term was introduced, a web garden. A web garden is an > application host that hosts several applications on the same process. > It is also possible (of course) to create several web gardens. Oh, I was not aware of this, I´ll read up on that > So as I see it we have the following options: > > - Update the application host to receive as a parameter several paths. > Each path represents an application. This means that every user path > will be manually enter to the config. This is also useful for applying a > web garden concept in mod_mono. You can do that with MonoApplication /~ /home/ The problem is adding the public_html in the right place, the workaround I suggested so far was MonoApplication /~ /some/path and then soft-linking the public_html to there > - Add a parameter to the application host that will recognize a pattern > that will be interpreted as a user home directory. By default it can be > paths with a "~" sign, but it can also be any kind of pattern (for > example a path named home_username). Perhaps it will be useful to allow > adding some kind of a loadable filter that will be able to hold this > logic. This will allow a nicer approach in windows so we can have a > source path (equivalent to /home/) and underneath it a filter that will > process the received user home directory name and convert it to the > physical path according to some kind of a logic. > > So we will have s path that looks like this: > http://myserver/mono/~username/ or perhaps it will even look like this: > http://myserver/mono/user_joe/ > > > - Write a user pages application host which specifically works for user > home directories. > > In this case the IIS 6 web garden model seems like a logical choice and > although there is currently no support for something like user pages, > perhaps it will be best to combine the 2 first suggestions I have made > so we will support a similar concept of web garden while still being > able to serve user pages. > > What do you think about it? I like the ideas, what I am trying to figure out is where to do the transformations. Patrik suggested HttpModule, I am going to look for examples in which an HttpModule is used to change the physical path. The other one that I had in mind originally is changing MapPath, so if a certain flag is set, it will use the apache path_translated. That will allow us not only use UserDir apache directive, but take advantage of all other apache modules that map virtual to physical paths (such as mod_rewrite). That will allow to easily implement, for example, the mapping on Windows that you suggested Cheers Daniel From daniel@rawbyte.com Wed Mar 12 11:34:35 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Wed, 12 Mar 2003 03:34:35 -0800 Subject: [Mono-list] mod_mono and userdir Message-ID: <20030312113435.GA2689@rawbyte.com> I believe part of what I want can be accomplished with HttpContext.RewritePath() Not currently implemented in Mono, I´ll look into implementing it. This can then be called from an HttpModule Cheers Daniel From patrik.torstensson@intel.com Wed Mar 12 11:40:33 2003 From: patrik.torstensson@intel.com (Torstensson, Patrik) Date: Wed, 12 Mar 2003 03:40:33 -0800 Subject: [Mono-list] mod_mono and userdir Message-ID: <487C7BED8BFCDD4C9B1E4EA3DCEA5FC70E1F55@swsmsx402.isw.intel.com> There is a event that is called during path resolve, that could resolve = that path into another physical path (just change it). I don't have time to = make a poc now but take a look in MSDN. Cheers, Patrik > -----Original Message----- > From: Daniel Lopez [mailto:daniel@rawbyte.com]=20 > Sent: Wednesday, March 12, 2003 12:35 PM > To: mono-list@ximian.com > Subject: [Mono-list] mod_mono and userdir >=20 >=20 >=20 > I believe part of what I want can be accomplished with=20 >=20 > HttpContext.RewritePath() >=20 > Not currently implemented in Mono, I=B4ll look into implementing it. > This can then be called from an HttpModule >=20 > Cheers >=20 > Daniel > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list >=20 From Eran.Sandler@smarteam.com Wed Mar 12 10:31:44 2003 From: Eran.Sandler@smarteam.com (Eran Sandler) Date: Wed, 12 Mar 2003 12:31:44 +0200 Subject: [Mono-list] mod_mono and user dirs Message-ID: <78AF93592520674C8277657BFB0FE01F03C569@ilexc01.SMART.INTRA> Hi Daniel, MS doesn't handle such a thing because it doesn't really exists by default. ASP.NET running on IIS 5 (or IIS 6 in IIS 5 compatibility mode) has only ONE host for ALL applications running that certain server. In IIS 6 a new term was introduced, a web garden. A web garden is an application host that hosts several applications on the same process. It is also possible (of course) to create several web gardens. So as I see it we have the following options: - Update the application host to receive as a parameter several paths. Each path represents an application. This means that every user path will be manually enter to the config. This is also useful for applying a web garden concept in mod_mono. - Add a parameter to the application host that will recognize a pattern that will be interpreted as a user home directory. By default it can be paths with a "~" sign, but it can also be any kind of pattern (for example a path named home_username). Perhaps it will be useful to allow adding some kind of a loadable filter that will be able to hold this logic. This will allow a nicer approach in windows so we can have a source path (equivalent to /home/) and underneath it a filter that will process the received user home directory name and convert it to the physical path according to some kind of a logic. So we will have s path that looks like this: http://myserver/mono/~username/ or perhaps it will even look like this: http://myserver/mono/user_joe/ - Write a user pages application host which specifically works for user home directories. In this case the IIS 6 web garden model seems like a logical choice and although there is currently no support for something like user pages, perhaps it will be best to combine the 2 first suggestions I have made so we will support a similar concept of web garden while still being able to serve user pages. What do you think about it? Eran -----Original Message----- From: Daniel Lopez [mailto:daniel@rawbyte.com]=20 Sent: Wednesday, March 12, 2003 12:14 PM To: mono-list@ximian.com Subject: [Mono-list] mod_mono and user dirs Miguel suggested to allow individual users to be able to run their own .aspx pages from their home directories. In Apache, you can use the UserDir configuration directive to tell the web server that when=20 http://www.example.com/~userfoo/index.aspx is requested, it should return /home/userfoo/public_html/index.aspx But in ASP.NET, all requests go thru an ApplicationHost, that has a virtual path and a physical path, which are different for each user. I have thought of the following implementation possibilities: - Detect that a user directory is being requested and create an application host on the fly for that user - Create an ApplicationHost that is shared by all users, but modify HttpWorkerRequest so when the translated path is requested, it will return the appropriate user directory with public_html inserted in the right place. I am not entirely satisfied with these, specially because I dont know if b) will have some unwanted side effects Do you have any suggestions on the best way to approach this or a link to relevant discussion/info? I am posting this to some ASP.NET groups, but since they are windows centric I dont think they will know what I am talking about :-) Cheers Daniel _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From daniel@rawbyte.com Wed Mar 12 12:55:50 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Wed, 12 Mar 2003 04:55:50 -0800 Subject: [Mono-list] mod_mono and userdir In-Reply-To: <487C7BED8BFCDD4C9B1E4EA3DCEA5FC70E1F55@swsmsx402.isw.intel.com> References: <487C7BED8BFCDD4C9B1E4EA3DCEA5FC70E1F55@swsmsx402.isw.intel.com> Message-ID: <20030312125550.GA5007@rawbyte.com> Yes, I already looked at the HttpApplication events and in the System.Web namespace and could not find a path resolve event? Should I be looking somwehre else? The current place I am thinking on hooking is in BeginRequest > There is a event that is called during path resolve, that could resolve that > path into another physical path (just change it). I don't have time to make > a poc now but take a look in MSDN. > > Cheers, > Patrik > > > -----Original Message----- > > From: Daniel Lopez [mailto:daniel@rawbyte.com] > > Sent: Wednesday, March 12, 2003 12:35 PM > > To: mono-list@ximian.com > > Subject: [Mono-list] mod_mono and userdir > > > > > > > > I believe part of what I want can be accomplished with > > > > HttpContext.RewritePath() > > > > Not currently implemented in Mono, I´ll look into implementing it. > > This can then be called from an HttpModule > > > > Cheers > > > > Daniel > > _______________________________________________ > > Mono-list maillist - Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list > > From cfwhelan@adelphia.net Wed Mar 12 13:08:16 2003 From: cfwhelan@adelphia.net (Chris Whelan) Date: 12 Mar 2003 08:08:16 -0500 Subject: [Mono-list] Mono .23 Release - Red carpet In-Reply-To: <1047447906.2028.366.camel@erandi.boston.ximian.com> References: <20030311213101.17408.94733.Mailman@headcheese.ximian.com> <1047426626.4671.5.camel@dell-linux> <1047447906.2028.366.camel@erandi.boston.ximian.com> Message-ID: <1047474496.1100.0.camel@dell-linux> --=-6ieLD3J1H4i7/2XjjDcj Content-Type: text/plain Content-Transfer-Encoding: 7bit Thanks a lot! On Wed, 2003-03-12 at 00:45, Miguel de Icaza wrote: > Hello, > > > I was just wondering why the mono red-carpet channel is still at .22 > > It has been corrected. --=-6ieLD3J1H4i7/2XjjDcj Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit Thanks a lot!

On Wed, 2003-03-12 at 00:45, Miguel de Icaza wrote:
Hello,

> I was just wondering why the mono red-carpet channel is still at .22

It has been corrected.
--=-6ieLD3J1H4i7/2XjjDcj-- From patrik.torstensson@intel.com Wed Mar 12 13:49:39 2003 From: patrik.torstensson@intel.com (Torstensson, Patrik) Date: Wed, 12 Mar 2003 05:49:39 -0800 Subject: [Mono-list] mod_mono and userdir Message-ID: <487C7BED8BFCDD4C9B1E4EA3DCEA5FC70E1F57@swsmsx402.isw.intel.com> That's true, BeginRequest is the best. I was just thinking about = another interface, it's hard to use..=20 Sorry. Anyway, should be easy to change. Cheers, Patrik > -----Original Message----- > From: Daniel Lopez [mailto:daniel@rawbyte.com]=20 > Sent: Wednesday, March 12, 2003 1:56 PM > To: mono-list@ximian.com > Subject: Re: [Mono-list] mod_mono and userdir >=20 >=20 >=20 > Yes, I already looked at the HttpApplication events and in=20 > the System.Web > namespace and could not find a path resolve event? Should I be = looking > somwehre else? > The current place I am thinking on hooking is in BeginRequest >=20 > > There is a event that is called during path resolve, that=20 > could resolve that > > path into another physical path (just change it). I don't=20 > have time to make > > a poc now but take a look in MSDN. > >=20 > > Cheers, > > Patrik > >=20 > > > -----Original Message----- > > > From: Daniel Lopez [mailto:daniel@rawbyte.com]=20 > > > Sent: Wednesday, March 12, 2003 12:35 PM > > > To: mono-list@ximian.com > > > Subject: [Mono-list] mod_mono and userdir > > >=20 > > >=20 > > >=20 > > > I believe part of what I want can be accomplished with=20 > > >=20 > > > HttpContext.RewritePath() > > >=20 > > > Not currently implemented in Mono, I=B4ll look into implementing = it. > > > This can then be called from an HttpModule > > >=20 > > > Cheers > > >=20 > > > Daniel > > > _______________________________________________ > > > Mono-list maillist - Mono-list@lists.ximian.com > > > http://lists.ximian.com/mailman/listinfo/mono-list > > >=20 > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list >=20 From sid@darkstars.org Wed Mar 12 14:07:14 2003 From: sid@darkstars.org (SiD`) Date: Wed, 12 Mar 2003 15:07:14 +0100 Subject: [Mono-list] mono-win-installer Message-ID: <3E6F3F12.30909@darkstars.org> hi! I've installed the "mono windows installer" in c:\monoblabla\install now how can i install mono now? (there is not any install/setup....) thx in advance From danmorg@sc.rr.com Wed Mar 12 14:49:39 2003 From: danmorg@sc.rr.com (Daniel Morgan) Date: Wed, 12 Mar 2003 09:49:39 -0500 Subject: [Mono-list] mono-win-installer In-Reply-To: <3E6F3F12.30909@darkstars.org> Message-ID: The installer exe is the setup. Now, you can go to the MS DOS prompt, and type: C:\> mono.bat or C:\> mcs.bat If you have cygwin installed, you could do: $ mono.exe.sh or $ mcs.bat If this does not work, try setting your user PATH environment variable in the system control panel. For instance: c:\monoblabla\install\bin;c:\monoblabla\install\lib; Mono is the Mono CLR virtual machine which .net programs must be run on: C:\> mono.bat hello.exe Mcs is the Mono C# compiler: C:\> mcs.bat hello.cs If you need to reference an assembly like System.Data.dll, then you would do: C:\> mcs.bat hello.cs /r:System.Data.dll -----Original Message----- From: mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.com]On Behalf Of SiD` Sent: Wednesday, March 12, 2003 9:07 AM To: 'mono-list@ximian.com' Subject: [Mono-list] mono-win-installer hi! I've installed the "mono windows installer" in c:\monoblabla\install now how can i install mono now? (there is not any install/setup....) thx in advance _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From bdeacon@vidya.com Wed Mar 12 16:24:46 2003 From: bdeacon@vidya.com (Brian Deacon) Date: 12 Mar 2003 08:24:46 -0800 Subject: [Mono-list] lies and microbenmarks (Was: Mono 0.23 windows installer) In-Reply-To: <20030311213101.17408.65555.Mailman@headcheese.ximian.com> References: <20030311213101.17408.65555.Mailman@headcheese.ximian.com> Message-ID: <1047486309.1330.17.camel@localhost.localdomain> I ducked my head in fear when I saw this thread start up... but apparently this is not a verbotten subject. What is the distinction between this discussion and the benchmarking that is apparently forbidden in the license from MS and explicitly discouraged by Miguel on go-mono? Brian > > - CSC speeds up MS more than Mono (somewhat expected) > > mcs inserts useless additional variables with the pre/post > increment/decrement operators, and that makes the jit produce somewhat > worse code, there is already a bug filed for that. > > > - while many of the mono slowdowns seem related to JIT > > optimizations (which the new JIT will change and improve), > > the 2x slowdown in index_string_test points to a string, > > hashing, memory allocation, or other hashtable inefficiency > > Yes, this issue should be investigated. We already discussed in the past > about storing the calculated hashvalue for strings: that may help > somewhat. Serge measured our hashtable implementation using the MS > runtime and the speed was comparable to their implementation. > The other issue is memory allocation: in the tests a lot of boxing > operations take place, I have a simple patch that speeds up both > index_test and index_string_test by about 10%, though it can be improved. > > lupus From lists@sebastian-bergmann.de Wed Mar 12 16:39:18 2003 From: lists@sebastian-bergmann.de (Sebastian Bergmann) Date: Wed, 12 Mar 2003 17:39:18 +0100 Subject: [Mono-list] lies and microbenmarks In-Reply-To: <1047486309.1330.17.camel@localhost.localdomain> References: <20030311213101.17408.65555.Mailman@headcheese.ximian.com> <1047486309.1330.17.camel@localhost.localdomain> Message-ID: <20030312163807.336F2124266@listsmx.ximian.com> Brian Deacon wrote: > benchmarking that is apparently forbidden in the license from MS and > explicitly discouraged by Miguel on go-mono? Benchmarking the Microsoft .Net implementation and comparing it to other implementations, like Mono, is forbidden? Do you have a link for this? Thanks, Sebastian -- Sebastian Bergmann http://sebastian-bergmann.de/ http://phpOpenTracker.de/ Did I help you? Consider a gift: http://wishlist.sebastian-bergmann.de/ From rubeng@tectimes.com Wed Mar 12 21:11:47 2003 From: rubeng@tectimes.com (=?iso-8859-1?Q?Rub=E9n_Gutierrez?=) Date: Wed, 12 Mar 2003 14:11:47 -0700 Subject: [Mono-list] XSP under Win32 Message-ID: <20030312140131.62D6.RUBENG@tectimes.com> Hi, After several attempts (with different versions of mono), I finally managed to run the xsp 3.0 server under WinXP Pro, with Mono 0.23. It always compiled without errors but I haven't been able to run it correctly before. Now, with this version (xsp 3.0 and mono 0.23) it looked like it was working fine, BUT, it still couldn't compile any files. It seems that the server was looking for mcs.bat, monobasepath.bat and some other files, but it failed to find them. Those files where in my Windows directory, which obviously is in the PATH, so I thought maybe it was looking for those files in the same directory I was running the server from, so I ran the server from the Windows folder, and used the --root parameter to specify the root directory, but still it was failing. Then, I found out the server (or the runtime or whatever) was looking for those bat files in the root folder. It didn't matter whether those files were in the PATH or not, it was looking for those files in the root folder, so I copied those files to the root directory and it = worked perfectly. Now, my question is, is there something I can change "somewhere", to make it not necesary to have those bats in the root directory? BTW, the server was algo looking for machine.config in C:\mono-0.23\etc\mono\mono\ instead of C:\mono-0.23\etc\mono\ So I had to create that folder (the new \mono) and copy the file in there. Cheers and keep up the good work! =20 Ruben Gutierrez Publicaciones Electronicas MP Ediciones S.A. From Eran.Sandler@smarteam.com Wed Mar 12 15:16:45 2003 From: Eran.Sandler@smarteam.com (Eran Sandler) Date: Wed, 12 Mar 2003 17:16:45 +0200 Subject: [Mono-list] mod_mono and userdir Message-ID: <78AF93592520674C8277657BFB0FE01F03C56B@ilexc01.SMART.INTRA> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2E8AA.6521192C Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgRGFuaWVsLA0KIA0KWW91IGNhbiB3cml0ZSBhbiBIdHRwTW9kdWxlIHRoYXQgdXBvbiBpbml0 YWxpemF0aW9uIGhvb2tzIHRvIHRoZSBCZWdpblJlcXVlc3QgZXZlbnQgYW5kIGl0IGNhbiBwYXJz ZSB0aGUgcmVxdWVzdCBVUkwgYW5kIHBlcmZvcm0gc2VydmVyIHJlZGlyZWN0IG9yIGRpcmVjdGx5 IHdyaXRlIHRvIHRoZSByZXNwb25zZS4NCiANCkkndmUgZG9uZSBzdWNoIHRoaW5ncyBmb3IgZGlm ZmVyZW50IHJlYXNvbnMgKG5vdCB0aGUgb25lcyB0aGF0IHlvdSB3YW50KSBidXQgeW91IHNob3Vs ZCBiYXJlIGluIG1pbmQgdGhhdCBvbiBFVkVSWSByZXF1ZXN0IHRoYXQgY29tZXMgdG8gdGhhdCBh cHBsaWNhdGlvbiBpdCB3aWxsIHBhc3MgdGhyb3VnaCB5b3VyIG1vZHVsZSBzbyBleGNlcHQgYSBk ZWNyZWFzZSBpbiBwZXJmb3JtYW5jZS4NCiANCkkgdGhpbmsgeW91IHNob3VsZCB0cnkgdG8gcmVz b2x2ZSBpdCBhdCB0aGUgYXBhY2hlIG1vZHVsZSBsZXZlbC4gUGVyaGFwcyBieSBkb2luZyB3aGF0 IEkgaGF2ZSBzdWdnZXN0ZWQgaW4gbXkgcHJldmlvdXMgcG9zdCAoSSdtIG5vdCBzdXJlIGhvdyB0 byBkbyB0aGF0IHNpbmNlIEkgZG9uJ3Qga25vdyBBcGFjaGUgdGhhdCB3ZWxsKS4NCiANCklmIHlv dSBjYW4gcmVkaXJlY3QgYSByZXF1ZXN0IGF0IHRoZSBBcGFjaGUgbW9kdWxlIGxldmVsIGl0IHNl ZW1zIGxpa2UgdGhlIG1vc3QgcmVhc29uYWJsZSBwbGFjZSB0byBkbyB0aGF0Lg0KIA0KRXJhbg0K DQoJLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0gDQoJRnJvbTogRGFuaWVsIExvcGV6IFttYWls dG86ZGFuaWVsQHJhd2J5dGUuY29tXSANCglTZW50OiDXkyAxMi8wMy8yMDAzIDE0OjU1IA0KCVRv OiBtb25vLWxpc3RAeGltaWFuLmNvbSANCglDYzogDQoJU3ViamVjdDogUmU6IFtNb25vLWxpc3Rd IG1vZF9tb25vIGFuZCB1c2VyZGlyDQoJDQoJDQoNCg0KCVllcywgSSBhbHJlYWR5IGxvb2tlZCBh dCB0aGUgSHR0cEFwcGxpY2F0aW9uIGV2ZW50cyBhbmQgaW4gdGhlIFN5c3RlbS5XZWINCgluYW1l c3BhY2UgYW5kIGNvdWxkIG5vdCBmaW5kIGEgcGF0aCByZXNvbHZlIGV2ZW50PyBTaG91bGQgSSBi ZSBsb29raW5nDQoJc29td2VocmUgZWxzZT8NCglUaGUgY3VycmVudCBwbGFjZSBJIGFtIHRoaW5r aW5nIG9uIGhvb2tpbmcgaXMgaW4gQmVnaW5SZXF1ZXN0DQoJDQoJPiBUaGVyZSBpcyBhIGV2ZW50 IHRoYXQgaXMgY2FsbGVkIGR1cmluZyBwYXRoIHJlc29sdmUsIHRoYXQgY291bGQgcmVzb2x2ZSB0 aGF0DQoJPiBwYXRoIGludG8gYW5vdGhlciBwaHlzaWNhbCBwYXRoIChqdXN0IGNoYW5nZSBpdCku IEkgZG9uJ3QgaGF2ZSB0aW1lIHRvIG1ha2UNCgk+IGEgcG9jIG5vdyBidXQgdGFrZSBhIGxvb2sg aW4gTVNETi4NCgk+DQoJPiBDaGVlcnMsDQoJPiAgUGF0cmlrDQoJPg0KCT4gPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KCT4gPiBGcm9tOiBEYW5pZWwgTG9wZXogW21haWx0bzpkYW5pZWxA cmF3Ynl0ZS5jb21dDQoJPiA+IFNlbnQ6IFdlZG5lc2RheSwgTWFyY2ggMTIsIDIwMDMgMTI6MzUg UE0NCgk+ID4gVG86IG1vbm8tbGlzdEB4aW1pYW4uY29tDQoJPiA+IFN1YmplY3Q6IFtNb25vLWxp c3RdIG1vZF9tb25vIGFuZCB1c2VyZGlyDQoJPiA+DQoJPiA+DQoJPiA+DQoJPiA+IEkgYmVsaWV2 ZSBwYXJ0IG9mIHdoYXQgSSB3YW50IGNhbiBiZSBhY2NvbXBsaXNoZWQgd2l0aA0KCT4gPg0KCT4g PiBIdHRwQ29udGV4dC5SZXdyaXRlUGF0aCgpDQoJPiA+DQoJPiA+IE5vdCBjdXJyZW50bHkgaW1w bGVtZW50ZWQgaW4gTW9ubywgScK0bGwgbG9vayBpbnRvIGltcGxlbWVudGluZyBpdC4NCgk+ID4g VGhpcyBjYW4gdGhlbiBiZSBjYWxsZWQgZnJvbSBhbiBIdHRwTW9kdWxlDQoJPiA+DQoJPiA+IENo ZWVycw0KCT4gPg0KCT4gPiBEYW5pZWwNCgk+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18NCgk+ID4gTW9uby1saXN0IG1haWxsaXN0ICAtICBNb25vLWxp c3RAbGlzdHMueGltaWFuLmNvbQ0KCT4gPiBodHRwOi8vbGlzdHMueGltaWFuLmNvbS9tYWlsbWFu L2xpc3RpbmZvL21vbm8tbGlzdA0KCT4gPg0KCV9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fDQoJTW9uby1saXN0IG1haWxsaXN0ICAtICBNb25vLWxpc3RAbGlz dHMueGltaWFuLmNvbQ0KCWh0dHA6Ly9saXN0cy54aW1pYW4uY29tL21haWxtYW4vbGlzdGluZm8v bW9uby1saXN0DQoJDQoNCg== ------_=_NextPart_001_01C2E8AA.6521192C Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PE1FVEEgSFRUUC1FUVVJVj0iQ29udGVudC1UeXBlIiBDT05URU5UPSJ0ZXh0L2h0bWw7IGNoYXJz ZXQ9dXRmLTgiPgo8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgMy4yLy9F TiI+CjxIVE1MPgo8SEVBRD4KCjxNRVRBIE5BTUU9IkdlbmVyYXRvciIgQ09OVEVOVD0iTVMgRXhj aGFuZ2UgU2VydmVyIHZlcnNpb24gNi4wLjU3NjIuMyI+CjxUSVRMRT5SZTogW01vbm8tbGlzdF0g bW9kX21vbm8gYW5kIHVzZXJkaXI8L1RJVExFPgo8L0hFQUQ+CjxCT0RZIGRpcj1sdHI+CjxESVY+ SGkgRGFuaWVsLDwvRElWPgo8RElWPiZuYnNwOzwvRElWPgo8RElWPllvdSBjYW4gd3JpdGUgYW4g SHR0cE1vZHVsZSB0aGF0IHVwb24gaW5pdGFsaXphdGlvbiBob29rcyB0byB0aGUgCkJlZ2luUmVx dWVzdCBldmVudCBhbmQgaXQgY2FuIHBhcnNlIHRoZSByZXF1ZXN0IFVSTCBhbmQgcGVyZm9ybSBz ZXJ2ZXIgcmVkaXJlY3QgCm9yIGRpcmVjdGx5IHdyaXRlIHRvIHRoZSByZXNwb25zZS48L0RJVj4K PERJVj4mbmJzcDs8L0RJVj4KPERJVj5JJ3ZlIGRvbmUgc3VjaCB0aGluZ3MgZm9yIGRpZmZlcmVu dCByZWFzb25zIChub3QgdGhlIG9uZXMgdGhhdCB5b3Ugd2FudCkgCmJ1dCB5b3Ugc2hvdWxkIGJh cmUgaW4gbWluZCB0aGF0IG9uIEVWRVJZIHJlcXVlc3QgdGhhdCBjb21lcyB0byB0aGF0IGFwcGxp Y2F0aW9uIAppdCB3aWxsIHBhc3MgdGhyb3VnaCB5b3VyIG1vZHVsZSBzbyBleGNlcHQgYSBkZWNy ZWFzZSBpbiBwZXJmb3JtYW5jZS48L0RJVj4KPERJVj4mbmJzcDs8L0RJVj4KPERJVj5JIHRoaW5r IHlvdSBzaG91bGQgdHJ5IHRvIHJlc29sdmUgaXQgYXQgdGhlIGFwYWNoZSBtb2R1bGUgbGV2ZWwu IFBlcmhhcHMgYnkgCmRvaW5nIHdoYXQgSSBoYXZlIHN1Z2dlc3RlZCBpbiBteSBwcmV2aW91cyBw b3N0IChJJ20gbm90IHN1cmUgaG93IHRvIGRvIHRoYXQgCnNpbmNlIEkgZG9uJ3Qga25vdyBBcGFj aGUgdGhhdCB3ZWxsKS48L0RJVj4KPERJVj4mbmJzcDs8L0RJVj4KPERJVj5JZiB5b3UgY2FuIHJl ZGlyZWN0IGEgcmVxdWVzdCBhdCB0aGUgQXBhY2hlJm5ic3A7bW9kdWxlIGxldmVsIGl0IHNlZW1z IGxpa2UgCnRoZSBtb3N0IHJlYXNvbmFibGUgcGxhY2UgdG8gZG8gdGhhdC48L0RJVj4KPERJVj4m bmJzcDs8L0RJVj4KPERJVj5FcmFuPC9ESVY+CjxCTE9DS1FVT1RFIGRpcj1sdHIgc3R5bGU9Ik1B UkdJTi1SSUdIVDogMHB4Ij4KICA8RElWPjxGT05UIHNpemU9Mj4tLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLSA8QlI+PEI+RnJvbTo8L0I+IERhbmllbCBMb3BleiAKICBbbWFpbHRvOmRhbmllbEBy YXdieXRlLmNvbV0gPEJSPjxCPlNlbnQ6PC9CPiDXkyAxMi8wMy8yMDAzIDE0OjU1IDxCUj48Qj5U bzo8L0I+IAogIG1vbm8tbGlzdEB4aW1pYW4uY29tIDxCUj48Qj5DYzo8L0I+IDxCUj48Qj5TdWJq ZWN0OjwvQj4gUmU6IFtNb25vLWxpc3RdIAogIG1vZF9tb25vIGFuZCB1c2VyZGlyPEJSPjxCUj48 L0ZPTlQ+PC9ESVY+PEJSPgogIDxQPjxGT05UIHNpemU9Mj5ZZXMsIEkgYWxyZWFkeSBsb29rZWQg YXQgdGhlIEh0dHBBcHBsaWNhdGlvbiBldmVudHMgYW5kIGluIHRoZSAKICBTeXN0ZW0uV2ViPEJS Pm5hbWVzcGFjZSBhbmQgY291bGQgbm90IGZpbmQgYSBwYXRoIHJlc29sdmUgZXZlbnQ/IFNob3Vs ZCBJIGJlIAogIGxvb2tpbmc8QlI+c29td2VocmUgZWxzZT88QlI+VGhlIGN1cnJlbnQgcGxhY2Ug SSBhbSB0aGlua2luZyBvbiBob29raW5nIGlzIGluIAogIEJlZ2luUmVxdWVzdDxCUj48QlI+Jmd0 OyBUaGVyZSBpcyBhIGV2ZW50IHRoYXQgaXMgY2FsbGVkIGR1cmluZyBwYXRoIHJlc29sdmUsIAog IHRoYXQgY291bGQgcmVzb2x2ZSB0aGF0PEJSPiZndDsgcGF0aCBpbnRvIGFub3RoZXIgcGh5c2lj YWwgcGF0aCAoanVzdCBjaGFuZ2UgCiAgaXQpLiBJIGRvbid0IGhhdmUgdGltZSB0byBtYWtlPEJS PiZndDsgYSBwb2Mgbm93IGJ1dCB0YWtlIGEgbG9vayBpbiAKICBNU0ROLjxCUj4mZ3Q7PEJSPiZn dDsgQ2hlZXJzLDxCUj4mZ3Q7Jm5ic3A7IFBhdHJpazxCUj4mZ3Q7PEJSPiZndDsgJmd0OyAKICAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLTxCUj4mZ3Q7ICZndDsgRnJvbTogRGFuaWVsIExvcGV6 IFs8QSAKICBocmVmPSJtYWlsdG86ZGFuaWVsQHJhd2J5dGUuY29tIj5tYWlsdG86ZGFuaWVsQHJh d2J5dGUuY29tPC9BPl08QlI+Jmd0OyAmZ3Q7IAogIFNlbnQ6IFdlZG5lc2RheSwgTWFyY2ggMTIs IDIwMDMgMTI6MzUgUE08QlI+Jmd0OyAmZ3Q7IFRvOiAKICBtb25vLWxpc3RAeGltaWFuLmNvbTxC Uj4mZ3Q7ICZndDsgU3ViamVjdDogW01vbm8tbGlzdF0gbW9kX21vbm8gYW5kIAogIHVzZXJkaXI8 QlI+Jmd0OyAmZ3Q7PEJSPiZndDsgJmd0OzxCUj4mZ3Q7ICZndDs8QlI+Jmd0OyAmZ3Q7IEkgYmVs aWV2ZSBwYXJ0IG9mIAogIHdoYXQgSSB3YW50IGNhbiBiZSBhY2NvbXBsaXNoZWQgd2l0aDxCUj4m Z3Q7ICZndDs8QlI+Jmd0OyAmZ3Q7IAogIEh0dHBDb250ZXh0LlJld3JpdGVQYXRoKCk8QlI+Jmd0 OyAmZ3Q7PEJSPiZndDsgJmd0OyBOb3QgY3VycmVudGx5IGltcGxlbWVudGVkIAogIGluIE1vbm8s IEnCtGxsIGxvb2sgaW50byBpbXBsZW1lbnRpbmcgaXQuPEJSPiZndDsgJmd0OyBUaGlzIGNhbiB0 aGVuIGJlIGNhbGxlZCAKICBmcm9tIGFuIEh0dHBNb2R1bGU8QlI+Jmd0OyAmZ3Q7PEJSPiZndDsg Jmd0OyBDaGVlcnM8QlI+Jmd0OyAmZ3Q7PEJSPiZndDsgJmd0OyAKICBEYW5pZWw8QlI+Jmd0OyAm Z3Q7IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPEJSPiZn dDsgCiAgJmd0OyBNb25vLWxpc3QgbWFpbGxpc3QmbmJzcDsgLSZuYnNwOyBNb25vLWxpc3RAbGlz dHMueGltaWFuLmNvbTxCUj4mZ3Q7ICZndDsgCiAgPEEgCiAgaHJlZj0iaHR0cDovL2xpc3RzLnhp bWlhbi5jb20vbWFpbG1hbi9saXN0aW5mby9tb25vLWxpc3QiPmh0dHA6Ly9saXN0cy54aW1pYW4u Y29tL21haWxtYW4vbGlzdGluZm8vbW9uby1saXN0PC9BPjxCUj4mZ3Q7IAogICZndDs8QlI+X19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188QlI+TW9uby1saXN0 IAogIG1haWxsaXN0Jm5ic3A7IC0mbmJzcDsgTW9uby1saXN0QGxpc3RzLnhpbWlhbi5jb208QlI+ PEEgCiAgaHJlZj0iaHR0cDovL2xpc3RzLnhpbWlhbi5jb20vbWFpbG1hbi9saXN0aW5mby9tb25v LWxpc3QiPmh0dHA6Ly9saXN0cy54aW1pYW4uY29tL21haWxtYW4vbGlzdGluZm8vbW9uby1saXN0 PC9BPjxCUj48L0ZPTlQ+PC9QPjwvQkxPQ0tRVU9URT4KCjwvQk9EWT4KPC9IVE1MPg== ------_=_NextPart_001_01C2E8AA.6521192C-- From miguel@ximian.com Wed Mar 12 18:37:47 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 12 Mar 2003 13:37:47 -0500 Subject: [Mono-list] patch: XML Deserialization In-Reply-To: <000001c2e25c$496d3e80$0400000a@gorilla> References: <000001c2e25c$496d3e80$0400000a@gorilla> Message-ID: <1047494267.2270.40.camel@erandi.boston.ximian.com> Hello Elan! > I sent this patch almost a week ago and have not seen it be merged into > CVS or rejected. Hence this keep-alive email 8-) We are sorry for the slow time to reply to your email message. I have now applied your patch to CVS. In the future, feel free to mail me directly (miguel@ximian.com) Miguel. From ewillis1@hotmail.com Wed Mar 12 18:40:40 2003 From: ewillis1@hotmail.com (Eric Willis) Date: Wed, 12 Mar 2003 13:40:40 -0500 Subject: [Mono-list] Possible Mono developement Message-ID: Hello, After some initial discussion with Miguel de Icaza in regards to Mono, I want to discuss with you what I'm developing. First I'm going to paste a few clips from our correspondence, then I will give a little more details to the solutions I'm working. Miguel wrote: >>We are working with a few users to make sure that Mono is commercially viable for their particular use. We develop a contractual agreement, and we make sure that those components that the users require are in place.>> Miguel wrote: A full replacement for .NET is hard, but particular components like ASP.NET and ADO.NET do exist today. If you are interested in having your product work flawlessly on Mono, you could hire Ximian to have those components that you need developed to the point of production use. What type of associated costs(rough price range) would that entail? I'm trying to keep a tight handle on costs, which is one of the reason I'm turning to mono is the first place. I wrote: >I would love to develop my applications using Mono. I have had the thoughts >on my mind. It would allow me to take advantage of Linux and be a little >less dependent on Microsoft technologies (If I understand Mono correctly). >I know that if were possible to run my data center using linux, I could >pass a tremendous savings over to my customers. Yes, that is one of the ideas. Would you mind talking about these things with a Ximian representative that is exploring the market for Mono-related products? I am in the process of developing a host of business applications to be delivered over the web on a subscription basis..in particular an ERP,supply chain management, and CRM to name a few of the projects. I have done all my initial work and was just going to begin the development in .net ;however, I kept having second thoughts about using .net becuase I didn't want to get locked in to MS. products. I do understand the technical merits of .net over j2ee, but at the same time, I didn't want to lock myself out of being able to consider running linux and using other open source software. Mono would seem to solve that problem for me. This really excites me. I read an article about Mono several months ago, but I didn't know how far along you had come with the project. Then I began doing more reading and realized that you have come a long way since I read that article. It seems as though I could develop and deploy in Mono. Please understand that I am no developer, but I do have a team of over 30 developers working on my projects. I would like to get them in contact with some people from Ximian so that they can address some of their questions. I would also like to discuss the viability of moving forward with Mono. I'm going to fly to Boston to meet with Miguel over the next couple of weeks also. I'm very excited about the prospects of developing my projects in Mono. I also wanted to attach something else Miguel wrote: >>Today Mono lacks development tools, but we would run applications that were developed with Microsoft Windows. So you can use Visual Studio.NET, and deploy with Mono. >> I passed this on to my developers. If I understand correctly, they can using Visual Studio and still be 100 percent Mono. Again, I don't have technical expertise in development as I am not a developer. I just want to make sure I understand this correctly. Also, is there someone I could call to discuss some other issues I have? Best Regards, Eric Willis Eric Willis Willis Property Development, LLC http://www.wpdllc.com "Bringing Properties to Life" Happiness is the state of consciousness which proceeds from the achievement of ones values through non-contradictory action. _________________________________________________________________ Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail From steinar.herland@gecko.no Wed Mar 12 19:33:15 2003 From: steinar.herland@gecko.no (Steinar Herland) Date: Wed, 12 Mar 2003 20:33:15 +0100 Subject: SV: [Mono-list] mod_mono and userdir Message-ID: <805025DC23C38D43B27AE5D118D36FD303E25F92@gecko.gecko.no> If it's HttpModule or an Apache module "doesn't matter". The request = will have to be handled / rewritten on every request anyway. I believe a HttpModule is preferred because it's a pure C# solution, and = because of the simplicity: if(Request.Path.IndexOf("~")>0){ //Use a RegEx here? //Do something HttpContext.Current.RewritePath("MyNewPath"); } //Done... Steinar -----Opprinnelig melding----- Fra: Eran Sandler [mailto:Eran.Sandler@smarteam.com]=20 Sendt: 12. mars 2003 16:17 Til: Daniel Lopez; mono-list@ximian.com Emne: RE: [Mono-list] mod_mono and userdir Hi Daniel, =A0 You can write an HttpModule that upon initalization hooks to the = BeginRequest event and it can parse the request URL and perform server = redirect or directly write to the response. =A0 I've done such things for different reasons (not the ones that you want) = but you should bare in mind that on EVERY request that comes to that = application it will pass through your module so except a decrease in = performance. =A0 I think you should try to resolve it at the apache module level. Perhaps = by doing what I have suggested in my previous post (I'm not sure how to = do that since I don't know Apache that well). =A0 If you can redirect a request at the Apache=A0module level it seems like = the most reasonable place to do that. =A0 Eran -----Original Message-----=20 From: Daniel Lopez [mailto:daniel@rawbyte.com]=20 Sent: =E3 12/03/2003 14:55=20 To: mono-list@ximian.com=20 Cc:=20 Subject: Re: [Mono-list] mod_mono and userdir Yes, I already looked at the HttpApplication events and in the = System.Web namespace and could not find a path resolve event? Should I be looking somwehre else? The current place I am thinking on hooking is in BeginRequest > There is a event that is called during path resolve, that could = resolve that > path into another physical path (just change it). I don't have time to = make > a poc now but take a look in MSDN. > > Cheers, >=A0 Patrik > > > -----Original Message----- > > From: Daniel Lopez [mailto:daniel@rawbyte.com] > > Sent: Wednesday, March 12, 2003 12:35 PM > > To: mono-list@ximian.com > > Subject: [Mono-list] mod_mono and userdir > > > > > > > > I believe part of what I want can be accomplished with > > > > HttpContext.RewritePath() > > > > Not currently implemented in Mono, I=B4ll look into implementing it. > > This can then be called from an HttpModule > > > > Cheers > > > > Daniel > > _______________________________________________ > > Mono-list maillist=A0 -=A0 Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list > > _______________________________________________ Mono-list maillist=A0 -=A0 Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From miguel@ximian.com Wed Mar 12 19:53:36 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 12 Mar 2003 14:53:36 -0500 Subject: [Mono-list] libgc in CVS In-Reply-To: References: Message-ID: <1047498815.2270.81.camel@erandi.boston.ximian.com> Hello, > *blinks* > > Did I miss something while I was gone? > > Ummm, why are all the different directories duplicated inside libgc? Libgc has never been officially "exported" to the public, and has *always* been broken. Those using the CVS version were running into problems. Use the official GC system as pointed out on the web site. Miguel > > Thanks, (with a puzzled look) > > Ken > From sdhmis@sheratondover.com Wed Mar 12 20:37:19 2003 From: sdhmis@sheratondover.com (Kenneth Benson) Date: Wed, 12 Mar 2003 15:37:19 -0500 Subject: [Mono-list] libgc in CVS Message-ID: This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C2E8D7.2D48BEB0 Content-Type: text/plain; charset="iso-8859-1" Actually what I meant was that I did an anon-cvs update and when it updated the libgc module it was downloading mcs, mono, debugger, monodoc, etc. files *inside* the libgc module. I did get the normal updates of those as separate modules also. I browsed the CVS thru the web and all of the modules seem to be duplicated inside the libgc module. It made for a long download. :) I was just wondering is all. -----Original Message----- From: Miguel de Icaza [mailto:miguel@ximian.com] Sent: Wednesday, March 12, 2003 2:54 PM To: Kenneth Benson Cc: 'mono-list@lists.ximian.com' Subject: Re: [Mono-list] libgc in CVS Hello, > *blinks* > > Did I miss something while I was gone? > > Ummm, why are all the different directories duplicated inside libgc? Libgc has never been officially "exported" to the public, and has *always* been broken. Those using the CVS version were running into problems. Use the official GC system as pointed out on the web site. Miguel > > Thanks, (with a puzzled look) > > Ken > ------_=_NextPart_001_01C2E8D7.2D48BEB0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RE: [Mono-list] libgc in CVS

Actually what I meant was that I did an anon-cvs = update and when it updated the libgc module it was downloading mcs, = mono, debugger, monodoc, etc. files *inside* the libgc module. I did = get the normal updates of those as separate modules also. I browsed the = CVS thru the web and all of the modules seem to be duplicated inside = the libgc module. It made for a long download. :) I was just wondering = is all.

-----Original Message-----
From: Miguel de Icaza [mailto:miguel@ximian.com]
Sent: Wednesday, March 12, 2003 2:54 PM
To: Kenneth Benson
Cc: 'mono-list@lists.ximian.com'
Subject: Re: [Mono-list] libgc in CVS


Hello,

> *blinks*
>
> Did I miss something while I was gone?
>
> Ummm, why are all the different directories = duplicated inside libgc?

Libgc has never been officially "exported" = to the public, and has
*always* been broken.  Those using the CVS = version were running into
problems.  Use the official GC system as = pointed out on the web site.

Miguel

>
> Thanks, (with a puzzled look)
>
> Ken
>

------_=_NextPart_001_01C2E8D7.2D48BEB0-- From James.Fitzsimons@intergen.co.nz Wed Mar 12 21:39:00 2003 From: James.Fitzsimons@intergen.co.nz (James Fitzsimons) Date: Thu, 13 Mar 2003 10:39:00 +1300 Subject: [Mono-list] Build fails on OS X Message-ID: <7CB4145E5D76404D98329D422EEA9B04AD3D26@wlgex1.intergen.org.nz> Hi all, I am trying to build mono on my OS X (10.2) machine at home. Unfortunately I ran into problems before I even got to Mono! I got the following error trying to build glibc: checking for indent... indent checking for perl... /usr/bin/perl checking for iconv_open... no checking for libiconv_open in -liconv... no checking for iconv_open in -liconv... no configure: error: *** No iconv() implementation found in C library or libiconv=20 bash-2.05a$=20 I was wondering if anyone else had struck this problem on OS X and could suggest a work around? Thanks very much, James Fitzsimons From fejj@ximian.com Wed Mar 12 22:20:17 2003 From: fejj@ximian.com (Jeffrey Stedfast) Date: 12 Mar 2003 17:20:17 -0500 Subject: [Mono-list] Build fails on OS X In-Reply-To: <7CB4145E5D76404D98329D422EEA9B04AD3D26@wlgex1.intergen.org.nz> References: <7CB4145E5D76404D98329D422EEA9B04AD3D26@wlgex1.intergen.org.nz> Message-ID: <1047507617.22894.4.camel@tazmanian-devil.boston.ximian.com> you probably need to install libiconv from ftp://ftp.gnu.org/pub/gnu/libiconv/ (I think I got the url path right, if not - it's somewhere on ftp.gnu.org) Jeff On Wed, 2003-03-12 at 16:39, James Fitzsimons wrote: > Hi all, > I am trying to build mono on my OS X (10.2) machine at home. > Unfortunately I ran into problems before I even got to Mono! > > I got the following error trying to build glibc: > > > checking for indent... indent > checking for perl... /usr/bin/perl > checking for iconv_open... no > checking for libiconv_open in -liconv... no > checking for iconv_open in -liconv... no > configure: error: *** No iconv() implementation found in C library or > libiconv > bash-2.05a$ > > > I was wondering if anyone else had struck this problem on OS X and could > suggest a work around? > > Thanks very much, > James Fitzsimons > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list -- Jeffrey Stedfast Evolution Hacker - Ximian, Inc. fejj@ximian.com - www.ximian.com From jddst19@mac.com Wed Mar 12 22:36:58 2003 From: jddst19@mac.com (John Duncan) Date: Wed, 12 Mar 2003 17:36:58 -0500 Subject: [Mono-list] Build fails on OS X In-Reply-To: <1047507617.22894.4.camel@tazmanian-devil.boston.ximian.com> Message-ID: <226E6A94-54DB-11D7-A914-00039376BC1E@mac.com> You should get these packages from fink (fink.sourceforge.net). They have already been ported and confirmed there. Then, you make sure that they are in your paths, and in the LDFLAGS, etc., and mono will build. John On Wednesday, March 12, 2003, at 05:20 PM, Jeffrey Stedfast wrote: > you probably need to install libiconv from > ftp://ftp.gnu.org/pub/gnu/libiconv/ > > (I think I got the url path right, if not - it's somewhere on > ftp.gnu.org) > > Jeff > > On Wed, 2003-03-12 at 16:39, James Fitzsimons wrote: >> Hi all, >> I am trying to build mono on my OS X (10.2) machine at home. >> Unfortunately I ran into problems before I even got to Mono! >> >> I got the following error trying to build glibc: >> >> >> checking for indent... indent >> checking for perl... /usr/bin/perl >> checking for iconv_open... no >> checking for libiconv_open in -liconv... no >> checking for iconv_open in -liconv... no >> configure: error: *** No iconv() implementation found in C library or >> libiconv >> bash-2.05a$ >> >> >> I was wondering if anyone else had struck this problem on OS X and >> could >> suggest a work around? >> >> Thanks very much, >> James Fitzsimons >> _______________________________________________ >> Mono-list maillist - Mono-list@lists.ximian.com >> http://lists.ximian.com/mailman/listinfo/mono-list > -- > Jeffrey Stedfast > Evolution Hacker - Ximian, Inc. > fejj@ximian.com - www.ximian.com > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From miguel@ximian.com Wed Mar 12 23:18:06 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 12 Mar 2003 18:18:06 -0500 Subject: [Mono-list] libgc in CVS In-Reply-To: References: Message-ID: <1047511086.2270.114.camel@erandi.boston.ximian.com> Hello! > Actually what I meant was that I did an anon-cvs update and when it > updated the libgc module it was downloading mcs, mono, debugger, > monodoc, etc. files *inside* the libgc module. I did get the normal > updates of those as separate modules also. I browsed the CVS thru the > web and all of the modules seem to be duplicated inside the libgc > module. It made for a long download. :) I was just wondering is all. Oh, we should definitely dig into this problem. And am sorry for the trouble that this caused. Miguel From fjh@cs.mu.OZ.AU Thu Mar 13 04:13:54 2003 From: fjh@cs.mu.OZ.AU (Fergus Henderson) Date: Thu, 13 Mar 2003 15:13:54 +1100 Subject: [Mono-list] lies and microbenmarks In-Reply-To: <20030312163807.336F2124266@listsmx.ximian.com> References: <20030311213101.17408.65555.Mailman@headcheese.ximian.com> <1047486309.1330.17.camel@localhost.localdomain> <20030312163807.336F2124266@listsmx.ximian.com> Message-ID: <20030313041354.GA22553@ceres.cs.mu.oz.au> On 12-Mar-2003, Sebastian Bergmann wrote: > Benchmarking the Microsoft .Net implementation and comparing it to > other implementations, like Mono, is forbidden? Yes. Or at least Microsoft attempts to forbid it. Whether or not this is actually legally enforcable is doubtful. Microsoft should be strongly condemned for their unconscionable attempt to restrict free speech. > Do you have a link for this? When you install the Microsoft .NET Framework SDK Version 1.0, there is a click-wrap license that includes the following condition: | 4.8 Benchmark Testing. You may not disclose the results of any | benchmark test of the .NET Framework component of the Product to any | third party without Microsoft's prior written approval. I have attempted to obtain such permission, describing my experimental setup to Microsoft. But Microsoft are not willing to grant such approval until they have seen the actual results. This destroys the scientific validity of any published .NET benchmark test results. Furthermore, Microsoft have told me that version 1.1 will have a similar condition. -- Fergus Henderson | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: | -- the last words of T. S. Garp. From pbaena@uol.com.ar Thu Mar 13 03:56:09 2003 From: pbaena@uol.com.ar (Pablo Baena) Date: 13 Mar 2003 03:56:09 +0000 Subject: [Mono-list] Can't launch processes as normal user Message-ID: <1047527769.798.3.camel@hal> --=-JdkBImYnbaR6ibVo//Wv Content-Type: text/plain Content-Transfer-Encoding: 7bit Hello! There was a time when I could launch processes with mono as a normal user, but that isn't the case anymore. Now I have to be logged in as root. Is it a bug or a new policy? Regards! -- Pablo Baena --=-JdkBImYnbaR6ibVo//Wv Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit Hello! There was a time when I could launch processes with mono as a normal user, but that isn't the case anymore. Now I have to be logged in as root. Is it a bug or a new policy?

Regards!
--
Pablo Baena <pbaena@uol.com.ar>
--=-JdkBImYnbaR6ibVo//Wv-- From bdeacon@vidya.com Thu Mar 13 07:10:09 2003 From: bdeacon@vidya.com (Brian Deacon) Date: 12 Mar 2003 23:10:09 -0800 Subject: [Mono-list] Re: Mono-list digest, Vol 1 #866 - 13 msgs In-Reply-To: <20030312181401.3299.60071.Mailman@headcheese.ximian.com> References: <20030312181401.3299.60071.Mailman@headcheese.ximian.com> Message-ID: <1047539430.3259.23.camel@localhost.localdomain> Apologies for putting words in Miguel's mouth.... It's actually something I was remembering from the FAQ for Portable.Net http://www.southern-storm.com.au/pnet_faq.html In retrospect, it looks like it's more of an issue for the author(s) of PNetMark, as it is a benchmarking tool... You may be tempted to run PNetMark against the Microsoft CLR. If you do, you cannot tell the author of the benchmark, or anyone else for that matter, what the results are. The following is an excerpt from Microsoft's End User License Agreement (EULA) for their .NET Framework SDK redistributables: Performance or Benchmark Testing. You may not disclose the results of any benchmark test of either the Server Software or Client Software to any third party without Microsoft's prior written approval. Thus, you can run the benchmark if you like, but you must keep the results to yourself. If you don't like this, then you will have to take it up with Microsoft's lawyers. A link to the actual EULA: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetdep/html/redisteula.asp Anything more I could say would start with "I'm not a lawyer, but..." so I'll just shut up now. :) Brian > From: Sebastian Bergmann > To: mono-list@lists.ximian.com > Subject: Re: [Mono-list] lies and microbenmarks > Date: 12 Mar 2003 17:39:18 +0100 > > Brian Deacon wrote: > > benchmarking that is apparently forbidden in the license from MS and > > explicitly discouraged by Miguel on go-mono? > > Benchmarking the Microsoft .Net implementation and comparing it to > other implementations, like Mono, is forbidden? Do you have a link for > this? > > Thanks, > Sebastian > From James.Fitzsimons@intergen.co.nz Wed Mar 12 19:54:10 2003 From: James.Fitzsimons@intergen.co.nz (James Fitzsimons) Date: Thu, 13 Mar 2003 08:54:10 +1300 Subject: [Mono-list] Build fails on OS X Message-ID: <7CB4145E5D76404D98329D422EEA9B04AD3D22@wlgex1.intergen.org.nz> Hi all, I am trying to build mono on my OS X (10.2) machine at home. Unfortunately I ran into problems before I even got to Mono! I got the following error trying to build glibc: checking for indent... indent checking for perl... /usr/bin/perl checking for iconv_open... no checking for libiconv_open in -liconv... no checking for iconv_open in -liconv... no configure: error: *** No iconv() implementation found in C library or libiconv=20 bash-2.05a$=20 I was wondering if anyone else had struck this problem on OS X and could suggest a work around? Thanks very much, James Fitzsimons From Eran.Sandler@smarteam.com Thu Mar 13 06:01:17 2003 From: Eran.Sandler@smarteam.com (Eran Sandler) Date: Thu, 13 Mar 2003 08:01:17 +0200 Subject: [Mono-list] mod_mono and userdir Message-ID: <78AF93592520674C8277657BFB0FE01F03C56C@ilexc01.SMART.INTRA> An apache module will hide this kind of functionality from the user. An = HttpModule must be registered in the web.config file, thus forcing every = application that needs to handle this to add that line. Putting this code at the Apache module level removes the need to add the = configuration to the web.config file. After all, it seems logical that in Windows almost no one will use it = and if they do it will be in a very different way. Why make them some extra job of removing lines from the web.config? After all, it is not imperative to have such functionality in Windows = (even on Apache on Windows). Regarding the path parser, it is a good idea to use a regular expression = and perhaps even allow writing a 3rd party add-on to enable very smart = parsing of the URL (if it will be needed). I think that it is important to implement multiple paths per Application = Host. This kind of behavior will probably be required by users that will = be familiar with IIS 6.=20 It might also be necessary to allow the host to run on a different user = (if this it is possible). For enhanced security we will need to run the = host on different credentials so the Application Host we have very = limited access to resources. Eran -----Original Message----- From: Steinar Herland [mailto:steinar.herland@gecko.no]=20 Sent: Wednesday, March 12, 2003 9:33 PM To: Eran Sandler; Daniel Lopez; mono-list@ximian.com Subject: SV: [Mono-list] mod_mono and userdir If it's HttpModule or an Apache module "doesn't matter". The request = will have to be handled / rewritten on every request anyway. I believe a HttpModule is preferred because it's a pure C# solution, and = because of the simplicity: if(Request.Path.IndexOf("~")>0){ //Use a RegEx here? //Do something HttpContext.Current.RewritePath("MyNewPath"); } //Done... Steinar -----Opprinnelig melding----- Fra: Eran Sandler [mailto:Eran.Sandler@smarteam.com]=20 Sendt: 12. mars 2003 16:17 Til: Daniel Lopez; mono-list@ximian.com Emne: RE: [Mono-list] mod_mono and userdir Hi Daniel, =A0 You can write an HttpModule that upon initalization hooks to the = BeginRequest event and it can parse the request URL and perform server = redirect or directly write to the response. =A0 I've done such things for different reasons (not the ones that you want) = but you should bare in mind that on EVERY request that comes to that = application it will pass through your module so except a decrease in = performance. =A0 I think you should try to resolve it at the apache module level. Perhaps = by doing what I have suggested in my previous post (I'm not sure how to = do that since I don't know Apache that well). =A0 If you can redirect a request at the Apache=A0module level it seems like = the most reasonable place to do that. =A0 Eran -----Original Message-----=20 From: Daniel Lopez [mailto:daniel@rawbyte.com]=20 Sent: =E3 12/03/2003 14:55=20 To: mono-list@ximian.com=20 Cc:=20 Subject: Re: [Mono-list] mod_mono and userdir Yes, I already looked at the HttpApplication events and in the = System.Web namespace and could not find a path resolve event? Should I be looking somwehre else? The current place I am thinking on hooking is in BeginRequest > There is a event that is called during path resolve, that could = resolve that > path into another physical path (just change it). I don't have time to = make > a poc now but take a look in MSDN. > > Cheers, >=A0 Patrik > > > -----Original Message----- > > From: Daniel Lopez [mailto:daniel@rawbyte.com] > > Sent: Wednesday, March 12, 2003 12:35 PM > > To: mono-list@ximian.com > > Subject: [Mono-list] mod_mono and userdir > > > > > > > > I believe part of what I want can be accomplished with > > > > HttpContext.RewritePath() > > > > Not currently implemented in Mono, I=B4ll look into implementing it. > > This can then be called from an HttpModule > > > > Cheers > > > > Daniel > > _______________________________________________ > > Mono-list maillist=A0 -=A0 Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list > > _______________________________________________ Mono-list maillist=A0 -=A0 Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From patrik.torstensson@intel.com Thu Mar 13 09:46:10 2003 From: patrik.torstensson@intel.com (Torstensson, Patrik) Date: Thu, 13 Mar 2003 01:46:10 -0800 Subject: [Mono-list] mod_mono and userdir Message-ID: <487C7BED8BFCDD4C9B1E4EA3DCEA5FC70E1F61@swsmsx402.isw.intel.com> Hi Eran, > An apache module will hide this kind of functionality from > the user. An HttpModule must be registered in the web.config > file, thus forcing every application that needs to handle > this to add that line. > > Putting this code at the Apache module level removes the need > to add the configuration to the web.config file. > After all, it seems logical that in Windows almost no one > will use it and if they do it will be in a very different way. > > Why make them some extra job of removing lines from the web.config? > After all, it is not imperative to have such functionality in > Windows (even on Apache on Windows). I'm not sure on that, I think there is solutions out there that would like to have that on Windows to. I have made IIS Filters to fix that before for customers. > I think that it is important to implement multiple paths per > Application Host. This kind of behavior will probably be > required by users that will be familiar with IIS 6. I don't think so. IIS 6 has multiple Application Hosts (one per running application) in an farm. We should support the same kind of functionality but it's a lot of work to construct that for Apache but it will bring Apache to the same level as IIS 6 when it comes to application isolation. > It might also be necessary to allow the host to run on a > different user (if this it is possible). For enhanced > security we will need to run the host on different > credentials so the Application Host we have very limited > access to resources. Again, there is a lot of work to create this kind of isolation but when it's done you can easily support running each app host with different users. Cheers, Patrik From steinar.herland@gecko.no Thu Mar 13 10:04:04 2003 From: steinar.herland@gecko.no (Steinar Herland) Date: Thu, 13 Mar 2003 11:04:04 +0100 Subject: SV: [Mono-list] mod_mono and userdir Message-ID: <805025DC23C38D43B27AE5D118D36FD303E25F97@gecko.gecko.no> Web.Config settings are resolved in a interesting way:=20 If a folder contains a Web.Config file with the requested parameter, = that setting is used. If the file or setting is missing, its trying the = parent folder, and so on. If the setting is not found in any Web.Config = files, the setting is loaded from (I think) Machine.Config. This means = it should be possible to just update Machine.Config or the "top-level" = Web.Config. Also, if the url-rewriting-logic should be configurable, where is the = most natural place to put it? I would say... Web.Config. :-) Steinar -----Opprinnelig melding----- Fra: Eran Sandler [mailto:Eran.Sandler@smarteam.com]=20 Sendt: 13. mars 2003 07:01 Til: Steinar Herland; Daniel Lopez; mono-list@ximian.com Emne: RE: [Mono-list] mod_mono and userdir An apache module will hide this kind of functionality from the user. An = HttpModule must be registered in the web.config file, thus forcing every = application that needs to handle this to add that line. Putting this code at the Apache module level removes the need to add the = configuration to the web.config file. After all, it seems logical that in Windows almost no one will use it = and if they do it will be in a very different way. Why make them some extra job of removing lines from the web.config? After all, it is not imperative to have such functionality in Windows = (even on Apache on Windows). Regarding the path parser, it is a good idea to use a regular expression = and perhaps even allow writing a 3rd party add-on to enable very smart = parsing of the URL (if it will be needed). I think that it is important to implement multiple paths per Application = Host. This kind of behavior will probably be required by users that will = be familiar with IIS 6.=20 It might also be necessary to allow the host to run on a different user = (if this it is possible). For enhanced security we will need to run the = host on different credentials so the Application Host we have very = limited access to resources. Eran -----Original Message----- From: Steinar Herland [mailto:steinar.herland@gecko.no]=20 Sent: Wednesday, March 12, 2003 9:33 PM To: Eran Sandler; Daniel Lopez; mono-list@ximian.com Subject: SV: [Mono-list] mod_mono and userdir If it's HttpModule or an Apache module "doesn't matter". The request = will have to be handled / rewritten on every request anyway. I believe a HttpModule is preferred because it's a pure C# solution, and = because of the simplicity: if(Request.Path.IndexOf("~")>0){ //Use a RegEx here? //Do something HttpContext.Current.RewritePath("MyNewPath"); } //Done... Steinar -----Opprinnelig melding----- Fra: Eran Sandler [mailto:Eran.Sandler@smarteam.com]=20 Sendt: 12. mars 2003 16:17 Til: Daniel Lopez; mono-list@ximian.com Emne: RE: [Mono-list] mod_mono and userdir Hi Daniel, =A0 You can write an HttpModule that upon initalization hooks to the = BeginRequest event and it can parse the request URL and perform server = redirect or directly write to the response. =A0 I've done such things for different reasons (not the ones that you want) = but you should bare in mind that on EVERY request that comes to that = application it will pass through your module so except a decrease in = performance. =A0 I think you should try to resolve it at the apache module level. Perhaps = by doing what I have suggested in my previous post (I'm not sure how to = do that since I don't know Apache that well). =A0 If you can redirect a request at the Apache=A0module level it seems like = the most reasonable place to do that. =A0 Eran -----Original Message-----=20 From: Daniel Lopez [mailto:daniel@rawbyte.com]=20 Sent: =E3 12/03/2003 14:55=20 To: mono-list@ximian.com=20 Cc:=20 Subject: Re: [Mono-list] mod_mono and userdir Yes, I already looked at the HttpApplication events and in the = System.Web namespace and could not find a path resolve event? Should I be looking somwehre else? The current place I am thinking on hooking is in BeginRequest > There is a event that is called during path resolve, that could = resolve that > path into another physical path (just change it). I don't have time to = make > a poc now but take a look in MSDN. > > Cheers, >=A0 Patrik > > > -----Original Message----- > > From: Daniel Lopez [mailto:daniel@rawbyte.com] > > Sent: Wednesday, March 12, 2003 12:35 PM > > To: mono-list@ximian.com > > Subject: [Mono-list] mod_mono and userdir > > > > > > > > I believe part of what I want can be accomplished with > > > > HttpContext.RewritePath() > > > > Not currently implemented in Mono, I=B4ll look into implementing it. > > This can then be called from an HttpModule > > > > Cheers > > > > Daniel > > _______________________________________________ > > Mono-list maillist=A0 -=A0 Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list > > _______________________________________________ Mono-list maillist=A0 -=A0 Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From lupus@ximian.com Thu Mar 13 10:57:39 2003 From: lupus@ximian.com (Paolo Molaro) Date: Thu, 13 Mar 2003 11:57:39 +0100 Subject: [Mono-list] libgc in CVS In-Reply-To: <1047511086.2270.114.camel@erandi.boston.ximian.com> References: <1047511086.2270.114.camel@erandi.boston.ximian.com> Message-ID: <20030313105739.GB918@debian.org> On 03/12/03 Miguel de Icaza wrote: > > Actually what I meant was that I did an anon-cvs update and when it > > updated the libgc module it was downloading mcs, mono, debugger, > > monodoc, etc. files *inside* the libgc module. I did get the normal > > updates of those as separate modules also. I browsed the CVS thru the > > web and all of the modules seem to be duplicated inside the libgc > > module. It made for a long download. :) I was just wondering is all. > > Oh, we should definitely dig into this problem. And am sorry for the > trouble that this caused. It's not a problem from our side. cvs sometimes gets confused and will download a module inside of another one for some reason. It happened to me in the past too with other repositores. Just doing a fresh checkout solved the issue for me. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From patrik.torstensson@intel.com Thu Mar 13 11:00:51 2003 From: patrik.torstensson@intel.com (Torstensson, Patrik) Date: Thu, 13 Mar 2003 03:00:51 -0800 Subject: [Mono-list] mod_mono and userdir Message-ID: <487C7BED8BFCDD4C9B1E4EA3DCEA5FC70E1F62@swsmsx402.isw.intel.com> Hi, > In most cases the servers are used to serve applications not multiple > users running multiple applications (at least in the business > world) so > perhaps it is something that can be delayed for a while. True. > Regarding IIS 6, it has a few configurations: > - Running all applications on a single Application Host > (similar to the > medium isolation level in IIS 5.0 which ran all application under the > same dllhost process. I'm was talking about ASP.NET application hosts. It's still possible to configure asp.net to use web gardens and/or isolation for applications (meaning it will create multiple .net application hosts for the application). > - Defining an Application Host for a single application > (similar to IIS > 5.0 high isolation level which actually had a process per > high isolation > application). > - Defining a Web Garden which hosts several applications on the same > Application Host (a new feature in IIS 6.0). Still, in reality web gardens creates multiple application hosts for each "garden" instance. This mode is really cool but remember that asp.net it self has the same functionality (running on iis 5/4). When I say the the same functionality I mean from the point of view that it will create separate processes (and bind them with a process affinity) and not the kernel restart stuff. It's configured via the tag in Machine.config. > Regarding the security issues, impersonation of a user for a process > doesn't require that much in UNIX/Linux right? I haven't done this > myself in UNIX/Linux but I presume it shouldn't be that hard. It's not a problem if we just need to support the fact of running as one user but I think Apache can handle that to for the mod but I'm not 100% sure. Normally ASP.NET application host (managed world) should support impersonation via the System.Web.Hosting.ApplicationHost but that still on my todo list. That would give us a lot more control over when we are running as system and when we are running as a user. > I know it might be a lot of work but unless given other possibilities > with similar functionality for running ASP.NET (both applications and > Web Services), people would be forced to take IIS 6.0 (there is also a > specific Windows 2003 version for the web with web acceleration in the > kernel). The web acceleration stuff is in all kernels (https.sys), the web version is only a license solution, limiting the possibilities to use other services on that version. > Don't forget that Microsoft is improving Windows in such ways > that in a > certain point it might be a worthy adversary for Linux in the web > market. > The current implementation of mod_mono is similar to IIS 5.0 and > ASP.NET. It might seem that IIS is a server that simply > support ASP.NET > in version 6.0 it is getting a little bit close (even too close) to be > an integral part of .NET and we must accommodate this whole by supply > this missing functionality. I agree that we should support the same options, is not that hard and we could implement it using managed environment making it possible to port to other web platforms. Cheers Patrik From gonzalo@ximian.com Thu Mar 13 12:10:26 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 13 Mar 2003 13:10:26 +0100 Subject: [Mono-list] Accessing data members in remote objects In-Reply-To: References: Message-ID: <1047557426.636.12.camel@portatil> El jue, 27 de 02 de 2003 a las 21:09, Jamin Philip Gray escribió: > I'm having a problem with remoting. It works great for accessing methods > on the proxy of a remote object, but not on data members. When I access a > data member I get: > > Unhandled Exception: System.NullReferenceException: A null value was found > where an object instance was required > in <0x00126> 00 TestCode.Remoting.SampleClient:Main (string[]) If you are still seeing this problem, please fill a bug report in bugzilla so we don't forget about it. Thanks. -Gonzalo From gonzalo@ximian.com Thu Mar 13 12:11:43 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 13 Mar 2003 13:11:43 +0100 Subject: [Mono-list] codebehind In-Reply-To: <3E5E8E2A.1010706@shaw.ca> References: <3E5E8E2A.1010706@shaw.ca> Message-ID: <1047557503.637.14.camel@portatil> El jue, 27 de 02 de 2003 a las 23:16, Taras escribió: > Hi I just installed mono 0.20 and compiled cvs xsp on win2k. > However codebehind doesnt seem to work. I get the following message when > I go to http://localhost:8080/codebehind1.aspx > * *Directory '/D:/cygwin/home/Administrator/xsp/server/test/bin' not found > Seems like the aspx parser is prepending / forcing this to screw up. Is > this just a problem in 0.20, is it fixed in cvs? Last time I tested the xsp server in windows was after adding the --virtual and --root parameters and it worked fine. After 0.21 i think. -Gonzalo From gonzalo@ximian.com Thu Mar 13 12:15:42 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 13 Mar 2003 13:15:42 +0100 Subject: [Mono-list] XSP under Win32 In-Reply-To: <20030312140131.62D6.RUBENG@tectimes.com> References: <20030312140131.62D6.RUBENG@tectimes.com> Message-ID: <1047557741.1996.17.camel@portatil> El mié, 12 de 03 de 2003 a las 22:11, Rubén Gutierrez escribió: > Hi, > > After several attempts (with different versions of mono), I finally > managed to run the xsp 3.0 server under WinXP Pro, with Mono 0.23. Wow! Has xsp 3.0 seen the light? ;-) [...] > Now, my question is, is there something I can change "somewhere", to > make it not necesary to have those bats in the root directory? > > BTW, the server was algo looking for machine.config in > C:\mono-0.23\etc\mono\mono\ instead of C:\mono-0.23\etc\mono\ > So I had to create that folder (the new \mono) and copy the file in > there. Mmm, I've never tried myself the windows installer and xsp. I'll give it a try. -Gonzalo From rubeng@tectimes.com Thu Mar 13 12:52:04 2003 From: rubeng@tectimes.com (=?ISO-8859-1?Q?Rub=E9n_Guti=E9rrez?=) Date: Thu, 13 Mar 2003 09:52:04 -0300 Subject: [Mono-list] xsp 3.0 (was: XSP under Win32) Message-ID: <20030313094848.600F.RUBENG@tectimes.com> Gonzalo Paniagua Javier wrote: > El mi=E9, 12 de 03 de 2003 a las 22:11, Rub=E9n Gutierrez escribi=F3: > > Hi, > >=20 > > After several attempts (with different versions of mono), I finally > > managed to run the xsp 3.0 server under WinXP Pro, with Mono 0.23. >=20 > Wow! Has xsp 3.0 seen the light? ;-) Ummm... errr... maybe not officially, I downloaded it from here: http://www.go-mono.com/archive/xsp-0.3.tar.gz I was browsing http://www.go-mono.com/archive/ looking for the most recent Windows installer and I found xsp 3.0 Cheers, Rub=E9n Guti=E9rrez From sdhmis@sheratondover.com Thu Mar 13 13:45:08 2003 From: sdhmis@sheratondover.com (Kenneth Benson) Date: Thu, 13 Mar 2003 08:45:08 -0500 Subject: [Mono-list] libgc in CVS Message-ID: This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C2E966.C2B47EA0 Content-Type: text/plain; charset="iso-8859-1" -----Original Message----- From: Miguel de Icaza [mailto:miguel@ximian.com] Sent: Wednesday, March 12, 2003 6:18 PM To: Kenneth Benson Cc: 'mono-list@lists.ximian.com' Subject: RE: [Mono-list] libgc in CVS Hello! > Actually what I meant was that I did an anon-cvs update and when it > updated the libgc module it was downloading mcs, mono, debugger, > monodoc, etc. files *inside* the libgc module. I did get the normal > updates of those as separate modules also. I browsed the CVS thru the > web and all of the modules seem to be duplicated inside the libgc > module. It made for a long download. :) I was just wondering is all. Oh, we should definitely dig into this problem. And am sorry for the trouble that this caused. Miguel --------------------------- No real trouble, Miguel, just a bit of a surprise is all. Ken ------_=_NextPart_001_01C2E966.C2B47EA0 Content-Type: text/html; charset="iso-8859-1" RE: [Mono-list] libgc in CVS

-----Original Message-----
From: Miguel de Icaza [mailto:miguel@ximian.com]
Sent: Wednesday, March 12, 2003 6:18 PM
To: Kenneth Benson
Cc: 'mono-list@lists.ximian.com'
Subject: RE: [Mono-list] libgc in CVS


Hello!

> Actually what I meant was that I did an anon-cvs update and when it
> updated the libgc module it was downloading mcs, mono, debugger,
> monodoc, etc. files *inside* the libgc module. I did get the normal
> updates of those as separate modules also. I browsed the CVS thru the
> web and all of the modules seem to be duplicated inside the libgc
> module. It made for a long download. :) I was just wondering is all.

Oh, we should definitely dig into this problem.  And am sorry for the
trouble that this caused.

Miguel

---------------------------

No real trouble, Miguel, just a bit of a surprise is all.

Ken

------_=_NextPart_001_01C2E966.C2B47EA0-- From rubeng@tectimes.com Thu Mar 13 17:56:06 2003 From: rubeng@tectimes.com (=?iso-8859-1?Q?Rub=E9n_Gutierrez?=) Date: Thu, 13 Mar 2003 10:56:06 -0700 Subject: [Mono-list] Re: xsp 3.0 (was: XSP under Win32) In-Reply-To: <20030313134105.16131.13784.Mailman@headcheese.ximian.com> References: <20030313134105.16131.13784.Mailman@headcheese.ximian.com> Message-ID: <20030313105456.A782.RUBENG@tectimes.com> > Message: 10 > Date: Thu, 13 Mar 2003 09:52:04 -0300 > To: mono-list@lists.ximian.com > Subject: [Mono-list] xsp 3.0 (was: XSP under Win32) >=20 >=20 > Gonzalo Paniagua Javier wrote: >=20 > > El mi=3DE9, 12 de 03 de 2003 a las 22:11, Rub=3DE9n Gutierrez = escribi=3DF3: > > > Hi, > > >=3D20 > > > After several attempts (with different versions of mono), I = finally > > > managed to run the xsp 3.0 server under WinXP Pro, with Mono = 0.23. > >=3D20 > > Wow! Has xsp 3.0 seen the light? ;-) >=20 > Ummm... errr... maybe not officially, I downloaded it from here: > http://www.go-mono.com/archive/xsp-0.3.tar.gz Ehhhh.... ouch, now I see what you meant. I said 3.0 instead of 0.3... sorry :-P Cheers, Ruben. From Eran.Sandler@smarteam.com Thu Mar 13 10:26:18 2003 From: Eran.Sandler@smarteam.com (Eran Sandler) Date: Thu, 13 Mar 2003 12:26:18 +0200 Subject: [Mono-list] mod_mono and userdir Message-ID: <78AF93592520674C8277657BFB0FE01F03C56E@ilexc01.SMART.INTRA> Hi Patrik, In most cases the servers are used to serve applications not multiple users running multiple applications (at least in the business world) so perhaps it is something that can be delayed for a while. Regarding IIS 6, it has a few configurations: - Running all applications on a single Application Host (similar to the medium isolation level in IIS 5.0 which ran all application under the same dllhost process. - Defining an Application Host for a single application (similar to IIS 5.0 high isolation level which actually had a process per high isolation application). - Defining a Web Garden which hosts several applications on the same Application Host (a new feature in IIS 6.0). - Working in IIS 5.0 compatibility mode which has ONE single Application Host per all the application running on this server. Regarding the security issues, impersonation of a user for a process doesn't require that much in UNIX/Linux right? I haven't done this myself in UNIX/Linux but I presume it shouldn't be that hard. I know it might be a lot of work but unless given other possibilities with similar functionality for running ASP.NET (both applications and Web Services), people would be forced to take IIS 6.0 (there is also a specific Windows 2003 version for the web with web acceleration in the kernel). Don't forget that Microsoft is improving Windows in such ways that in a certain point it might be a worthy adversary for Linux in the web market.=20 The current implementation of mod_mono is similar to IIS 5.0 and ASP.NET. It might seem that IIS is a server that simply support ASP.NET in version 6.0 it is getting a little bit close (even too close) to be an integral part of .NET and we must accommodate this whole by supply this missing functionality. After all ASP.NET applications that will run on IIS 6.0 in a certain configuration will be expected to run the same way on mod_mono under Apache. I know that a customer of the company I work for did agree on installing a Windows 2000 machine to be a web server but didn't want to hear about IIS. He did agree to install Apache.=20 This marks an important point that we might be able to take some "market-share" but making all of this work in Microsoft's back yard, Windows. Eran -----Original Message----- From: Torstensson, Patrik [mailto:patrik.torstensson@intel.com]=20 Sent: Thursday, March 13, 2003 11:46 AM To: Eran Sandler; Steinar Herland; Daniel Lopez; mono-list@ximian.com Subject: RE: [Mono-list] mod_mono and userdir Hi Eran, > An apache module will hide this kind of functionality from=20 > the user. An HttpModule must be registered in the web.config=20 > file, thus forcing every application that needs to handle=20 > this to add that line. > > Putting this code at the Apache module level removes the need=20 > to add the configuration to the web.config file. > After all, it seems logical that in Windows almost no one=20 > will use it and if they do it will be in a very different way. >=20 > Why make them some extra job of removing lines from the web.config? > After all, it is not imperative to have such functionality in=20 > Windows (even on Apache on Windows). I'm not sure on that, I think there is solutions out there that would like to have that on Windows to. I have made IIS Filters to fix that before for customers. =20 > I think that it is important to implement multiple paths per=20 > Application Host. This kind of behavior will probably be=20 > required by users that will be familiar with IIS 6.=20 I don't think so. IIS 6 has multiple Application Hosts (one per running application) in an farm. We should support the same kind of functionality but it's a lot of work to construct that for Apache but it will bring Apache to the same level as IIS 6 when it comes to application isolation. =20 > It might also be necessary to allow the host to run on a=20 > different user (if this it is possible). For enhanced=20 > security we will need to run the host on different=20 > credentials so the Application Host we have very limited=20 > access to resources. Again, there is a lot of work to create this kind of isolation but when it's done you can easily support running each app host with different users. =20 Cheers,=20 Patrik From Eran.Sandler@smarteam.com Thu Mar 13 10:36:34 2003 From: Eran.Sandler@smarteam.com (Eran Sandler) Date: Thu, 13 Mar 2003 12:36:34 +0200 Subject: [Mono-list] mod_mono and userdir Message-ID: <78AF93592520674C8277657BFB0FE01F03C56F@ilexc01.SMART.INTRA> Actually there are keys in the machine.config at the part of the = configuration section definition that says what the scope for a key is. Http Modules and Http Handlers can only be defined in a web.config = (according to the .NET documentation), meaning, per application. I wanted the URL rewrite configuration will be more than just a find = regular expression and replacing it with another.=20 Perhaps it will require other things as well. That is why I think that = we should have a hook that a developer can put his own logic in there. = In addition to that we can implement a standard configurable = implementation for that hook that searches for a regular expression and = return some kind of a formula on it. Eran -----Original Message----- From: Steinar Herland [mailto:steinar.herland@gecko.no]=20 Sent: Thursday, March 13, 2003 12:04 PM To: Eran Sandler; Daniel Lopez; mono-list@ximian.com Subject: SV: [Mono-list] mod_mono and userdir Web.Config settings are resolved in a interesting way:=20 If a folder contains a Web.Config file with the requested parameter, = that setting is used. If the file or setting is missing, its trying the = parent folder, and so on. If the setting is not found in any Web.Config = files, the setting is loaded from (I think) Machine.Config. This means = it should be possible to just update Machine.Config or the "top-level" = Web.Config. Also, if the url-rewriting-logic should be configurable, where is the = most natural place to put it? I would say... Web.Config. :-) Steinar -----Opprinnelig melding----- Fra: Eran Sandler [mailto:Eran.Sandler@smarteam.com]=20 Sendt: 13. mars 2003 07:01 Til: Steinar Herland; Daniel Lopez; mono-list@ximian.com Emne: RE: [Mono-list] mod_mono and userdir An apache module will hide this kind of functionality from the user. An = HttpModule must be registered in the web.config file, thus forcing every = application that needs to handle this to add that line. Putting this code at the Apache module level removes the need to add the = configuration to the web.config file. After all, it seems logical that in Windows almost no one will use it = and if they do it will be in a very different way. Why make them some extra job of removing lines from the web.config? After all, it is not imperative to have such functionality in Windows = (even on Apache on Windows). Regarding the path parser, it is a good idea to use a regular expression = and perhaps even allow writing a 3rd party add-on to enable very smart = parsing of the URL (if it will be needed). I think that it is important to implement multiple paths per Application = Host. This kind of behavior will probably be required by users that will = be familiar with IIS 6.=20 It might also be necessary to allow the host to run on a different user = (if this it is possible). For enhanced security we will need to run the = host on different credentials so the Application Host we have very = limited access to resources. Eran -----Original Message----- From: Steinar Herland [mailto:steinar.herland@gecko.no]=20 Sent: Wednesday, March 12, 2003 9:33 PM To: Eran Sandler; Daniel Lopez; mono-list@ximian.com Subject: SV: [Mono-list] mod_mono and userdir If it's HttpModule or an Apache module "doesn't matter". The request = will have to be handled / rewritten on every request anyway. I believe a HttpModule is preferred because it's a pure C# solution, and = because of the simplicity: if(Request.Path.IndexOf("~")>0){ //Use a RegEx here? //Do something HttpContext.Current.RewritePath("MyNewPath"); } //Done... Steinar -----Opprinnelig melding----- Fra: Eran Sandler [mailto:Eran.Sandler@smarteam.com]=20 Sendt: 12. mars 2003 16:17 Til: Daniel Lopez; mono-list@ximian.com Emne: RE: [Mono-list] mod_mono and userdir Hi Daniel, =A0 You can write an HttpModule that upon initalization hooks to the = BeginRequest event and it can parse the request URL and perform server = redirect or directly write to the response. =A0 I've done such things for different reasons (not the ones that you want) = but you should bare in mind that on EVERY request that comes to that = application it will pass through your module so except a decrease in = performance. =A0 I think you should try to resolve it at the apache module level. Perhaps = by doing what I have suggested in my previous post (I'm not sure how to = do that since I don't know Apache that well). =A0 If you can redirect a request at the Apache=A0module level it seems like = the most reasonable place to do that. =A0 Eran -----Original Message-----=20 From: Daniel Lopez [mailto:daniel@rawbyte.com]=20 Sent: =E3 12/03/2003 14:55=20 To: mono-list@ximian.com=20 Cc:=20 Subject: Re: [Mono-list] mod_mono and userdir Yes, I already looked at the HttpApplication events and in the = System.Web namespace and could not find a path resolve event? Should I be looking somwehre else? The current place I am thinking on hooking is in BeginRequest > There is a event that is called during path resolve, that could = resolve that > path into another physical path (just change it). I don't have time to = make > a poc now but take a look in MSDN. > > Cheers, >=A0 Patrik > > > -----Original Message----- > > From: Daniel Lopez [mailto:daniel@rawbyte.com] > > Sent: Wednesday, March 12, 2003 12:35 PM > > To: mono-list@ximian.com > > Subject: [Mono-list] mod_mono and userdir > > > > > > > > I believe part of what I want can be accomplished with > > > > HttpContext.RewritePath() > > > > Not currently implemented in Mono, I=B4ll look into implementing it. > > This can then be called from an HttpModule > > > > Cheers > > > > Daniel > > _______________________________________________ > > Mono-list maillist=A0 -=A0 Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list > > _______________________________________________ Mono-list maillist=A0 -=A0 Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From sid@darkstars.org Thu Mar 13 14:37:58 2003 From: sid@darkstars.org (SiD`) Date: Thu, 13 Mar 2003 15:37:58 +0100 Subject: [Mono-list] mbas compiler Message-ID: <3E7097C6.7080500@darkstars.org> Hi, I'm new to mbas and I want to contribute using it. Do I need to pass to mbas *.vb files? How can I pass all the .vb s files? Do I have to specify in the command line the imports or it is automatically done by mbas? May I pass a .sln or .vbproj file? Why, passing a vb file, mbas answer in this way? C:\w>mbas modMain.vb syntax error, expecting BINARY CLASS COMPARE CONST DELEGATE DIM END ENUM EVENT E XPLICIT FRIEND FUNCTION INTERFACE MODULE OFF PRIVATE PROPERTY PROTECTED PUBLIC S HARED STRUCTURE SUB TEXT WITHEVENTS OP_LT IDENTIFIER Line: 5 Col: 0 VirtLine: 5 Token: 308 : Parsing error in modMain.vb modMain.vb(5) error BC9999: Mono.MonoBASIC.yyParser.yyException: irrecoverable syntax error in <0x00cd1> 00 Mono.MonoBASIC.Parser:yyparse (Mono.MonoBASIC.yyParser.yyInput) in <0x0023d> 00 Mono.MonoBASIC.Parser:parse () Compilation failed: 1 Error(s), 0 warnings Thankyou very much! Mono rulez! :D From rj@baucells.org Thu Mar 13 15:03:01 2003 From: rj@baucells.org (Rogelio J. Baucells) Date: Thu, 13 Mar 2003 10:03:01 -0500 Subject: [Mono-list] mod_mono problems Message-ID: <001101c2e971$a441d7f0$6101000a@pluto> Hi, I have a RH8.0 box with mono-0.23 installed from RPMs. I have compiled a couple of small programs on it without any problem but I am getting a lot of warnings compiling ModMono.dll. The result of this compilation (ModMono.dll) crashes my apache 2.0.44 everytime I try to access /mono. The xsp server works fine when started as a standalone application. I also tried with the code in cvs as it was last night with the same results. The apache module (mod_mono.so) compiles and installs without any problem. It seems there is a problem with my mono install, I removed the installed RPMs and made sure there was no remaining files on the system and then installed again the RPMs getting the same results. Is there anything I can do to make it work? Thanks RJ mcs /debug+ /debug:full /nologo /r:System.Web.dll /target:library /out:ModMono.dll ApacheApplicationHost.cs ApacheWorkerRequest.cs MonoWorkerRequest.cs IApplicationHost.cs Request.cs ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetConnectionInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetHttpVersionInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetHttpVerbNameInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::SendResponseFromMemoryInternal(intptr,byte[],int)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::SetResponseHeaderInternal(intptr,string,string)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetRequestHeaderInternal(intptr,string)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::AliasMatches(string,string)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetServerVariableInternal(intptr,string)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetUriInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetFileNameInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetQueryStringInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetServerPortInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetRemoteAddressInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetRemoteNameInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetLocalAddressInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetLocalPortInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetRemotePortInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::FlushInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::CloseInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::SetupClientBlockInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::ShouldClientBlockInternal(intptr)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::GetClientBlockInternal(intptr,byte[],uint)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::SetStatusCodeInternal(intptr,int)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to "Apache.Web.Request::SetStatusLineInternal(intptr,string)" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly: you probably have a broken mono install. If you see other errors or faults after this message they are probably related and you need to fix your mono install first. WROTE SYMFILE: 5 sources, 102 methods, 28 types, 241 line numbers, 14 locals, 10 namespaces, 8048 bytes of string data OffsetTable [20435 - 52:19039 - 5:20315:120 - 102:19091:1224 - 28] Compilation succeeded From sid@darkstars.org Thu Mar 13 15:13:41 2003 From: sid@darkstars.org (SiD`) Date: Thu, 13 Mar 2003 16:13:41 +0100 Subject: [Mono-list] [Fwd: mbas compiler] Message-ID: <3E70A025.4010901@darkstars.org> Hi, I'm new to mbas and I want to contribute using it. Do I need to pass to mbas *.vb files? How can I pass all the .vb s files? Do I have to specify in the command line the imports or it is automatically done by mbas? May I pass a .sln or .vbproj file? Why, passing a vb file, mbas answer in this way? C:\w>mbas modMain.vb syntax error, expecting BINARY CLASS COMPARE CONST DELEGATE DIM END ENUM EVENT E XPLICIT FRIEND FUNCTION INTERFACE MODULE OFF PRIVATE PROPERTY PROTECTED PUBLIC S HARED STRUCTURE SUB TEXT WITHEVENTS OP_LT IDENTIFIER Line: 5 Col: 0 VirtLine: 5 Token: 308 : Parsing error in modMain.vb modMain.vb(5) error BC9999: Mono.MonoBASIC.yyParser.yyException: irrecoverable syntax error in <0x00cd1> 00 Mono.MonoBASIC.Parser:yyparse (Mono.MonoBASIC.yyParser.yyInput) in <0x0023d> 00 Mono.MonoBASIC.Parser:parse () Compilation failed: 1 Error(s), 0 warnings Thankyou very much! Mono rulez! :D From patrik.torstensson@intel.com Thu Mar 13 15:41:50 2003 From: patrik.torstensson@intel.com (Torstensson, Patrik) Date: Thu, 13 Mar 2003 07:41:50 -0800 Subject: [Mono-list] mod_mono and userdir Message-ID: <487C7BED8BFCDD4C9B1E4EA3DCEA5FC70E1F66@swsmsx402.isw.intel.com> Hi, > Http Modules and Http Handlers can only be defined in a > web.config (according to the .NET documentation), meaning, > per application. Not true, the web.config inherits from the machine.config, take a look in the machine.config file and you will see a number of handlers/modules defined. It's possible to add more into that file. > Perhaps it will require other things as well. That is why I > think that we should have a hook that a developer can put his > own logic in there. In addition to that we can implement a > standard configurable implementation for that hook that > searches for a regular expression and return some kind of a > formula on it. Sounds good, the only thing is that we need to make sure that we can do that with good performance. Cheers, Patrik From dgrigoras@yahoo.com Thu Mar 13 15:57:42 2003 From: dgrigoras@yahoo.com (Daniel Grigoras) Date: Thu, 13 Mar 2003 07:57:42 -0800 (PST) Subject: [Mono-list] regsvr32 In-Reply-To: <20030313105456.A782.RUBENG@tectimes.com> Message-ID: <20030313155742.21352.qmail@web40406.mail.yahoo.com> Hello please, there is something similar with "regsvr32.exe MyProfiler.dll"(for Windows ),but in Linux ? How may I register a profiler (DLL) under Linux? In CVS , there are the equivalents of ICorProfilerInfo and ICorProfilerCallback ( profiler.c , profiler.h ..). Thanks in advance , Daniel G __________________________________________________ Do you Yahoo!? Yahoo! Web Hosting - establish your business online http://webhosting.yahoo.com From rafaelteixeirabr@hotmail.com Thu Mar 13 16:06:33 2003 From: rafaelteixeirabr@hotmail.com (A Rafael D Teixeira) Date: Thu, 13 Mar 2003 13:06:33 -0300 Subject: [Mono-list] mbas compiler Message-ID: >Hi, I'm new to mbas and I want to contribute using it. >Do I need to pass to mbas *.vb files? Yes, a list of all the ones you want compiled in the same assembly (EXE or DLL). In VS.NET you see it as all the sources inside a project inside the solution. >How can I pass all the .vb s files? Just separated by spaces. Example: mbas source1.vb source2.vb source3.vb >Do I have to specify in the command line the imports or it is automatically >done by mbas? Yes, with the /r option Example: mbas /r System source1.vb source2.vb source3.vb >May I pass a .sln or .vbproj file? No you can't, but tha are tools to convert them to makefiles >Why, passing a vb file, mbas answer in this way? >C:\w>mbas modMain.vb >syntax error, expecting BINARY CLASS COMPARE CONST DELEGATE DIM END ENUM >EVENT E >XPLICIT FRIEND FUNCTION INTERFACE MODULE OFF PRIVATE PROPERTY PROTECTED >PUBLIC S >HARED STRUCTURE SUB TEXT WITHEVENTS OP_LT IDENTIFIER >Line: 5 Col: 0 >VirtLine: 5 Token: 308 : Parsing error in modMain.vb >modMain.vb(5) error BC9999: >Mono.MonoBASIC.yyParser.yyException: irrecoverable syntax error >in <0x00cd1> 00 Mono.MonoBASIC.Parser:yyparse >(Mono.MonoBASIC.yyParser.yyInput) >in <0x0023d> 00 Mono.MonoBASIC.Parser:parse () >Compilation failed: 1 Error(s), 0 warnings Either you have an syntax error in your vb code, or you've found a bug in mbas. Could you send your source for us to find out what is the case? >Thankyou very much! You are welcome! Thank you for helping us test mbas. >Mono rulez! :D Happy hackings, Rafael Teixeira Brazilian Polymath Mono, MonoQLE Hacker _________________________________________________________________ Add photos to your messages with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail From herve.poussineau@cegetel.fr Thu Mar 13 16:19:51 2003 From: herve.poussineau@cegetel.fr (=?iso-8859-1?Q?POUSSINEAU_Herv=E9?=) Date: Thu, 13 Mar 2003 17:19:51 +0100 Subject: [Mono-list] [Fwd: mbas compiler] Message-ID: <3220CFEF35C7D61180EC0002A5438BB0022CD43F@ACHILLE> This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C2E97C.600BD580 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable > Why, passing a vb file, mbas answer in this way? >=20 > C:\w>mbas modMain.vb > syntax error, expecting BINARY CLASS COMPARE CONST DELEGATE=20 > DIM END ENUM > EVENT E > XPLICIT FRIEND FUNCTION INTERFACE MODULE OFF PRIVATE PROPERTY=20 > PROTECTED > PUBLIC S > HARED STRUCTURE SUB TEXT WITHEVENTS OP_LT IDENTIFIER > Line: 5 Col: 0 > VirtLine: 5 Token: 308 : Parsing error in modMain.vb > modMain.vb(5) error BC9999: > Mono.MonoBASIC.yyParser.yyException: irrecoverable syntax error > in <0x00cd1> 00 Mono.MonoBASIC.Parser:yyparse > (Mono.MonoBASIC.yyParser.yyInput) > in <0x0023d> 00 Mono.MonoBASIC.Parser:parse () >=20 > Compilation failed: 1 Error(s), 0 warnings Actually, you can't have your .vb file starting with a comment. You = MUST start with one of the above keywords Regards Herv=E9 ------_=_NextPart_001_01C2E97C.600BD580 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RE: [Mono-list] [Fwd: mbas compiler]

> Why, passing a vb file, mbas answer in this = way?
>
> C:\w>mbas modMain.vb
> syntax error, expecting BINARY CLASS COMPARE = CONST DELEGATE
> DIM END ENUM
> EVENT E
> XPLICIT FRIEND FUNCTION INTERFACE MODULE OFF = PRIVATE PROPERTY
> PROTECTED
> PUBLIC S
> HARED STRUCTURE SUB TEXT WITHEVENTS OP_LT = IDENTIFIER
> Line:     5 Col: 0
> VirtLine: 5 Token: 308   : Parsing = error in modMain.vb
> modMain.vb(5) error BC9999:
> Mono.MonoBASIC.yyParser.yyException: = irrecoverable syntax error
> in <0x00cd1> 00 = Mono.MonoBASIC.Parser:yyparse
> (Mono.MonoBASIC.yyParser.yyInput)
> in <0x0023d> 00 = Mono.MonoBASIC.Parser:parse ()
>
> Compilation failed: 1 Error(s), 0 = warnings

Actually, you can't have your .vb file starting with = a comment. You MUST start with one of the above keywords

Regards
Herv=E9

------_=_NextPart_001_01C2E97C.600BD580-- From jeske@chat.net Thu Mar 13 16:57:56 2003 From: jeske@chat.net (David Jeske) Date: Thu, 13 Mar 2003 08:57:56 -0800 Subject: [Mono-list] lies and microbenmarks (Was: Mono 0.23 windows installer) In-Reply-To: <1047486309.1330.17.camel@localhost.localdomain> References: <20030311213101.17408.65555.Mailman@headcheese.ximian.com> <1047486309.1330.17.camel@localhost.localdomain> Message-ID: <20030313085756.A22402@mozart> On Wed, Mar 12, 2003 at 08:24:46AM -0800, Brian Deacon wrote: > I ducked my head in fear when I saw this thread start up... but > apparently this is not a verbotten subject. What is the distinction > between this discussion and the benchmarking that is apparently > forbidden in the license from MS and explicitly discouraged by Miguel on > go-mono? I'll let you know if any lawyers contact me. For now I'll bank that they are unlikely to want me to unpublish results which say that the MS .NET Runtime is between 50% and 1500% faster than another runtime. There are many more C# benchmarks here: http://dada.perl.it/shootout/ I can see how the anti-benchmarking clause was important to the MS lawyers, because if an article was published showing a brand new .NET runtime slower than the 5 year old JVM technology, readers would not respect the newness of .NET. In reality, the legal people should have talked to the technical people and realized that nearly all MS.NET vs. Java benchmarks ALREADY come out with .NET on top and required that every user publish at least one benchmark figure. :) I can't wait for Generic IL. (Although I've seen a few threading benchmarks where the JVM is faster) -- David Jeske (N9LCA) + http://www.chat.net/~jeske/ + jeske@chat.net From daniel@rawbyte.com Thu Mar 13 17:07:56 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Thu, 13 Mar 2003 09:07:56 -0800 Subject: [Mono-list] mod_mono problems In-Reply-To: <001101c2e971$a441d7f0$6101000a@pluto> References: <001101c2e971$a441d7f0$6101000a@pluto> Message-ID: <20030313170756.GA10829@rawbyte.com> The warnings while compiling ModMono.dll are normal, because some functions are declared as being provided by Mono, but the compiler cant find them in the runtime (that is ok, they will be provided by mod_mono, not Mono) When you mention crashes, I guess you refer to segfaults or do you get some other errors? Are you using a threaded MPM, like the worker MPM? That is the only time I have seen segfaults (I am currently looking at this, Alp Toker mentioned it to me) Have you tried mod_mono RPM? If that does not fix it, can you email me off-list your error_log? Thanks! Daniel > Hi, > > I have a RH8.0 box with mono-0.23 installed from RPMs. I have compiled a > couple of small programs on it without any problem but I am getting a lot of > warnings compiling ModMono.dll. The result of this compilation (ModMono.dll) > crashes my apache 2.0.44 everytime I try to access /mono. The xsp server > works fine when started as a standalone application. I also tried with the > code in cvs as it was last night with the same results. The apache module > (mod_mono.so) compiles and installs without any problem. > > It seems there is a problem with my mono install, I removed the installed > RPMs and made sure there was no remaining files on the system and then > installed again the RPMs getting the same results. > > Is there anything I can do to make it work? > > Thanks > > RJ > > > mcs /debug+ /debug:full /nologo /r:System.Web.dll /target:library > /out:ModMono.dll ApacheApplicationHost.cs ApacheWorkerRequest.cs > MonoWorkerRequest.cs IApplicationHost.cs Request.cs > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetConnectionInternal(intptr)" (tested without > signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetHttpVersionInternal(intptr)" (tested without > signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetHttpVerbNameInternal(intptr)" (tested without > signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::SendResponseFromMemoryInternal(intptr,byte[],int)" > (tested without signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::SetResponseHeaderInternal(intptr,string,string)" > (tested without signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetRequestHeaderInternal(intptr,string)" (tested > without signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::AliasMatches(string,string)" (tested without signature > also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetServerVariableInternal(intptr,string)" (tested > without signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetUriInternal(intptr)" (tested without signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetFileNameInternal(intptr)" (tested without signature > also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetQueryStringInternal(intptr)" (tested without > signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetServerPortInternal(intptr)" (tested without > signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetRemoteAddressInternal(intptr)" (tested without > signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetRemoteNameInternal(intptr)" (tested without > signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetLocalAddressInternal(intptr)" (tested without > signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetLocalPortInternal(intptr)" (tested without signature > also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetRemotePortInternal(intptr)" (tested without > signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::FlushInternal(intptr)" (tested without signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::CloseInternal(intptr)" (tested without signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::SetupClientBlockInternal(intptr)" (tested without > signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::ShouldClientBlockInternal(intptr)" (tested without > signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::GetClientBlockInternal(intptr,byte[],uint)" (tested > without signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::SetStatusCodeInternal(intptr,int)" (tested without > signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > "Apache.Web.Request::SetStatusLineInternal(intptr,string)" (tested without > signature also) > Your mono runtime and corlib are out of sync. > When you update one from cvs you need to update, compile and install > the other too. > Do not report this as a bug unless you're sure you have updated correctly: > you probably have a broken mono install. > If you see other errors or faults after this message they are probably > related > and you need to fix your mono install first. > WROTE SYMFILE: 5 sources, 102 methods, 28 types, 241 line numbers, 14 > locals, 10 namespaces, 8048 bytes of string data > OffsetTable [20435 - 52:19039 - 5:20315:120 - 102:19091:1224 - 28] > Compilation succeeded > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From pbaena@uol.com.ar Thu Mar 13 15:23:36 2003 From: pbaena@uol.com.ar (Pablo Baena) Date: 13 Mar 2003 15:23:36 +0000 Subject: [Mono-list] Can't launch processes as normal user In-Reply-To: <1047527769.798.3.camel@hal> References: <1047527769.798.3.camel@hal> Message-ID: <1047569015.797.10.camel@hal> --=-kjUeiFthpjR1eGLEnMl/ Content-Type: text/plain Content-Transfer-Encoding: 7bit Just to make myself clear. Running this example: namespace hello { using System; using System.Diagnostics; public class hello { public static void Main (string[] args) { Process pt = new Process (); pt.StartInfo.FileName="ls"; pt.StartInfo.UseShellExecute=false; pt.Start (); } } } as user, shows nothing, but running it as root shows the contents of the directory. It is just an example, I tried to see if it actually executes the command, and it doesn't as user. I tried all the versions of mono from 0.19 to 0.23 and none of them worked. Again: is this a bug or a new policy? On Thu, 2003-03-13 at 03:56, Pablo Baena wrote: > Hello! There was a time when I could launch processes with mono as a > normal user, but that isn't the case anymore. Now I have to be logged > in as root. Is it a bug or a new policy? > > Regards! -- Pablo Baena --=-kjUeiFthpjR1eGLEnMl/ Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit Just to make myself clear.

Running this example:

namespace hello {
        using System;
        using System.Diagnostics;
         
        public class hello 
        {
 
                public static void Main (string[] args)
                {
                        Process pt = new Process ();
                        pt.StartInfo.FileName="ls";
                        pt.StartInfo.UseShellExecute=false;
                        pt.Start ();
                }
        }
}
as user, shows nothing, but running it as root shows the contents of the directory. It is just an example, I tried to see if it actually executes the command, and it doesn't as user.

I tried all the versions of mono from 0.19 to 0.23 and none of them worked.

Again: is this a bug or a new policy?

On Thu, 2003-03-13 at 03:56, Pablo Baena wrote:
Hello! There was a time when I could launch processes with mono as a normal user, but that isn't the case anymore. Now I have to be logged in as root. Is it a bug or a new policy?

Regards!

--
Pablo Baena <pbaena@uol.com.ar>


--=-kjUeiFthpjR1eGLEnMl/-- From chris@void.printf.net Thu Mar 13 18:51:54 2003 From: chris@void.printf.net (Chris Ball) Date: Thu, 13 Mar 2003 18:51:54 +0000 Subject: [Mono-list] Can't launch processes as normal user In-Reply-To: <1047569015.797.10.camel@hal> (Pablo Baena's message of "13 Mar 2003 15:23:36 +0000") References: <1047527769.798.3.camel@hal> <1047569015.797.10.camel@hal> Message-ID: <86d6kvaylx.fsf@void.printf.net> >> On 13 Mar 2003 15:23:36, Pablo Baena said: > [creating a process] as user, shows nothing, but running it as root > shows the contents of the directory. It is just an example, I tried > to see if it actually executes the command, and it doesn't as user. Works for me. Do you have permissions to get the contents of the dir as the unprivileged user you're trying it as? An strace to see the return codes on the getcwd() and access() calls might be helpful. - Chris. -- $a="printf.net"; Chris Ball | chris@void.$a | www.$a | finger: chris@$a From erik@bagfors.nu Thu Mar 13 19:00:55 2003 From: erik@bagfors.nu (Erik =?ISO-8859-1?Q?B=E5gfors?=) Date: 13 Mar 2003 20:00:55 +0100 Subject: [Mono-list] Can't launch processes as normal user In-Reply-To: <1047569015.797.10.camel@hal> References: <1047527769.798.3.camel@hal> <1047569015.797.10.camel@hal> Message-ID: <1047582055.2513.41.camel@detrius.ardendo.se> Hi Works for me: : [bagfors@detrius]$ ; cat test3.cs namespace hello { using System; using System.Diagnostics; public class hello { public static void Main (string[] args) { Process pt = new Process (); pt.StartInfo.FileName="ls"; pt.StartInfo.UseShellExecute=false; pt.Start (); } } } : [bagfors@detrius]$ ; mcs test3.cs Compilation succeeded : [bagfors@detrius]$ ; mono test3.exe bug hello-world-gtk.cs~ magic.sh test2.exe test.cs convert helloworld-gtk.cs magic.sh~ test3.cs test.exe glade helloworld-gtk.exe test2.cs test3.exe ticc glade-test installer test2.cs~ test.c : [bagfors@detrius]$ ; id uid=501(bagfors) gid=501(bagfors) groups=501(bagfors) On Thu, 2003-03-13 at 16:23, Pablo Baena wrote: > Just to make myself clear. > > Running this example: > > > namespace hello { > using System; > using System.Diagnostics; > > public class hello > { > > public static void Main (string[] args) > { > Process pt = new Process (); > pt.StartInfo.FileName="ls"; > pt.StartInfo.UseShellExecute=false; > pt.Start (); > } > } > } > as user, shows nothing, but running it as root shows the contents of > the directory. It is just an example, I tried to see if it actually > executes the command, and it doesn't as user. > > I tried all the versions of mono from 0.19 to 0.23 and none of them > worked. > > Again: is this a bug or a new policy? > > On Thu, 2003-03-13 at 03:56, Pablo Baena wrote: > > Hello! There was a time when I could launch processes with mono as a > > normal user, but that isn't the case anymore. Now I have to be > > logged in as root. Is it a bug or a new policy? > > > > Regards! > > -- > Pablo Baena /Erik -- erik@bagfors.nu fingerprint: 6666 A85B 95D3 D26B 296B 6C60 4F32 2C0B 693D 6E32 From rj@baucells.org Thu Mar 13 19:13:58 2003 From: rj@baucells.org (rj@baucells.org) Date: Thu, 13 Mar 2003 14:13:58 -0500 Subject: [Mono-list] mod_mono problems In-Reply-To: <20030313170756.GA10829@rawbyte.com> References: <001101c2e971$a441d7f0$6101000a@pluto> <20030313170756.GA10829@rawbyte.com> Message-ID: <1047582838.3e70d8768c998@baucells.org> Thanks Daniel for your response. Apache segfaults, thats the only error I got in logs/erros_log. Yes, My apache is compiled using the the worker MPM. I remember that I installed the mod_module the first time it was available to the public some time ago and it worked fine but at that time I was using prefork MPM. I cannot use the RPM because it is compiled for the version of apache that comes in RH 8.0 and the module fails to load in 2.0.44. Let me know if you find any solution. Thanks for you help. Rogelio > > The warnings while compiling ModMono.dll are normal, because some functions > are > declared as being provided by Mono, but the compiler cant find them in the > runtime (that is ok, they will be provided by mod_mono, not Mono) > When you mention crashes, I guess you refer to segfaults or do you get some > other errors? > Are you using a threaded MPM, like the worker MPM? That is the only time I > have seen segfaults (I am currently looking at this, Alp Toker mentioned it > to me) > Have you tried mod_mono RPM? > If that does not fix it, can you email me off-list your error_log? > > Thanks! > > Daniel > > > > Hi, > > > > I have a RH8.0 box with mono-0.23 installed from RPMs. I have compiled a > > couple of small programs on it without any problem but I am getting a lot > of > > warnings compiling ModMono.dll. The result of this compilation > (ModMono.dll) > > crashes my apache 2.0.44 everytime I try to access /mono. The xsp server > > works fine when started as a standalone application. I also tried with the > > code in cvs as it was last night with the same results. The apache module > > (mod_mono.so) compiles and installs without any problem. > > > > It seems there is a problem with my mono install, I removed the installed > > RPMs and made sure there was no remaining files on the system and then > > installed again the RPMs getting the same results. > > > > Is there anything I can do to make it work? > > > > Thanks > > > > RJ > > > > > > mcs /debug+ /debug:full /nologo /r:System.Web.dll /target:library > > /out:ModMono.dll ApacheApplicationHost.cs ApacheWorkerRequest.cs > > MonoWorkerRequest.cs IApplicationHost.cs Request.cs > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetConnectionInternal(intptr)" (tested without > > signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetHttpVersionInternal(intptr)" (tested without > > signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetHttpVerbNameInternal(intptr)" (tested without > > signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::SendResponseFromMemoryInternal(intptr,byte[],int)" > > (tested without signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::SetResponseHeaderInternal(intptr,string,string)" > > (tested without signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetRequestHeaderInternal(intptr,string)" (tested > > without signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::AliasMatches(string,string)" (tested without > signature > > also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetServerVariableInternal(intptr,string)" (tested > > without signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetUriInternal(intptr)" (tested without signature > also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetFileNameInternal(intptr)" (tested without > signature > > also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetQueryStringInternal(intptr)" (tested without > > signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetServerPortInternal(intptr)" (tested without > > signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetRemoteAddressInternal(intptr)" (tested without > > signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetRemoteNameInternal(intptr)" (tested without > > signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetLocalAddressInternal(intptr)" (tested without > > signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetLocalPortInternal(intptr)" (tested without > signature > > also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetRemotePortInternal(intptr)" (tested without > > signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::FlushInternal(intptr)" (tested without signature > also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::CloseInternal(intptr)" (tested without signature > also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::SetupClientBlockInternal(intptr)" (tested without > > signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::ShouldClientBlockInternal(intptr)" (tested without > > signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::GetClientBlockInternal(intptr,byte[],uint)" (tested > > without signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::SetStatusCodeInternal(intptr,int)" (tested without > > signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > "Apache.Web.Request::SetStatusLineInternal(intptr,string)" (tested without > > signature also) > > Your mono runtime and corlib are out of sync. > > When you update one from cvs you need to update, compile and install > > the other too. > > Do not report this as a bug unless you're sure you have updated correctly: > > you probably have a broken mono install. > > If you see other errors or faults after this message they are probably > > related > > and you need to fix your mono install first. > > WROTE SYMFILE: 5 sources, 102 methods, 28 types, 241 line numbers, 14 > > locals, 10 namespaces, 8048 bytes of string data > > OffsetTable [20435 - 52:19039 - 5:20315:120 - 102:19091:1224 - 28] > > Compilation succeeded > > > > _______________________________________________ > > Mono-list maillist - Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list > From gonzalo@ximian.com Thu Mar 13 19:18:26 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 13 Mar 2003 20:18:26 +0100 Subject: [Mono-list] Can't launch processes as normal user In-Reply-To: <1047569015.797.10.camel@hal> References: <1047527769.798.3.camel@hal> <1047569015.797.10.camel@hal> Message-ID: <1047583090.2856.59.camel@portatil> --=-FjR/7DPbj55OsK+UNEsu Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit El jue, 13 de 03 de 2003 a las 16:23, Pablo Baena escribió: > as user, shows nothing, but running it as root shows the contents of > the directory. It is just an example, I tried to see if it actually > executes the command, and it doesn't as user. > > I tried all the versions of mono from 0.19 to 0.23 and none of them > worked. > > Again: is this a bug or a new policy? It works fine for me. Try the attached program (run it like 'mono ptest.exe binary_program args to binary program'). -Gonzalo --=-FjR/7DPbj55OsK+UNEsu Content-Disposition: attachment; filename=ptest.cs Content-Type: text/plain; name=ptest.cs; charset=us-ascii Content-Transfer-Encoding: quoted-printable using System; using System.Diagnostics; using System.Text; class C { static void Main (string [] args) { if (args.Length =3D=3D 0) { Console.WriteLine ("No args"); return; } =09 Process process =3D new Process (); process.StartInfo.FileName =3D args [0]; string arguments =3D String.Empty; if (args.Length > 1) { StringBuilder b =3D new StringBuilder (); for (int i =3D 1; i < args.Length; i++) { b.Append (args [i]); b.Append (' '); } arguments =3D b.ToString (); } =09 process.StartInfo.Arguments =3D arguments; process.StartInfo.UseShellExecute =3D false; process.StartInfo.RedirectStandardOutput =3D true; process.Start (); string poutput =3D process.StandardOutput.ReadToEnd (); process.WaitForExit (); int result =3D process.ExitCode; process.Close (); Console.WriteLine ("RC: {1} The output is:\n{0}", poutput, result); } } --=-FjR/7DPbj55OsK+UNEsu-- From gonzalo@ximian.com Thu Mar 13 19:25:49 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 13 Mar 2003 20:25:49 +0100 Subject: [Mono-list] Process.Start patch In-Reply-To: <052101c2deb9$089b32a0$0500a8c0@jaybook> References: <052101c2deb9$089b32a0$0500a8c0@jaybook> Message-ID: <1047583548.2832.67.camel@portatil> El vie, 28 de 02 de 2003 a las 00:36, Jerome Laban escribió: > Hi there, > > Here is a fix for the overloads of > System.Diagnostics.Process.Start, the method CreateProcess in > processes.c was not checking for the executable validity when called > with a absolute path. There were also two uninitialized variables that > now are set to NULL. (would have lead to multiple frees in this > context) > > Could someone commit it if ok ? > > An other thing, a null reference should not be sent when the > executable is not found. How should this be addressed ? Your patch is in CVS along with some more code to make it throw a Win32Exception when the executable is not found, which is what MS does. Thanks. -Gonzalo From daniel@rawbyte.com Thu Mar 13 20:09:05 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Thu, 13 Mar 2003 12:09:05 -0800 Subject: [Mono-list] mod_mono problems In-Reply-To: <1047582838.3e70d8768c998@baucells.org> References: <001101c2e971$a441d7f0$6101000a@pluto> <20030313170756.GA10829@rawbyte.com> <1047582838.3e70d8768c998@baucells.org> Message-ID: <20030313200905.GB10878@rawbyte.com> Hola Rogelio, Currently it only works with prefork MPM. I can reproduce the problem and I have set aside some time this weekend to look into it, unless somebody figures it out first (in that case he/she should send a patch please ;) > Thanks Daniel for your response. Apache segfaults, thats the only error I got > in logs/erros_log. Yes, My apache is compiled using the the worker MPM. I > remember that I installed the mod_module the first time it was available to the > public some time ago and it worked fine but at that time I was using prefork > MPM. I cannot use the RPM because it is compiled for the version of apache that > comes in RH 8.0 and the module fails to load in 2.0.44. > > Let me know if you find any solution. > > Thanks for you help. > > Rogelio > > > > > The warnings while compiling ModMono.dll are normal, because some functions > > are > > declared as being provided by Mono, but the compiler cant find them in the > > runtime (that is ok, they will be provided by mod_mono, not Mono) > > When you mention crashes, I guess you refer to segfaults or do you get some > > other errors? > > Are you using a threaded MPM, like the worker MPM? That is the only time I > > have seen segfaults (I am currently looking at this, Alp Toker mentioned it > > to me) > > Have you tried mod_mono RPM? > > If that does not fix it, can you email me off-list your error_log? > > > > Thanks! > > > > Daniel > > > > > > > Hi, > > > > > > I have a RH8.0 box with mono-0.23 installed from RPMs. I have compiled a > > > couple of small programs on it without any problem but I am getting a lot > > of > > > warnings compiling ModMono.dll. The result of this compilation > > (ModMono.dll) > > > crashes my apache 2.0.44 everytime I try to access /mono. The xsp server > > > works fine when started as a standalone application. I also tried with the > > > code in cvs as it was last night with the same results. The apache module > > > (mod_mono.so) compiles and installs without any problem. > > > > > > It seems there is a problem with my mono install, I removed the installed > > > RPMs and made sure there was no remaining files on the system and then > > > installed again the RPMs getting the same results. > > > > > > Is there anything I can do to make it work? > > > > > > Thanks > > > > > > RJ > > > > > > > > > mcs /debug+ /debug:full /nologo /r:System.Web.dll /target:library > > > /out:ModMono.dll ApacheApplicationHost.cs ApacheWorkerRequest.cs > > > MonoWorkerRequest.cs IApplicationHost.cs Request.cs > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetConnectionInternal(intptr)" (tested without > > > signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetHttpVersionInternal(intptr)" (tested without > > > signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetHttpVerbNameInternal(intptr)" (tested without > > > signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::SendResponseFromMemoryInternal(intptr,byte[],int)" > > > (tested without signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::SetResponseHeaderInternal(intptr,string,string)" > > > (tested without signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetRequestHeaderInternal(intptr,string)" (tested > > > without signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::AliasMatches(string,string)" (tested without > > signature > > > also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetServerVariableInternal(intptr,string)" (tested > > > without signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetUriInternal(intptr)" (tested without signature > > also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetFileNameInternal(intptr)" (tested without > > signature > > > also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetQueryStringInternal(intptr)" (tested without > > > signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetServerPortInternal(intptr)" (tested without > > > signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetRemoteAddressInternal(intptr)" (tested without > > > signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetRemoteNameInternal(intptr)" (tested without > > > signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetLocalAddressInternal(intptr)" (tested without > > > signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetLocalPortInternal(intptr)" (tested without > > signature > > > also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetRemotePortInternal(intptr)" (tested without > > > signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::FlushInternal(intptr)" (tested without signature > > also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::CloseInternal(intptr)" (tested without signature > > also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::SetupClientBlockInternal(intptr)" (tested without > > > signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::ShouldClientBlockInternal(intptr)" (tested without > > > signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::GetClientBlockInternal(intptr,byte[],uint)" (tested > > > without signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::SetStatusCodeInternal(intptr,int)" (tested without > > > signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > ** (/usr/bin/mcs.exe:13055): WARNING **: cant resolve internal call to > > > "Apache.Web.Request::SetStatusLineInternal(intptr,string)" (tested without > > > signature also) > > > Your mono runtime and corlib are out of sync. > > > When you update one from cvs you need to update, compile and install > > > the other too. > > > Do not report this as a bug unless you're sure you have updated correctly: > > > you probably have a broken mono install. > > > If you see other errors or faults after this message they are probably > > > related > > > and you need to fix your mono install first. > > > WROTE SYMFILE: 5 sources, 102 methods, 28 types, 241 line numbers, 14 > > > locals, 10 namespaces, 8048 bytes of string data > > > OffsetTable [20435 - 52:19039 - 5:20315:120 - 102:19091:1224 - 28] > > > Compilation succeeded > > > > > > _______________________________________________ > > > Mono-list maillist - Mono-list@lists.ximian.com > > > http://lists.ximian.com/mailman/listinfo/mono-list > > > From daniel@rawbyte.com Thu Mar 13 20:23:49 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Thu, 13 Mar 2003 12:23:49 -0800 Subject: *****SPAM***** [Mono-list] [Myricom help #17446]Can you help me?(.net on redhat8.0) In-Reply-To: <7051449.1047380808575.JavaMail.postfix@mailsrv18.mail.sohu.com> References: <7051449.1047380808575.JavaMail.postfix@mailsrv18.mail.sohu.com> Message-ID: <20030313202349.GA11462@rawbyte.com> Oops, I missed this one. > > I have a application abount .net(c#) on windows 2000,but i am not able to use it on redhat8.0. > > If you would like help me,you can mail me a instruction about installing asp.net on redhat8.0. > > especially how to dispose application. > > Thank you very much. WIth mono 0.23, you dont need the corlib.dll, etc. that you describe below. Just install the mod_mono rpm, it will (should) work out of the box On Tue, Mar 11, 2003 at 07:06:48PM +0800, hlf566@sohu.com wrote: > SPAM: -------------------- Start SpamAssassin results ---------------------- > SPAM: This mail is probably spam. The original message has been altered > SPAM: so you can recognise or block similar unwanted mail in future. > SPAM: See http://spamassassin.org/tag/ for more details. > SPAM: > SPAM: Content analysis details: (6.1 hits, 5 required) > SPAM: Hit! (1.0 point) From: ends in numbers > SPAM: Hit! (1.0 point) Subject: contains a question mark > SPAM: Hit! (0.6 points) From: does not include a real name > SPAM: Hit! (3.0 points) URI: Uses a dotted-decimal IP address in URL > SPAM: Hit! (0.5 points) Received via a relay in ipwhois.rfc-ignorant.org > SPAM: [RBL check: found 13.145.135.61.ipwhois.rfc-ignorant.org., type: 127.0.0.6] > SPAM: > SPAM: -------------------- End of SpamAssassin results --------------------- > > > Hello my dear friend: > > I am a linux lover,i am installing mono. > > I installed it following the next step: > > http://www.apacheworld.org/modmono/INSTALL > > a) Install Mono 0.20 > > Install the Mono rpms from > > http://www.go-mono.com/download.html > > b) Install Apache > > httpd-2.0.40-8.i386.rpm > > httpd-devel-2.0.40-8.i386.rpm > > c) mod_mono > > http://www.apacheworld.org/modmono/ > > download Red Hat 8.0 rpm, > > download corlib.dll.tar.gz > > copy it over your existing corlib.dll > > d) XSP web server (0.3) > > chown -R apache.apache /home/user/mono/install/xsp/server/test > > e) Configure Apache > > Edit the /etc/httpd/conf/httpd.conf file and add the following: > > > > LoadModule mono_module libmod_mono.so > > MonoApplication /mono /home/user/mono/install/xsp/server/test > > mkdir /var/www/.wapi/ > > chown apache.apache /var/www/.wapi > > chmod 700 /var/www/.wapi > > f) Start apache > > As root, type: > > /etc/init.d/httpd start > > g) Browse the examples > > http://127.0.0.1/mono/index.aspx > > > > Now i can look around those examples, > > > > I have a application abount .net(c#) on windows 2000,but i am not able to use it on redhat8.0. > > If you would like help me,you can mail me a instruction about installing asp.net on redhat8.0. > > especially how to dispose application. > > Thank you very much. > > I am a chinese. > > I would lile make a friend with you. > > please mail me as quickly as possible. > > > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From csharpconsultant@hotmail.com Thu Mar 13 18:57:43 2003 From: csharpconsultant@hotmail.com (D d) Date: Thu, 13 Mar 2003 12:57:43 -0600 Subject: [Mono-list] Question Message-ID: does ximain have support for linux 8.0 without having g-nome installed. _________________________________________________________________ MSN 8 with e-mail virus protection service: 2 months FREE* http://join.msn.com/?page=features/virus From pbaena@uol.com.ar Thu Mar 13 19:07:59 2003 From: pbaena@uol.com.ar (Pablo Baena) Date: 13 Mar 2003 19:07:59 +0000 Subject: [Mono-list] Can't launch processes as normal user In-Reply-To: <1047583090.2856.59.camel@portatil> References: <1047527769.798.3.camel@hal> <1047569015.797.10.camel@hal> <1047583090.2856.59.camel@portatil> Message-ID: <1047582479.651.6.camel@hal> --=-azojaNjPLI4sDz2mi3NT Content-Type: multipart/related; type="multipart/alternative"; boundary="=-+QNBsExwBf7VHOn/MG56" --=-+QNBsExwBf7VHOn/MG56 Content-Type: multipart/alternative; boundary="=-aK9v8KgI0jNpcURI8Dax" --=-aK9v8KgI0jNpcURI8Dax Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Oh boy! Now I can't even launch the processes as root! It stopped working after a reboot! :( When executing: './ptest.exe ls .' the output is: ** (./ptest.exe:745): WARNING **: Shared memory sanity check failed. ** (./ptest.exe:745): WARNING **: Failed to attach shared memory! Falling back to non-shared handles RC: 136643012 The output is: Attached is the strace output for my test. It looks different now. I remember that I tried strace with other mono versions and it said something about get_uid or something like that, now it shows something really strange. Thank you!! On Thu, 2003-03-13 at 19:18, Gonzalo Paniagua Javier wrote: > El jue, 13 de 03 de 2003 a las 16:23, Pablo Baena escribió: > > as user, shows nothing, but running it as root shows the contents of > > the directory. It is just an example, I tried to see if it actually > > executes the command, and it doesn't as user. > > > > I tried all the versions of mono from 0.19 to 0.23 and none of them > > worked. > > > > Again: is this a bug or a new policy? > > It works fine for me. Try the attached program (run it like 'mono > ptest.exe binary_program args to binary program'). > > -Gonzalo -- Pablo Baena --=-aK9v8KgI0jNpcURI8Dax Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit Oh boy! Now I can't even launch the processes as root! It stopped working after a reboot! :(

When executing:  './ptest.exe ls .' the output is:

 
** (./ptest.exe:745): WARNING **: Shared memory sanity check failed.
 
** (./ptest.exe:745): WARNING **: Failed to attach shared memory! Falling back to non-shared handles
RC: 136643012 The output is:
 
Attached is the strace output for my test. It looks different now. I remember that I tried strace with other mono versions and it said something about get_uid or something like that, now it shows something really strange.

Thank you!!

On Thu, 2003-03-13 at 19:18, Gonzalo Paniagua Javier wrote:
El jue, 13 de 03 de 2003 a las 16:23, Pablo Baena escribió:
> as user, shows nothing, but running it as root shows the contents of
> the directory. It is just an example, I tried to see if it actually
> executes the command, and it doesn't as user.
> 
> I tried all the versions of mono from 0.19 to 0.23 and none of them
> worked.
> 
> Again: is this a bug or a new policy?

It works fine for me. Try the attached program (run it like 'mono
ptest.exe binary_program args to binary program').

-Gonzalo
--
Pablo Baena <pbaena@uol.com.ar>
--=-aK9v8KgI0jNpcURI8Dax-- --=-+QNBsExwBf7VHOn/MG56 Content-ID: <1047582390.620.3.camel@hal> Content-Disposition: attachment; filename=smiley-6.png Content-Type: image/png; name=smiley-6.png Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC40lEQVR42n2TW2iUZxCGn/+wm7Wb gxovjBGTKLZ6Y1SqJUKhUaFWoxbNRUpKLxpFIx6KeKNeSXslggdaz4JYWiwoGIqRRFPQaMw2pCIG s0ZlYyBqTDZ73v/4fV8vEkprxQeGYXjnHRiYgf9TAewEWgB3Mq4B2ya1/6C9VZ9aUPnB9v1blrDm 84WY4UoQNm4mSlfXXQ6eGCc65J4Gmt81oONQc/XKXbsb0Iwp+LlB3OwAmmZghMowgqV4uRhHj9/i 8OWxDmA1gDFpPvv9zo/rd+1pRFjDePlBpJdC0wMASDeOn4sBippPKjHyb+be67NnAtd1oKL6o2lb dzRvQNgjCGcUTTNo2t+NbhYyEpc07O1F0wNIN4mmB9jxzQw+nG1sByoMoDHyc/m60PRluJkouhlm 64E7tHe+IJmRPH1VxLUbj8i6Raypa8AavY1RMJ0CM0N7t/WnCSwqnF2Pk3wI6KCZ/LCvlkxecez4 SZzUI3p7ezly9AyZoV8nFlaSqvIAwJd6efmsJgDppwEJymfOvKW0td1EOGM44xF+b7lCevAibvIv AHz7DWUzDIBNZjweB80E6aKkhxIWTqIHJ/kAlI8SFsmBIyg/g5IClA/KJ5uXAOi27VxXfu4fsxQ2 0s8ivfREFjZKWBO6dFDKQwjB8KgAiJhAW/5168bg1MUIewSUT+eDNIfPDTCacAgYGlOLTRrXlrJ5 dRglHPoHPfr7sgCXTaB1/e5XtF1aTDbv8tuNIR4/z3Nw7yZW1daAHiL2rI8fT54nWFTJ8qoE0ZhL S5cF0G4AqZFxd06xlluyomY+88os6j4tZlbJa5zxHpyxTsLBBF/UNVBSaPIk+pjuSIqOh+I0cOnf p/zHtg2ltfuawgRDxWh6AdJLk0hZ5CyF4ylevPSI9KQ40+reBj571zNdqJqpf/tVbSGLqqcQDmlY jiKZkcSGPa62JxkY5hfga95DBfAdcB/wgDjQD/wELH27+W+Kz2OL5AeL7gAAAABJRU5ErkJggg== --=-+QNBsExwBf7VHOn/MG56-- --=-azojaNjPLI4sDz2mi3NT Content-Disposition: attachment; filename=strace.log Content-Type: text/plain; name=strace.log; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit execve("./test.exe", ["./test.exe", "2"], [/* 25 vars */]) = 0 uname({sys="Linux", node="hal", ...}) = 0 brk(0) = 0x8149be8 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=76737, ...}) = 0 old_mmap(NULL, 76737, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40012000 close(3) = 0 open("/lib/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0S\27\0\000"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=7992, ...}) = 0 old_mmap(NULL, 10924, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40025000 mprotect(0x40027000, 2732, PROT_NONE) = 0 old_mmap(0x40027000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x40027000 close(3) = 0 open("/usr/lib/libgmodule-2.0.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\264\16"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=10184, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40028000 old_mmap(NULL, 13244, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40029000 mprotect(0x4002c000, 956, PROT_NONE) = 0 old_mmap(0x4002c000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x4002c000 close(3) = 0 open("/usr/lib/libglib-2.0.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0X\275\0"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=402376, ...}) = 0 old_mmap(NULL, 401348, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4002d000 mprotect(0x4008e000, 4036, PROT_NONE) = 0 old_mmap(0x4008e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x61000) = 0x4008e000 close(3) = 0 open("/lib/libm.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\2605\0"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=130964, ...}) = 0 old_mmap(NULL, 133536, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4008f000 mprotect(0x400af000, 2464, PROT_NONE) = 0 old_mmap(0x400af000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1f000) = 0x400af000 close(3) = 0 open("/usr/lib/libgc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\224\221"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=123784, ...}) = 0 old_mmap(NULL, 173472, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x400b0000 mprotect(0x400cd000, 54688, PROT_NONE) = 0 old_mmap(0x400cd000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1d000) = 0x400cd000 old_mmap(0x400ce000, 50592, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400ce000 close(3) = 0 open("/lib/libnsl.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0d;\0\000"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=69132, ...}) = 0 old_mmap(NULL, 76448, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x400db000 mprotect(0x400eb000, 10912, PROT_NONE) = 0 old_mmap(0x400eb000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x10000) = 0x400eb000 old_mmap(0x400ec000, 6816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400ec000 close(3) = 0 open("/lib/libpthread.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\224D\0"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=81959, ...}) = 0 old_mmap(NULL, 323104, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x400ee000 mprotect(0x400fa000, 273952, PROT_NONE) = 0 old_mmap(0x400fa000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xc000) = 0x400fa000 old_mmap(0x400fd000, 261664, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400fd000 close(3) = 0 open("/lib/librt.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0<\32\0\000"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=26592, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4013d000 old_mmap(NULL, 69012, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4013e000 mprotect(0x40144000, 44436, PROT_NONE) = 0 old_mmap(0x40144000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x6000) = 0x40144000 old_mmap(0x40145000, 40340, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40145000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0]Z\1\000"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0755, st_size=1102984, ...}) = 0 old_mmap(NULL, 1112740, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4014f000 mprotect(0x40257000, 31396, PROT_NONE) = 0 old_mmap(0x40257000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x107000) = 0x40257000 old_mmap(0x4025d000, 6820, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4025d000 close(3) = 0 open("/usr/lib/libstdc++.so.5", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\304\252"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=668280, ...}) = 0 old_mmap(NULL, 691552, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4025f000 mprotect(0x402ec000, 114016, PROT_NONE) = 0 old_mmap(0x402ec000, 94208, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x8c000) = 0x402ec000 old_mmap(0x40303000, 19808, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40303000 close(3) = 0 open("/lib/libgcc_s.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\23\0"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=29648, ...}) = 0 old_mmap(NULL, 32632, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40308000 mprotect(0x4030f000, 3960, PROT_NONE) = 0 old_mmap(0x4030f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x6000) = 0x4030f000 close(3) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40310000 munmap(0x40012000, 76737) = 0 getrlimit(0x3, 0xbffff694) = 0 setrlimit(RLIMIT_STACK, {rlim_cur=2044*1024, rlim_max=RLIM_INFINITY}) = 0 getpid() = 775 rt_sigaction(SIGRTMIN, {0x400f5c2a, [], SA_RESTORER, 0x40175898}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x400f5c62, [], SA_RESTORER, 0x40175898}, NULL, 8) = 0 rt_sigaction(SIGRT_2, {0x400f5d15, [], SA_RESTORER, 0x40175898}, NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [RTMIN], NULL, 8) = 0 _sysctl({{CTL_KERN, KERN_VERSION}, 2, 0xbffff6bc, 31, (nil), 0}) = 0 brk(0) = 0x8149be8 brk(0x814abe8) = 0x814abe8 brk(0) = 0x814abe8 brk(0x814b000) = 0x814b000 open("/etc/mono/config", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=841, ...}) = 0 read(3, "\n\t --- SIGRTMIN (Real-time signal 0) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [RTMIN]) brk(0) = 0x81c7000 brk(0x81c8000) = 0x81c8000 brk(0) = 0x81c8000 brk(0x81c9000) = 0x81c9000 brk(0) = 0x81c9000 brk(0x81ca000) = 0x81ca000 brk(0) = 0x81ca000 brk(0x81cb000) = 0x81cb000 brk(0) = 0x81cb000 brk(0x81cc000) = 0x81cc000 brk(0) = 0x81cc000 brk(0x81cd000) = 0x81cd000 brk(0) = 0x81cd000 brk(0x81ce000) = 0x81ce000 brk(0) = 0x81ce000 brk(0x81cf000) = 0x81cf000 brk(0) = 0x81cf000 brk(0x81d0000) = 0x81d0000 brk(0) = 0x81d0000 brk(0x81d1000) = 0x81d1000 brk(0) = 0x81d1000 brk(0x81d2000) = 0x81d2000 brk(0) = 0x81d2000 brk(0x81d3000) = 0x81d3000 brk(0) = 0x81d3000 brk(0x81d4000) = 0x81d4000 brk(0) = 0x81d4000 brk(0x81d5000) = 0x81d5000 brk(0) = 0x81d5000 brk(0x81d6000) = 0x81d6000 brk(0) = 0x81d6000 brk(0x81d7000) = 0x81d7000 brk(0) = 0x81d7000 brk(0x81d8000) = 0x81d8000 brk(0) = 0x81d8000 brk(0x81d9000) = 0x81d9000 brk(0) = 0x81d9000 brk(0x81da000) = 0x81da000 brk(0) = 0x81da000 brk(0x81db000) = 0x81db000 brk(0) = 0x81db000 brk(0x81dc000) = 0x81dc000 brk(0) = 0x81dc000 brk(0x81dd000) = 0x81dd000 brk(0) = 0x81dd000 brk(0x81de000) = 0x81de000 brk(0) = 0x81de000 brk(0x81df000) = 0x81df000 brk(0) = 0x81df000 brk(0x81e0000) = 0x81e0000 brk(0) = 0x81e0000 brk(0x81e1000) = 0x81e1000 brk(0) = 0x81e1000 brk(0x81e2000) = 0x81e2000 brk(0) = 0x81e2000 brk(0x81e3000) = 0x81e3000 brk(0) = 0x81e3000 brk(0x81e4000) = 0x81e4000 brk(0) = 0x81e4000 brk(0x81e5000) = 0x81e5000 brk(0) = 0x81e5000 brk(0x81e6000) = 0x81e6000 brk(0) = 0x81e6000 brk(0x81e7000) = 0x81e7000 brk(0) = 0x81e7000 brk(0x81e8000) = 0x81e8000 brk(0) = 0x81e8000 brk(0x81e9000) = 0x81e9000 brk(0) = 0x81e9000 brk(0x81ea000) = 0x81ea000 brk(0) = 0x81ea000 brk(0x81eb000) = 0x81eb000 brk(0) = 0x81eb000 brk(0x81ec000) = 0x81ec000 brk(0) = 0x81ec000 brk(0x81ed000) = 0x81ed000 brk(0) = 0x81ed000 brk(0x81ee000) = 0x81ee000 brk(0) = 0x81ee000 brk(0x81ef000) = 0x81ef000 brk(0) = 0x81ef000 brk(0x81f0000) = 0x81f0000 brk(0) = 0x81f0000 brk(0x81f1000) = 0x81f1000 brk(0) = 0x81f1000 brk(0x81f2000) = 0x81f2000 brk(0) = 0x81f2000 brk(0x81f3000) = 0x81f3000 brk(0) = 0x81f3000 brk(0x81f4000) = 0x81f4000 brk(0) = 0x81f4000 brk(0x81f5000) = 0x81f5000 brk(0) = 0x81f5000 brk(0x81f6000) = 0x81f6000 brk(0) = 0x81f6000 brk(0x81f7000) = 0x81f7000 brk(0) = 0x81f7000 brk(0x81f8000) = 0x81f8000 brk(0) = 0x81f8000 brk(0x81f9000) = 0x81f9000 brk(0) = 0x81f9000 brk(0x81fa000) = 0x81fa000 brk(0) = 0x81fa000 brk(0x81fb000) = 0x81fb000 brk(0) = 0x81fb000 brk(0x81fc000) = 0x81fc000 brk(0) = 0x81fc000 brk(0x81fd000) = 0x81fd000 brk(0) = 0x81fd000 brk(0x81fe000) = 0x81fe000 brk(0) = 0x81fe000 brk(0x81ff000) = 0x81ff000 brk(0) = 0x81ff000 brk(0x8200000) = 0x8200000 brk(0) = 0x8200000 brk(0x8201000) = 0x8201000 rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0 write(5, "\200\240\17@\0\0\0\0\0\0\0\0\224$\f@\300\236\27\10\0\0"..., 148) = 148 rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0 rt_sigsuspend([] --- SIGRTMIN (Real-time signal 0) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [RTMIN]) rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0 rt_sigsuspend([] --- SIGRTMIN (Real-time signal 0) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [RTMIN]) gettimeofday({1047582291, 535469}, NULL) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN], [RTMIN], 8) = 0 gettimeofday({1047582291, 535685}, NULL) = 0 nanosleep({0, 99784000}, 0) = -1 EINTR (Interrupted system call) --- SIGRTMIN (Real-time signal 0) @ 0 (0) --- rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0 rt_sigsuspend([] --- SIGRTMIN (Real-time signal 0) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [RTMIN]) nanosleep({0, 10000000}, NULL) = 0 kill(777, SIGRTMIN) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0 write(5, "\200\240\17@\0\0\0\0\0\0\0\0\224$\f@@\234\27\10\0\0\0\200"..., 148) = 148 rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0 rt_sigsuspend([] --- SIGRTMIN (Real-time signal 0) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [RTMIN]) rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0 rt_sigsuspend([] --- SIGRTMIN (Real-time signal 0) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [RTMIN]) kill(777, SIGRTMIN) = 0 gettimeofday({1047582291, 608939}, NULL) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN], [RTMIN], 8) = 0 gettimeofday({1047582291, 609154}, NULL) = 0 nanosleep({0, 99785000}, 0) = -1 EINTR (Interrupted system call) --- SIGPWR (Power failure) @ 0 (0) --- write(5, "\200\355\36\10\4\0\0\0\340\340\f@\271;\4@\2\0\0\2\2\0\0"..., 148) = 148 rt_sigsuspend(~[INT QUIT ABRT TERM XCPU] --- SIGXCPU (CPU time limit exceeded) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now ~[HUP INT KILL STOP]) sigreturn() = ? (mask now []) gettimeofday({1047582291, 613580}, NULL) = 0 nanosleep({0, 95359000}, 0) = -1 EINTR (Interrupted system call) --- SIGRTMIN (Real-time signal 0) @ 0 (0) --- rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0 rt_sigsuspend([] --- SIGRTMIN (Real-time signal 0) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [RTMIN]) rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0 rt_sigsuspend([] --- SIGRTMIN (Real-time signal 0) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [RTMIN]) write(5, "\200\240\17@\2\0\0\0\0\0\0\0\227\2230@\210\3610@\16\0\0"..., 148) = 148 rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0 rt_sigsuspend([] --- SIGRTMIN (Real-time signal 0) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [RTMIN]) wait4(776, NULL, __WCLONE, NULL) = 776 exit_group(0) = ? --=-azojaNjPLI4sDz2mi3NT-- From gonzalo@ximian.com Thu Mar 13 22:44:40 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 13 Mar 2003 23:44:40 +0100 Subject: [Mono-list] Can't launch processes as normal user In-Reply-To: <1047582479.651.6.camel@hal> References: <1047527769.798.3.camel@hal> <1047569015.797.10.camel@hal> <1047583090.2856.59.camel@portatil> <1047582479.651.6.camel@hal> Message-ID: <1047595473.3682.76.camel@portatil> El jue, 13 de 03 de 2003 a las 20:07, Pablo Baena escribió: > Oh boy! Now I can't even launch the processes as root! It stopped > working after a reboot! :( > > When executing: './ptest.exe ls .' the output is: > > > ** (./ptest.exe:745): WARNING **: Shared memory sanity check failed. > > ** (./ptest.exe:745): WARNING **: Failed to attach shared memory! Falling back to non-shared handles > RC: 136643012 The output is: Try removing the $HOME/.wapi directory for both, root and the user. -Gonzalo From pbaena@uol.com.ar Thu Mar 13 20:06:15 2003 From: pbaena@uol.com.ar (Pablo Baena) Date: 13 Mar 2003 20:06:15 +0000 Subject: [Mono-list] Can't launch processes as normal user In-Reply-To: <1047595473.3682.76.camel@portatil> References: <1047527769.798.3.camel@hal> <1047569015.797.10.camel@hal> <1047583090.2856.59.camel@portatil> <1047582479.651.6.camel@hal> <1047595473.3682.76.camel@portatil> Message-ID: <1047585975.829.1.camel@hal> --=-Z4Bum+qI1VpCWan6bF2X Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Wow! It worked! Now I no longer see that warning and the processes run for everybody! Thank you!!!! On Thu, 2003-03-13 at 22:44, Gonzalo Paniagua Javier wrote: > El jue, 13 de 03 de 2003 a las 20:07, Pablo Baena escribió: > > Oh boy! Now I can't even launch the processes as root! It stopped > > working after a reboot! :( > > > > When executing: './ptest.exe ls .' the output is: > > > > > > ** (./ptest.exe:745): WARNING **: Shared memory sanity check failed. > > > > ** (./ptest.exe:745): WARNING **: Failed to attach shared memory! Falling back to non-shared handles > > RC: 136643012 The output is: > > Try removing the $HOME/.wapi directory for both, root and the user. > > -Gonzalo > > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list -- Pablo Baena --=-Z4Bum+qI1VpCWan6bF2X Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit Wow! It worked! Now I no longer see that warning and the processes run for everybody!

Thank you!!!!


On Thu, 2003-03-13 at 22:44, Gonzalo Paniagua Javier wrote:
El jue, 13 de 03 de 2003 a las 20:07, Pablo Baena escribió:
> Oh boy! Now I can't even launch the processes as root! It stopped
> working after a reboot! :(
> 
> When executing:  './ptest.exe ls .' the output is:
> 
> 
>  ** (./ptest.exe:745): WARNING **: Shared memory sanity check failed.
>  
> ** (./ptest.exe:745): WARNING **: Failed to attach shared memory! Falling back to non-shared handles
> RC: 136643012 The output is:

Try removing the $HOME/.wapi directory for both, root and the user.

-Gonzalo


_______________________________________________
Mono-list maillist  -  Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list
--
Pablo Baena <pbaena@uol.com.ar>
--=-Z4Bum+qI1VpCWan6bF2X-- From James.Fitzsimons@intergen.co.nz Thu Mar 13 23:25:01 2003 From: James.Fitzsimons@intergen.co.nz (James Fitzsimons) Date: Fri, 14 Mar 2003 12:25:01 +1300 Subject: [Mono-list] OS X build problems still Message-ID: <7CB4145E5D76404D98329D422EEA9B04AD3D30@wlgex1.intergen.org.nz> Hi all, Thanks to those that responded to my last post. I am having trouble compiling glibc. The configuration fails when it can't find gettext. The strange thing is I have installed fink (which installs gettext) and gettext is in my path... Has anyone else struck this problem? Thanks for any advice, Regards, James Fitzsimons From umuff@quark.com Thu Mar 13 23:59:42 2003 From: umuff@quark.com (Urs C Muff) Date: Thu, 13 Mar 2003 16:59:42 -0700 Subject: [Mono-list] Remoting problem on Mandrake 9.0 Message-ID: <200303131659.42828.umuff@quark.com> As my first statement in my program I have: ChannelServices.RegisterChannel(new TcpChannel(8085)); An I get the following exception: Unhandled Exception: System.Net.Sockets.SocketException: No such host is = known in <0x000a0> 00 System.Net.Dns:GetHostByName (string) in <0x00057> 00 System.Runtime.Remoting.Channels.Tcp.TcpServerChannel:Ini= t=20 (System.Runtime.Remoting.Channels.IServerChannelSinkProvider) in <0x00103> 00 System.Runtime.Remoting.Channels.Tcp.TcpServerChannel:.ct= or=20 (System.Collections.IDictionary,System.Runtime.Remoting.Channels.IServerC= hannelSinkProvider) in <0x000da> 00 System.Runtime.Remoting.Channels.Tcp.TcpChannel:Init=20 (System.Collections.IDictionary,System.Runtime.Remoting.Channels.IClientC= hannelSinkProvider,System.Runtime.Remoting.Channels.IServerChannelSinkPro= vider) in <0x00094> 00 System.Runtime.Remoting.Channels.Tcp.TcpChannel:.ctor (in= t) in <0x00031> 00 RemotingSamples.Server:Main (string[]) The hostname should be 'localhost' and System.Net.Dns.GetHostByName shoul= d=20 return 127.0.0.1. Right? How can I provide more input? - Urs From ranger@befunk.com Fri Mar 14 00:11:36 2003 From: ranger@befunk.com (Benjamin Reed) Date: Thu, 13 Mar 2003 19:11:36 -0500 Subject: [Mono-list] OS X build problems still In-Reply-To: <7CB4145E5D76404D98329D422EEA9B04AD3D30@wlgex1.intergen.org.nz> References: <7CB4145E5D76404D98329D422EEA9B04AD3D30@wlgex1.intergen.org.nz> Message-ID: <3E711E38.3060306@befunk.com> James Fitzsimons wrote: > Hi all, > Thanks to those that responded to my last post. > > I am having trouble compiling glibc. The configuration fails when it > can't find gettext. The strange thing is I have installed fink (which > installs gettext) and gettext is in my path... > > Has anyone else struck this problem? building glibc?!?!? MacOSX has it's own libc. You don't need to build your own. I think you want: http://fink.sourceforge.net/faq/usage-general.php#compile-myself From James.Fitzsimons@intergen.co.nz Fri Mar 14 00:21:58 2003 From: James.Fitzsimons@intergen.co.nz (James Fitzsimons) Date: Fri, 14 Mar 2003 13:21:58 +1300 Subject: [Mono-list] OS X build problems still Message-ID: <7CB4145E5D76404D98329D422EEA9B04AD3D31@wlgex1.intergen.org.nz> Hi Benjamin, The reason I was trying to compile glibc was because it is a perquisite for Mono. Is there some way of specifying another libc (i.e. the Apple version) in the Mono configure stage? Thanks very much, James Fitzsimons -----Original Message----- From: Benjamin Reed [mailto:ranger@befunk.com]=20 Sent: Friday, 14 March 2003 1:12 p.m. To: James Fitzsimons Cc: mono-list@ximian.com Subject: Re: [Mono-list] OS X build problems still James Fitzsimons wrote: > Hi all, > Thanks to those that responded to my last post. >=20 > I am having trouble compiling glibc. The configuration fails when it=20 > can't find gettext. The strange thing is I have installed fink (which=20 > installs gettext) and gettext is in my path... >=20 > Has anyone else struck this problem? building glibc?!?!? MacOSX has it's own libc. You don't need to build your own. I think you want: http://fink.sourceforge.net/faq/usage-general.php#compile-myself From erik@bagfors.nu Fri Mar 14 00:22:24 2003 From: erik@bagfors.nu (Erik =?ISO-8859-1?Q?B=E5gfors?=) Date: 14 Mar 2003 01:22:24 +0100 Subject: [Mono-list] Question In-Reply-To: References: Message-ID: <1047601344.16187.2.camel@detrius.ardendo.se> Latest version of Linux if 2.4.x (well.. there is a 2.5.x but that's the unstable version) Mono doesn't need gnome.. /Erik On Thu, 2003-03-13 at 19:57, D d wrote: > > does ximain have support for linux 8.0 without having g-nome installed. > > > _________________________________________________________________ > MSN 8 with e-mail virus protection service: 2 months FREE* > http://join.msn.com/?page=features/virus > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list /Erik -- erik@bagfors.nu fingerprint: 6666 A85B 95D3 D26B 296B 6C60 4F32 2C0B 693D 6E32 From ranger@befunk.com Fri Mar 14 00:49:57 2003 From: ranger@befunk.com (Benjamin Reed) Date: Thu, 13 Mar 2003 19:49:57 -0500 Subject: [Mono-list] OS X build problems still In-Reply-To: <7CB4145E5D76404D98329D422EEA9B04AD3D31@wlgex1.intergen.org.nz> References: <7CB4145E5D76404D98329D422EEA9B04AD3D31@wlgex1.intergen.org.nz> Message-ID: <3E712735.3000508@befunk.com> James Fitzsimons wrote: > Hi Benjamin, > The reason I was trying to compile glibc was because it is a perquisite > for Mono. Is there some way of specifying another libc (i.e. the Apple > version) in the Mono configure stage? Is this a recent addition? It didn't need glibc as of 0.23... Doesn't seem very portable then. :) From dru@satori-assoc.com Fri Mar 14 01:34:45 2003 From: dru@satori-assoc.com (Andy Satori) Date: Thu, 13 Mar 2003 20:34:45 -0500 Subject: [Mono-list] OS X build problems still In-Reply-To: <3E712735.3000508@befunk.com> Message-ID: I have Mono built 0.23, that's not the problem. Once you have it running you get the following, which makes it pretty useless still for usage. I've been trying to trace back to find out why this is an issue though. [samwise:~] arsatori% mcs GLib: Cannot convert message: Conversion from character set 'UTF-8' to 'en_US' is not supported ** (/usr/local/bin/mcs.exe:5032): WARNING **: Using non-atomic functions! /usr/local/bin/mcs: line 2: 5032 Bus error /usr/local/bin/mint /usr/local/bin/mcs.exe "$@" Andy On 3/13/03 7:49 PM, "Benjamin Reed" pounded the keyboard to produce: > James Fitzsimons wrote: >> Hi Benjamin, >> The reason I was trying to compile glibc was because it is a perquisite >> for Mono. Is there some way of specifying another libc (i.e. the Apple >> version) in the Mono configure stage? > > Is this a recent addition? It didn't need glibc as of 0.23... Doesn't > seem very portable then. :) > > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > From ranger@befunk.com Fri Mar 14 01:40:00 2003 From: ranger@befunk.com (Benjamin Reed) Date: Thu, 13 Mar 2003 20:40:00 -0500 Subject: [Mono-list] OS X build problems still In-Reply-To: References: Message-ID: <3E7132F0.1080500@befunk.com> Andy Satori wrote: > I have Mono built 0.23, that's not the problem. Once you have it running > you get the following, which makes it pretty useless still for usage. > > I've been trying to trace back to find out why this is an issue though. > > [samwise:~] arsatori% mcs > GLib: Cannot convert message: Conversion from character set 'UTF-8' to > 'en_US' is not supported > > ** (/usr/local/bin/mcs.exe:5032): WARNING **: Using non-atomic functions! > /usr/local/bin/mcs: line 2: 5032 Bus error > /usr/local/bin/mint /usr/local/bin/mcs.exe "$@" Yup. I've heard tell today that this appears to actually be caused by something in libgc (at least, it doesn't happen if you build without garbage collection). I haven't had time to give it a shot yet, though. From fjh@cs.mu.OZ.AU Fri Mar 14 01:55:18 2003 From: fjh@cs.mu.OZ.AU (Fergus Henderson) Date: Fri, 14 Mar 2003 12:55:18 +1100 Subject: [Mono-list] lies and microbenmarks (Was: Mono 0.23 windows installer) In-Reply-To: <20030313085756.A22402@mozart> References: <20030311213101.17408.65555.Mailman@headcheese.ximian.com> <1047486309.1330.17.camel@localhost.localdomain> <20030313085756.A22402@mozart> Message-ID: <20030314015518.GA21135@ceres.cs.mu.oz.au> On 13-Mar-2003, David Jeske wrote: > I can see how the anti-benchmarking clause was important to the MS > lawyers, because if an article was published showing a brand new .NET > runtime slower than the 5 year old JVM technology, readers would not > respect the newness of .NET. In reality, the legal people should have > talked to the technical people and realized that nearly all MS.NET > vs. Java benchmarks ALREADY come out with .NET on top All the benchmarks you've seen, you mean? Don't you think it is possible that the benchmark results that you have seen are skewed, because of the .NET license condition? Also, Java is not the only competition. In performance comparisons with native code, .NET is going to come off worse. The question is how much worse. Furthermore, the answer may be different for different programming styles or different programming languages. One of .NET's big selling points is that it supports multiple programming languages. However, if you get a 1000-times slow down for non-C#-like languages, that claim is a bit of a sham, isn't it? It's all very well to say that you can use other languages, but if the performance of .NET for those other languages is prohibitively bad, people will prefer to compile those other languages to native code. -- Fergus Henderson | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: | -- the last words of T. S. Garp. From ggb@tid.es Fri Mar 14 08:52:13 2003 From: ggb@tid.es (=?iso-8859-1?Q?Gustavo_Garc=EDa_Bernardo?=) Date: Fri, 14 Mar 2003 09:52:13 +0100 Subject: [Mono-list] Important difference with Microsoft compiler Message-ID: Hi everybody, The next code doesn't compile with Microsoft compiler but compiles with mono mcs: class A { }; static void Main(string[] args) { for (int i=0;i<10;i++) { A a = new A(); } A a = new A(); } I think the right operation is in mono. Is this documented? G. From cwilliams@firstwave.co.uk Fri Mar 14 09:26:30 2003 From: cwilliams@firstwave.co.uk (Craig Williams) Date: Fri, 14 Mar 2003 09:26:30 -0000 Subject: [Mono-list] Solaris, Sun support ? Message-ID: <26051CED07DDD511AFCE00A0C9C82B5F3AE5C2@exchange> Hey everyone, I tried searching through the list archives but couldn't find a definitive answer to this question. Can I run the mono CLR on a Solaris system ? I have a c# project (asp.net) that needs to be hosted on a Sun box. I know that asp.net isn't quite ready but the starting point is the support for .net :) I saw someone got it running but they made changes which I can't make (things in c). thanks Craig From erik@bagfors.nu Fri Mar 14 10:23:39 2003 From: erik@bagfors.nu (Erik =?ISO-8859-1?Q?B=E5gfors?=) Date: 14 Mar 2003 11:23:39 +0100 Subject: [Mono-list] Important difference with Microsoft compiler In-Reply-To: References: Message-ID: <1047637419.2429.8.camel@detrius.ardendo.se> I don't think that having a Main outside of a class is legal in c#. I can't see how this should compile on any c# compiler. I sure doesn't compile under mcs for me. : [bagfors@detrius]$ ; mcs test5.cs=20 syntax error, expecting CLASS DELEGATE ENUM INTERFACE STRUCT test5.cs(5) error CS-0025: : Parsing error=20 Mono.CSharp.yyParser.yyException: irrecoverable syntax error in <0x00701> 00 Mono.CSharp.CSharpParser:yyparse (Mono.CSharp.yyParser.yyInput) in <0x00075> 00 Mono.CSharp.CSharpParser:parse () /Erik On Fri, 2003-03-14 at 09:52, Gustavo Garc=EDa Bernardo wrote: > Hi everybody, >=20 > The next code doesn't compile with Microsoft compiler but compiles with > mono mcs: >=20 > class A > { > }; > static void Main(string[] args) > { > for (int i=3D0;i<10;i++) > { > A a =3D new A(); > } >=20 > A a =3D new A(); > } >=20 > I think the right operation is in mono. Is this documented? >=20 > G. >=20 > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list /Erik --=20 erik@bagfors.nu fingerprint: 6666 A85B 95D3 D26B 296B 6C60 4F32 2C0B 693D 6E32 From ggb@tid.es Fri Mar 14 11:26:01 2003 From: ggb@tid.es (=?ISO-8859-15?Q?Gustavo_Garc=EDa_Bernardo?=) Date: Fri, 14 Mar 2003 12:26:01 +0100 Subject: [Mono-list] Important difference with Microsoft compiler In-Reply-To: <1047637419.2429.8.camel@detrius.ardendo.se> Message-ID: I copy&paste only this part of the code, the complete code is: //This compile with mono but doesn't with Microsoft using System; namespace ConsoleApplication1 { class Class1 { static void Main(string[] args) { for (int i=0;i<10;i++) { A a = new A(); } A a = new A(); } } class A { } } > -----Mensaje original----- > De: mono-list-admin@lists.ximian.com > [mailto:mono-list-admin@lists.ximian.com]En nombre de Erik Bĺgfors > Enviado el: viernes, 14 de marzo de 2003 11:24 > Para: Gustavo García Bernardo > CC: mono-list@lists.ximian.com > Asunto: Re: [Mono-list] Important difference with Microsoft compiler > > > I don't think that having a Main outside of a class is legal in c#. I > can't see how this should compile on any c# compiler. I sure doesn't > compile under mcs for me. > > : [bagfors@detrius]$ ; mcs test5.cs > syntax error, expecting CLASS DELEGATE ENUM INTERFACE STRUCT > test5.cs(5) error CS-0025: : Parsing error > Mono.CSharp.yyParser.yyException: irrecoverable syntax error > in <0x00701> 00 Mono.CSharp.CSharpParser:yyparse > (Mono.CSharp.yyParser.yyInput) > in <0x00075> 00 Mono.CSharp.CSharpParser:parse () > > > > /Erik > > On Fri, 2003-03-14 at 09:52, Gustavo García Bernardo wrote: > > Hi everybody, > > > > The next code doesn't compile with Microsoft compiler but > compiles with > > mono mcs: > > > > class A > > { > > }; > > static void Main(string[] args) > > { > > for (int i=0;i<10;i++) > > { > > A a = new A(); > > } > > > > A a = new A(); > > } > > > > I think the right operation is in mono. Is this documented? > > > > G. > > > > _______________________________________________ > > Mono-list maillist - Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list > /Erik > > -- > erik@bagfors.nu > fingerprint: 6666 A85B 95D3 D26B 296B 6C60 4F32 2C0B 693D 6E32 > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From lupus@ximian.com Fri Mar 14 11:29:50 2003 From: lupus@ximian.com (Paolo Molaro) Date: Fri, 14 Mar 2003 12:29:50 +0100 Subject: [Mono-list] Remoting CORBA support Message-ID: <20030314112949.GG918@debian.org> Hi, Kristopher. I saw the news post about your work on CORBA support for remoting: great news! I'm posting to mono-list so that the people working on our remoting code can test it using the mono runtime and/or with other CORBA implementations like ORBit. The code is at: http://kristopherjohnson.net/kj/RemotingDotCorba The license is a X11/BSD-without-ad-clause kind of free software license. I only tryed compiling the code and it's as simple as: mcs /target:library -o Remoting.Corba.dll *.cs in the RemotingCorbaLibrary directory. It compiled fine. There were people in the Mono project that considered working on something like what you did: I don't know what the status is with that, but maybe now that there is a good starting point they could join forces with you and contribute to your project. Happy hacking! lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From bzd@astercity.net Fri Mar 14 11:41:55 2003 From: bzd@astercity.net (Artur Brodowski) Date: Fri, 14 Mar 2003 12:41:55 +0100 Subject: [Mono-list] Important difference with Microsoft compiler In-Reply-To: References: <1047637419.2429.8.camel@detrius.ardendo.se> Message-ID: <20030314124155.58aaa9a8.bzd@astercity.net> On Fri, 14 Mar 2003 12:26:01 +0100 Gustavo Garc=EDa Bernardo wrote: > using System; > namespace ConsoleApplication1 > { > class Class1 > { > static void Main(string[] args) > { > for (int i=3D0;i<10;i++) > { > A a =3D new A(); > } > A a =3D new A(); > } > } > class A > { > } > } and this is what i get (mono/mcs 0.23): test.cs(13) error CS0136: A local variable named `a' cannot be declared in = this scope since it would give a different meaning to `a', which is already used= in a `child' scope to denote something else Compilation failed: 1 error(s), 0 warnings regards, artb. --=20 only so many songs can be sung with two lips two lungs and one tongue From ggb@tid.es Fri Mar 14 15:02:29 2003 From: ggb@tid.es (=?ISO-8859-2?Q?Gustavo_Garc=EDa_Bernardo?=) Date: Fri, 14 Mar 2003 16:02:29 +0100 Subject: [Mono-list] Important difference with Microsoft compiler In-Reply-To: <20030314124155.58aaa9a8.bzd@astercity.net> Message-ID: I tried with mcs 0.19 and it compiles, now I tried with 0.23 and it works like Microsoft. Then, I supose this is the correct way of work. G. > -----Mensaje original----- > De: mono-list-admin@lists.ximian.com > [mailto:mono-list-admin@lists.ximian.com]En nombre de Artur Brodowski > Enviado el: viernes, 14 de marzo de 2003 12:42 > Para: mono-list@lists.ximian.com > Asunto: Re: [Mono-list] Important difference with Microsoft compiler > > > On Fri, 14 Mar 2003 12:26:01 +0100 > Gustavo García Bernardo wrote: > > using System; > > namespace ConsoleApplication1 > > { > > class Class1 > > { > > static void Main(string[] args) > > { > > for (int i=0;i<10;i++) > > { > > A a = new A(); > > } > > A a = new A(); > > } > > } > > class A > > { > > } > > } > > and this is what i get (mono/mcs 0.23): > > test.cs(13) error CS0136: A local variable named `a' cannot be > declared in this > scope since it would give a different meaning to `a', which is > already used in > a `child' scope to denote something else > Compilation failed: 1 error(s), 0 warnings > > regards, > artb. > -- > only so many songs can be sung with two lips two lungs and one tongue > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From Yury@serdyuk.botik.ru Fri Mar 14 13:59:25 2003 From: Yury@serdyuk.botik.ru (Yury Serdyuk) Date: Fri, 14 Mar 2003 16:59:25 +0300 Subject: [Mono-list] Bug in AppDomain.CreateDomain Message-ID: <3E71E03D.1010405@serdyuk.botik.ru> Hi, why is not working this simple program : using System; public class A { public static void Main( string[] args ) { AppDomain d1 = AppDomain.CreateDomain( "MyDomain1" ); Console.WriteLine ( "Domain1 is created" ); AppDomain d2 = AppDomain.CreateDomain( "MyDomain2" ); Console.WriteLine ( "Domain2 is created" ); } } We have "Unhandled Exception: System.NullReferenceException ..." for the second call of CreateDomain. We are working with Mono 0.23 under RedHat 7.3. Yury Serdyuk. From is118149@mail.udlap.mx Fri Mar 14 16:26:12 2003 From: is118149@mail.udlap.mx (Carlos Alberto Cortez) Date: 14 Mar 2003 10:26:12 -0600 Subject: [Mono-list] Reflection problem Message-ID: <1047659172.810.21.camel@localhost.localdomain> Hello there: Yesterday I began to have fun with reflection. But I had a problem, when I wrote this code: using System; using System.Reflection; public class ReflectionTest { public static void Main () { Type theMathType = Type.GetType("System.Math"); Object theObj = Activator.CreateInstance(theMathType); } } When I compile it, no error messages are shown, but when i try to run it, the next message appears: Unhandled Exception: System.MissingMethodException: Default constructor not found in <0x0019b> 00 System.Activator:CreateInstance (System.Type,bool) in <0x00031> 00 .ReflectionTest:Main () have anybody any idea about this problem? Regargds, Carlos. -- -------------------------------------------------- /* The definition of myself */ using Cortez; using GeniusIntelligence; public class Carlos : Human, IGenius, ILinuxUser { static void Main () { Me.Run(); } static string PHON : 2 34 31 63 static string NICKNAME : Zero } -------------------------------------------------- From jackson@latitudegeo.com Fri Mar 14 16:38:58 2003 From: jackson@latitudegeo.com (Jackson Harper) Date: Fri, 14 Mar 2003 08:38:58 -0800 Subject: [Mono-list] Reflection problem In-Reply-To: <1047659172.810.21.camel@localhost.localdomain> References: <1047659172.810.21.camel@localhost.localdomain> Message-ID: <3E7205A2.1070508@latitudegeo.com> System.Math does not have a default contructor, you can't create an instance of it, all of its methods and fields are static. Try System.Object instead. Jackson Carlos Alberto Cortez wrote: >Hello there: > >Yesterday I began to have fun with reflection. But I had a problem, when >I wrote this code: > >using System; >using System.Reflection; > > public class ReflectionTest { > > public static void Main () { > > Type theMathType = Type.GetType("System.Math"); > Object theObj = Activator.CreateInstance(theMathType); > > } > > } > >When I compile it, no error messages are shown, but when i try to run >it, the next message appears: > >Unhandled Exception: System.MissingMethodException: Default constructor >not found >in <0x0019b> 00 System.Activator:CreateInstance (System.Type,bool) >in <0x00031> 00 .ReflectionTest:Main () > >have anybody any idea about this problem? > >Regargds, >Carlos. > > > From lluis@ideary.com Fri Mar 14 16:38:28 2003 From: lluis@ideary.com (Lluis Sanchez) Date: Fri, 14 Mar 2003 17:38:28 +0100 Subject: [Mono-list] Bug in AppDomain.CreateDomain References: <3E71E03D.1010405@serdyuk.botik.ru> Message-ID: <00e401c2ea48$246ec7e0$01c8a8c0@ATICATACCENTRE> Hi, This is a known bug. I'm working on a patch to fix it. - Lluis. ----- Original Message ----- From: "Yury Serdyuk" To: Sent: Friday, March 14, 2003 2:59 PM Subject: [Mono-list] Bug in AppDomain.CreateDomain > Hi, > > why is not working this simple program : > > using System; > public class A { > public static void Main( string[] args ) { > AppDomain d1 = AppDomain.CreateDomain( "MyDomain1" ); > Console.WriteLine ( "Domain1 is created" ); > AppDomain d2 = AppDomain.CreateDomain( "MyDomain2" ); > Console.WriteLine ( "Domain2 is created" ); > } > } > We have "Unhandled Exception: System.NullReferenceException ..." > for the second call of CreateDomain. > We are working with Mono 0.23 under RedHat 7.3. > > Yury Serdyuk. > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > From lupus@ximian.com Fri Mar 14 16:08:09 2003 From: lupus@ximian.com (Paolo Molaro) Date: Fri, 14 Mar 2003 17:08:09 +0100 Subject: [Mono-list] Bug in AppDomain.CreateDomain In-Reply-To: <3E71E03D.1010405@serdyuk.botik.ru> References: <3E71E03D.1010405@serdyuk.botik.ru> Message-ID: <20030314160809.GI918@debian.org> On 03/14/03 Yury Serdyuk wrote: > why is not working this simple program : > > using System; > public class A { > public static void Main( string[] args ) { > AppDomain d1 = AppDomain.CreateDomain( "MyDomain1" ); > Console.WriteLine ( "Domain1 is created" ); > AppDomain d2 = AppDomain.CreateDomain( "MyDomain2" ); > Console.WriteLine ( "Domain2 is created" ); > } > } > We have "Unhandled Exception: System.NullReferenceException ..." > for the second call of CreateDomain. > We are working with Mono 0.23 under RedHat 7.3. There is already a bug report about it: http://bugzilla.ximian.com/show_bug.cgi?id=39380 Gonzalo and Lluis were working on a fix, AFAIR. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From lupus@ximian.com Fri Mar 14 17:09:08 2003 From: lupus@ximian.com (Paolo Molaro) Date: Fri, 14 Mar 2003 18:09:08 +0100 Subject: [Mono-list] Solaris, Sun support ? In-Reply-To: <26051CED07DDD511AFCE00A0C9C82B5F3AE5C2@exchange> References: <26051CED07DDD511AFCE00A0C9C82B5F3AE5C2@exchange> Message-ID: <20030314170908.GL918@debian.org> On 03/14/03 Craig Williams wrote: > Can I run the mono CLR on a Solaris system ? I have a c# project (asp.net) > that needs to be hosted on a Sun box. I know that asp.net > isn't quite ready but the starting point is the support for .net :) The interpreter has been ported, but not all the bugs have been fixed, so it's far from production level on sparc systems. This is likely going to change once the new jit is released and someone steps up and contributes sparc support. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From lupus@ximian.com Fri Mar 14 17:26:09 2003 From: lupus@ximian.com (Paolo Molaro) Date: Fri, 14 Mar 2003 18:26:09 +0100 Subject: [Mono-list] regsvr32 In-Reply-To: <20030313155742.21352.qmail@web40406.mail.yahoo.com> References: <20030313105456.A782.RUBENG@tectimes.com> <20030313155742.21352.qmail@web40406.mail.yahoo.com> Message-ID: <20030314172609.GN918@debian.org> On 03/13/03 Daniel Grigoras wrote: > please, there is something similar with > "regsvr32.exe MyProfiler.dll"(for Windows ),but in I have no idea what regsvr32.exe does. > Linux ? > How may I register a profiler (DLL) under Linux? > In CVS , there are the equivalents of ICorProfilerInfo > and ICorProfilerCallback ( profiler.c , profiler.h > ..). Currently we have just an hard-coded profiler built-in in the mono runtime: the plan is to add an option to load dynamically a library that implements the profiling interface, but I didn't write the code to do that, yet. And, yes, the profiling interface is similar, but is not the same as in the MS runtime. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From lupus@ximian.com Fri Mar 14 17:45:20 2003 From: lupus@ximian.com (Paolo Molaro) Date: Fri, 14 Mar 2003 18:45:20 +0100 Subject: [Mono-list] SIGKILL/SIGTERM handling In-Reply-To: <0c9d01c2e74f$c42fe120$0500a8c0@jaybook> References: <0c2301c2e68a$026b0a80$0500a8c0@jaybook> <200303091710.32072.mathpup@mylinuxisp.com> <0c9d01c2e74f$c42fe120$0500a8c0@jaybook> Message-ID: <20030314174519.GO918@debian.org> On 03/10/03 Jerome Laban wrote: > My goal here is to build something like a daemon, as for now, there is > no support for services in mono. If I get this thing to work, I'll look > closer at implementing this part. (There were some interesting posts here > with this concern, just wondering if someone is working on it) > > As for the example, a signal handler is registered as well as a managed > delegate method. The signal is handled fine, but the mono runtime seems to > handle it too... and this not what I want. The mono runtime doesn't install handlers for SIGTERM. > I'm not totally fluent with signals, so I may be missing something or I may > be running after something that is not possible with the mono runtime. Note that inside signal handlers some things are not permitted and maybe the SIGTERM triggered something that caused a SEGV or something else and hence the mono handler kicked in. Registering a delegate as a callback for a signal should not be considered safe. A suggestion for what you may need that signal for (since you're going to terminate the app anyway), is to siglongjmp out of the signal handler and to call mono_runtime_invoke() in a safer context. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From richard.torkar@htu.se Fri Mar 14 18:29:31 2003 From: richard.torkar@htu.se (Richard Torkar) Date: 14 Mar 2003 19:29:31 +0100 Subject: [Mono-list] regsvr32 In-Reply-To: <20030314172609.GN918@debian.org> References: <20030313105456.A782.RUBENG@tectimes.com> <20030313155742.21352.qmail@web40406.mail.yahoo.com> <20030314172609.GN918@debian.org> Message-ID: <1047666571.17579.2.camel@localhost.localdomain> On Fri, 2003-03-14 at 18:26, Paolo Molaro wrote: > On 03/13/03 Daniel Grigoras wrote: > > please, there is something similar with > > "regsvr32.exe MyProfiler.dll"(for Windows ),but in > > I have no idea what regsvr32.exe does. It's a tool you can use in Windows to register a global(?) dll/ocx et.al. I think it will disappear one day since we have the GAC and a different way to do this? As you can see this is mostly guesses ;) /Richard -- Ph.D. Student Dept. of Informatics and Mathematics HTU From dru@satori-assoc.com Fri Mar 14 18:57:43 2003 From: dru@satori-assoc.com (Andy Satori) Date: Fri, 14 Mar 2003 13:57:43 -0500 Subject: [Mono-list] regsvr32 In-Reply-To: <20030314172609.GN918@debian.org> Message-ID: The equivalent to regsvr32 in .NET is RegSvcs. However, that's for COM+ assemblies. In the Mono world, it would be useless to register a COM dll. You would want the equivalent of the GacUtil to load an assembly in the Global Assembly Cache. Andy On 3/14/03 12:26 PM, "Paolo Molaro" pounded the keyboard to produce: > On 03/13/03 Daniel Grigoras wrote: >> please, there is something similar with >> "regsvr32.exe MyProfiler.dll"(for Windows ),but in > > I have no idea what regsvr32.exe does. > >> Linux ? >> How may I register a profiler (DLL) under Linux? >> In CVS , there are the equivalents of ICorProfilerInfo >> and ICorProfilerCallback ( profiler.c , profiler.h >> ..). > > Currently we have just an hard-coded profiler built-in in the mono > runtime: the plan is to add an option to load dynamically a library that > implements the profiling interface, but I didn't write the code to do > that, yet. And, yes, the profiling interface is similar, but is not the > same as in the MS runtime. > > lupus From bob@thestuff.net Fri Mar 14 19:01:47 2003 From: bob@thestuff.net (Bob Smith) Date: Fri, 14 Mar 2003 14:01:47 -0500 (EST) Subject: [Mono-list] regsvr32 In-Reply-To: Message-ID: At some point arn't we going to have some equivilent for Bonobo? On Fri, 14 Mar 2003, Andy Satori wrote: > The equivalent to regsvr32 in .NET is RegSvcs. However, that's for COM+ > assemblies. > > In the Mono world, it would be useless to register a COM dll. You would > want the equivalent of the GacUtil to load an assembly in the Global > Assembly Cache. > > Andy > > On 3/14/03 12:26 PM, "Paolo Molaro" pounded the keyboard > to produce: > > > On 03/13/03 Daniel Grigoras wrote: > >> please, there is something similar with > >> "regsvr32.exe MyProfiler.dll"(for Windows ),but in > > > > I have no idea what regsvr32.exe does. > > > >> Linux ? > >> How may I register a profiler (DLL) under Linux? > >> In CVS , there are the equivalents of ICorProfilerInfo > >> and ICorProfilerCallback ( profiler.c , profiler.h > >> ..). > > > > Currently we have just an hard-coded profiler built-in in the mono > > runtime: the plan is to add an option to load dynamically a library that > > implements the profiling interface, but I didn't write the code to do > > that, yet. And, yes, the profiling interface is similar, but is not the > > same as in the MS runtime. > > > > lupus > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > From dru@satori-assoc.com Fri Mar 14 19:11:58 2003 From: dru@satori-assoc.com (Andy Satori) Date: Fri, 14 Mar 2003 14:11:58 -0500 Subject: [Mono-list] regsvr32 In-Reply-To: Message-ID: Bonobo and COM+ are about as far apart in implementation as CORBA and COM are. That's not to say that System.EnterpriseServices couldn't be implemented to support Bonobo on Gnome boxes, but they would be incapable of say calling a remote object on a Windows COM+ based server. You could probably munge this all to work locally, but when you start down the path of COM+ interop, I think you create a large scale problem in managability. All that said, using .NET native assemblies and .NET remoting, you do get the benefit of being able to use your assembly assets throughout the enterprise despite the native host environment. Furthering that, if you absolutely must retain legacy COM+ interfaces (I do, I have a large legacy of VB6 COM interfaces that I must maintain through the transition) you can wrap those with SOAP webservices, acknowledge a minor performance hit, and then deploy using SOAP and WebServices thus eliminating the dependency on COM+. Andy On 3/14/03 2:01 PM, "Bob Smith" pounded the keyboard to produce: > At some point arn't we going to have some equivilent for Bonobo? > > On Fri, 14 Mar 2003, Andy Satori wrote: > >> The equivalent to regsvr32 in .NET is RegSvcs. However, that's for COM+ >> assemblies. >> >> In the Mono world, it would be useless to register a COM dll. You would >> want the equivalent of the GacUtil to load an assembly in the Global >> Assembly Cache. >> >> Andy >> >> On 3/14/03 12:26 PM, "Paolo Molaro" pounded the keyboard >> to produce: >> >>> On 03/13/03 Daniel Grigoras wrote: >>>> please, there is something similar with >>>> "regsvr32.exe MyProfiler.dll"(for Windows ),but in >>> >>> I have no idea what regsvr32.exe does. >>> >>>> Linux ? >>>> How may I register a profiler (DLL) under Linux? >>>> In CVS , there are the equivalents of ICorProfilerInfo >>>> and ICorProfilerCallback ( profiler.c , profiler.h >>>> ..). >>> >>> Currently we have just an hard-coded profiler built-in in the mono >>> runtime: the plan is to add an option to load dynamically a library that >>> implements the profiling interface, but I didn't write the code to do >>> that, yet. And, yes, the profiling interface is similar, but is not the >>> same as in the MS runtime. >>> >>> lupus >> >> _______________________________________________ >> Mono-list maillist - Mono-list@lists.ximian.com >> http://lists.ximian.com/mailman/listinfo/mono-list >> > From richard.torkar@htu.se Fri Mar 14 20:05:58 2003 From: richard.torkar@htu.se (Richard Torkar) Date: 14 Mar 2003 21:05:58 +0100 Subject: [Mono-list] regsvr32 In-Reply-To: <20030314185101.41984.qmail@web40413.mail.yahoo.com> References: <20030314185101.41984.qmail@web40413.mail.yahoo.com> Message-ID: <1047672358.17890.5.camel@localhost.localdomain> On Fri, 2003-03-14 at 19:51, Daniel Grigoras wrote: > > I think it will disappear one day since we have the > > GAC and a different > > way to do this? > > Could you tell me what is the different method to do > this.?(link, hint ..) > Well in windows they now how the concept of a GAC - well they almost always had that but it never really worked. The GAC -> http://aspalliance.com/hrmalik/articles/2003/200301/20030101.aspx There is a ton of stuff about the GAC on the net. best, richard -- Ph.D. Student Dept. of Informatics and Mathematics HTU From umuff@quark.com Fri Mar 14 23:35:44 2003 From: umuff@quark.com (Urs Muff) Date: Fri, 14 Mar 2003 16:35:44 -0700 Subject: [Mono-list] Remoting with interface definition Message-ID: <23436D758E4CA54F8EDC2F7DE3B1A28B032211E5@denver.quark.com> This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C2EA82.6E92D5C0 Content-Type: text/plain Using the following concept is not working on mono, but in the MS .Net framework: Common Lib: intercace IServerObj { string Name { get; } } Client: main() { ChannelServices.RegisterChannel(new TcpChannel(0)); IServerObject server = Activation.GetObject(typeof(IServerObj),"tcp://localhost:8085/Test") as IServerObject; string name = server.Name; } Server: class ServerObject : MarshalByRefObject, IServerObject { public string Name { get { return "Test Server"; } } } main() { ChannelServices.RegisterChannel(new TcpChannel(8085)); RemotingConfiguration.RegisterWellKnownServiceType(typeof(HelloServer),"Test ",WellKnownObjectMode.Singleton); } This is a very important concept, since it allows hiding the implementation from the Client. The crash is in corlib : Remoting.TypeInfo (since it assumes to be derived from object or MarshalByRefObject, which it is not, since it is a pure interface). Fixing that does not help either since it crashes later than, since it still assumes it has to be a MarshalByRefObject (which it eventually should be since it will become a Proxy [right?]). I'm not that familiar with the mono remoting implementation, but that seems like a design problem, unless I'm doing something wrong. - Urs C. Muff Systems Architect - Research Lab ------_=_NextPart_001_01C2EA82.6E92D5C0 Content-Type: text/html Content-Transfer-Encoding: quoted-printable Remoting with interface definition

Using the following concept is not working on mono, = but in the MS .Net framework:

Common Lib:

intercace = IServerObj

{

        string Name { get; }

}

Client:

main()

{

        ChannelServices.RegisterChannel(new TcpChannel(0));

IServerObject server = =3D Activation.GetObject(typeof(IServerObj),"tcp://localhost:8085/Test") as = IServerObject;

string name =3D = server.Name;

}

Server:

class ServerObject = : MarshalByRefObject, IServerObject

{

        public string Name { get { return "Test = Server"; } }

}

main()

{

        ChannelServices.RegisterChannel(new TcpChannel(8085));

        RemotingConfiguration.RegisterWellKnownServiceType(typeof(HelloServer),"Test",WellKnownObjectMode.Singleton);

}

This is a very important = concept, since it allows hiding the implementation from = the Client.

The crash is in corlib : = Remoting.TypeInfo (since it assumes to be derived from object or = MarshalByRefObject, which it is not, since it is a pure = interface).  Fixing that does = not help either since it crashes later than, since it still assumes it = has to be a MarshalByRefObject (which it eventually should be since it = will become a Proxy [right?]).  I'm not that familiar with the mono remoting = implementation, but that seems like a design problem, unless = I'm doing something wrong.

- Urs C. = Muff

Systems Architect   =     - = Research Lab

------_=_NextPart_001_01C2EA82.6E92D5C0-- From jrienton@landata.com Fri Mar 14 18:44:05 2003 From: jrienton@landata.com (Jonel Rienton) Date: Fri, 14 Mar 2003 12:44:05 -0600 Subject: [Mono-list] regsvr32 In-Reply-To: <1047666571.17579.2.camel@localhost.localdomain> Message-ID: <000801c2ea59$b18d6da0$5b1f1d0a@ADMINXPNB1> regsvr32.exe registers(1) an ActiveX dll(COM) in the registry -----Original Message----- From: mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.com]On Behalf Of Richard Torkar Sent: Friday, March 14, 2003 12:30 PM To: mono-list@lists.ximian.com Subject: Re: [Mono-list] regsvr32 On Fri, 2003-03-14 at 18:26, Paolo Molaro wrote: > On 03/13/03 Daniel Grigoras wrote: > > please, there is something similar with > > "regsvr32.exe MyProfiler.dll"(for Windows ),but in > > I have no idea what regsvr32.exe does. It's a tool you can use in Windows to register a global(?) dll/ocx et.al. I think it will disappear one day since we have the GAC and a different way to do this? As you can see this is mostly guesses ;) /Richard -- Ph.D. Student Dept. of Informatics and Mathematics HTU _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From martin@gnome.org Sat Mar 15 13:00:35 2003 From: martin@gnome.org (Martin Baulig) Date: 15 Mar 2003 14:00:35 +0100 Subject: [Mono-list] Important difference with Microsoft compiler In-Reply-To: References: Message-ID: <86znnwu6mk.fsf@einstein.home-of-linux.org> Gustavo Garc=EDa Bernardo writes: > I tried with mcs 0.19 and it compiles, now I tried with 0.23 and it works > like Microsoft. Then, I supose this is the correct way of work. Yes, I fixed that bug somewhere between 0.19 and 0.23. > > and this is what i get (mono/mcs 0.23): > > > > test.cs(13) error CS0136: A local variable named `a' cannot be > > declared in this > > scope since it would give a different meaning to `a', which is > > already used in > > a `child' scope to denote something else > > Compilation failed: 1 error(s), 0 warnings --=20 Martin Baulig martin@gnome.org martin@ximian.com From joanm@softhome.net Sat Mar 15 14:59:49 2003 From: joanm@softhome.net (J.M.Piulachs) Date: Sat, 15 Mar 2003 15:59:49 +0100 Subject: [Mono-list] Mono Message Queque? References: <86znnwu6mk.fsf@einstein.home-of-linux.org> Message-ID: <001301c2eb03$88332e40$170010ac@ks.net> A long time ago someone ?wrote? a Microsoft Message Queque like product for Mono , anyone knows its web site? thanks in advance ;) From gonzalo@ximian.com Sat Mar 15 16:37:11 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 15 Mar 2003 17:37:11 +0100 Subject: [Mono-list] Bug in AppDomain.CreateDomain In-Reply-To: <3E71E03D.1010405@serdyuk.botik.ru> References: <3E71E03D.1010405@serdyuk.botik.ru> Message-ID: <1047746231.2114.15.camel@portatil> Lluis has fixed this. The fix is in CVS. -Gonzalo -- "The wireless telegraph is not dificult to understand. The ordinary telegraph is like a very long cat. You pull the tail in New York and it meows in Los Angeles. The wireless is the same, only without the cat" -Albert From bvv" Hello there, I was interested in knowing if there is an IDE using which we can step through both managed code and unmanaged code. Basically i am interested in stepping through a managed application and into the corlib classes it uses and into the icalls that corlib functions use, all using the same debugger. Can the Mono Debugger help in this? If not are you aware of any other debugger that can do this. Many thanks in advance vivek _______________________________________________________________________ Odomos - the only mosquito protection outside 4 walls - Click here to know more! http://r.rediff.com/r?http://clients.rediff.com/odomos/Odomos.htm&&odomos&&wn From rafaelteixeirabr@hotmail.com Sat Mar 15 19:23:13 2003 From: rafaelteixeirabr@hotmail.com (A Rafael D Teixeira) Date: Sat, 15 Mar 2003 16:23:13 -0300 Subject: [Mono-list] Mono Message Queque? Message-ID: My Message Queue project (MonoQLE) now resides in Sourceforge, but it progressed very little, because of a dearth of volunteers. But it still wants to be a queueing backend for Mono, and Linux in general. http://sourceforge.net/projects/monoqle/ Help wanted, Rafael Teixeira Brazilian Polymath Mono, MonoQLE Hacker _________________________________________________________________ The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail From fd0h1440@yahoo.co.uk Sat Mar 15 19:29:00 2003 From: fd0h1440@yahoo.co.uk (fd) Date: 15 Mar 2003 19:29:00 +0000 Subject: [Mono-list] Remoting CORBA support In-Reply-To: <20030314112949.GG918@debian.org> References: <20030314112949.GG918@debian.org> Message-ID: <1047756540.2026.16.camel@localhost.localdomain> On Fri, 2003-03-14 at 11:29, Paolo Molaro wrote: > I only tryed compiling the code and it's as simple as: > mcs /target:library -o Remoting.Corba.dll *.cs > in the RemotingCorbaLibrary directory. It compiled fine. I tried it against the CORBA example tarball provided at http://www-106.ibm.com/developerworks/linux/library/l-gn-cor/?dwzone=linux I modified EchoClient.cs to use the HelloWorld interface provided by the article. The sample server (written in C) generates an IOR, which EchoClient.cs loads from file. However, it hits an exception when run: Exception: System.NullReferenceException: A null value was found where an object instance was required in <0x00066> 00 System.Runtime.Remoting.TypeInfo:.ctor (System.Type) in <0x0003d> 00 System.Runtime.Remoting.ObjRef:.ctor (System.Type,string,object)in <0x00037> 00 System.Runtime.Remoting.RemotingServices:Connect (System.Type,string) in <0x00138> 00 Remoting.Corba.Examples.EchoClient.App:Main (string[]) Any Remoting gurus care to take this on? > There were people in the Mono project that considered working on > something like what you did: I don't know what the status is with > that, but maybe now that there is a good starting point they could join > forces with you and contribute to your project. AFAIK previous CORBA attempts within Mono were based on wrapping the existing C APIs. A native CORBA implementation that's based around Remoting will of course integrate better with other parts of .NET. From miguel@ximian.com Sat Mar 15 20:28:44 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 15 Mar 2003 15:28:44 -0500 Subject: [Mono-list] lies and microbenmarks (Was: Mono 0.23 windows installer) In-Reply-To: <1047486309.1330.17.camel@localhost.localdomain> References: <20030311213101.17408.65555.Mailman@headcheese.ximian.com> <1047486309.1330.17.camel@localhost.localdomain> Message-ID: <1047760124.3842.89.camel@erandi.boston.ximian.com> Hello, > I ducked my head in fear when I saw this thread start up... but > apparently this is not a verbotten subject. What is the distinction > between this discussion and the benchmarking that is apparently > forbidden in the license from MS and explicitly discouraged by Miguel on > go-mono? I did not discourage anyone from doing any benchmarks, you might have read that elsewhere. Miguel From miguel@ximian.com Sat Mar 15 20:37:07 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 15 Mar 2003 15:37:07 -0500 Subject: [Mono-list] Remoting CORBA support In-Reply-To: <20030314112949.GG918@debian.org> References: <20030314112949.GG918@debian.org> Message-ID: <1047760626.3842.94.camel@erandi.boston.ximian.com> Hello! This is a great discovery! I was very happy to see this CORBA implementation. The web page is well documented, and am sure we will be able to contribute to this project. Something to keep in mind is that GNOME does need a couple of things: * client/server support: this is because every client is likely going to be a server too. This is due to the fact that we use many "callback" patterns in our interface design. * Connection-reuse. Gnome uses and authenticates bits based on the connection (Michael told me about this). Miguel From parrishmyers@yahoo.com Sat Mar 15 21:06:34 2003 From: parrishmyers@yahoo.com (Parrish M Myers) Date: Sat, 15 Mar 2003 13:06:34 -0800 (PST) Subject: [Mono-list] mono and real-time programming Message-ID: <20030315210634.36358.qmail@web13804.mail.yahoo.com> Hello, I am currently taking a real-time programming class this semester. For the class we are required to do a project. Of which, I want to do it on real-time aspects/considerations of C#. What little information I have found, about the subject, indicate that C# is no good for hard real-time applications, but not much more. Does anyone know some sites for information on the subject? Maybe even how this relates to mono... Anything would be greatly appreciated. I can certainly share any information I find out (if anyone is interested). Thanks Parrish Myers ===== ----------------------------------------------------------- Academia is a little like child | Parrish M. Myers rearing, it provides a chance at | The Wacked Jester immortality without the stretch | parrishmyers@yahoo.com marks -- (unknown source) | ----------------------------------------------------------- __________________________________________________ Do you Yahoo!? Yahoo! Web Hosting - establish your business online http://webhosting.yahoo.com From zak@supernova.org Sat Mar 15 22:52:50 2003 From: zak@supernova.org (Kevin Williams) Date: Sat, 15 Mar 2003 16:52:50 -0600 Subject: [Mono-list] Remoting (was Remoting CORBA support) In-Reply-To: <1047756540.2026.16.camel@localhost.localdomain> Message-ID: <000101c2eb45$9e784c70$73ea0d44@xpbox> > The sample server (written in C) generates an IOR, > which EchoClient.cs loads from file. However, it hits > an exception when run: > > Exception: System.NullReferenceException: A null value > was found where an object instance was required > in <0x00066> 00 System.Runtime.Remoting.TypeInfo:.ctor (System.Type) > in <0x0003d> 00 System.Runtime.Remoting.ObjRef:.ctor (System.Type,string,object) > in <0x00037> 00 System.Runtime.Remoting.RemotingServices:Connect (System.Type,string) > in <0x00138> 00 Remoting.Corba.Examples.EchoClient.App:Main (string[]) > > Any Remoting gurus care to take this on? I'm getting the very same error in my simple remoting client (not using the CORBA stuff at all here). It happens on this line in my source: IMyObject remoteObj = (IMyObject)Activator.GetObject( typeof(IMyObject), "tcp://localhost:5000/MyObject" ); Using Mono 0.23 for Debian from www.debianplanet.org/mono in case that matters. I'll definitely have to check out the CORBA stuff - I've got some existing CORBA objects on my network that would be really cool to access from Mono and .NET! -Zak From tum@veridicus.com Sun Mar 16 06:17:47 2003 From: tum@veridicus.com (Thong (Tum) Nguyen) Date: Sun, 16 Mar 2003 18:17:47 +1200 Subject: [Mono-list] mono and real-time programming In-Reply-To: <20030315210634.36358.qmail@web13804.mail.yahoo.com> Message-ID: <000401c2eb83$c4cfa1a0$3200a8c0@unity> Hard real time is pretty difficult to achieve with languages like C#. You can get close though. The Wonka VM for Java aims to be good enough for most embedded applications. Check it out: http://wonka.acunia.com/wonka.html ^Tum > -----Original Message----- > From: mono-list-admin@lists.ximian.com [mailto:mono-list- > admin@lists.ximian.com] On Behalf Of Parrish M Myers > Sent: Sunday, 16 March 2003 9:07 a.m. > To: mono-list@lists.ximian.com > Subject: [Mono-list] mono and real-time programming > > Hello, > > I am currently taking a real-time programming class this semester. For > the class we are required to do a project. Of which, I want to do it > on real-time aspects/considerations of C#. > > What little information I have found, about the subject, indicate that > C# is no good for hard real-time applications, but not much more. Does > anyone know some sites for information on the subject? Maybe even how > this relates to mono... Anything would be greatly appreciated. I can > certainly share any information I find out (if anyone is interested). > > Thanks > Parrish Myers > > ===== > ----------------------------------------------------------- > Academia is a little like child | Parrish M. Myers > rearing, it provides a chance at | The Wacked Jester > immortality without the stretch | parrishmyers@yahoo.com > marks -- (unknown source) | > ----------------------------------------------------------- > > __________________________________________________ > Do you Yahoo!? > Yahoo! Web Hosting - establish your business online > http://webhosting.yahoo.com > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > > --- > Incoming mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 > --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 From fd0h1440@yahoo.co.uk Sat Mar 15 19:19:55 2003 From: fd0h1440@yahoo.co.uk (fd) Date: 15 Mar 2003 19:19:55 +0000 Subject: [Mono-list] Remoting CORBA support In-Reply-To: <20030314112949.GG918@debian.org> References: <20030314112949.GG918@debian.org> Message-ID: <1047755995.2030.13.camel@localhost.localdomain> On Fri, 2003-03-14 at 11:29, Paolo Molaro wrote: > I only tryed compiling the code and it's as simple as: > mcs /target:library -o Remoting.Corba.dll *.cs > in the RemotingCorbaLibrary directory. It compiled fine. I tried it against the CORBA example tarball provided at http://www-106.ibm.com/developerworks/linux/library/l-gn-cor/?dwzone=linux I modified EchoClient.cs to use the HelloWorld interface provided by the article. The sample server (written in C) generates an IOR, which EchoClient.cs loads from file. However, it hits an exception when run: Exception: System.NullReferenceException: A null value was found where an object instance was required in <0x00066> 00 System.Runtime.Remoting.TypeInfo:.ctor (System.Type) in <0x0003d> 00 System.Runtime.Remoting.ObjRef:.ctor (System.Type,string,object)in <0x00037> 00 System.Runtime.Remoting.RemotingServices:Connect (System.Type,string) in <0x00138> 00 Remoting.Corba.Examples.EchoClient.App:Main (string[]) Any Remoting gurus care to take this on? > There were people in the Mono project that considered working on > something like what you did: I don't know what the status is with > that, but maybe now that there is a good starting point they could join > forces with you and contribute to your project. AFAIK previous CORBA attempts within Mono were based on wrapping the existing C APIs. A native CORBA implementation that's based around Remoting will of course integrate better with other parts of .NET. From martin@gnome.org Sun Mar 16 12:05:33 2003 From: martin@gnome.org (Martin Baulig) Date: 16 Mar 2003 13:05:33 +0100 Subject: [Mono-list] Can Mono Debugger help? In-Reply-To: <20030315190804.30859.qmail@webmail16.rediffmail.com> References: <20030315190804.30859.qmail@webmail16.rediffmail.com> Message-ID: <86smtn1ppu.fsf@einstein.home-of-linux.org> "bvv" writes: > I was interested in knowing if there is an IDE using which we can step through both > managed code and unmanaged code. > Basically i am interested in stepping through a managed application and into the corlib > classes it uses and into the icalls that corlib functions use, all using the same debugger. > > Can the Mono Debugger help in this? > If not are you aware of any other debugger that can do this. Hi, the Mono Debugger can do this, but I just realized that this is currently broken. I'll try to fix it as soon as possible. -- Martin Baulig martin@gnome.org martin@ximian.com From lluis@ideary.com Sun Mar 16 12:51:29 2003 From: lluis@ideary.com (Lluis Sanchez) Date: Sun, 16 Mar 2003 13:51:29 +0100 Subject: [Mono-list] Remoting with interface definition References: <23436D758E4CA54F8EDC2F7DE3B1A28B032211E5@denver.quark.com> Message-ID: <000f01c2ebba$c468c480$97253b50@aticatachome> This is a multi-part message in MIME format. ------=_NextPart_000_000C_01C2EBC3.25715690 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Remoting with interface definitionHi! I also have a patch for this. It will be ready in a couple of days.=20 - Lluis. ----- Original Message -----=20 From: Urs Muff=20 To: 'mono-list@lists.ximian.com'=20 Sent: Saturday, March 15, 2003 12:35 AM Subject: [Mono-list] Remoting with interface definition Using the following concept is not working on mono, but in the MS .Net = framework: Common Lib: intercace IServerObj { string Name { get; } } Client: main() { ChannelServices.RegisterChannel(new TcpChannel(0)); IServerObject server =3D = Activation.GetObject(typeof(IServerObj),"tcp://localhost:8085/Test") as = IServerObject; string name =3D server.Name; } Server: class ServerObject : MarshalByRefObject, IServerObject { public string Name { get { return "Test Server"; } } } main() { ChannelServices.RegisterChannel(new TcpChannel(8085)); = RemotingConfiguration.RegisterWellKnownServiceType(typeof(HelloServer),"T= est",WellKnownObjectMode.Singleton); } This is a very important concept, since it allows hiding the = implementation from the Client. The crash is in corlib : Remoting.TypeInfo (since it assumes to be = derived from object or MarshalByRefObject, which it is not, since it is = a pure interface). Fixing that does not help either since it crashes = later than, since it still assumes it has to be a MarshalByRefObject = (which it eventually should be since it will become a Proxy [right?]). = I'm not that familiar with the mono remoting implementation, but that = seems like a design problem, unless I'm doing something wrong. - Urs C. Muff Systems Architect - Research Lab ------=_NextPart_000_000C_01C2EBC3.25715690 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Remoting with interface definition
Hi!
 
I also have a patch for this. It will = be ready in a=20 couple of days.
 
- Lluis.
 
----- Original Message -----
From:=20 Urs = Muff
Sent: Saturday, March 15, 2003 = 12:35=20 AM
Subject: [Mono-list] Remoting = with=20 interface definition

Using the=20 following concept is not working on mono, but in the MS .Net=20 framework:

Common Lib:

intercace = IServerObj

{

        string Name { get; }

}

Client:

main()

{

        ChannelServices.RegisterChannel(new TcpChannel(0));

IServerObject server = =3D Activation.GetObject(typeof(IServerObj),"tcp://localhost:8085/Test") as IServerObject;

string name =3D = server.Name;

}

Server:

class ServerObject = : MarshalByRefObject, IServerObject

{

        public string Name { get { return "Test Server"; } }

}

main()

{

        ChannelServices.RegisterChannel(new TcpChannel(8085));

        RemotingConfiguration.RegisterWellKnownServiceType(typeof(HelloServer),"Test",WellKnownObjectMode.Singleton);

}

This is a very important = concept, since=20 it allows hiding the implementation from the Client.

The crash is in corlib :=20 Remoting.TypeInfo (since it assumes to be derived from object or=20 MarshalByRefObject, which it is not, since it is a pure=20 interface).  Fixing that does = not help=20 either since it crashes later than, since it still assumes it has to = be a=20 MarshalByRefObject (which it eventually should be since it will become = a Proxy=20 [right?]).  I'm not that familiar with = the mono=20 remoting implementation, but that seems like a design problem, unless=20 I'm doing=20 something wrong.

- Urs C. Muff

Systems = Architect       - Research Lab

------=_NextPart_000_000C_01C2EBC3.25715690-- From martin@gnome.org Sun Mar 16 19:29:04 2003 From: martin@gnome.org (Martin Baulig) Date: 16 Mar 2003 20:29:04 +0100 Subject: [Mono-list] Can Mono Debugger help? In-Reply-To: <86smtn1ppu.fsf@einstein.home-of-linux.org> References: <20030315190804.30859.qmail@webmail16.rediffmail.com> <86smtn1ppu.fsf@einstein.home-of-linux.org> Message-ID: <86d6kr156n.fsf@einstein.home-of-linux.org> > "bvv" writes: > > > I was interested in knowing if there is an IDE using which we can step through both > > managed code and unmanaged code. > > Basically i am interested in stepping through a managed application and into the corlib > > classes it uses and into the icalls that corlib functions use, all using the same debugger. > > > > Can the Mono Debugger help in this? > > If not are you aware of any other debugger that can do this. Hi, I got this almost working, but I still need to fix one little thing and add the help text to explain how that's done. I'll post some more info next week when I'm back from my vacations. -- Martin Baulig martin@gnome.org martin@ximian.com From exilion@yifan.net Sun Mar 16 08:31:16 2003 From: exilion@yifan.net (Pablo Fischer) Date: 16 Mar 2003 14:31:16 +0600 Subject: [Mono-list] Glade# =?ISO-8859-1?Q?=BFMore?= Documentation? In-Reply-To: <000f01c2ebba$c468c480$97253b50@aticatachome> References: <23436D758E4CA54F8EDC2F7DE3B1A28B032211E5@denver.quark.com> <000f01c2ebba$c468c480$97253b50@aticatachome> Message-ID: <1047803475.501.6.camel@pablo.fischer.com.mx> Hello! Now that I have time to start building an application (A point of Sale in México) and now I have ready my interface.glade xml and I can run it in Mono I have some questions: 1. Where could I found more documentation of glade#?.. like GetText (of textfields or textareas)?. Cause the docs that I have found are of a very basic level (just how to call the glade files). 2. Also, where could I found more examples of glade#? exists some 'complete' application(s) in glade#?. Thanks -- Pablo Fischer From johannes@jroith.de Sun Mar 16 22:14:33 2003 From: johannes@jroith.de (Johannes Roith) Date: Sun, 16 Mar 2003 23:14:33 +0100 Subject: [Mono-list] =?iso-8859-1?Q?AW:_=5BMono-list=5D_Glade#_=BFMore_Documentation=3F?= In-Reply-To: <1047803475.501.6.camel@pablo.fischer.com.mx> Message-ID: <000001c2ec09$6c91a3e0$2100a8c0@ROITH> | 1. Where could I found more documentation of glade#?.. like GetText (of | textfields or textareas)?. Cause the docs that I have found are of a | very basic level (just how to call the glade files). Hmm. That is not really in glade#. All Widgets, that have the [Glade.Widget] Attribute are accessible just like normal gtk+ Widgets. You'll most likely want to have some Gtk+ docs. Johannes From exilion@yifan.net Sun Mar 16 10:24:31 2003 From: exilion@yifan.net (Pablo Fischer) Date: 16 Mar 2003 16:24:31 +0600 Subject: [Mono-list] AW: [Mono-list] Glade# =?ISO-8859-1?Q?=BFMore?= Documentation? In-Reply-To: <000001c2ec09$6c91a3e0$2100a8c0@ROITH> References: <000001c2ec09$6c91a3e0$2100a8c0@ROITH> Message-ID: <1047810270.499.25.camel@pablo.fischer.com.mx> Hello; Thanks for your answer, now with that answer I can continue. Also helps me to look the code of monodoc/gsirc/platano and get some ideas of how can I do what I want. Thanks! El lun, 17 de 03 de 2003 a las 04:14, Johannes Roith escribió: > | 1. Where could I found more documentation of glade#?.. like GetText > (of > | textfields or textareas)?. Cause the docs that I have found are of a > | very basic level (just how to call the glade files). > > Hmm. That is not really in glade#. > All Widgets, that have the [Glade.Widget] Attribute are accessible just > like normal gtk+ Widgets. > > You'll most likely want to have some Gtk+ docs. > > Johannes > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list -- Pablo Fischer From miguel@ximian.com Mon Mar 17 03:14:53 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 16 Mar 2003 22:14:53 -0500 Subject: [Mono-list] Remoting CORBA support In-Reply-To: <001101c2ebf3$7f054fb0$eb00a8c0@LUGOSI> References: <001101c2ebf3$7f054fb0$eb00a8c0@LUGOSI> Message-ID: <1047870892.3842.213.camel@erandi.boston.ximian.com> Hello, > I do plan to incorporate server-side support once I get some of the more > basic issues resolved. I am reluctant to add server-side support until I > take steps to make Remoting.Corba more robust in the face of buggy or > malicious CORBA clients. Very nice to hear. > Regarding the connection-reuse issue: can you be more specific about how > Gnome "authenticates bits based on the connection"? Does this mechanism use > standard CORBA mechanisms, or is it something proprietary to Gnome? My mistake. Michael said that the connection was used to provide lifetime services as opposed to be related to authentication. In Gnome 1.x we used a profile to encode a shared secret in the IIOP request to get security working, am not sure how this works in the new version of Gnome. Miguel From 425009@sina.com Mon Mar 17 04:11:20 2003 From: 425009@sina.com (arm) Date: Mon, 17 Mar 2003 12:11:20 +0800 Subject: [Mono-list] (no subject) Message-ID: <20030317041614.5E39E124048@listsmx.ximian.com> Hello everyone ,I have a question? how to write a I18N= appliaction(or local application) use mono or GTK#? plz show me a sample. =A1=A1=A1=A1 =09=09=09=09 =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1arm =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1425009@sina.com =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A12003-03-17 From duncan@ximian.com Mon Mar 17 06:53:56 2003 From: duncan@ximian.com (Duncan Mak) Date: 17 Mar 2003 01:53:56 -0500 Subject: [Mono-list] Python.NET Message-ID: <1047884036.8079.0.camel@diphthong> I saw this when I was reading my daily list of blogs: http://www.zope.org/Members/Brian/PythonNet/index_html Duncan. From kris@kristopherjohnson.net Sun Mar 16 19:37:35 2003 From: kris@kristopherjohnson.net (Kristopher Johnson) Date: Sun, 16 Mar 2003 14:37:35 -0500 Subject: [Mono-list] Remoting CORBA support In-Reply-To: <1047760626.3842.94.camel@erandi.boston.ximian.com> Message-ID: <001101c2ebf3$7f054fb0$eb00a8c0@LUGOSI> I do plan to incorporate server-side support once I get some of the more basic issues resolved. I am reluctant to add server-side support until = I take steps to make Remoting.Corba more robust in the face of buggy or malicious CORBA clients. Regarding the connection-reuse issue: can you be more specific about how Gnome "authenticates bits based on the connection"? Does this mechanism = use standard CORBA mechanisms, or is it something proprietary to Gnome? -- Kris > -----Original Message----- > From: Miguel de Icaza [mailto:miguel@ximian.com]=20 > Sent: Saturday, March 15, 2003 3:37 PM > To: Paolo Molaro > Cc: kris@kristopherjohnson.net; mono-list@lists.ximian.com > Subject: Re: [Mono-list] Remoting CORBA support >=20 >=20 > Hello! >=20 > This is a great discovery! I was very happy to see this=20 > CORBA implementation. The web page is well documented, and=20 > am sure we will be able to contribute to this project. =20 > Something to keep in mind is that GNOME does need a couple of things: >=20 > * client/server support: this is because every client is likely > going to be a server too. This is due to the fact that we > use many "callback" patterns in our interface design. >=20 > * Connection-reuse. Gnome uses and authenticates bits based=20 > on the connection (Michael told me about this). >=20 > Miguel >=20 From kojoadams@hotmail.com Mon Mar 17 11:31:50 2003 From: kojoadams@hotmail.com (kojoadams) Date: Mon, 17 Mar 2003 06:31:50 -0500 Subject: [Mono-list] mono errors Message-ID: hi all, when I run any .net program under mono, mono exits with the error: ** ERROR **: file jit.c: line 4100 (mono_get_lmf_addr): should not be reached aborting... I run mono on a redhat 7.3 installation. the mono_jit_tls_id at this point of the file is 0and TLS_keys is {0, 1, 2, 0 }. I do know any other info that will be needed to trace the error. kojo From dick@ximian.com Mon Mar 17 11:51:18 2003 From: dick@ximian.com (Dick Porter) Date: 17 Mar 2003 11:51:18 +0000 Subject: [Mono-list] mono errors In-Reply-To: References: Message-ID: <1047901877.13593.12.camel@hagbard.apathetic.discordia.org.uk> On Mon, 2003-03-17 at 11:31, kojoadams wrote: > hi all, > when I run any .net program under mono, mono exits with the error: > ** ERROR **: file jit.c: line 4100 (mono_get_lmf_addr): should not be > reached > aborting... > > I run mono on a redhat 7.3 installation. > > the mono_jit_tls_id at this point of the file is 0and TLS_keys is {0, 1, 2, > 0 }. I do know any other info that will be needed to trace > the error. The version of mono you are using, and a simple test case. If its repeatable on the latest release of mono, please submit a report including test case to http://bugzilla.ximian.com - Dick From lupus@ximian.com Mon Mar 17 11:22:09 2003 From: lupus@ximian.com (Paolo Molaro) Date: Mon, 17 Mar 2003 12:22:09 +0100 Subject: [Mono-list] regsvr32 In-Reply-To: References: <20030314172609.GN918@debian.org> Message-ID: <20030317112208.GU918@debian.org> On 03/14/03 Andy Satori wrote: > The equivalent to regsvr32 in .NET is RegSvcs. However, that's for COM+ > assemblies. > > In the Mono world, it would be useless to register a COM dll. You would > want the equivalent of the GacUtil to load an assembly in the Global > Assembly Cache. Ok. *) In mono we don't support COM so registering a COM assembly doesn't make sense until someone implements the needed code. *) The profiling interface needs to be implemented with native code (both with the mono and MS runtime). *) If someone has a COM library that implements the profiling interface of the MS runtime, that code is not going to work as is in mono (even a recompile is not enough, because the interface is not the same). *) If someone wants to use his own profiling code with the mono runtime, he needs to hook it up in metadata/profiler.c, like the simple profiler already included there. *) In the future we will support loading a profiling module from a shared library: when the code for such a feature will be written, all you have to do is to install the shared library like any other shared library (no need for regsvr32 or the like). Writing the support for loading the profiling module is easy, but I haven't written it yet, because it requires a mono runtime linked dynamically to libmono and we currently link it statically. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From daniel@rawbyte.com Mon Mar 17 13:42:46 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Mon, 17 Mar 2003 05:42:46 -0800 Subject: [Mono-list] Rewriting path with an HttpModule Message-ID: <20030317134246.GA4810@rawbyte.com> --82I3+IH0IqGh5yIs Content-Type: text/plain; charset=us-ascii Content-Disposition: inline As mentioned earlier, I am developing an ASP.NET HttpModule that maps URLs like ~/username/foo/bar.aspx to the file on disk /home/username/public_html/foo/bar.aspx In a similar way to how Apache mod_userdir does. That requires implementing RewritePath and changing the PhysicalFilePath returned, small changes that I already commited. The problem that I am running into is that some parts of the current codebase assume that that file path does not change in the life of the request and that is also rooted on AppPath. I am looking for the minimal changes to get this to work, I attach a small pacth that works, but since I am not familiar with that part of the codebase, can you have a look before I apply? I also attach the sample module and a makefile. To test this, you will need to copu UserDir.dll to where your other dlls are and add the following to your machine.config in the section --82I3+IH0IqGh5yIs Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=patch Index: class/System.Web/System.Web.Compilation/AspGenerator.cs =================================================================== RCS file: /cvs/public/mcs/class/System.Web/System.Web.Compilation/AspGenerator.cs,v retrieving revision 1.32 diff -u -r1.32 AspGenerator.cs --- class/System.Web/System.Web.Compilation/AspGenerator.cs 10 Mar 2003 06:41:26 -0000 1.32 +++ class/System.Web/System.Web.Compilation/AspGenerator.cs 17 Mar 2003 13:11:45 -0000 @@ -1908,8 +1908,13 @@ if (templatePath == appPath) return "/"; + if (templatePath.StartsWith(appPath)) { + templatePath = templatePath.Substring (appPath.Length); + } else { + // If it is a rewrite, assume it is application path for now + return "/"; + } - templatePath = templatePath.Substring (appPath.Length); if (Path.DirectorySeparatorChar != '/') templatePath = templatePath.Replace (Path.DirectorySeparatorChar, '/'); Index: class/System.Web/System.Web.UI/TemplateControlParser.cs =================================================================== RCS file: /cvs/public/mcs/class/System.Web/System.Web.UI/TemplateControlParser.cs,v retrieving revision 1.4 diff -u -r1.4 TemplateControlParser.cs --- class/System.Web/System.Web.UI/TemplateControlParser.cs 18 Dec 2002 02:17:17 -0000 1.4 +++ class/System.Web/System.Web.UI/TemplateControlParser.cs 17 Mar 2003 13:11:45 -0000 @@ -19,7 +19,10 @@ internal object GetCompiledInstance (string virtualPath, string inputFile, HttpContext context) { Context = context; - InputFile = MapPath (virtualPath); + if (inputFile == null) { + inputFile = MapPath (virtualPath); + } + InputFile = inputFile; Type type = CompileIntoType (); if (type == null) return null; --82I3+IH0IqGh5yIs Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="makedll.mak" CSC=mcs CSCFLAGS+= /debug+ /debug:full /nologo # REFERENCES= System.Web REFS= $(addsuffix .dll, $(addprefix /r:, $(REFERENCES))) SOURCES = UserDir.cs all: UserDir.dll UserDir.dll: $(SOURCES) $(CSC) $(CSCFLAGS) $(REFS) /target:library /out:$@ $^ clean: rm -f UserDir.dll *~ *.pdb *.dbg --82I3+IH0IqGh5yIs Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="UserDir.cs" using System; using System.Web; using System.IO; namespace ModMono.Examples { public class UserDir : IHttpModule { private HttpApplication httpApp; public void Init(HttpApplication application) { httpApp = application; httpApp.BeginRequest += new EventHandler(this.UserDirHandler); } private void UserDirHandler(object sender, EventArgs e) { String path = httpApp.Request.Path; if (path == null) { return; } if (!path.StartsWith("/~") || (path.Length == 2)) { return; } int index = path.IndexOf('/', 2); string username, remaining; if (index == -1) { username = path.Substring(2); remaining = "/"; } else { username = path.Substring(2,index - 1); remaining = path.Substring(index); } if (username[0] == '.') { return; } // Todo: More security checks (make sure final path // does not go outside /home/username/public_html) string translated = Path.Combine("/home/" + username, "public_html" + remaining); httpApp.Context.RewritePath(translated); } public void Dispose() { } } } --82I3+IH0IqGh5yIs-- From lupus@ximian.com Mon Mar 17 11:05:58 2003 From: lupus@ximian.com (Paolo Molaro) Date: Mon, 17 Mar 2003 12:05:58 +0100 Subject: [Mono-list] mono and real-time programming In-Reply-To: <20030315210634.36358.qmail@web13804.mail.yahoo.com> References: <20030315210634.36358.qmail@web13804.mail.yahoo.com> Message-ID: <20030317110558.GT918@debian.org> On 03/15/03 Parrish M Myers wrote: > I am currently taking a real-time programming class this semester. For > the class we are required to do a project. Of which, I want to do it > on real-time aspects/considerations of C#. > > What little information I have found, about the subject, indicate that > C# is no good for hard real-time applications, but not much more. Does > anyone know some sites for information on the subject? Maybe even how > this relates to mono... Anything would be greatly appreciated. I can > certainly share any information I find out (if anyone is interested). When garbage collection enters the picture, it's hard to keep up with the requirements of hard realtime (assuming the operating system you're using supports it) and other issues that are related to how the CLR works (like compilation of methods on the fly). You can reduce the compilation overhead by telling the runtime to pre-compile methods (either programmatically or with a ngen-like utility). The GC issue is harder to solve: you can set the env var GC_DONT_GC before starting the app. This will disable garbage collection so you need to ensure the application has a bounded use of memory or it can be restarted at some safe point etc. The other solution would be to start a separate thread that is not under the control of the garbage collector and you need to either ensure all the objects used in such a thread are referenced from some other thread so they are kept alive or you don't run managed code in it. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From jaime@gnome.org Mon Mar 17 15:39:22 2003 From: jaime@gnome.org (Jaime Anguiano Olarra) Date: 17 Mar 2003 16:39:22 +0100 Subject: [Mono-list] MWN, March 7th -> 16th Message-ID: <1047915561.626.12.camel@monoer> Hi all!, A new issue of the MWN has been published. We have some amazing news as having XML deserialization in the CVS, UUEncoding for System.Web.Mail and a must read interview with Alp Toker, the force behind Platano, Acacia and Mono4Debian!. Get it here: http://monoevo.sf.net/mwn/index.html Cheers, Jaime. -- http://www.go-mono.org -- The Mono Project, .net + freedom. From gkodinov@openlinksw.co.uk Mon Mar 17 16:40:59 2003 From: gkodinov@openlinksw.co.uk (George Kodinov) Date: Mon, 17 Mar 2003 18:40:59 +0200 Subject: [Mono-list] Small diff to allow IBuySpy running off a virtual directory + a typecast fix Message-ID: <3E75FA9B.1020802@openlinksw.co.uk> This is a multi-part message in MIME format. --------------010605060608040107030106 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Hi, Here're a set of one-line diffs for mono System.Web classes. They allow correct execution of normally deployed (i.e. no dll copying etc) IBuySpy in non-root virtual directory. Best Regards, George Kodinov OpenLink Software (www.openlinksw.com). --------------010605060608040107030106 Content-Type: application/x-tar; name="diff2.diff.gz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="diff2.diff.gz" H4sICBf5dT4AA2RpZmYyLmRpZmYAzVdtb9s2EP4sAf0P13xo7ciW5de0SlM4ceLMW9sFzYoN GIaBlmibiEQKFGUnK/bfd5RkW07s+GXAMiOxZL7cPUc+9xw54D69d8ELSBzXbh9iRUP7Vzos vNo9EUYsIIoJXrsgMc1+U2l7sXn27z/m194tjNCgC7VQcFELvbh2IJ7K1JRUSUanjI9B4iPG UVC326bPRiOoXkB1CNUEqhLb4HE01Wr10JUw6g58JhIajtMEp+O26m6jA1UHP4Z2b1nW4aZP lqbrHbfZdJ1WZtrsdqHaaVXQuYWPd9DtmmAYUTIMmAdTJlVCAohxRXA55iZ/jrSXGL7rocaY qvzNyMchSBqiARrDGfh0RJJA/blsPDWrhcGRZFOi6A1RExx9HkWXIiSM271ESspV/uuWqiQa 8JGQYRqifZNNu2Bcz8xN1mr9wW+fr1zcuFBMKagJBU7vFQSMUxDcoxAiFhYFFEgU+antGDzC YSbkHSiBwUyozKyxEZRW0J0BT4Kg/Ajy0ZDxowUA09oYm37obRpqMCXTgq0fTmfwTTIo7bws OBA3Ln3XJCjbn4RHAu25UkRTPs027HGIr7MQ4c0buGSSekrIB/vqnsUqXhlYLs+33LhNQ71I WOBTCfEQA9WwV5tLy92fuzYQNCXeBEr5YukM/kJCCowXnF9T1ceOVfcVODq2/SA4KpfNwX76 05sQPqafxPjFlWeBZKPmtFprRKfVgmUM++jNYtbzSoNO95GagtWnItMuiEy90gSrXjnRCmPp QVX8wznXVMgxhZ+Ez7iYwofxXfbWFRHlmLd38cz2hJ3cfTStZc4cP5ZeF76mOe8DgVwECMcf vp82eUJqRmGqB16SQQcx0iLwNp4nBmBiQoT0QkewQOgAXAv+FwkEJjBnZJwQ+JFMGbL6wzjr 6N6zkBGOMMOPJiC9j+E8jq4pp5IgiTW6XWj6g4gVMqC2SPY+yXLghcrkM3g2U3YdY2FdRNuo +4x3TbU+HWZUazhuu+U2WksCb+XvFtPPsth5X3mPPE4fWa00Yi3CReVNVexMk0u/ZXqXi9yM DnuCj9g4H7NaE3BGLm8appcOPMoFU0u1VsKFHK+YQiHMimqKJWtPZIpGT9JlqmDyNK9SGwev 2M780yCmW33M9vCxKfTZauiL4H2G+ft6XoPz8qMb7XPfx+50Jy+JIvC784euEHr6Hmn3spXh CYqNKVZ31uQYytTuVeGJr+cTCh3umlH/aTXIS0GxKKzJaBeigHjZWXBeBUb6jKOVHvAQAsvE gNmEcn3+KCQzTDC2ZUVoaJQHVYR10AquFbmjuhRRj/pUn1SxmElYJoO9C5e/DfQDs01JEcQv TOlNYDYzu7mW2s19uL3JqVFvLynutFznnYt2FxRvbuf4ZstPqd7ZgeqHcH2F7N84UymLeiQI 8JRTZHiI9xiBTQL09Uz3fElCKvFOF+gLAU2Jr5t9gVc9PY8j3fQ+rFC9fRDVLxKlBO+JIAl5 CnDE7vNTWKKvXnjwYkhphE8RjoiQ9QJBhHF6ZMPrDV4ZDmB7vh7/B67nUDYy/WQNz0/mG7ov x/NpBh7iz5Ox3rwGOA232SmK+Mm+/J5b3cLuRltT28oe2YHo+6u8ZpcG8VUYqYdy1mDgWiSS 51dDO+06fZWeKfKeEkxJYP8ishElPKljMy2Dhbmissa+FOEN0ikoqYcIu8powdpmwUbyD6ns p9fkreYQ69/6W3/h/z+bxi7E4RIAAA== --------------010605060608040107030106-- From gonzalo@ximian.com Mon Mar 17 17:46:59 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 17 Mar 2003 18:46:59 +0100 Subject: [Mono-list] Small diff to allow IBuySpy running off a virtual directory + a typecast fix In-Reply-To: <3E75FA9B.1020802@openlinksw.co.uk> References: <3E75FA9B.1020802@openlinksw.co.uk> Message-ID: <1047923218.588.24.camel@portatil> El lun, 17 de 03 de 2003 a las 17:40, George Kodinov escribió: > Hi, > > Here're a set of one-line diffs for mono System.Web classes. > > They allow correct execution of normally deployed (i.e. no dll copying > etc) IBuySpy in non-root virtual directory. Just one question: + string privatePath = Path.Combine ( + new Uri (AppDomain.CurrentDomain.SetupInformation.ApplicationBase).LocalPath, privatePath); Isn't that the same as: Path.Combine (AppDomain.CurrentDomain.SetupInformation.ApplicationBase, privatePath) ? -- "The wireless telegraph is not dificult to understand. The ordinary telegraph is like a very long cat. You pull the tail in New York and it meows in Los Angeles. The wireless is the same, only without the cat" -Albert From gonzalo@ximian.com Mon Mar 17 17:57:23 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 17 Mar 2003 18:57:23 +0100 Subject: [Mono-list] Small diff to allow IBuySpy running off a virtual directory + a typecast fix In-Reply-To: <1047923218.588.24.camel@portatil> References: <3E75FA9B.1020802@openlinksw.co.uk> <1047923218.588.24.camel@portatil> Message-ID: <1047923842.585.30.camel@portatil> Ugh. Forget about my previous mail. I'll commit your patch. Thanks George! From jaime@gnome.org Mon Mar 17 15:39:22 2003 From: jaime@gnome.org (Jaime Anguiano Olarra) Date: Mon, 17 Mar 2003 16:39:22 +0100 Subject: [Mono-list] [Mono-announce-list] MWN, March 7th -> 16th Message-ID: <1047915561.626.12.camel@monoer> Hi all!, A new issue of the MWN has been published. We have some amazing news as having XML deserialization in the CVS, UUEncoding for System.Web.Mail and a must read interview with Alp Toker, the force behind Platano, Acacia and Mono4Debian!. Get it here: http://monoevo.sf.net/mwn/index.html Cheers, Jaime. -- http://www.go-mono.org -- The Mono Project, .net + freedom. _______________________________________________ Mono-announce-list maillist - Mono-announce-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-announce-list From gkodinov@openlinksw.co.uk Mon Mar 17 18:17:58 2003 From: gkodinov@openlinksw.co.uk (George Kodinov) Date: Mon, 17 Mar 2003 20:17:58 +0200 Subject: [Mono-list] Small diff to allow IBuySpy running off a virtual directory + a typecast fix In-Reply-To: <1047923842.585.30.camel@portatil> References: <3E75FA9B.1020802@openlinksw.co.uk> <1047923218.588.24.camel@portatil> <1047923842.585.30.camel@portatil> Message-ID: <3E761156.2000506@openlinksw.co.uk> Gonzalo, I've actualy made a typo here : It should be : - string privatePath = AppDomain.CurrentDomain.SetupInformation.PrivateBinPath; - //FIXME: remove the next line once multiple appdomains can work together - if (privatePath == null) privatePath = "bin"; - // + string privatePath = Path.Combine ( + new Uri (AppDomain.CurrentDomain.SetupInformation.ApplicationBase).LocalPath, AppD omain.CurrentDomain.SetupInformation.PrivateBinPath); Sorry - this happends, when one is in a hurry :-) Best Regards, George Kodinov Gonzalo Paniagua Javier wrote: >Ugh. Forget about my previous mail. > >I'll commit your patch. > >Thanks George! > > >_______________________________________________ >Mono-list maillist - Mono-list@lists.ximian.com >http://lists.ximian.com/mailman/listinfo/mono-list > > > From gonzalo@ximian.com Mon Mar 17 18:31:19 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 17 Mar 2003 19:31:19 +0100 Subject: [Mono-list] Small diff to allow IBuySpy running off a virtual directory + a typecast fix In-Reply-To: <3E761156.2000506@openlinksw.co.uk> References: <3E75FA9B.1020802@openlinksw.co.uk> <1047923218.588.24.camel@portatil> <1047923842.585.30.camel@portatil> <3E761156.2000506@openlinksw.co.uk> Message-ID: <1047925879.585.33.camel@portatil> El lun, 17 de 03 de 2003 a las 19:17, George Kodinov escribió: > Gonzalo, > > I've actualy made a typo here : > It should be : It's fixed now. I also realized that our System.Uri is buggy and added a couple of hacks until it works. Without them, samples such as codebehind1.aspx didn't work. Thanks! -- "The wireless telegraph is not dificult to understand. The ordinary telegraph is like a very long cat. You pull the tail in New York and it meows in Los Angeles. The wireless is the same, only without the cat" -Albert From revision17@phreaker.net Mon Mar 17 21:55:27 2003 From: revision17@phreaker.net (revision17) Date: Mon, 17 Mar 2003 16:55:27 -0500 Subject: [Mono-list] [Mono-announce-list] MWN, March 7th -> 16th References: <1047915561.626.12.camel@monoer> Message-ID: <003801c2eccf$ebf591c0$0300a8c0@number17box> Just a request for future MWNs. Do you think that you can break up large chunks of text into paragraphs? It would make it much easier to read. ----- Original Message ----- From: "Jaime Anguiano Olarra" To: "mono-announce" ; "mono-list" Sent: Monday, March 17, 2003 10:39 AM Subject: [Mono-list] [Mono-announce-list] MWN, March 7th -> 16th > Hi all!, > > A new issue of the MWN has been published. We have some > amazing news as having XML deserialization in the CVS, UUEncoding for > System.Web.Mail and a must read interview with Alp Toker, the force > behind Platano, Acacia and Mono4Debian!. > > Get it here: http://monoevo.sf.net/mwn/index.html > > Cheers, > > Jaime. > > -- > http://www.go-mono.org -- The Mono Project, .net + freedom. > _______________________________________________ > Mono-announce-list maillist - Mono-announce-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-announce-list > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From revision17@phreaker.net Mon Mar 17 21:55:27 2003 From: revision17@phreaker.net (revision17) Date: Mon, 17 Mar 2003 16:55:27 -0500 Subject: [Mono-list] [Mono-announce-list] MWN, March 7th -> 16th References: <1047915561.626.12.camel@monoer> Message-ID: <003801c2eccf$ebf591c0$0300a8c0@number17box> Just a request for future MWNs. Do you think that you can break up large chunks of text into paragraphs? It would make it much easier to read. ----- Original Message ----- From: "Jaime Anguiano Olarra" To: "mono-announce" ; "mono-list" Sent: Monday, March 17, 2003 10:39 AM Subject: [Mono-list] [Mono-announce-list] MWN, March 7th -> 16th > Hi all!, > > A new issue of the MWN has been published. We have some > amazing news as having XML deserialization in the CVS, UUEncoding for > System.Web.Mail and a must read interview with Alp Toker, the force > behind Platano, Acacia and Mono4Debian!. > > Get it here: http://monoevo.sf.net/mwn/index.html > > Cheers, > > Jaime. > > -- > http://www.go-mono.org -- The Mono Project, .net + freedom. > _______________________________________________ > Mono-announce-list maillist - Mono-announce-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-announce-list > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From revision17@phreaker.net Mon Mar 17 21:55:27 2003 From: revision17@phreaker.net (revision17) Date: Mon, 17 Mar 2003 16:55:27 -0500 Subject: [Mono-list] [Mono-announce-list] MWN, March 7th -> 16th References: <1047915561.626.12.camel@monoer> Message-ID: <003801c2eccf$ebf591c0$0300a8c0@number17box> Just a request for future MWNs. Do you think that you can break up large chunks of text into paragraphs? It would make it much easier to read. ----- Original Message ----- From: "Jaime Anguiano Olarra" To: "mono-announce" ; "mono-list" Sent: Monday, March 17, 2003 10:39 AM Subject: [Mono-list] [Mono-announce-list] MWN, March 7th -> 16th > Hi all!, > > A new issue of the MWN has been published. We have some > amazing news as having XML deserialization in the CVS, UUEncoding for > System.Web.Mail and a must read interview with Alp Toker, the force > behind Platano, Acacia and Mono4Debian!. > > Get it here: http://monoevo.sf.net/mwn/index.html > > Cheers, > > Jaime. > > -- > http://www.go-mono.org -- The Mono Project, .net + freedom. > _______________________________________________ > Mono-announce-list maillist - Mono-announce-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-announce-list > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From gonzalo@ximian.com Tue Mar 18 00:07:27 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 18 Mar 2003 01:07:27 +0100 Subject: [Mono-list] Rewriting path with an HttpModule In-Reply-To: <20030317134246.GA4810@rawbyte.com> References: <20030317134246.GA4810@rawbyte.com> Message-ID: <1047946047.15024.29.camel@portatil> El lun, 17 de 03 de 2003 a las 14:42, Daniel Lopez escribió: > As mentioned earlier, I am developing an ASP.NET HttpModule that maps URLs like > > ~/username/foo/bar.aspx /~username/.... Well, in this case, the application host running the module must be running on '/' virtual directory, since MS does not allow that the path passed to HttpContext.RewritePath is from another application (i just tested it under MS+IIS and it says "The virtual path 'xxx' maps to another application, which is not allowed" (btw, i'll change RewritePath to behave as MS after some more testing)). > > to the file on disk > > /home/username/public_html/foo/bar.aspx > > In a similar way to how Apache mod_userdir does. > That requires implementing RewritePath and changing the PhysicalFilePath > returned, small changes that I already commited. > The problem that I am running into is that some parts of the current codebase > assume that that file path does not change in the life of the request and > that is also rooted on AppPath. There are probably a few fields returned from properties that are filled on the first use of the property. Those fields have to be set to null in RewritePath. I'll try to fix this too. > I am looking for the minimal changes to get this to work, I attach a small > pacth that works, but since I am not familiar with that part of the > codebase, can you have a look before I apply? The path passed to rewrite path must be relative to the application host base path (--root in server.exe), so UserDir.cs is wrong because it passes the full path to the file instead of a virtual path. (MS says "c:\xxx" is a physical path") (heh, and they say that they throw an ArgumentNullException when the path is null but i get a NullReferenceException :). I don't think that hacking the generator is a good idea. For example, the developer can provide his/her own .dll with a TemplateSourceDirectory override. > > I also attach the sample module and a makefile. To test this, you will > need to copu UserDir.dll to where your other dlls are and add the following > to your machine.config in the section > > After fixing RewritePath, i'll modify it and send it back to you. Btw, I've found an interesing link (god bless google!): http://www.codeproject.com/aspnet/URLRewriter.asp Thanks! -Gonzalo From revision17@phreaker.net Mon Mar 17 21:55:27 2003 From: revision17@phreaker.net (revision17) Date: Mon, 17 Mar 2003 16:55:27 -0500 Subject: [Mono-list] [Mono-announce-list] MWN, March 7th -> 16th References: <1047915561.626.12.camel@monoer> Message-ID: <003801c2eccf$ebf591c0$0300a8c0@number17box> Just a request for future MWNs. Do you think that you can break up large chunks of text into paragraphs? It would make it much easier to read. ----- Original Message ----- From: "Jaime Anguiano Olarra" To: "mono-announce" ; "mono-list" Sent: Monday, March 17, 2003 10:39 AM Subject: [Mono-list] [Mono-announce-list] MWN, March 7th -> 16th > Hi all!, > > A new issue of the MWN has been published. We have some > amazing news as having XML deserialization in the CVS, UUEncoding for > System.Web.Mail and a must read interview with Alp Toker, the force > behind Platano, Acacia and Mono4Debian!. > > Get it here: http://monoevo.sf.net/mwn/index.html > > Cheers, > > Jaime. > > -- > http://www.go-mono.org -- The Mono Project, .net + freedom. > _______________________________________________ > Mono-announce-list maillist - Mono-announce-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-announce-list > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From revision17@phreaker.net Tue Mar 18 00:50:11 2003 From: revision17@phreaker.net (revision17) Date: Mon, 17 Mar 2003 19:50:11 -0500 Subject: [Mono-list] Please disreguard the duplicate messeges sent Message-ID: <001501c2ece8$55f6ca40$0300a8c0@number17box> The mail server I'm using keeps sending duplicates of all my messages. Sorry for the inconvienience From revision17@phreaker.net Tue Mar 18 00:50:11 2003 From: revision17@phreaker.net (revision17) Date: Mon, 17 Mar 2003 19:50:11 -0500 Subject: [Mono-list] Please disreguard the duplicate messeges sent Message-ID: <001501c2ece8$55f6ca40$0300a8c0@number17box> The mail server I'm using keeps sending duplicates of all my messages. Sorry for the inconvienience From revision17@phreaker.net Mon Mar 17 21:55:27 2003 From: revision17@phreaker.net (revision17) Date: Mon, 17 Mar 2003 16:55:27 -0500 Subject: [Mono-list] [Mono-announce-list] MWN, March 7th -> 16th References: <1047915561.626.12.camel@monoer> Message-ID: <003801c2eccf$ebf591c0$0300a8c0@number17box> Just a request for future MWNs. Do you think that you can break up large chunks of text into paragraphs? It would make it much easier to read. ----- Original Message ----- From: "Jaime Anguiano Olarra" To: "mono-announce" ; "mono-list" Sent: Monday, March 17, 2003 10:39 AM Subject: [Mono-list] [Mono-announce-list] MWN, March 7th -> 16th > Hi all!, > > A new issue of the MWN has been published. We have some > amazing news as having XML deserialization in the CVS, UUEncoding for > System.Web.Mail and a must read interview with Alp Toker, the force > behind Platano, Acacia and Mono4Debian!. > > Get it here: http://monoevo.sf.net/mwn/index.html > > Cheers, > > Jaime. > > -- > http://www.go-mono.org -- The Mono Project, .net + freedom. > _______________________________________________ > Mono-announce-list maillist - Mono-announce-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-announce-list > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From revision17@phreaker.net Tue Mar 18 00:50:11 2003 From: revision17@phreaker.net (revision17) Date: Mon, 17 Mar 2003 19:50:11 -0500 Subject: [Mono-list] Please disreguard the duplicate messeges sent Message-ID: <001501c2ece8$55f6ca40$0300a8c0@number17box> The mail server I'm using keeps sending duplicates of all my messages. Sorry for the inconvienience From gonzalo@ximian.com Tue Mar 18 02:21:55 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 18 Mar 2003 03:21:55 +0100 Subject: [Mono-list] Rewriting path with an HttpModule In-Reply-To: <1047946047.15024.29.camel@portatil> References: <20030317134246.GA4810@rawbyte.com> <1047946047.15024.29.camel@portatil> Message-ID: <1047954114.14995.46.camel@portatil> El mar, 18 de 03 de 2003 a las 01:07, Gonzalo Paniagua Javier escribió: > After fixing RewritePath, i'll modify it and send it back to you. Mmm. Well, as RewritePath is more of a 'hide the real URL' thing, and after some thinking, I bet for adding the ~user stuff in MonoWorkerRequest. Why? There's one place where you can fake the real path to the file (MapPath), so you can map "/~gonzalo/" to the file "/home/gonzalo/public_html/index.aspx" or even using a configuration file like the one in the link I put in my previous mail. -Gonzalo From revision17@phreaker.net Tue Mar 18 00:50:11 2003 From: revision17@phreaker.net (revision17) Date: Mon, 17 Mar 2003 19:50:11 -0500 Subject: [Mono-list] Please disreguard the duplicate messeges sent Message-ID: <001501c2ece8$55f6ca40$0300a8c0@number17box> The mail server I'm using keeps sending duplicates of all my messages. Sorry for the inconvienience From revision17@phreaker.net Mon Mar 17 21:55:27 2003 From: revision17@phreaker.net (revision17) Date: Mon, 17 Mar 2003 16:55:27 -0500 Subject: [Mono-list] [Mono-announce-list] MWN, March 7th -> 16th References: <1047915561.626.12.camel@monoer> Message-ID: <003801c2eccf$ebf591c0$0300a8c0@number17box> Just a request for future MWNs. Do you think that you can break up large chunks of text into paragraphs? It would make it much easier to read. ----- Original Message ----- From: "Jaime Anguiano Olarra" To: "mono-announce" ; "mono-list" Sent: Monday, March 17, 2003 10:39 AM Subject: [Mono-list] [Mono-announce-list] MWN, March 7th -> 16th > Hi all!, > > A new issue of the MWN has been published. We have some > amazing news as having XML deserialization in the CVS, UUEncoding for > System.Web.Mail and a must read interview with Alp Toker, the force > behind Platano, Acacia and Mono4Debian!. > > Get it here: http://monoevo.sf.net/mwn/index.html > > Cheers, > > Jaime. > > -- > http://www.go-mono.org -- The Mono Project, .net + freedom. > _______________________________________________ > Mono-announce-list maillist - Mono-announce-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-announce-list > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From gert.driesen@pandora.be Tue Mar 18 07:23:05 2003 From: gert.driesen@pandora.be (Gert Driesen) Date: Tue, 18 Mar 2003 08:23:05 +0100 Subject: [Mono-list] mod_mono on Windows ? Message-ID: <003101c2ed1f$379b7820$df9976d5@pc03349> This is a multi-part message in MIME format. ------=_NextPart_000_002E_01C2ED27.994D90A0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, Has anyone been able to get mod_mono compiled and running on Windows ? Gert ------=_NextPart_000_002E_01C2ED27.994D90A0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,
 
Has anyone been able to get mod_mono = compiled and=20 running on Windows ?
 
Gert
------=_NextPart_000_002E_01C2ED27.994D90A0-- From suresh@vishwak.com Mon Mar 17 10:17:07 2003 From: suresh@vishwak.com (root) Date: 17 Mar 2003 15:47:07 +0530 Subject: [Mono-list] System.Windows.Forms Message-ID: <1047896236.998.6.camel@localhost.localdomain> Is it possible to use System.windows.forms in mono linux From jaroslaw.kowalski@atm.com.pl Tue Mar 18 14:53:13 2003 From: jaroslaw.kowalski@atm.com.pl (Jaroslaw Kowalski) Date: Tue, 18 Mar 2003 15:53:13 +0100 Subject: [Mono-list] Tinderbox or rebuild from scratch Message-ID: <001c01c2ed5e$19f34fc0$0530170a@atmlabi> What is the current status of mcs/tools/tinderbox? I guess it's supposed to perform a continuous build of mono and send e-mail reports whenever anything breaks, but it fails to build mono/mcs on current anonymous cvs. Can anyone provide some tutorial on using tinderbox ? Actually I'm interested in a fool-proof procedure to completely rebuild mcs, mono, gtk, xsp from fresh CVS sources using pre-built compiler and libraries (from rpm). Is it currently possible/available? What procedure do you use to make mono releases? Jarek From danmorg@sc.rr.com Tue Mar 18 16:07:26 2003 From: danmorg@sc.rr.com (Daniel Morgan) Date: Tue, 18 Mar 2003 11:07:26 -0500 Subject: [Mono-list] IBM has an ADO.NET provider for IBM DB2 Universal Database in Beta Message-ID: Hello, IBM has available for download a Beta of an ADO.NET data provider for IBM DB2 Universal Database. Here is an excerpt from their page: IBM DB2 .NET Provider (Beta) The DB2 .NET Data Provider is an add-in component to the Microsoft® .NET Framework. This provider accesses IBM DB2 database servers running on variety of hardware and operating system platforms. Specifically, the DB2 .Net Data Provider can be used to provide connectivity from applications written using ADO.NET API to the following DB2 family servers: DB2 Universal Database Version 8.1 running on Windows, UNIX and Linux DB2 Universal Database for z/OS and OS/390 V6.1 and later (requires DB2 Connect V8.1) Note: DB2 Server for VSE & VM and IBM DB2 Server for iSeries will be supported at a later date Unfortuantely, it is designed for .net on Windows. It would be nice if IBM made a version available for Mono. IBM's .net data provider for IBM DB2 (Beta) has an assembly name IBM.Data.DB2.dll and uses a namespace IBM.Data.DB2. http://www7b.software.ibm.com/dmdd/downloads/dotnetbeta/ Mono has its own implementation named Mono.Data.DB2Client. It has a namespace DB2ClientCS and an assembly name Mono.Data.DB2Client.dll. Maybe, the namespace DB2ClientCS should be renamed to Mono.Data.DB2Client. Mono's IBM DB2 data provider should be made compatible with IBM's IBM DB2 data provider. http://www.go-mono.com/ibmdb2.html Mono has an ODBC provider as well which is similar to Microsoft's ODBC .net provider and similar to the IBM DB2 provider which can be used to connect to IBM DB2. http://www.go-mono.com/odbc.html Due to the current documentation for IBM DB2's provider (beta) is not complete, they mention use the documentation for Microsoft's ODBC .NET data provider for reference. The final version of IBM DB2's provider will contain full documentation though. The only documentation I know Microsoft has for the ODBC .NET Data Provider is included with the actual ODBC .NET Data Provider which is - an add-on component to the .NET Framework 1.0 as Microsoft.Data.Odbc and is part of assembly Microsoft.Data.Odbc.dll - included with .NET Framework 1.1 or Visual Studio.net 2003 as Sysystem.Data.Odbc and is part of assembly System.Data.dll http://msdn.microsoft.com/library/default.asp?url=/downloads/list/netdevfram ework.asp However, Mono has their ODBC has System.Data.Odbc in the System.Data.dll assembly. Daniel From miguel@ximian.com Tue Mar 18 16:53:08 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 18 Mar 2003 11:53:08 -0500 Subject: [Mono-list] Argentina and Brasil. Message-ID: <1048006388.2753.16.camel@erandi.boston.ximian.com> Hello, Am going to the Brasil Forum on Free Software on June 5th. Since it is so close to Buenos Aires, I was considering jumping over to Argentina an do a presentation on Mono as well. Does anyone have any contacts in Buenos Aires to see if this is a possibility? Miguel From tpsoftware@users.sourceforge.net Tue Mar 18 23:50:46 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: 19 Mar 2003 00:50:46 +0100 Subject: [Mono-list] UTF7Encoding, not working correctly ? Message-ID: <1048031446.1510.12.camel@localhost.localdomain> SGksDQoNCkknbSBjcmVhdGluZyBhIGNsYXNzIGxpYnJhcnkgd2hpY2ggSSB3YW50IHRvIHVzZSB3 aXRoIGJvdGggdGhlIC5ORVQgYW5kDQpNb25vIHJ1bnRpbWUuIE5vdyB3aGVuIEkgcnVuIHRoZSBj dXJyZW50IHZlcnNpb24gKGRldmVsb3BtZW50IHZlcnNpb24pLA0Kd2l0aCB0aGUgLk5FVCBydW50 aW1lIGV2ZXJ5dGhpbmcgd29ya3MgZmluZSwgdGhlIGFwcGxpY2F0aW9uIGdldHMgc29tZQ0KZGF0 YSBmcm9tIGEgZ2FtZSBzZXJ2ZXIgYW5kIHJldHVybnMgVVRGNyBlbmNvZGVkIFhNTC4gSG93ZXZl ciBpZiBJIHJ1bg0KdGhlIHNhbWUgdGVzdCB1c2luZyB0aGUgbW9ubyBmcmFtZXdvcmsgb24gV2lu ZG93cyBvciBMaW51eCB0aGUgWE1MIGlzDQpjb21wbGV0ZWx5IG1lc3NlZCB1cC4NCg0KVGhpcyBp cyB3aGF0IEkgZ2V0IHdpdGggdGhlIG1vbm8gcnVudGltZQ0K0YzkgIA/eG1sIHZlcnNpb27RjcSm 4YCAMS4w0LLkgIAgZW5jb2RpbmfRjcSm4YCAdXRmLTfQsuSAgA0Kc3RhbmRhbG9uZdGNxKbhgIB5 ZXPQsuSAgD/RjtGM5ICAUTNQbHVncy5ORVTRjtGM5ICAUXVlcnkgdHlwZdGNxKbhgIBzdGF0dXNS ZXF1ZXN00LLkgIANCnByb3RvY29s0Y3EpuGAgFF1YWtlM9Cy5ICA0Y7RjOSAgFNlcnZlciBpcGFk cmVzc9GNxKbhgIAxOTUuMTMwLjEzMi4xNTXQsuSAgCBwb3J00Y3EpuGAgDI3OTYw0LLkgIANCi/R juChnOiEhOGAgFJ1bGVzIGNvdW504KGdyKrigYHtrpArQkRKQUFBUk/QkOSVkOWBgeuLuem8gA0K bmFtZeChnciq4oGB7Ie74raO6aiAK0JESkFBQVJP0JDklZDlhaYrRUp3TVFGUUUrQUZzLVEzIDEu MzIgbGludXgtaTM4NiBPY3QgIDcNCjIwMDLgob3JpeKCgSst4KGc6ISE4YCAL3J1bGXgoZ7EhOGS jStRQUEtcnVsZQ0KbmFtZeChnciq4oGB56m44pmu4a2AK0JESkFBQVJP0JDklZDlhaYrRUp3TVFG UUUrQUZzLTDgob3JpeKCgSst4KGc6ISE4YCAL3J1bGXgoZ7EhOGSjStRQUEtcnVsZQ0KbmFtZeCh nciq4oGB6IuG7oaa46ej66CAK0JESkFBQVJP0JDklZDlhaYrRUp3TVFGUUUrQUZzLTDgob3JpeKC gSst4KGc6ISE4YCAL3J1bGXgoZ7EhOGSjStRQUEtcnVsZQ0KbmFtZeChnciq4oGB66i57b6a46ej 66CAK0JESkFBQVJP0JDklZDlhaYrRUp3TVFGUUUrQUZzLTIw4KG9yaXigoErLeChnOiEhOGAgC9y dWxl4KGexIThko0rUUFBLXJ1bGUNCm5hbWXgoZ3IquKBgeiQgCtCRzhBQUEtZ2FtZXR5cGXgoYLo hIThko8rQUFBRVRFRWzhkqzktYTmkYUrLUFGcy0z4KG9yaXigoErLeChnOiEhOGAgC9ydWxl4KGe xIThko0rUUFBLXJ1bGUNCm5hbWXgoZ3IquKBgeqriua6pe2ppitCREpBQUFST9CQ5JWQ5YWmK0VK d01RRlFFK0FGcy02OOChvcml4oKBKy3goZzohIThgIAvcnVsZeChnsSE4ZKNK1FBQS1ydWxlDQpu YW1l4KGdyKrigYHptrrqoa7nn4ArQkRKQUFBUk/QkOSVkOWFpitFSndNUUZRRStBRnMtcHJvLXEz ZG024KG9yaXigoErLeChnOiEhOGAgC9ydWxl4KGexIThko0rUUFBLXJ1bGUNCm5hbWXgoZ3IquKB geucgCtCRzhBQUEtcHJpdmF0ZUNsaWVudHPgoYLohIThko8rQUFBRVRFRWzhkqzktYTmkYUrLUFG cy0w4KG9yaXigoErLeChnOiEhOGAgC9ydWxl4KGexIThko0rUUFBLXJ1bGUgbmFtZeChnciq4oGB 65yAK0JHOEFBQS1ob3N0bmFtZeChguiEhOGSjytBQUFFVEVFbOGSrCDktYTmkYUrLUFGcy1UZWxl bmV0IFEzQSBURE0vUElDS1VQIHNlcnZlcuChvcml4oKBKy3goZzohIThgIAvcnVsZeChnsSE4ZKN K1FBQS1ydWxlIG5hbWXgoZ3IquKBgeucgCtCRzhBQUEtbWF4Y2xpZW50c+ChguiEhOGSjytBQUFF VEVFbOGSrOS1hOaRhSstQUZzLTE04KG9yaXigoErLeChnOiEhOGAgC9ydWxl4KGexIThko0rUUFB LXJ1bGUgbmFtZeChnciq4oGB65yAK0JHOEFBQS1wdW5rYnVzdGVy4KGC6ISE4ZKPK0FBQUVURUVs 4ZKs5LWE5pGFKy1BRnMtMOChvcml4oKBKy3goZzohIThgIAvcnVsZeChnsSE4ZKNK1FBQS1ydWxl IG5hbWXgoZ3IquKBgeucgCtCRzhBQUEtbWF4UmF0ZeChguiEhOGSjytBQUFFVEVFbOGSrOS1hOaR hSstQUZzLTDgob3JpeKCgSst4KGc6ISE4YCAL3J1bGXgoZ7EhOGSjStRQUEtcnVsZSBuYW1l4KGd yKrigYHrnIArQkc4QUFBLW1pblBpbmfgoYLohIThko8rQUFBRVRFRWzhkqzktYTmkYUrLUFGcy0w 4KG9yaXigoErLeChnOiEhOGAgC9ydWxl4KGexIThko0rUUFBLXJ1bGUgbmFtZeChnciq4oGB65yA K0JHOEFBQS1tYXhQaW5n4KGC6ISE4ZKPK0FBQUVURUVs4ZKs5LWE5pGFKy1BRnMtMOChvcml4oKB Ky3goZzohIThgIAvcnVsZeChnsSE4ZKNK1FBQS1ydWxlIG5hbWXgoZ3IquKBgeucgCtCRzhBQUEt Zmxvb2RQcm90ZWN04KGC6ISE4ZKPK0FBQUVURUVs4ZKs5LWE5pGFKy1BRnMtMOChvcml4oKBKy3g oZzohIThgIAvcnVsZeChnsSE4ZKNK1FBQS1ydWxlIG5hbWXgoZ3IquKBgeucgCtCRzhBQUEtYWxs b3dEb3dubG9hZOChguiEhOGSjytBQUFFVEVFbOGSrOS1hOaRhSstQUZzLTHgob3JpeKCgSst4KGc 6ISE4YCAL3J1bGXgoZ7EhOGSjStRQUEtcnVsZSBuYW1l4KGdyKrigYHrl7vjgb7sgIArQkc4QUFB LW9zcGF1dGjgoYLohIThko8rQUFBRVRFRWzhkqzktYTmkYUrLUFGcy0x4KG9yaXigoErLeChnOiE hOGAgC9ydWxl4KGexIThko0rUUFBLXJ1bGUgbmFtZeChnciq4oGB65e744G+7ICAK0JHOEFBQS1w cm9tb2Rl4KGC6ISE4ZKPK0FBQUVURUVs4ZKs5LWE5pGFKy1BRnMtMOChvcml4oKBKy3goZzohITh gIAvcnVsZeChnsSE4ZKNK1FBQS1ydWxlIG5hbWXgoZ3IquKBgdep7o6i462u64a76qawK0JESkFB QVJP0JDklZDlhaYrRUp3TVFGUUUrQUZzLURyUGVwcGVyLCBGb1JDZSBhbmQgQ2Vs4KG9yaXigoEr LeChnOiEhOGAgC9ydWxl4KGexIThko0rUUFBLXJ1bGUgbmFtZeChnciq4oGB4Zm27o6YK0JESkFB QVJP0JDklZDlhaYrRUp3TVFGUUUrQUZzLWdhbWVz4KGg6ISE4YCAdGVsZW5ldC5iZeChvcml4oKB Ky3goZzohIThgIAvcnVsZeChnsSE4ZKNK1FBQS1ydWxlIG5hbWXgoZ3IquKBgeWUoytCREpBQUFS T9CQ5JWQ5YWmK0VKd01RRlFFK0FGcy1odHRwOi8vZ2FtZXMudGVsZW5ldC5iZS/gob3JpeKCgSst 4KGc6ISE4YCAL3J1bGXgoZ7EhOGSjStRQUEtcnVsZSBuYW1l4KGdyKrigYHolrntvqHrp58rQkRK QUFBUk/QkOSVkOWFpitFSndNUUZRRStBRnMtb3Nw4KG9yaXigoErLeChnOiEhOGAgC9ydWxl4KGe xIThko0rUUFBLXJ1bGUgbmFtZeChnciq4oGB6Ja57b+B76yt6LqaK0JESkFBQVJP0JDklZDlhaYr RUp3TVFGUUUrQUZzLU9TUCB2MS4wM+Chvcml4oKBKy3goZzohIThgIAvcnVsZeChnsSE4ZKNK1FB QS1ydWxlIG5hbWXgoZ3IquKBgeSJpu+NvuytgCtCRzhBQUEtQWN0aXZl4KGC6ISE4ZKPK0FBQUVU RUVs4ZKs5LWE5pGFKy1BRnMtKE5vbmUp4KG9yaXigoErLeChnOiEhOGAgC9ydWxl4KGexIThko0r UUFBLXJ1bGUgbmFtZeChnciq4oGB65e744G+7ICAK0JHOEFBQS1jcTPgoYLohIThko8rQUFBRVRF RWzhkqzktYTmkYUrLUFGcy0w4KG9yaXigoErLeChnOiEhOGAgC9ydWxl4KGexIThko0rUUFBLXJ1 bGUgbmFtZeChnciq4oGB55a66rq+7J+m6LmwK0JESkFBQS0gL+ChnsSE4ZKNK1FBQS1QbGF5ZXJz IGNvdW504KGdyKrigYEx4KGC6ISE4YCAIC/goZ7EhOGAgNGM5ICAL1F1ZXJ50Y7RjOSAgC9RM1Bs dWdzLk5FVNGODQoNCldoZW4gSSBydW4gdGhpcyB3aXRoIHRoZSAuTkVUIHJ1bnRpbWUgSSBnZXQg bmljZWx5IGZvcm1hdHRlZCBYTUwuDQoNCg0KDQpQYXJ0IG9mIHRoZSBjb2RlIEkgdXNlOg0KDQou Li4NCi8vQ29udmVydCB0aGUgc3RyZWFtIHRvIGEgc3RyaW5nDQpzdHJpbmcgcmV0dXJuVmFsdWUg PSBuZXcgVVRGN0VuY29kaW5nKCkuR2V0U3RyaW5nKHhtbFN0cmVhbS5Ub0FycmF5KCkpOw0KDQov L0Nsb3NlIHRoZSBzdHJlYW0NCnhtbFN0cmVhbS5DbG9zZSgpOw0KCQ0KLy9SZXR1cm4gdGhlIFhN TA0KcmV0dXJuIHJldHVyblZhbHVlOw0KLi4uCQ0KDQpGb3IgYSBjb21wbGV0ZSBjb2RlIGxpc3Rp bmcgDQpodHRwOi8vY3ZzLnNvdXJjZWZvcmdlLm5ldC9jZ2ktYmluL3ZpZXdjdnMuY2dpL3EzcGx1 Z3MvUTNQbHVncy5ORVQvUXVlcnlCYXNlLmNzP3Jldj0xLjQmY29udGVudC10eXBlPXRleHQvdm5k LnZpZXdjdnMtbWFya3VwDQoNCkknbSB1c2luZyBVVEY3IGJlY2F1c2UgdGhlIGJ5dGVzIHdoaWNo IA0KSSByZWNlaXZlIGRvbid0IGZpdCBpbnRvIEFTQ0lJIHZhbHVlcy4NCg0KUGxlYXNlIG5vdGUg dGhpcyBpcyBteSBmaXJzdCBDIyBhcHBsaWNhdGlvbiwgc28gSSBtYXkgbm90IHVuZGVyc3RhbmQN CmV2ZXJ5dGhpbmcgeWV0LCAuLi4ga2VlcCBpdCBzaW1wbGUgOnANCg0KDQpUaG54Lg0KVGltb3Ro eS4NCg== From ginga@kit.hi-ho.ne.jp Wed Mar 19 02:55:12 2003 From: ginga@kit.hi-ho.ne.jp (ginga@kit.hi-ho.ne.jp) Date: Wed, 19 Mar 2003 11:55:12 +0900 Subject: [Mono-list] Re: UTF7Encoding, not working correctly ? In-Reply-To: <1048031446.1510.12.camel@localhost.localdomain> References: <1048031446.1510.12.camel@localhost.localdomain> Message-ID: <20030319113925.F63A.GINGA@kit.hi-ho.ne.jp> Hello, > I'm creating a class library which I want to use with both the .NET and > Mono runtime. Now when I run the current version (development version), > with the .NET runtime everything works fine, the application gets some > data from a game server and returns UTF7 encoded XML. However if I run > the same test using the mono framework on Windows or Linux the XML is > completely messed up. It may be Encoding problem or XML problem (it checks xml declaration, while actual encoding is indeterminant). Yould you please (1)check the given utf-7 stream is readable with other classes e.g. StreamReader and (2)post such xml you checked or mail me if it is not small? I tried 200kb or more utf-7-ed Japanese text xml on Windows and got correct result (nunit tests with mscorlib). Thanks, Atsushi Eno From tpsoftware@users.sourceforge.net Wed Mar 19 09:21:46 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: 19 Mar 2003 10:21:46 +0100 Subject: [Mono-list] Re: UTF7Encoding, not working correctly ? In-Reply-To: <20030319113925.F63A.GINGA@kit.hi-ho.ne.jp> References: <1048031446.1510.12.camel@localhost.localdomain> <20030319113925.F63A.GINGA@kit.hi-ho.ne.jp> Message-ID: <1048065706.1164.4.camel@localhost.localdomain> --=-yCH4VbLwe2FkTklxKVbW Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello, I added some test to the code: Before even using the UTF7Encoding I tried persisting the MemoryStream to file: FileStream x =3D new FileStream("out.xml",FileMode.Create); x.Write(xmlStream.ToArray(),0,xmlStream.ToArray().Length); x.Close(); //The type of xmlStream is MemoryStream I added the results of both the mono and .net runtime as file attachment. As you can see it also messed up. Thnx. Timothy. Op wo 19-03-2003, om 03:55 schreef ginga@kit.hi-ho.ne.jp: > Hello, >=20 > > I'm creating a class library which I want to use with both the .NET and > > Mono runtime. Now when I run the current version (development version), > > with the .NET runtime everything works fine, the application gets some > > data from a game server and returns UTF7 encoded XML. However if I run > > the same test using the mono framework on Windows or Linux the XML is > > completely messed up. >=20 > It may be Encoding problem or XML problem (it checks xml declaration, > while actual encoding is indeterminant). Yould you please > (1)check the given utf-7 stream is readable with other classes e.g. > StreamReader and (2)post such xml you checked or mail me if it is > not small? I tried 200kb or more utf-7-ed Japanese text xml on > Windows and got correct result (nunit tests with mscorlib). >=20 > Thanks, > Atsushi Eno >=20 --=-yCH4VbLwe2FkTklxKVbW Content-Disposition: attachment; filename=out-dotnet.xml Content-Type: text/xml; name=out-dotnet.xml; charset=us-ascii Content-Transfer-Encoding: 7bit +ADw-?xml version+AD0AIg-1.0+ACI- encoding+AD0AIg-utf-7+ACI- standalone+AD0AIg-yes+ACI-?+AD4APA-Q3Plugs.NET+AD4APA-Query type+AD0AIg-infoRequest+ACI- protocol+AD0AIg-Quake3+ACIAPgA8-Server ipadress+AD0AIg-195.130.132.153+ACI- port+AD0AIg-27960+ACI- /+AD4APA-Rules count+AD0AIg-17+ACIAPgA8-rule name+AD0AIg-protocol+ACIAPgA8ACEAWw-CDATA+AFs-60+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-hostname+ACIAPgA8ACEAWw-CDATA+AFs--+AD0-Telenet 1 +AF4-1(OSP v0.82)+AF4-7+AD0-- +AF4-1+AFs-All maps+AF0AXQBdAD4APA-/rule+AD4APA-rule name+AD0AIg-mapname+ACIAPgA8ACEAWw-CDATA+AFs-mp+AF8-ice+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-clients+ACIAPgA8ACEAWw-CDATA+AFs-0+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-sv+AF8-maxclients+ACIAPgA8ACEAWw-CDATA+AFs-16+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-gametype+ACIAPgA8ACEAWw-CDATA+AFs-6+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-pure+ACIAPgA8ACEAWw-CDATA+AFs-1+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-maxPing+ACIAPgA8ACEAWw-CDATA+AFs-450+AF0AXQA+ADw-/rule+AD 4APA-rule name+AD0AIg-game+ACIAPgA8ACEAWw-CDATA+AFs-osp+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-sv+AF8-allowAnonymous+ACIAPgA8ACEAWw-CDATA+AFs-0+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-gameskill+ACIAPgA8ACEAWw-CDATA+AFs-3+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-friendlyFire+ACIAPgA8ACEAWw-CDATA+AFs-1+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-maxlives+ACIAPgA8ACEAWw-CDATA+AFs-0+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-tourney+ACIAPgA8ACEAWw-CDATA+AFs-0+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-punkbuster+ACIAPgA8ACEAWw-CDATA+AFs-1+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-gamename+ACIAPgA8ACEAWw-CDATA+AFs-wolfmp+AF0AXQA+ADw-/rule+AD4APA-rule name+AD0AIg-g+AF8-antilag+ACIAPgA8ACEAWw-CDATA+AFs-0+AF0AXQA+ADw-/rule+AD4APA-/Rules+AD4APA-/Query+AD4APA-/Q3Plugs.NET+AD4- --=-yCH4VbLwe2FkTklxKVbW Content-Disposition: attachment; filename=out-mono.xml Content-Type: text/xml; name=out-mono.xml; charset=us-ascii Content-Transfer-Encoding: 7bit +ADw-?xml version+AD0AIg-1.0+ACI- encoding+AD0AIg-utf-7+ACI- standalone+AD0AIg-yes+ACI-?+AD4-+ADw-Q3Plugs.NET+AD4-+ADw-Query type+AD0AIg-infoRequest+ACI- protocol+AD0AIg-Quake3+ACI-+AD4-+ADw-Server ipadress+AD0AIg-195.130.132.153+ACI- port+AD0AIg-27960+ACI- /+AD4-+BExAAA-Rules count+BE0BJhAA17+BDJAAARO+AAAETEAArule name+BE0BJhAAprotocol+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-60+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAhostname+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs--+BE0AAA-Telenet 1 +BG4AAA-1(OSP v0.82)+BG4AAA-7+BE0AAA-- +BG4AAA-1+BGtAAA-All maps+BG0BYRCe+-AD4-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAmapname+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-mp+BG8AAA-ice+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAclients+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-0+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAsv+BG8AAA-maxclients+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-16+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAgametype+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-6+BG0BYRBA+-+BExAAA -/rule+BE4AAARM+QAA-rule name+BE0BJhAApure+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-1+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAmaxPing+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-450+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAgame+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-osp+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAsv+BG8AAA-allowAnonymous+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-0+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAgameskill+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-3+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAfriendlyFire+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-1+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAmaxlives+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-0+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAtourney+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-0+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAApunkbuster+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-1+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAgamename+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-wolfmp+BG0B YRBA+-+BExAAA-/rule+BE4AAARM+QAA-rule name+BE0BJhAAg+BG8AAA-antilag+BDJAAARO+AAAETEEl+EJwMQFQE+-AFs-0+BG0BYRBA+-+BExAAA-/rule+BE4AAARM+QAA-/Rules+BE4AAA-+ADw-/Query+AD4-+ADw-/Q3Plugs.NET+AD4- --=-yCH4VbLwe2FkTklxKVbW-- From tpsoftware@users.sourceforge.net Wed Mar 19 09:25:26 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: 19 Mar 2003 10:25:26 +0100 Subject: [Mono-list] Re: UTF7Encoding, not working correctly ? In-Reply-To: <20030319113925.F63A.GINGA@kit.hi-ho.ne.jp> References: <1048031446.1510.12.camel@localhost.localdomain> <20030319113925.F63A.GINGA@kit.hi-ho.ne.jp> Message-ID: <1048065925.1164.7.camel@localhost.localdomain> Update: I just noticed that while on Windows the out-dotnet.xml file is perfectly readable it does not seem to be that way in Linux. So in Windows only the out-dotnet.xml file is readable, while in Linux none of the two files seems to be readable. With readable meaning to the human eye, of course the system can open the files. Now I have no idea what this means or is this information is even usefull :) Timothy. Op wo 19-03-2003, om 03:55 schreef ginga@kit.hi-ho.ne.jp: > Hello, > > > I'm creating a class library which I want to use with both the .NET and > > Mono runtime. Now when I run the current version (development version), > > with the .NET runtime everything works fine, the application gets some > > data from a game server and returns UTF7 encoded XML. However if I run > > the same test using the mono framework on Windows or Linux the XML is > > completely messed up. > > It may be Encoding problem or XML problem (it checks xml declaration, > while actual encoding is indeterminant). Yould you please > (1)check the given utf-7 stream is readable with other classes e.g. > StreamReader and (2)post such xml you checked or mail me if it is > not small? I tried 200kb or more utf-7-ed Japanese text xml on > Windows and got correct result (nunit tests with mscorlib). > > Thanks, > Atsushi Eno > From suresh@vishwak.com Mon Mar 17 10:00:51 2003 From: suresh@vishwak.com (root) Date: 17 Mar 2003 15:30:51 +0530 Subject: [Mono-list] Re: Your message to Mono-devel-list awaits moderator approval In-Reply-To: <20030314171110.GM918@debian.org> References: <20030313053002.16754.90390.Mailman@headcheese.ximian.com> <1047621387.2387.0.camel@localhost.localdomain> <20030314171110.GM918@debian.org> Message-ID: <1047895264.998.4.camel@localhost.localdomain> On Fri, 2003-03-14 at 22:41, Paolo Molaro wrote: I am working on red hat 8.0. > > > > i installed all mono rpms for red hat linux > > > > These are the RPMS i downloaded and installed. > > > > > > libgc-6.1-1.i386.rpm mono-0.23-1.i386.rpm > > libgc-devel-6.1-1.i586.rpm mono-devel-0.23-1.i386.rpm and also glib RPMS like gcc-3.2-7.i386.rpm glibc-common-2.2.93-5.i386.rpm glib-1.2.10-8.i386.rpm glibc-devel-2.2.93-5.i386.rpm glib2-2.0.6-2.i386.rpm glibc-kernheaders-2.4-7.20.i386.rpm glib2-devel-2.0.6-2.i386.rpm glib-devel-1.2.10-8.i386.rpm glibc-2.2.93-5.i386.rpm In spite of that it is giving error as given below.Please reply.Thanks in advance. > > > > then i downloaded mod_mono-0.3.6.tar.gz from > > http://www.apacheworld.org/modmono/ and i installed it > > > > then cd into mod_mono-0.3 > > > > Then typed this command. > > > > ./configure --with-apache2=/home/username/apache2 > > > > and > > > > then i typed make > > > > While i run the make command, the output is the parser error as shown > > below. > > > > Please tell me how to solve. > > > > Is there any other libraies i have to install or i installed in wrong > > path or i have to add the path to the environment variable path.As iam > > new to linux, pl explain me. > > > > i also tried > > > > ./autogen.sh --with-apxs=/usr/sbin/apxs > > > > and then typed make > > > > and i got the same parser error as given below > > > > > > > > /usr/include/mono/metadata/metadata.h:204: parse error before "gboolean" > > /usr/include/mono/metadata/metadata.h:206: parse error before '*' token > > /usr/include/mono/metadata/metadata.h:208: > > `mono_metadata_implmap_from_method' declared as function returning a > > function > > /usr/include/mono/metadata/metadata.h:214: parse error before > > "MonoMarshalSpec" > > /usr/include/mono/metadata/metadata.h:216: > > `mono_metadata_get_constant_index' declared as function returning a > > function > > /usr/include/mono/metadata/metadata.h:222: `mono_metadata_decode_value' > > declared as function returning a function > > /usr/include/mono/metadata/metadata.h:224: > > `mono_metadata_decode_blob_size' declared as function returning a > > function > > /usr/include/mono/metadata/metadata.h:234: field `flags' declared as a > > function > > /usr/include/mono/metadata/metadata.h:235: field `try_offset' declared > > as a function > > /usr/include/mono/metadata/metadata.h:236: field `try_len' declared as a > > function > > /usr/include/mono/metadata/metadata.h:237: field `handler_offset' > > declared as a > > function > > /usr/include/mono/metadata/metadata.h:238: field `handler_len' declared > > as a function > > /usr/include/mono/metadata/metadata.h:239: field `token_or_filter' > > declared as a function > > /usr/include/mono/metadata/metadata.h:281: parse error before "guint16" > > /usr/include/mono/metadata/metadata.h:283: `ret' used prior to > > declaration > > /usr/include/mono/metadata/metadata.h:285: parse error before '}' token > > /usr/include/mono/metadata/metadata.h:288: field `code_size' declared as > > a function > > /usr/include/mono/metadata/metadata.h:290: parse error before "guint16" > > /usr/include/mono/metadata/metadata.h:291: parse error before ':' token > > /usr/include/mono/metadata/metadata.h:293: parse error before ':' token > > /usr/include/mono/metadata/metadata.h:297: parse error before '}' token > > /usr/include/mono/metadata/metadata.h:310: > > `mono_metadata_parse_typedef_or_ref' > > declared as function returning a function > > /usr/include/mono/metadata/metadata.h:344: parse error before > > "mono_metadata_type_hash" > > /usr/include/mono/metadata/metadata.h:345: parse error before > > "mono_metadata_type_equal" > > /usr/include/mono/metadata/metadata.h:358: parse error before > > "mono_metadata_signature_equal" > > /usr/include/mono/metadata/metadata.h:361: parse error before > > "mono_signature_hash" > > /usr/include/mono/metadata/metadata.h:363: parse error before '*' token > > /usr/include/mono/metadata/metadata.h:364: parse error before '*' token > > /usr/include/mono/metadata/metadata.h:367: parse error before > > "MonoMarshalSpec" > > /usr/include/mono/metadata/metadata.h:368: `mono_type_to_unmanaged' > > declared as > > function returning a function > > /usr/include/mono/metadata/metadata.h:371: parse error before > > "mono_marshal_type_size" > > /usr/include/mono/metadata/metadata.h:371: parse error before > > "MonoMarshalSpec" > > /usr/include/mono/metadata/metadata.h:392: > > `mono_metadata_token_from_dor' declared as function returning a function > > /usr/include/mono/metadata/metadata.h:394: parse error before '*' token > > In file included from /usr/include/mono/jit/jit.h:24, > > from mod_mono.c:57: > > /usr/include/mono/metadata/loader.h:23: parse error before "guint16" > > /usr/include/mono/metadata/loader.h:28: parse error before "addr" > > /usr/include/mono/metadata/loader.h:29: parse error before "info" > > /usr/include/mono/metadata/loader.h:30: parse error before > > "remoting_tramp" > > /usr/include/mono/metadata/loader.h:31: parse error before "slot" > > /usr/include/mono/metadata/loader.h:35: parse error before ':' token > > /usr/include/mono/metadata/loader.h:36: parse error before ':' token > > /usr/include/mono/metadata/loader.h:37: parse error before ':' token > > /usr/include/mono/metadata/loader.h:38: parse error before ':' token /usr/include/mono/metadata/loader.h:39: parse error before ':' token /usr/include/mono/metadata/loader.h:44: par From skyntchev@cardinalsolutions.com Tue Mar 18 21:24:58 2003 From: skyntchev@cardinalsolutions.com (Stefan Kyntchev) Date: Tue, 18 Mar 2003 16:24:58 -0500 Subject: [Mono-list] Mono build problem. Please Help Message-ID: <001d01c2ed94$d3f3fb00$6101a8c0@cardinalsolutions.com> This is a multi-part message in MIME format. ------=_NextPart_000_001E_01C2ED6A.EB1DF300 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit I am trying to build mono on my XP box, running cygwin. I downloaded and installed the latest COMPLETE installation of cygwin. When trying to build mono I got the following error: ... checking whether to build static libraries... yes creating libtool checking for sys/filio.h... no checking for sys/sockio.h... no checking for netdb.h... no checking for utime.h... no checking for semaphore.h... no checking for sys/un.h... no checking for elf.h... no checking for wchar.h... yes checking size of void *... 4 checking for pkg-config... /usr/bin/pkg-config checking for glib-2.0 >= 1.3.11... yes checking BASE_DEPENDENCIES_CFLAGS... -I/usr/stefan/install/include/glib-2.0 -I/u sr/stefan/install/lib/glib-2.0/include checking BASE_DEPENDENCIES_LIBS... -L/usr/stefan/install/lib -lglib-2.0 -lintl - liconv checking for gc.h... no checking for gc/gc.h... no checking for GC_malloc in -lgc... yes configure: error: Found libgc but not its header files! You may need to install them by hand. I tried installing on XP and Win 2000, with the same result. Does anyone know how to get around this issue? Thanks Stefan ------=_NextPart_000_001E_01C2ED6A.EB1DF300 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Message
I am = trying to build=20 mono on my XP box, running cygwin.
 
I = downloaded and=20 installed the latest COMPLETE installation of cygwin. When trying = to build=20 mono I got the following error:
 
...
checking whether to=20 build static libraries... yes
creating libtool
checking for = sys/filio.h...=20 no
checking for sys/sockio.h... no
checking for netdb.h... = no
checking=20 for utime.h... no
checking for semaphore.h... no
checking for = sys/un.h...=20 no
checking for elf.h... no
checking for wchar.h... = yes
checking size=20 of void *... 4
checking for pkg-config... = /usr/bin/pkg-config
checking for=20 glib-2.0 >=3D 1.3.11... yes
checking BASE_DEPENDENCIES_CFLAGS...=20 -I/usr/stefan/install/include/glib-2.0=20 -I/u
sr/stefan/install/lib/glib-2.0/include
checking=20 BASE_DEPENDENCIES_LIBS... -L/usr/stefan/install/lib -lglib-2.0 -lintl=20 -
liconv
checking for gc.h... no
checking for gc/gc.h... = no
checking=20 for GC_malloc in -lgc... yes
configure: error: Found libgc but not = its header=20 files! You may need to install
them by hand.
I = tried installing=20 on XP and  Win 2000, with the same result.
 
Does = anyone=20 know how to get around this issue?
 
Thanks
 
Stefan
 
 
------=_NextPart_000_001E_01C2ED6A.EB1DF300-- From hlf566@sohu.com Wed Mar 19 02:09:36 2003 From: hlf566@sohu.com (hlf566@sohu.com) Date: Wed, 19 Mar 2003 10:09:36 +0800 (CST) Subject: [Mono-list] (no subject) Message-ID: <3255317.1048039776023.JavaMail.postfix@mailsrv18.mail.sohu.com> Hello my dear friend: I am a linux lover,i am installing mono. I am a chinese. I would lile make a friend with you. please mail me as quickly as possible. Thank you very much. I installed it following the next step: http://www.apacheworld.org/modmono/INSTALL a) Install Mono 0.23 Install the Mono rpms from http://www.go-mono.com/download.html b) Install Apache httpd-2.0.40-8.i386.rpm httpd-devel-2.0.40-8.i386.rpm c) Install mod_mono0.3.6 http://www.apacheworld.org/modmono/ download Red Hat 8.0 rpm, d) XSP web server (0.3) http://www.go-mono.com/download.html e) Configure Apache Edit the /etc/httpd/conf/httpd.conf file and add the following: MonoApplication /mono /home/user/mono/install/xsp/server/test mkdir /var/www/.wapi/ chown apache.apache /var/www/.wapi chmod 700 /var/www/.wapi f) Start apache As root, type: /etc/init.d/httpd start g) Browse the examples http://127.0.0.1/mono/index.aspx Now i can look around those examples, h) Start my application Edit the /etc/httpd/conf/httpd.conf file and modify the following: MonoApplication /mono /home/user/mono/install/xsp/server/temp temp is my home dir of my application. the application abount .net(c#) run very well on windows 2000,but i am not able to use it very well on redhat8.0. the following question are the result of my program running on redhat,but my program run very well on windows2000. 1. these .aspx file have the following lines, if i delete those lines such as "",there are no errors. : one example: error page: -------------------------------------------------------------------------------- Error Description: Error processing request. Error Message: Stack Trace: System.ArgumentException: Arg_InvalidUTF8 Parameter name: bytes in <0x003a2> 00 System.Text.UTF8Encoding:InternalGetChars (byte[],int,int,char[],int,uint&,uint&,bool,bool) in <0x00039> 00 .UTF8Decoder:GetChars (byte[],int,int,char[],int) in <0x00374> 00 System.IO.StreamReader:ReadBuffer () -------------------------------------------------------------------------------- 2. these .aspx file having the "table" control of html_tab cann't konwed by redhat8. error page: -------------------------------------------------------------------------------- Parser Error Description: Error parsing a resource required to service this request. Review your source file and modify it to fix this error. Error message: A null value was found where an object instance was required Source Error: Line 15: Line 16: Source File: /usr/local/xsp-0.3/server/jianwei/index.aspx -------------------------------------------------------------------------------- 3. oracle8i or oracle9i on linux I write a .cs file on linux,the file can run very well,it can report the content of oracle9i or oracle8i, can type ename, job FROM scott.emp. but the .aspx file report a error page as following. error page: -------------------------------------------------------------------------------- Error in '/mono' Application Error Description: Error processing request. Error Message: Stack Trace: System.MissingMethodException: A missing method exception has occurred. in <0x00046> 06 System.Data.OracleClient.Oci.OciEnvironmentHandle:OCIEnvCreate (intptr&,System.Data.OracleClient.Oci.OciEnvironmentMode,intptr,intptr,intptr,intptr,int,intptr) in <0x00063> 00 System.Data.OracleClient.Oci.OciEnvironmentHandle:.ctor (System.Data.OracleClient.Oci.OciEnvironmentMode) in <0x0002c> 00 System.Data.OracleClient.Oci.OciGlue:CreateConnection (System.Data.OracleClient.OracleConnectionInfo) in <0x0008e> 00 System.Data.OracleClient.OracleConnection:Open () in <0x0008c> 00 temp.manage.ChangePassword:Button2_Click (object,System.EventArgs) in <0x00067> 01 System.MulticastDelegate:invoke_void_object_EventArgs (object,System.EventArgs) in <0x000ac> 00 System.Web.UI.WebControls.Button:OnClick (System.EventArgs) in <0x0005a> 00 System.Web.UI.WebControls.Button:System.Web.UI.IPostBackEventHandler.RaisePostBackEvent (string) in <0x00020> 00 System.Web.UI.Page:RaisePostBackEvent (System.Web.UI.IPostBackEventHandler,string) in <0x00051> 00 System.Web.UI.Page:RaisePostBackEvents () in <0x0016c> 00 System.Web.UI.Page:ProcessRequest (System.Web.HttpContext) in <0x001b6> 00 .ExecuteHandlerState:Execute () in <0x0005e> 00 .StateMachine:ExecuteState (IStateHandler,bool&) -------------------------------------------------------------------------------- 4. microsoft sql server: these .aspx file are able to know the class writed by me. my class is the following lines: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient; namespace temp { /// /// WebForm2 µÄժҪ˵Ă÷ˇŁ /// public class DataConnClass : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { // ÔÚ´Ë´¦·ĹÖĂÓĂ»§´úÂëŇÔłőĘĽ»ŻŇłĂć } public void DataOpen() { string xmlfilename,userid,password,database,server; xmlfilename=Server.MapPath("../dataconfig.xml"); DataSet myDs=new DataSet(); myDs.ReadXml(xmlfilename); DataRow myDataRow=myDs.Tables[0].Rows[0]; userid=myDataRow["userid"].ToString(); password=myDataRow["password"].ToString(); database=myDataRow["database"].ToString(); server=myDataRow["server"].ToString(); sqlString="user id="+userid+";password="+password+";database="+database+";server="+server; dataConn.ConnectionString=sqlString; dataConn.Open(); } public void DataClose() { dataConn.Close(); } public string RemoteServer() { string xmlFileName,remoteServer; xmlFileName=Server.MapPath("../dataconfig.xml"); DataSet myDataSet=new DataSet(); myDataSet.ReadXml(xmlFileName); DataRow myDataRow=myDataSet.Tables[0].Rows[0]; remoteServer=myDataRow["remoteserver"].ToString(); return remoteServer; } private string sqlString; public SqlConnection dataConn=new SqlConnection(); #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGENŁş¸Ăµ÷ÓĂĘÇ ASP.NET Web ´°ĚĺÉčĽĆĆ÷Ëů±ŘĐčµÄˇŁ // InitializeComponent(); base.OnInit(e); } /// /// ÉčĽĆĆ÷Ö§łÖËůĐčµÄ·˝·¨ - ˛»ŇŞĘąÓĂ´úÂë±ŕĽ­Ć÷ĐŢ¸Ä /// ´Ë·˝·¨µÄÄÚČÝˇŁ /// private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } } error page: -------------------------------------------------------------------------------- Error Description: Error processing request. Error Message: Stack Trace: System.NullReferenceException: A null value was found where an object instance was required in <0x0005a> 00 temp.DataConnClass:DataOpen () in <0x000a7> 00 temp.manage.ChangePassword:submitButton_Click (object,System.EventArgs) in <0x00067> 01 System.MulticastDelegate:invoke_void_object_EventArgs (object,System.EventArgs) in <0x000ac> 00 System.Web.UI.WebControls.Button:OnClick (System.EventArgs) in <0x0005a> 00 System.Web.UI.WebControls.Button:System.Web.UI.IPostBackEventHandler.RaisePostBackEvent (string) in <0x00020> 00 System.Web.UI.Page:RaisePostBackEvent (System.Web.UI.IPostBackEventHandler,string) in <0x00051> 00 System.Web.UI.Page:RaisePostBackEvents () in <0x0016c> 00 System.Web.UI.Page:ProcessRequest (System.Web.HttpContext) in <0x001b6> 00 .ExecuteHandlerState:Execute () in <0x0005e> 00 .StateMachine:ExecuteState (IStateHandler,bool&) -------------------------------------------------------------------------------- From suresh@vishwak.com Wed Mar 19 07:21:03 2003 From: suresh@vishwak.com (Suresh) Date: Wed, 19 Mar 2003 12:51:03 +0530 Subject: [Mono-list] Regarding XSP Web Server Message-ID: <3E781A5F.1040005@vishwak.com> Hi, I installed Xsp Web server.but i dont know browse the pages from browser. kindly tell me the steps to configure ,start the webserver and run the pages.Thanks in advance. From daniel@rawbyte.com Wed Mar 19 10:13:47 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Wed, 19 Mar 2003 02:13:47 -0800 Subject: [Mono-list] Regarding XSP Web Server In-Reply-To: <3E781A5F.1040005@vishwak.com> References: <3E781A5F.1040005@vishwak.com> Message-ID: <20030319101347.GB12846@rawbyte.com> Hi Suresh Nothing to configure after you do make, make install Go to xsp/server/test, type mono server.exe Then go to http://127.0.0.1:8080 and you will be presented with an examples page On Wed, Mar 19, 2003 at 12:51:03PM +0530, Suresh wrote: > Hi, > I installed Xsp Web server.but i dont know browse the pages from > browser. kindly tell me the steps to configure ,start the webserver and > run the pages.Thanks in advance. > > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From charlouis.mono@wanadoo.be Wed Mar 19 10:42:04 2003 From: charlouis.mono@wanadoo.be (Charles-Louis) Date: 19 Mar 2003 11:42:04 +0100 Subject: [Mono-list] Mono Debugger error... Message-ID: <1048070524.12829.0.camel@localhost.localdomain> When I'm trying to debug my app with the debugger, I get this error: Unhandled Exception: Mono.Debugger.InternalError: Daemon thread 0 received unexpected signal 30 at 0x420ae561. in <0x0023a> 00 Mono.Debugger.Backends.DaemonThreadRunner:daemon_thread_main_loop () in <0x00011> 00 Mono.Debugger.Backends.DaemonThreadRunner:daemon_thread_main () in <0x00052> 00 Mono.Debugger.Backends.DaemonThreadRunner:daemon_thread_start_wrapper () in <0x0005b> 01 System.MulticastDelegate:invoke_void () Any ideas? -- Charles-Louis From tpsoftware@users.sourceforge.net Wed Mar 19 22:08:41 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: Wed, 19 Mar 2003 23:08:41 +0100 Subject: [Mono-list] System.Net.Sockets.SocketException Message-ID: <000c01c2ee64$1a18fa20$0a00000a@alfred> This is a multi-part message in MIME format. ------=_NextPart_000_0009_01C2EE6C.7B9EAB70 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, I'm writing a set of class libs for .NET/Mono, except for the UTF7 Encoding in my other post, it should work fine. And it does on .NET, but not on Mono. I don't know where to start, but I'll try to explain. First of all I have a Base Class which amongst other members has the = following function private void ExecuteQuery() { UdpClient client =3D new UdpClient(); //Connect to the server and send the query data try { client.Connect(ip,port); client.Send(data,data.Length); } catch { client.Close(); throw new Exceptions.InvalidHostException("Unknown host: " + ip); } //Listen for a response - This is the client side IPEndPoint serverIPEndPoint =3D new IPEndPoint(IPAddress.Any,0); =20 //Receive the response try { queryResponse =3D client.Receive(ref serverIPEndPoint); } catch (Exception e) { throw new Exceptions.ConnectionRefusedException("The connection was = refused by the remote host: " + ip + ":" + port.ToString() + "\n" + = e.Message,e); } finally { client.Close(); } } As you can see it sends a n array of bytes to the server and receives = some in return. Then I have a derived class which has 2 important functions: public string RequestStatus() { //Create the byte[] array to send byte[] query =3D = {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x73,0x74,0x61,0x74,0x75,0x73,0xA}; =20 //Create a new separator char separator =3D Convert.ToChar(10); //A statusRequest consists of both rules and players separated by = char(10) string[] response =3D this.QueryToString(query).Split(separator); =20 //Get the rules and players string rules =3D this.RulesToXml(response[0]); string players =3D this.PlayersToXml(response); =20 return = this.CreateXmlBody("Quake3","statusRequest",string.Concat(rules,players))= ; } And public string RequestInfo() { //Create the byte[] array to send byte[] query =3D = {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x69,0x6E,0x66,0x6F,0xA}; =20 //Query the server and get the response in a string string response =3D this.QueryToString(query); =20 //Create the default xml body and put the rules in it string returnValue =3D = this.CreateXmlBody("Quake3","infoRequest",this.RulesToXml(response)); //return the XML return returnValue; } As you can see there is almost no difference between them. Now they both run fine with the .NET runtime, but with the mono runtime = the .RequestStatus() fails. When does it fail well when the QueryToString function is called, so if I run RequestInfo() the QueryToString function is called and it = all works fine, if I run RequestStatus() the QueryToString function is called and it = goes wrong. In my opinion the only difference so far is the array of bytes to be = sent. Example: Let's say I use the following code for an application using System; using TPSoftware.Q3PlugsNet; using TPSoftware.Q3PlugsNet.Exceptions; class MainClass { public static void Main(string[] args) { =20 //Create a new Q3Query =20 // Q3Query quakeClient =3D new Q3Query("195.130.132.153",27961); Q3Query quakeClient =3D new Q3Query("195.130.132.155",27961); =20 try { string info =3D quakeClient.RequestStatus(); Console.WriteLine(info); } catch (Exception e) { Console.WriteLine("ERROR:"); Console.WriteLine("\n" + e.ToString()); =20 =20 } finally { Console.ReadLine(); } } } Well then I get the following result with .NET runtime < ![CDATA[5]]>< ![CDATA["^5DA^4.^5Ch^7a^5o^7s"]]>>^7SaTo"]]>

But I get the following with the mono runtime: Unhandled Exception: = TPSoftware.Q3PlugsNet.Exceptions.ConnectionRefusedException : The connection was refused by the remote host: 195.130.132.155:27961 Some sort of w32 error occurred ---> System.Net.Sockets.SocketException: = Some so rt of w32 error occurred in (unmanaged) 06 System.Net.Sockets.Socket:RecvFrom_internal = (intptr,byte[],int ,int,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&) in <0x00004> 06 System.Net.Sockets.Socket:RecvFrom_internal = (intptr,byte[],int,i nt,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&) in <0x00155> 00 System.Net.Sockets.Socket:ReceiveFrom = (byte[],int,int,System.Net .Sockets.SocketFlags,System.Net.EndPoint&) in <0x00180> 00 System.Net.Sockets.Socket:ReceiveFrom = (byte[],int,int,System.Net .Sockets.SocketFlags,System.Net.EndPoint&) in <0x0002a> 00 System.Net.Sockets.Socket:ReceiveFrom = (byte[],System.Net.EndPoin t&) in <0x000af> 00 System.Net.Sockets.UdpClient:Receive = (System.Net.IPEndPoint&) in <0x0016b> 00 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery () --- End of inner exception stack trace --- in <0x002b4> 00 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery () in <0x0005b> 01 System.MulticastDelegate:invoke_void () However if I change the above code to: using System; using TPSoftware.Q3PlugsNet; using TPSoftware.Q3PlugsNet.Exceptions; class MainClass { public static void Main(string[] args) { =20 //Create a new Q3Query =20 // Q3Query quakeClient =3D new Q3Query("195.130.132.153",27961); Q3Query quakeClient =3D new Q3Query("195.130.132.155",27961); =20 try { string info =3D quakeClient.RequestInfo(); // RequestInfo instead of = RequestStatus !!!!!!!! Console.WriteLine(info); } catch (Exception e) { Console.WriteLine("ERROR:"); Console.WriteLine("\n" + e.ToString()); =20 =20 } finally { Console.ReadLine(); } } } I get the following output with .NET And the following output with mono (don't mind the encoding, that's = another bug) ???xml version???1.0?? encoding???utf-7?? standalone???yes???? = ??Q3Plugs.NET? ?? Query type???infoRequest?? protocol???Quake3??? ??Server = ipadress???195.130.132. 155?? port???27961?? /? ???Rules count????+BDJAAARO????? = name?????+BDJAAARO???+E JwMQFQE+AFs-osp???+-???/rule???+QAA-rule = name???????+BDJAAARO???+EJwMQFQE+AFs-0? ??+-???/rule???+QAA-rule = name?????+BDJAAARO???+EJwMQFQE+AFs-1???+-???/rule???+QA A-rule name??????+BDJAAARO???+EJwMQFQE+AFs-5???+-???/rule???+QAA-rule = name????+B G8AAA-maxclients???+AAAETEEl???+-AFs-12???+-???/rule???+QAA-rule = name??????+BDJA AARO???+EJwMQFQE+AFs-2???+-???/rule???+QAA-rule = name??????+BDJAAARO???+EJwMQFQE+ AFs-q3dm6???+-???/rule???+QAA-rule = name??????+BDJAAARO???+EJwMQFQE+AFs-Telenet Q 3A OSP CA Server???+-???/rule???+QAA-rule = name??????+BDJAAARO???+EJwMQFQE+AFs-68 ???+-???/rule???+QAA-/Rules?????/Query? ??/Q3Plugs.NET? So this works fine (more or less) and doesn't throw any errors. So my question: Why does RequestStatus cause an error while RequestInfo = does not. If you want to view the full sources of the library please visit: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/q3plugs/Q3Plugs.NET/ Thnx, Timothy P. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.463 / Virus Database: 262 - Release Date: 17/03/2003 ------=_NextPart_000_0009_01C2EE6C.7B9EAB70 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,
 
I'm writing a set of class libs for=20 .NET/Mono,
except for the UTF7 Encoding in my = other post, it=20 should work fine.
And it does on .NET, but not on = Mono.
 
I don't know where to start, but I'll = try to=20 explain.
 
First of all I have a Base Class which = amongst=20 other members has the following function
 
 private void=20 ExecuteQuery()
  {
   UdpClient client = =3D new=20 UdpClient();
   //Connect to the server and send the = query=20 data
   try
   {
   = ; client.Connect(ip,port);
    client.Send(da= ta,data.Length);
   }
   catch
&nb= sp;  {
    client.Close();
 &nbs= p;  throw=20 new Exceptions.InvalidHostException("Unknown host: " +=20 ip);
   }
 
   //Listen for a = response - This is=20 the client side
   IPEndPoint serverIPEndPoint =3D new = IPEndPoint(IPAddress.Any,0);
   
   /= /Receive=20 the=20 response
   try
   {
  &= nbsp; queryResponse=20 =3D client.Receive(ref=20 serverIPEndPoint);
   }
   catch = (Exception=20 e)
   {
    throw new=20 Exceptions.ConnectionRefusedException("The connection was refused by the = remote=20 host: " + ip + ":" + port.ToString() + "\n" +=20 e.Message,e);
   }
   finally
&nbs= p;  {
    client.Close();
  = ; }
  }
 
As you can see it sends a n array of = bytes to the=20 server and receives some in return.
 
Then I have a derived class which has 2 = important=20 functions:
 
  public string=20 RequestStatus()
  {
   //Create the = byte[] array=20 to send
   byte[] query =3D=20 {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x73,0x74,0x61,0x74,0x75,0x73,0xA};   
   //Create=20 a new separator
   char separator =3D=20 Convert.ToChar(10);
 
   //A statusRequest = consists of=20 both rules and players separated by = char(10)
   string[]=20 response =3D=20 this.QueryToString(query).Split(separator);
   
&nbs= p;  //Get=20 the rules and players
   string rules =3D=20 this.RulesToXml(response[0]);
   string players =3D=20 this.PlayersToXml(response);
  
   return = this.CreateXmlBody("Quake3","statusRequest",string.Concat(rules,players))= ;
  }
 
And
 
  public string=20 RequestInfo()
  {
   //Create the byte[] = array to=20 send
   byte[] query =3D=20 {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x69,0x6E,0x66,0x6F,0xA};
 &n= bsp; 
   //Query=20 the server and get the response in a string
   string = response=20 =3D = this.QueryToString(query);
   
   //C= reate=20 the default xml body and put the rules in it
   string = returnValue =3D=20 this.CreateXmlBody("Quake3","infoRequest",this.RulesToXml(response));
 
   //return the=20 XML
   return = returnValue;
  }
 
As you can see there is almost no = difference=20 between them.
Now they both run fine with the .NET = runtime, but=20 with the mono runtime the .RequestStatus() fails.
 
When does it fail well when the = QueryToString=20 function is called,
so if I run RequestInfo() the = QueryToString=20 function is called and it all works fine,
if I run RequestStatus() the = QueryToString function=20 is called and it goes wrong.
In my opinion the only difference so = far is the=20 array of bytes to be sent.
 
Example:
 
Let's say I use the following code for = an=20 application
 
using System;
using=20 TPSoftware.Q3PlugsNet;
using = TPSoftware.Q3PlugsNet.Exceptions;
 
class MainClass
{
 public = static void=20 Main(string[]=20 args)
 {
      
  /= /Create=20 a new Q3Query
 
 // Q3Query quakeClient =3D new=20 Q3Query("195.130.132.153",27961);
  Q3Query quakeClient =3D = new=20 Q3Query("195.130.132.155",27961);
  
  try
&= nbsp; {
   string=20 info =3D=20 quakeClient.RequestStatus();
   Console.WriteLine(info)= ;
  }
  catch=20 (Exception=20 e)
  {
   Console.WriteLine("ERROR:");
=    Console.WriteLine("\n"=20 + e.ToString());         =20
          &nbs= p; 
  }
  finally
  {
&nbs= p; Console.ReadLine();
  }
 }
}
Well then I get the following result = with .NET=20 runtime
 
<?xml version=3D"1.0" = encoding=3D"utf-7"=20 standalone=3D"yes"?><Q3Plugs.NET><Query = type=3D
"statusRequest"=20 protocol=3D"Quake3"><Server ipadress=3D"195.130.132.155" = port=3D"27961
"=20 /><Rules count=3D"28"><rule=20 name=3D"capturelimit"><![CDATA[8]]></rule><rule=20 name=3D"
sv_floodProtect"><![CDATA[0]]></rule><rule = name=3D"sv_maxPing"><![CDATA[0]]></rule
><rule=20 name=3D"sv_minPing"><![CDATA[0]]></rule><rule=20 name=3D"sv_maxRate"><![CDATA[15
000]]></rule><rule=20 name=3D"sv_punkbuster"><![CDATA[0]]></rule><rule=20 name=3D"sv_maxcl
ients"><![CDATA[14]]></rule><rule=20 name=3D"sv_hostname"><![CDATA[Telenet Q3A OSP=20 CA
 Server]]></rule><rule=20 name=3D"timelimit"><![CDATA[0]]></rule><rule=20 name=3D"fraglimi
t"><![CDATA[25]]></rule><rule=20 name=3D"dmflags"><![CDATA[8]]></rule><rule=20 name=3D"ver
sion"><![CDATA[Q3 1.32 linux-i386 Oct  7=20 2002]]></rule><rule=20 name=3D"g_gametype"><
![CDATA[5]]></rule><rule=20 name=3D"protocol"><![CDATA[68]]></rule><rule=20 name=3D"mapnam
e"><![CDATA[q3dm6]]></rule><rule=20 name=3D"sv_privateClients"><![CDATA[2]]></rule><r
ul= e=20 name=3D"sv_allowDownload"><![CDATA[1]]></rule><rule=20 name=3D"server_promode"><![C
DATA[0]]></rule><rule=20 name=3D"server_cq3"><![CDATA[0]]></rule><rule=20 name=3D"g_needpa
ss"><![CDATA[0]]></rule><rule=20 name=3D"server_ospauth"><![CDATA[2]]></rule><rule=20 na
me=3D"gamename"><![CDATA[osp]]></rule><rule=20 name=3D"gameversion"><![CDATA[OSP = v1.03]
]></rule><rule=20 name=3D"Players_Red"><![CDATA[2 4 6 8 10 = ]]></rule><rule=20 name=3D"Play
ers_Blue"><![CDATA[1 3 5 7 9 = ]]></rule><rule=20 name=3D"Score_Red"><![CDATA[15]]></ru
le><rule=20 name=3D"Score_Blue"><![CDATA[17]]></rule><rule=20 name=3D"Score_Time"><![CDATA
[Round=20 33/49]]></rule></Rules><Players = count=3D"10"><Player=20 score=3D"20"=20 ping=3D"15"><
![CDATA["^5DA^4.^5Ch^7a^5o^7s"]]></Player>= ;<Player=20 score=3D"12"=20 ping=3D"24"><![CDATA[
"UnnamedPlaye^1r"]]></Player><= Player=20 score=3D"48"=20 ping=3D"38"><![CDATA["^b^0*^n^7mnl
^b^0*"]]></Player>&l= t;Player=20 score=3D"38"=20 ping=3D"38"><![CDATA["^xffffff^9eHk^b^4*^n^0T
^9N^0T"]]></= Player><Player=20 score=3D"80"=20 ping=3D"25"><![CDATA["^5B^7osje^5R"]]></Play
er><Pla= yer=20 score=3D"85"=20 ping=3D"24"><![CDATA["^x00FF00^2911^xFFFFFF^0>>^7SaTo"]]>&= lt;/P
layer><Player=20 score=3D"18" = ping=3D"52"><![CDATA["^4jerome"]]></Player><Player=20 score=3D
"96"=20 ping=3D"41"><![CDATA["^x3366FF^7e^0C^7'.E^0mo^7Z"]]></Player&= gt;<Player=20 score=3D"1
1" = ping=3D"16"><![CDATA["crypto"]]></Player><Player=20 score=3D"73"=20 ping=3D"40"><![CDATA[
"^0fearl^33^0ss"]]></Player></= Players></Query></Q3Plugs.NET>
But I get the following with the mono=20 runtime:
 
Unhandled Exception:=20 TPSoftware.Q3PlugsNet.Exceptions.ConnectionRefusedException
: The = connection=20 was refused by the remote host: 195.130.132.155:27961
Some sort of = w32 error=20 occurred ---> System.Net.Sockets.SocketException: Some so
rt of = w32 error=20 occurred
in (unmanaged) 06 = System.Net.Sockets.Socket:RecvFrom_internal=20 (intptr,byte[],int
,int,System.Net.Sockets.SocketFlags,System.Net.Sock= etAddress&)
in=20 <0x00004> 06 System.Net.Sockets.Socket:RecvFrom_internal=20 (intptr,byte[],int,i
nt,System.Net.Sockets.SocketFlags,System.Net.Sock= etAddress&)
in=20 <0x00155> 00 System.Net.Sockets.Socket:ReceiveFrom=20 (byte[],int,int,System.Net
.Sockets.SocketFlags,System.Net.EndPoint&am= p;)
in=20 <0x00180> 00 System.Net.Sockets.Socket:ReceiveFrom=20 (byte[],int,int,System.Net
.Sockets.SocketFlags,System.Net.EndPoint&am= p;)
in=20 <0x0002a> 00 System.Net.Sockets.Socket:ReceiveFrom=20 (byte[],System.Net.EndPoin
t&)
in <0x000af> 00=20 System.Net.Sockets.UdpClient:Receive (System.Net.IPEndPoint&)
in=20 <0x0016b> 00 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery = ()
--- End of=20 inner exception stack trace ---
 
in <0x002b4> 00=20 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery ()
in <0x0005b> 01 = System.MulticastDelegate:invoke_void ()
 
However if I change the above code = to:
 
using System;
using=20 TPSoftware.Q3PlugsNet;
using = TPSoftware.Q3PlugsNet.Exceptions;
 
class MainClass
{
 public = static void=20 Main(string[]=20 args)
 {
      
  /= /Create=20 a new Q3Query
 
 // Q3Query quakeClient =3D new=20 Q3Query("195.130.132.153",27961);
  Q3Query quakeClient =3D = new=20 Q3Query("195.130.132.155",27961);
  
  try
&= nbsp; {
   string=20 info =3D quakeClient.RequestInfo(); // RequestInfo instead of = RequestStatus=20 !!!!!!!!
   Console.WriteLine(info);
  }  catch=20 (Exception=20 e)
  {
   Console.WriteLine("ERROR:");
=    Console.WriteLine("\n"=20 + e.ToString());         =20
 
          &nbs= p;=20
  }
  finally
  {
  = Console.ReadLine();
  }
 }
}
 
I get the following output with = .NET
 
<?xml version=3D"1.0" = encoding=3D"utf-7"=20 standalone=3D"yes"?><Q3Plugs.NET><Query = type=3D
"infoRequest"=20 protocol=3D"Quake3"><Server ipadress=3D"195.130.132.155"=20 port=3D"27961"
/><Rules count=3D"9"><rule=20 name=3D"game"><![CDATA[osp]]></rule><rule=20 name=3D"punkbuste
r"><![CDATA[0]]></rule><rule=20 name=3D"pure"><![CDATA[1]]></rule><rule=20 name=3D"gametyp
e"><![CDATA[5]]></rule><rule=20 name=3D"sv_maxclients"><![CDATA[12]]></rule><rule=20 nam
e=3D"clients"><![CDATA[2]]></rule><rule=20 name=3D"mapname"><![CDATA[q3dm6]]></rule><ru
le=20 name=3D"hostname"><![CDATA[Telenet Q3A OSP CA=20 Server]]></rule><rule=20 name=3D"proto
col"><![CDATA[68]]></rule></Rules>&= lt;/Query></Q3Plugs.NET>
And the following output with mono = (don't mind the=20 encoding, that's another bug)

???xml version???1.0?? encoding???utf-7?? standalone???yes????=20 ??Q3Plugs.NET? ??
Query type???infoRequest?? protocol???Quake3??? = ??Server=20 ipadress???195.130.132.
155?? port???27961?? /? ???Rules=20 count????+BDJAAARO?????=20 name?????+BDJAAARO???+E
JwMQFQE+AFs-osp???+-???/rule???+QAA-rule=20 name???????+BDJAAARO???+EJwMQFQE+AFs-0?
??+-???/rule???+QAA-rule=20 name?????+BDJAAARO???+EJwMQFQE+AFs-1???+-???/rule???+QA
A-rule=20 name??????+BDJAAARO???+EJwMQFQE+AFs-5???+-???/rule???+QAA-rule=20 name????+B
G8AAA-maxclients???+AAAETEEl???+-AFs-12???+-???/rule???+QAA= -rule=20 name??????+BDJA
AARO???+EJwMQFQE+AFs-2???+-???/rule???+QAA-rule=20 name??????+BDJAAARO???+EJwMQFQE+
AFs-q3dm6???+-???/rule???+QAA-rule=20 name??????+BDJAAARO???+EJwMQFQE+AFs-Telenet Q
3A OSP CA=20 Server???+-???/rule???+QAA-rule=20 name??????+BDJAAARO???+EJwMQFQE+AFs-68
???+-???/rule???+QAA-/Rules????= ?/Query?=20 ??/Q3Plugs.NET?
 
So this works fine (more or less) and doesn't throw any = errors.
 
So my question: Why does RequestStatus cause an error while = RequestInfo=20 does not.
 
If you want to view the full sources of the library please = visit:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/q3plugs/Q3Plugs.NET/
 
Thnx,
Timothy P.
 
 

---
Outgoing mail is certified = Virus=20 Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: = 6.0.463 /=20 Virus Database: 262 - Release Date: = 17/03/2003
------=_NextPart_000_0009_01C2EE6C.7B9EAB70-- From John.BouAntoun@rogen.com.au Wed Mar 19 22:48:31 2003 From: John.BouAntoun@rogen.com.au (John BouAntoun) Date: Thu, 20 Mar 2003 09:48:31 +1100 Subject: [Mono-list] Mono build problem. Please Help Message-ID: This is a multi-part message in MIME format. ------_=_NextPart_001_01C2EE69.AA07A640 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable not sure what it is, but I have been having this problem for the last = month or so. =20 Apparently it has something to do with the Cygwin setup being crap. =20 It would be really nice if some one could make an image of all the = required cygwin packages required to build mono on cygwin, so that = newbies could go and download all the cygwin packages, do a local = install and then get mono from cvs and build it using mono-build-w32.sh =20 John BouAntoun -----Original Message----- From: Stefan Kyntchev [mailto:skyntchev@cardinalsolutions.com] Sent: Wednesday, 19 March 2003 8:25 AM To: mono-list@lists.ximian.com Subject: [Mono-list] Mono build problem. Please Help I am trying to build mono on my XP box, running cygwin. =20 I downloaded and installed the latest COMPLETE installation of cygwin. = When trying to build mono I got the following error: =20 ... checking whether to build static libraries... yes creating libtool checking for sys/filio.h... no checking for sys/sockio.h... no checking for netdb.h... no checking for utime.h... no checking for semaphore.h... no checking for sys/un.h... no checking for elf.h... no checking for wchar.h... yes checking size of void *... 4 checking for pkg-config... /usr/bin/pkg-config checking for glib-2.0 >=3D 1.3.11... yes checking BASE_DEPENDENCIES_CFLAGS... = -I/usr/stefan/install/include/glib-2.0 -I/u sr/stefan/install/lib/glib-2.0/include checking BASE_DEPENDENCIES_LIBS... -L/usr/stefan/install/lib -lglib-2.0 = -lintl - liconv checking for gc.h... no checking for gc/gc.h... no checking for GC_malloc in -lgc... yes configure: error: Found libgc but not its header files! You may need to = install them by hand. I tried installing on XP and Win 2000, with the same result. =20 Does anyone know how to get around this issue? =20 Thanks =20 Stefan =20 =20 ------_=_NextPart_001_01C2EE69.AA07A640 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Message
not=20 sure what it is, but I have been having this problem for the last month = or=20 so.
 
Apparently it has something to do with the Cygwin setup being=20 crap.
 
It=20 would be really nice if some one could make an image of all the required = cygwin=20 packages required to build mono on cygwin, so that newbies could go and = download=20 all the cygwin packages, do a local install and then get mono from cvs = and build=20 it using mono-build-w32.sh
 
John  BouAntoun
-----Original Message-----
From: Stefan Kyntchev=20 [mailto:skyntchev@cardinalsolutions.com]
Sent: Wednesday, 19 = March=20 2003 8:25 AM
To: = mono-list@lists.ximian.com
Subject:=20 [Mono-list] Mono build problem. Please Help

I am = trying to=20 build mono on my XP box, running cygwin.
 
I = downloaded and=20 installed the latest COMPLETE installation of cygwin. When trying = to=20 build mono I got the following error:
 
...
checking whether=20 to build static libraries... yes
creating libtool
checking for=20 sys/filio.h... no
checking for sys/sockio.h... no
checking for=20 netdb.h... no
checking for utime.h... no
checking for = semaphore.h...=20 no
checking for sys/un.h... no
checking for elf.h... = no
checking for=20 wchar.h... yes
checking size of void *... 4
checking for = pkg-config...=20 /usr/bin/pkg-config
checking for glib-2.0 >=3D 1.3.11... = yes
checking=20 BASE_DEPENDENCIES_CFLAGS... -I/usr/stefan/install/include/glib-2.0=20 -I/u
sr/stefan/install/lib/glib-2.0/include
checking=20 BASE_DEPENDENCIES_LIBS... -L/usr/stefan/install/lib -lglib-2.0 -lintl=20 -
liconv
checking for gc.h... no
checking for gc/gc.h...=20 no
checking for GC_malloc in -lgc... yes
configure: error: Found = libgc=20 but not its header files! You may need to install
them by=20 hand.
I = tried installing=20 on XP and  Win 2000, with the same result.
 
Does = anyone=20 know how to get around this issue?
 
Thanks
 
Stefan
 
 
= ------_=_NextPart_001_01C2EE69.AA07A640-- From tpsoftware@users.sourceforge.net Wed Mar 19 22:52:09 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: Wed, 19 Mar 2003 23:52:09 +0100 Subject: [Mono-list] System.Net.Sockets.SocketException References: <000c01c2ee64$1a18fa20$0a00000a@alfred> Message-ID: <000801c2ee6a$2c282e10$0a00000a@alfred> This is a multi-part message in MIME format. ------=_NextPart_000_0005_01C2EE72.8DCF9830 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Update: It seems that when I changed everything to ASCII instead of UTF7 = everything works fine and there are no more socket exceptions. Although = I don't get the link between the encoding and the socket exceptions, so = it may be co=EFncidence. Can someone verify this ? ----- Original Message -----=20 From: Timothy Parez=20 To: mono-list@ximian.com=20 Sent: Wednesday, March 19, 2003 11:08 PM Subject: [Mono-list] System.Net.Sockets.SocketException Hi, I'm writing a set of class libs for .NET/Mono, except for the UTF7 Encoding in my other post, it should work fine. And it does on .NET, but not on Mono. I don't know where to start, but I'll try to explain. First of all I have a Base Class which amongst other members has the = following function private void ExecuteQuery() { UdpClient client =3D new UdpClient(); //Connect to the server and send the query data try { client.Connect(ip,port); client.Send(data,data.Length); } catch { client.Close(); throw new Exceptions.InvalidHostException("Unknown host: " + ip); } //Listen for a response - This is the client side IPEndPoint serverIPEndPoint =3D new IPEndPoint(IPAddress.Any,0); =20 //Receive the response try { queryResponse =3D client.Receive(ref serverIPEndPoint); } catch (Exception e) { throw new Exceptions.ConnectionRefusedException("The connection = was refused by the remote host: " + ip + ":" + port.ToString() + "\n" + = e.Message,e); } finally { client.Close(); } } As you can see it sends a n array of bytes to the server and receives = some in return. Then I have a derived class which has 2 important functions: public string RequestStatus() { //Create the byte[] array to send byte[] query =3D = {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x73,0x74,0x61,0x74,0x75,0x73,0xA}; =20 //Create a new separator char separator =3D Convert.ToChar(10); //A statusRequest consists of both rules and players separated by = char(10) string[] response =3D this.QueryToString(query).Split(separator); =20 //Get the rules and players string rules =3D this.RulesToXml(response[0]); string players =3D this.PlayersToXml(response); =20 return = this.CreateXmlBody("Quake3","statusRequest",string.Concat(rules,players))= ; } And public string RequestInfo() { //Create the byte[] array to send byte[] query =3D = {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x69,0x6E,0x66,0x6F,0xA}; =20 //Query the server and get the response in a string string response =3D this.QueryToString(query); =20 //Create the default xml body and put the rules in it string returnValue =3D = this.CreateXmlBody("Quake3","infoRequest",this.RulesToXml(response)); //return the XML return returnValue; } As you can see there is almost no difference between them. Now they both run fine with the .NET runtime, but with the mono = runtime the .RequestStatus() fails. When does it fail well when the QueryToString function is called, so if I run RequestInfo() the QueryToString function is called and it = all works fine, if I run RequestStatus() the QueryToString function is called and it = goes wrong. In my opinion the only difference so far is the array of bytes to be = sent. Example: Let's say I use the following code for an application using System; using TPSoftware.Q3PlugsNet; using TPSoftware.Q3PlugsNet.Exceptions; class MainClass { public static void Main(string[] args) { =20 //Create a new Q3Query =20 // Q3Query quakeClient =3D new Q3Query("195.130.132.153",27961); Q3Query quakeClient =3D new Q3Query("195.130.132.155",27961); =20 try { string info =3D quakeClient.RequestStatus(); Console.WriteLine(info); } catch (Exception e) { Console.WriteLine("ERROR:"); Console.WriteLine("\n" + e.ToString()); =20 =20 } finally { Console.ReadLine(); } } } Well then I get the following result with .NET runtime < ![CDATA[5]]>< ![CDATA["^5DA^4.^5Ch^7a^5o^7s"]]>>^7SaTo"]]>

But I get the following with the mono runtime: Unhandled Exception: = TPSoftware.Q3PlugsNet.Exceptions.ConnectionRefusedException : The connection was refused by the remote host: 195.130.132.155:27961 Some sort of w32 error occurred ---> = System.Net.Sockets.SocketException: Some so rt of w32 error occurred in (unmanaged) 06 System.Net.Sockets.Socket:RecvFrom_internal = (intptr,byte[],int ,int,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&) in <0x00004> 06 System.Net.Sockets.Socket:RecvFrom_internal = (intptr,byte[],int,i nt,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&) in <0x00155> 00 System.Net.Sockets.Socket:ReceiveFrom = (byte[],int,int,System.Net .Sockets.SocketFlags,System.Net.EndPoint&) in <0x00180> 00 System.Net.Sockets.Socket:ReceiveFrom = (byte[],int,int,System.Net .Sockets.SocketFlags,System.Net.EndPoint&) in <0x0002a> 00 System.Net.Sockets.Socket:ReceiveFrom = (byte[],System.Net.EndPoin t&) in <0x000af> 00 System.Net.Sockets.UdpClient:Receive = (System.Net.IPEndPoint&) in <0x0016b> 00 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery () --- End of inner exception stack trace --- in <0x002b4> 00 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery () in <0x0005b> 01 System.MulticastDelegate:invoke_void () However if I change the above code to: using System; using TPSoftware.Q3PlugsNet; using TPSoftware.Q3PlugsNet.Exceptions; class MainClass { public static void Main(string[] args) { =20 //Create a new Q3Query =20 // Q3Query quakeClient =3D new Q3Query("195.130.132.153",27961); Q3Query quakeClient =3D new Q3Query("195.130.132.155",27961); =20 try { string info =3D quakeClient.RequestInfo(); // RequestInfo instead = of RequestStatus !!!!!!!! Console.WriteLine(info); } catch (Exception e) { Console.WriteLine("ERROR:"); Console.WriteLine("\n" + e.ToString()); =20 =20 } finally { Console.ReadLine(); } } } I get the following output with .NET And the following output with mono (don't mind the encoding, that's = another bug) ???xml version???1.0?? encoding???utf-7?? standalone???yes???? = ??Q3Plugs.NET? ?? Query type???infoRequest?? protocol???Quake3??? ??Server = ipadress???195.130.132. 155?? port???27961?? /? ???Rules count????+BDJAAARO????? = name?????+BDJAAARO???+E JwMQFQE+AFs-osp???+-???/rule???+QAA-rule = name???????+BDJAAARO???+EJwMQFQE+AFs-0? ??+-???/rule???+QAA-rule = name?????+BDJAAARO???+EJwMQFQE+AFs-1???+-???/rule???+QA A-rule name??????+BDJAAARO???+EJwMQFQE+AFs-5???+-???/rule???+QAA-rule = name????+B G8AAA-maxclients???+AAAETEEl???+-AFs-12???+-???/rule???+QAA-rule = name??????+BDJA AARO???+EJwMQFQE+AFs-2???+-???/rule???+QAA-rule = name??????+BDJAAARO???+EJwMQFQE+ AFs-q3dm6???+-???/rule???+QAA-rule = name??????+BDJAAARO???+EJwMQFQE+AFs-Telenet Q 3A OSP CA Server???+-???/rule???+QAA-rule = name??????+BDJAAARO???+EJwMQFQE+AFs-68 ???+-???/rule???+QAA-/Rules?????/Query? ??/Q3Plugs.NET? So this works fine (more or less) and doesn't throw any errors. So my question: Why does RequestStatus cause an error while = RequestInfo does not. If you want to view the full sources of the library please visit: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/q3plugs/Q3Plugs.NET/ Thnx, Timothy P. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.463 / Virus Database: 262 - Release Date: 17/03/2003 ------=_NextPart_000_0005_01C2EE72.8DCF9830 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Update:
 
It seems that when I changed everything = to ASCII=20 instead of UTF7 everything works fine and there are no more socket = exceptions.=20 Although I don't get the link between the encoding and the socket = exceptions, so=20 it may be co=EFncidence.
 
Can someone verify this ?
----- Original Message -----
From:=20 Timothy Parez =
Sent: Wednesday, March 19, 2003 = 11:08=20 PM
Subject: [Mono-list]=20 System.Net.Sockets.SocketException

Hi,
 
I'm writing a set of class libs for=20 .NET/Mono,
except for the UTF7 Encoding in my = other post, it=20 should work fine.
And it does on .NET, but not on=20 Mono.
 
I don't know where to start, but I'll = try to=20 explain.
 
First of all I have a Base Class = which amongst=20 other members has the following function
 
 private void=20 ExecuteQuery()
  {
   UdpClient client = =3D new=20 UdpClient();
   //Connect to the server and send the = query=20 = data
   try
   {
   = ; client.Connect(ip,port);
    client.Send(da= ta,data.Length);
   }
   catch
&nb= sp;  {
    client.Close();
 &nbs= p;  throw=20 new Exceptions.InvalidHostException("Unknown host: " +=20 ip);
   }
 
   //Listen for a = response - This=20 is the client side
   IPEndPoint serverIPEndPoint = =3D new=20 = IPEndPoint(IPAddress.Any,0);
   
   /= /Receive=20 the=20 = response
   try
   {
  &= nbsp; queryResponse=20 =3D client.Receive(ref=20 serverIPEndPoint);
   }
   catch=20 (Exception e)
   {
    throw = new=20 Exceptions.ConnectionRefusedException("The connection was refused by = the=20 remote host: " + ip + ":" + port.ToString() + "\n" +=20 = e.Message,e);
   }
   finally
&nbs= p;  {
    client.Close();
  = ; }
  }
 
As you can see it sends a n array of = bytes to the=20 server and receives some in return.
 
Then I have a derived class which has = 2 important=20 functions:
 
  public string=20 RequestStatus()
  {
   //Create the = byte[]=20 array to send
   byte[] query =3D=20 = {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x73,0x74,0x61,0x74,0x75,0x73,0xA};   
   //Create=20 a new separator
   char separator =3D=20 Convert.ToChar(10);
 
   //A statusRequest = consists of=20 both rules and players separated by = char(10)
   string[]=20 response =3D=20 = this.QueryToString(query).Split(separator);
   
&nbs= p;  //Get=20 the rules and players
   string rules =3D=20 this.RulesToXml(response[0]);
   string players =3D=20 = this.PlayersToXml(response);
  
   return = = this.CreateXmlBody("Quake3","statusRequest",string.Concat(rules,players))= ;
  }
 
And
 
  public string=20 RequestInfo()
  {
   //Create the = byte[] array=20 to send
   byte[] query =3D=20 = {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x69,0x6E,0x66,0x6F,0xA};
 &n= bsp; 
   //Query=20 the server and get the response in a = string
   string=20 response =3D=20 = this.QueryToString(query);
   
   //C= reate=20 the default xml body and put the rules in = it
   string=20 returnValue =3D=20 = this.CreateXmlBody("Quake3","infoRequest",this.RulesToXml(response));
 
   //return the=20 XML
   return = returnValue;
  }
 
As you can see there is almost no = difference=20 between them.
Now they both run fine with the .NET = runtime, but=20 with the mono runtime the .RequestStatus() fails.
 
When does it fail well when the = QueryToString=20 function is called,
so if I run RequestInfo() the = QueryToString=20 function is called and it all works fine,
if I run RequestStatus() the = QueryToString=20 function is called and it goes wrong.
In my opinion the only difference so = far is the=20 array of bytes to be sent.
 
Example:
 
Let's say I use the following code = for an=20 application
 
using System;
using=20 TPSoftware.Q3PlugsNet;
using = TPSoftware.Q3PlugsNet.Exceptions;
 
class MainClass
{
 public = static void=20 Main(string[]=20 = args)
 {
      
  /= /Create=20 a new Q3Query
 
 // Q3Query quakeClient =3D new=20 Q3Query("195.130.132.153",27961);
  Q3Query quakeClient = =3D new=20 = Q3Query("195.130.132.155",27961);
  
  try
&= nbsp; {
   string=20 info =3D=20 = quakeClient.RequestStatus();
   Console.WriteLine(info)= ;
  }
  catch=20 (Exception=20 = e)
  {
   Console.WriteLine("ERROR:");
=    Console.WriteLine("\n"=20 + e.ToString());          =
          &nbs= p; 
  }
  finally
  {
&nbs= p; Console.ReadLine();
  }
 }
}
Well then I get the following result = with .NET=20 runtime
 
<?xml version=3D"1.0" = encoding=3D"utf-7"=20 standalone=3D"yes"?><Q3Plugs.NET><Query = type=3D
"statusRequest"=20 protocol=3D"Quake3"><Server ipadress=3D"195.130.132.155" = port=3D"27961
"=20 /><Rules count=3D"28"><rule=20 name=3D"capturelimit"><![CDATA[8]]></rule><rule=20 = name=3D"
sv_floodProtect"><![CDATA[0]]></rule><rule = name=3D"sv_maxPing"><![CDATA[0]]></rule
><rule=20 name=3D"sv_minPing"><![CDATA[0]]></rule><rule=20 = name=3D"sv_maxRate"><![CDATA[15
000]]></rule><rule=20 name=3D"sv_punkbuster"><![CDATA[0]]></rule><rule=20 = name=3D"sv_maxcl
ients"><![CDATA[14]]></rule><rule=20 name=3D"sv_hostname"><![CDATA[Telenet Q3A OSP=20 CA
 Server]]></rule><rule=20 name=3D"timelimit"><![CDATA[0]]></rule><rule=20 name=3D"fraglimi
t"><![CDATA[25]]></rule><rule=20 name=3D"dmflags"><![CDATA[8]]></rule><rule=20 name=3D"ver
sion"><![CDATA[Q3 1.32 linux-i386 Oct  7=20 2002]]></rule><rule=20 name=3D"g_gametype"><
![CDATA[5]]></rule><rule=20 name=3D"protocol"><![CDATA[68]]></rule><rule=20 name=3D"mapnam
e"><![CDATA[q3dm6]]></rule><rule=20 = name=3D"sv_privateClients"><![CDATA[2]]></rule><r
ul= e=20 name=3D"sv_allowDownload"><![CDATA[1]]></rule><rule=20 = name=3D"server_promode"><![C
DATA[0]]></rule><rule=20 name=3D"server_cq3"><![CDATA[0]]></rule><rule=20 name=3D"g_needpa
ss"><![CDATA[0]]></rule><rule=20 name=3D"server_ospauth"><![CDATA[2]]></rule><rule=20 na
me=3D"gamename"><![CDATA[osp]]></rule><rule=20 name=3D"gameversion"><![CDATA[OSP = v1.03]
]></rule><rule=20 name=3D"Players_Red"><![CDATA[2 4 6 8 10 = ]]></rule><rule=20 name=3D"Play
ers_Blue"><![CDATA[1 3 5 7 9 = ]]></rule><rule=20 name=3D"Score_Red"><![CDATA[15]]></ru
le><rule=20 name=3D"Score_Blue"><![CDATA[17]]></rule><rule=20 name=3D"Score_Time"><![CDATA
[Round=20 33/49]]></rule></Rules><Players = count=3D"10"><Player=20 score=3D"20"=20 = ping=3D"15"><
![CDATA["^5DA^4.^5Ch^7a^5o^7s"]]></Player>= ;<Player=20 score=3D"12"=20 = ping=3D"24"><![CDATA[
"UnnamedPlaye^1r"]]></Player><= Player=20 score=3D"48"=20 = ping=3D"38"><![CDATA["^b^0*^n^7mnl
^b^0*"]]></Player>&l= t;Player=20 score=3D"38"=20 = ping=3D"38"><![CDATA["^xffffff^9eHk^b^4*^n^0T
^9N^0T"]]></= Player><Player=20 score=3D"80"=20 = ping=3D"25"><![CDATA["^5B^7osje^5R"]]></Play
er><Pla= yer=20 score=3D"85"=20 = ping=3D"24"><![CDATA["^x00FF00^2911^xFFFFFF^0>>^7SaTo"]]>&= lt;/P
layer><Player=20 score=3D"18" = ping=3D"52"><![CDATA["^4jerome"]]></Player><Player=20 score=3D
"96"=20 = ping=3D"41"><![CDATA["^x3366FF^7e^0C^7'.E^0mo^7Z"]]></Player&= gt;<Player=20 score=3D"1
1"=20 ping=3D"16"><![CDATA["crypto"]]></Player><Player = score=3D"73"=20 = ping=3D"40"><![CDATA[
"^0fearl^33^0ss"]]></Player></= Players></Query></Q3Plugs.NET>
But I get the following with the mono = runtime:
 
Unhandled Exception:=20 TPSoftware.Q3PlugsNet.Exceptions.ConnectionRefusedException
: The=20 connection was refused by the remote host: = 195.130.132.155:27961
Some sort=20 of w32 error occurred ---> System.Net.Sockets.SocketException: Some = so
rt of w32 error occurred
in (unmanaged) 06=20 System.Net.Sockets.Socket:RecvFrom_internal=20 = (intptr,byte[],int
,int,System.Net.Sockets.SocketFlags,System.Net.Sock= etAddress&)
in=20 <0x00004> 06 System.Net.Sockets.Socket:RecvFrom_internal=20 = (intptr,byte[],int,i
nt,System.Net.Sockets.SocketFlags,System.Net.Sock= etAddress&)
in=20 <0x00155> 00 System.Net.Sockets.Socket:ReceiveFrom=20 = (byte[],int,int,System.Net
.Sockets.SocketFlags,System.Net.EndPoint&am= p;)
in=20 <0x00180> 00 System.Net.Sockets.Socket:ReceiveFrom=20 = (byte[],int,int,System.Net
.Sockets.SocketFlags,System.Net.EndPoint&am= p;)
in=20 <0x0002a> 00 System.Net.Sockets.Socket:ReceiveFrom=20 (byte[],System.Net.EndPoin
t&)
in <0x000af> 00=20 System.Net.Sockets.UdpClient:Receive = (System.Net.IPEndPoint&)
in=20 <0x0016b> 00 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery = ()
--- End=20 of inner exception stack trace ---
 
in <0x002b4> 00=20 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery ()
in <0x0005b> = 01=20 System.MulticastDelegate:invoke_void ()
 
However if I change the above code=20 to:
 
using System;
using=20 TPSoftware.Q3PlugsNet;
using = TPSoftware.Q3PlugsNet.Exceptions;
 
class MainClass
{
 public = static void=20 Main(string[]=20 = args)
 {
      
  /= /Create=20 a new Q3Query
 
 // Q3Query quakeClient =3D new=20 Q3Query("195.130.132.153",27961);
  Q3Query quakeClient = =3D new=20 = Q3Query("195.130.132.155",27961);
  
  try
&= nbsp; {
   string=20 info =3D quakeClient.RequestInfo(); // RequestInfo instead of = RequestStatus=20 = !!!!!!!!
   Console.WriteLine(info);
  }  catch=20 (Exception=20 = e)
  {
   Console.WriteLine("ERROR:");
=    Console.WriteLine("\n"=20 + e.ToString());          =
 
          &nbs= p;=20 =
  }
  finally
  {
  = Console.ReadLine();
  }
 }
}
 
I get the following output with = .NET
 
<?xml version=3D"1.0" = encoding=3D"utf-7"=20 standalone=3D"yes"?><Q3Plugs.NET><Query = type=3D
"infoRequest"=20 protocol=3D"Quake3"><Server ipadress=3D"195.130.132.155"=20 port=3D"27961"
/><Rules count=3D"9"><rule=20 name=3D"game"><![CDATA[osp]]></rule><rule=20 name=3D"punkbuste
r"><![CDATA[0]]></rule><rule=20 name=3D"pure"><![CDATA[1]]></rule><rule=20 name=3D"gametyp
e"><![CDATA[5]]></rule><rule=20 name=3D"sv_maxclients"><![CDATA[12]]></rule><rule=20 nam
e=3D"clients"><![CDATA[2]]></rule><rule=20 name=3D"mapname"><![CDATA[q3dm6]]></rule><ru
le=20 name=3D"hostname"><![CDATA[Telenet Q3A OSP CA=20 Server]]></rule><rule=20 = name=3D"proto
col"><![CDATA[68]]></rule></Rules>&= lt;/Query></Q3Plugs.NET>
And the following output with mono = (don't mind=20 the encoding, that's another bug)

???xml version???1.0?? encoding???utf-7?? = standalone???yes????=20 ??Q3Plugs.NET? ??
Query type???infoRequest?? protocol???Quake3??? = ??Server=20 ipadress???195.130.132.
155?? port???27961?? /? ???Rules=20 count????+BDJAAARO?????=20 name?????+BDJAAARO???+E
JwMQFQE+AFs-osp???+-???/rule???+QAA-rule=20 name???????+BDJAAARO???+EJwMQFQE+AFs-0?
??+-???/rule???+QAA-rule=20 name?????+BDJAAARO???+EJwMQFQE+AFs-1???+-???/rule???+QA
A-rule=20 name??????+BDJAAARO???+EJwMQFQE+AFs-5???+-???/rule???+QAA-rule=20 = name????+B
G8AAA-maxclients???+AAAETEEl???+-AFs-12???+-???/rule???+QAA= -rule=20 name??????+BDJA
AARO???+EJwMQFQE+AFs-2???+-???/rule???+QAA-rule=20 name??????+BDJAAARO???+EJwMQFQE+
AFs-q3dm6???+-???/rule???+QAA-rule = name??????+BDJAAARO???+EJwMQFQE+AFs-Telenet Q
3A OSP CA=20 Server???+-???/rule???+QAA-rule=20 = name??????+BDJAAARO???+EJwMQFQE+AFs-68
???+-???/rule???+QAA-/Rules????= ?/Query?=20 ??/Q3Plugs.NET?
 
So this works fine (more or less) and doesn't throw any = errors.
 
So my question: Why does RequestStatus cause an error while = RequestInfo=20 does not.
 
If you want to view the full sources of the library please = visit:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/q3plugs/Q3Plugs.NET/
 
Thnx,
Timothy P.
 
 

---
Outgoing mail is certified = Virus=20 Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: = 6.0.463=20 / Virus Database: 262 - Release Date:=20 17/03/2003
------=_NextPart_000_0005_01C2EE72.8DCF9830-- From danmorg@sc.rr.com Wed Mar 19 23:11:57 2003 From: danmorg@sc.rr.com (Daniel Morgan) Date: Wed, 19 Mar 2003 18:11:57 -0500 Subject: [Mono-list] Mono build problem. Please Help In-Reply-To: Message-ID: Here's an idea... Download the Mono 0.23 Windows Installer... Make sure you have no Mono/mcs stuff still lying around somewhere... Install it somewhere.... Modify the mono/doc/mono-build-w32.sh script to not download and not to install the gc. The modified line is 148. install_package libgc-dev.zip lib/gc.dll gc-dev Comment it out with a # (pound) in front. #install_package libgc-dev.zip lib/gc.dll gc-dev Now, try running the mono-build-w32.sh script again. -----Original Message----- From: mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.com]On Behalf Of John BouAntoun Sent: Wednesday, March 19, 2003 5:49 PM To: Stefan Kyntchev; mono-list@lists.ximian.com Subject: RE: [Mono-list] Mono build problem. Please Help not sure what it is, but I have been having this problem for the last month or so. Apparently it has something to do with the Cygwin setup being crap. It would be really nice if some one could make an image of all the required cygwin packages required to build mono on cygwin, so that newbies could go and download all the cygwin packages, do a local install and then get mono from cvs and build it using mono-build-w32.sh John BouAntoun -----Original Message----- From: Stefan Kyntchev [mailto:skyntchev@cardinalsolutions.com] Sent: Wednesday, 19 March 2003 8:25 AM To: mono-list@lists.ximian.com Subject: [Mono-list] Mono build problem. Please Help I am trying to build mono on my XP box, running cygwin. I downloaded and installed the latest COMPLETE installation of cygwin. When trying to build mono I got the following error: ... checking whether to build static libraries... yes creating libtool checking for sys/filio.h... no checking for sys/sockio.h... no checking for netdb.h... no checking for utime.h... no checking for semaphore.h... no checking for sys/un.h... no checking for elf.h... no checking for wchar.h... yes checking size of void *... 4 checking for pkg-config... /usr/bin/pkg-config checking for glib-2.0 >= 1.3.11... yes checking BASE_DEPENDENCIES_CFLAGS... -I/usr/stefan/install/include/glib-2.0 -I/u sr/stefan/install/lib/glib-2.0/include checking BASE_DEPENDENCIES_LIBS... -L/usr/stefan/install/lib -lglib-2.0 -lintl - liconv checking for gc.h... no checking for gc/gc.h... no checking for GC_malloc in -lgc... yes configure: error: Found libgc but not its header files! You may need to install them by hand. I tried installing on XP and Win 2000, with the same result. Does anyone know how to get around this issue? Thanks Stefan From tpsoftware@users.sourceforge.net Wed Mar 19 23:19:17 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: Thu, 20 Mar 2003 00:19:17 +0100 Subject: [Mono-list] System.Net.Sockets.SocketException References: <000c01c2ee64$1a18fa20$0a00000a@alfred> <000801c2ee6a$2c282e10$0a00000a@alfred> Message-ID: <001701c2ee6d$f6c0ed80$0a00000a@alfred> This is a multi-part message in MIME format. ------=_NextPart_000_0014_01C2EE76.58548180 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Update 2: The error doesn't seem to be gone at all :( So the problem remains. ----- Original Message -----=20 From: Timothy Parez=20 To: mono-list@ximian.com=20 Sent: Wednesday, March 19, 2003 11:52 PM Subject: Re: [Mono-list] System.Net.Sockets.SocketException Update: It seems that when I changed everything to ASCII instead of UTF7 = everything works fine and there are no more socket exceptions. Although = I don't get the link between the encoding and the socket exceptions, so = it may be co=EFncidence. Can someone verify this ? ----- Original Message -----=20 From: Timothy Parez=20 To: mono-list@ximian.com=20 Sent: Wednesday, March 19, 2003 11:08 PM Subject: [Mono-list] System.Net.Sockets.SocketException Hi, I'm writing a set of class libs for .NET/Mono, except for the UTF7 Encoding in my other post, it should work fine. And it does on .NET, but not on Mono. I don't know where to start, but I'll try to explain. First of all I have a Base Class which amongst other members has the = following function private void ExecuteQuery() { UdpClient client =3D new UdpClient(); //Connect to the server and send the query data try { client.Connect(ip,port); client.Send(data,data.Length); } catch { client.Close(); throw new Exceptions.InvalidHostException("Unknown host: " + = ip); } //Listen for a response - This is the client side IPEndPoint serverIPEndPoint =3D new IPEndPoint(IPAddress.Any,0); =20 //Receive the response try { queryResponse =3D client.Receive(ref serverIPEndPoint); } catch (Exception e) { throw new Exceptions.ConnectionRefusedException("The connection = was refused by the remote host: " + ip + ":" + port.ToString() + "\n" + = e.Message,e); } finally { client.Close(); } } As you can see it sends a n array of bytes to the server and = receives some in return. Then I have a derived class which has 2 important functions: public string RequestStatus() { //Create the byte[] array to send byte[] query =3D = {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x73,0x74,0x61,0x74,0x75,0x73,0xA}; =20 //Create a new separator char separator =3D Convert.ToChar(10); //A statusRequest consists of both rules and players separated by = char(10) string[] response =3D this.QueryToString(query).Split(separator); =20 //Get the rules and players string rules =3D this.RulesToXml(response[0]); string players =3D this.PlayersToXml(response); =20 return = this.CreateXmlBody("Quake3","statusRequest",string.Concat(rules,players))= ; } And public string RequestInfo() { //Create the byte[] array to send byte[] query =3D = {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x69,0x6E,0x66,0x6F,0xA}; =20 //Query the server and get the response in a string string response =3D this.QueryToString(query); =20 //Create the default xml body and put the rules in it string returnValue =3D = this.CreateXmlBody("Quake3","infoRequest",this.RulesToXml(response)); //return the XML return returnValue; } As you can see there is almost no difference between them. Now they both run fine with the .NET runtime, but with the mono = runtime the .RequestStatus() fails. When does it fail well when the QueryToString function is called, so if I run RequestInfo() the QueryToString function is called and = it all works fine, if I run RequestStatus() the QueryToString function is called and it = goes wrong. In my opinion the only difference so far is the array of bytes to be = sent. Example: Let's say I use the following code for an application using System; using TPSoftware.Q3PlugsNet; using TPSoftware.Q3PlugsNet.Exceptions; class MainClass { public static void Main(string[] args) { =20 //Create a new Q3Query =20 // Q3Query quakeClient =3D new Q3Query("195.130.132.153",27961); Q3Query quakeClient =3D new Q3Query("195.130.132.155",27961); =20 try { string info =3D quakeClient.RequestStatus(); Console.WriteLine(info); } catch (Exception e) { Console.WriteLine("ERROR:"); Console.WriteLine("\n" + e.ToString()); =20 =20 } finally { Console.ReadLine(); } } } Well then I get the following result with .NET runtime < ![CDATA[5]]>< ![CDATA["^5DA^4.^5Ch^7a^5o^7s"]]>>^7SaTo"]]>

But I get the following with the mono runtime: Unhandled Exception: = TPSoftware.Q3PlugsNet.Exceptions.ConnectionRefusedException : The connection was refused by the remote host: = 195.130.132.155:27961 Some sort of w32 error occurred ---> = System.Net.Sockets.SocketException: Some so rt of w32 error occurred in (unmanaged) 06 System.Net.Sockets.Socket:RecvFrom_internal = (intptr,byte[],int ,int,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&) in <0x00004> 06 System.Net.Sockets.Socket:RecvFrom_internal = (intptr,byte[],int,i nt,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&) in <0x00155> 00 System.Net.Sockets.Socket:ReceiveFrom = (byte[],int,int,System.Net .Sockets.SocketFlags,System.Net.EndPoint&) in <0x00180> 00 System.Net.Sockets.Socket:ReceiveFrom = (byte[],int,int,System.Net .Sockets.SocketFlags,System.Net.EndPoint&) in <0x0002a> 00 System.Net.Sockets.Socket:ReceiveFrom = (byte[],System.Net.EndPoin t&) in <0x000af> 00 System.Net.Sockets.UdpClient:Receive = (System.Net.IPEndPoint&) in <0x0016b> 00 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery () --- End of inner exception stack trace --- in <0x002b4> 00 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery () in <0x0005b> 01 System.MulticastDelegate:invoke_void () However if I change the above code to: using System; using TPSoftware.Q3PlugsNet; using TPSoftware.Q3PlugsNet.Exceptions; class MainClass { public static void Main(string[] args) { =20 //Create a new Q3Query =20 // Q3Query quakeClient =3D new Q3Query("195.130.132.153",27961); Q3Query quakeClient =3D new Q3Query("195.130.132.155",27961); =20 try { string info =3D quakeClient.RequestInfo(); // RequestInfo instead = of RequestStatus !!!!!!!! Console.WriteLine(info); } catch (Exception e) { Console.WriteLine("ERROR:"); Console.WriteLine("\n" + e.ToString()); =20 =20 } finally { Console.ReadLine(); } } } I get the following output with .NET And the following output with mono (don't mind the encoding, that's = another bug) ???xml version???1.0?? encoding???utf-7?? standalone???yes???? = ??Q3Plugs.NET? ?? Query type???infoRequest?? protocol???Quake3??? ??Server = ipadress???195.130.132. 155?? port???27961?? /? ???Rules count????+BDJAAARO????? = name?????+BDJAAARO???+E JwMQFQE+AFs-osp???+-???/rule???+QAA-rule = name???????+BDJAAARO???+EJwMQFQE+AFs-0? ??+-???/rule???+QAA-rule = name?????+BDJAAARO???+EJwMQFQE+AFs-1???+-???/rule???+QA A-rule = name??????+BDJAAARO???+EJwMQFQE+AFs-5???+-???/rule???+QAA-rule = name????+B G8AAA-maxclients???+AAAETEEl???+-AFs-12???+-???/rule???+QAA-rule = name??????+BDJA AARO???+EJwMQFQE+AFs-2???+-???/rule???+QAA-rule = name??????+BDJAAARO???+EJwMQFQE+ AFs-q3dm6???+-???/rule???+QAA-rule = name??????+BDJAAARO???+EJwMQFQE+AFs-Telenet Q 3A OSP CA Server???+-???/rule???+QAA-rule = name??????+BDJAAARO???+EJwMQFQE+AFs-68 ???+-???/rule???+QAA-/Rules?????/Query? ??/Q3Plugs.NET? So this works fine (more or less) and doesn't throw any errors. So my question: Why does RequestStatus cause an error while = RequestInfo does not. If you want to view the full sources of the library please visit: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/q3plugs/Q3Plugs.NET/ Thnx, Timothy P. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.463 / Virus Database: 262 - Release Date: 17/03/2003 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.463 / Virus Database: 262 - Release Date: 18/03/2003 ------=_NextPart_000_0014_01C2EE76.58548180 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Update 2:
The error doesn't seem to be gone at = all=20 :(
So the problem remains.
----- Original Message -----
From:=20 Timothy Parez =
Sent: Wednesday, March 19, 2003 = 11:52=20 PM
Subject: Re: [Mono-list]=20 System.Net.Sockets.SocketException

Update:
 
It seems that when I changed = everything to ASCII=20 instead of UTF7 everything works fine and there are no more socket = exceptions.=20 Although I don't get the link between the encoding and the socket = exceptions,=20 so it may be co=EFncidence.
 
Can someone verify this = ?
----- Original Message -----
From:=20 Timothy Parez =
Sent: Wednesday, March 19, = 2003 11:08=20 PM
Subject: [Mono-list]=20 System.Net.Sockets.SocketException

Hi,
 
I'm writing a set of class libs for = .NET/Mono,
except for the UTF7 Encoding in my = other post,=20 it should work fine.
And it does on .NET, but not on=20 Mono.
 
I don't know where to start, but = I'll try to=20 explain.
 
First of all I have a Base Class = which amongst=20 other members has the following function
 
 private void=20 ExecuteQuery()
  {
   UdpClient = client =3D new=20 UdpClient();
   //Connect to the server and send = the query=20 = data
   try
   {
   = ; client.Connect(ip,port);
    client.Send(da= ta,data.Length);
   }
   catch
&nb= sp;  {
    client.Close();
 &nbs= p;  throw=20 new Exceptions.InvalidHostException("Unknown host: " +=20 ip);
   }
 
   //Listen for a = response -=20 This is the client side
   IPEndPoint = serverIPEndPoint =3D=20 new=20 = IPEndPoint(IPAddress.Any,0);
   
   /= /Receive=20 the=20 = response
   try
   {
  &= nbsp; queryResponse=20 =3D client.Receive(ref=20 serverIPEndPoint);
   }
   catch = (Exception = e)
   {
    throw new=20 Exceptions.ConnectionRefusedException("The connection was refused by = the=20 remote host: " + ip + ":" + port.ToString() + "\n" +=20 = e.Message,e);
   }
   finally
&nbs= p;  {
    client.Close();
  = ; }
  }
 
As you can see it sends a n array = of bytes to=20 the server and receives some in return.
 
Then I have a derived class which = has 2=20 important functions:
 
  public string=20 RequestStatus()
  {
   //Create the = byte[]=20 array to send
   byte[] query =3D=20 = {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x73,0x74,0x61,0x74,0x75,0x73,0xA};   
   //Create=20 a new separator
   char separator =3D=20 Convert.ToChar(10);
 
   //A statusRequest = consists of=20 both rules and players separated by = char(10)
   string[]=20 response =3D=20 = this.QueryToString(query).Split(separator);
   
&nbs= p;  //Get=20 the rules and players
   string rules =3D=20 this.RulesToXml(response[0]);
   string players = =3D=20 = this.PlayersToXml(response);
  
   return = = this.CreateXmlBody("Quake3","statusRequest",string.Concat(rules,players))= ;
  }
 
And
 
  public string=20 RequestInfo()
  {
   //Create the = byte[]=20 array to send
   byte[] query =3D=20 = {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x69,0x6E,0x66,0x6F,0xA};
 &n= bsp; 
   //Query=20 the server and get the response in a = string
   string=20 response =3D=20 = this.QueryToString(query);
   
   //C= reate=20 the default xml body and put the rules in = it
   string=20 returnValue =3D=20 = this.CreateXmlBody("Quake3","infoRequest",this.RulesToXml(response));
 
   //return the=20 XML
   return = returnValue;
  }
 
As you can see there is almost no = difference=20 between them.
Now they both run fine with the = .NET runtime,=20 but with the mono runtime the .RequestStatus() fails.
 
When does it fail well when the = QueryToString=20 function is called,
so if I run RequestInfo() the = QueryToString=20 function is called and it all works fine,
if I run RequestStatus() the = QueryToString=20 function is called and it goes wrong.
In my opinion the only difference = so far is the=20 array of bytes to be sent.
 
Example:
 
Let's say I use the following code = for an=20 application
 
using System;
using=20 TPSoftware.Q3PlugsNet;
using=20 TPSoftware.Q3PlugsNet.Exceptions;
 
class = MainClass
{
 public static=20 void Main(string[]=20 = args)
 {
      
  /= /Create=20 a new Q3Query
 
 // Q3Query quakeClient =3D new = Q3Query("195.130.132.153",27961);
  Q3Query quakeClient = =3D new=20 = Q3Query("195.130.132.155",27961);
  
  try
&= nbsp; {
   string=20 info =3D=20 = quakeClient.RequestStatus();
   Console.WriteLine(info)= ;
  }
  catch=20 (Exception=20 = e)
  {
   Console.WriteLine("ERROR:");
=    Console.WriteLine("\n"=20 + = e.ToString());         =20
          &nbs= p; 
  }
  finally
  {
&nbs= p; Console.ReadLine();
  }
 }
}
Well then I get the following = result with .NET=20 runtime
 
<?xml version=3D"1.0" = encoding=3D"utf-7"=20 standalone=3D"yes"?><Q3Plugs.NET><Query = type=3D
"statusRequest"=20 protocol=3D"Quake3"><Server ipadress=3D"195.130.132.155" = port=3D"27961
"=20 /><Rules count=3D"28"><rule=20 name=3D"capturelimit"><![CDATA[8]]></rule><rule=20 = name=3D"
sv_floodProtect"><![CDATA[0]]></rule><rule = name=3D"sv_maxPing"><![CDATA[0]]></rule
><rule=20 name=3D"sv_minPing"><![CDATA[0]]></rule><rule=20 = name=3D"sv_maxRate"><![CDATA[15
000]]></rule><rule=20 name=3D"sv_punkbuster"><![CDATA[0]]></rule><rule=20 = name=3D"sv_maxcl
ients"><![CDATA[14]]></rule><rule=20 name=3D"sv_hostname"><![CDATA[Telenet Q3A OSP=20 CA
 Server]]></rule><rule=20 name=3D"timelimit"><![CDATA[0]]></rule><rule=20 name=3D"fraglimi
t"><![CDATA[25]]></rule><rule=20 name=3D"dmflags"><![CDATA[8]]></rule><rule=20 name=3D"ver
sion"><![CDATA[Q3 1.32 linux-i386 Oct  7=20 2002]]></rule><rule=20 name=3D"g_gametype"><
![CDATA[5]]></rule><rule=20 name=3D"protocol"><![CDATA[68]]></rule><rule=20 name=3D"mapnam
e"><![CDATA[q3dm6]]></rule><rule = = name=3D"sv_privateClients"><![CDATA[2]]></rule><r
ul= e=20 = name=3D"sv_allowDownload"><![CDATA[1]]></rule><rule=20 = name=3D"server_promode"><![C
DATA[0]]></rule><rule=20 name=3D"server_cq3"><![CDATA[0]]></rule><rule=20 name=3D"g_needpa
ss"><![CDATA[0]]></rule><rule=20 name=3D"server_ospauth"><![CDATA[2]]></rule><rule=20 na
me=3D"gamename"><![CDATA[osp]]></rule><rule=20 name=3D"gameversion"><![CDATA[OSP = v1.03]
]></rule><rule=20 name=3D"Players_Red"><![CDATA[2 4 6 8 10 = ]]></rule><rule=20 name=3D"Play
ers_Blue"><![CDATA[1 3 5 7 9 = ]]></rule><rule=20 name=3D"Score_Red"><![CDATA[15]]></ru
le><rule=20 name=3D"Score_Blue"><![CDATA[17]]></rule><rule=20 name=3D"Score_Time"><![CDATA
[Round=20 33/49]]></rule></Rules><Players = count=3D"10"><Player=20 score=3D"20"=20 = ping=3D"15"><
![CDATA["^5DA^4.^5Ch^7a^5o^7s"]]></Player>= ;<Player=20 score=3D"12"=20 = ping=3D"24"><![CDATA[
"UnnamedPlaye^1r"]]></Player><= Player=20 score=3D"48"=20 = ping=3D"38"><![CDATA["^b^0*^n^7mnl
^b^0*"]]></Player>&l= t;Player=20 score=3D"38"=20 = ping=3D"38"><![CDATA["^xffffff^9eHk^b^4*^n^0T
^9N^0T"]]></= Player><Player=20 score=3D"80"=20 = ping=3D"25"><![CDATA["^5B^7osje^5R"]]></Play
er><Pla= yer=20 score=3D"85"=20 = ping=3D"24"><![CDATA["^x00FF00^2911^xFFFFFF^0>>^7SaTo"]]>&= lt;/P
layer><Player=20 score=3D"18"=20 ping=3D"52"><![CDATA["^4jerome"]]></Player><Player = score=3D
"96"=20 = ping=3D"41"><![CDATA["^x3366FF^7e^0C^7'.E^0mo^7Z"]]></Player&= gt;<Player=20 score=3D"1
1"=20 ping=3D"16"><![CDATA["crypto"]]></Player><Player = score=3D"73"=20 = ping=3D"40"><![CDATA[
"^0fearl^33^0ss"]]></Player></= Players></Query></Q3Plugs.NET>
But I get the following with the = mono=20 runtime:
 
Unhandled Exception:=20 TPSoftware.Q3PlugsNet.Exceptions.ConnectionRefusedException
: The = connection was refused by the remote host: = 195.130.132.155:27961
Some=20 sort of w32 error occurred ---> = System.Net.Sockets.SocketException: Some=20 so
rt of w32 error occurred
in (unmanaged) 06=20 System.Net.Sockets.Socket:RecvFrom_internal=20 = (intptr,byte[],int
,int,System.Net.Sockets.SocketFlags,System.Net.Sock= etAddress&)
in=20 <0x00004> 06 System.Net.Sockets.Socket:RecvFrom_internal=20 = (intptr,byte[],int,i
nt,System.Net.Sockets.SocketFlags,System.Net.Sock= etAddress&)
in=20 <0x00155> 00 System.Net.Sockets.Socket:ReceiveFrom=20 = (byte[],int,int,System.Net
.Sockets.SocketFlags,System.Net.EndPoint&am= p;)
in=20 <0x00180> 00 System.Net.Sockets.Socket:ReceiveFrom=20 = (byte[],int,int,System.Net
.Sockets.SocketFlags,System.Net.EndPoint&am= p;)
in=20 <0x0002a> 00 System.Net.Sockets.Socket:ReceiveFrom=20 (byte[],System.Net.EndPoin
t&)
in <0x000af> 00=20 System.Net.Sockets.UdpClient:Receive = (System.Net.IPEndPoint&)
in=20 <0x0016b> 00 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery = ()
---=20 End of inner exception stack trace ---
 
in <0x002b4> 00=20 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery ()
in = <0x0005b> 01=20 System.MulticastDelegate:invoke_void ()
 
However if I change the above code=20 to:
 
using System;
using=20 TPSoftware.Q3PlugsNet;
using=20 TPSoftware.Q3PlugsNet.Exceptions;
 
class = MainClass
{
 public static=20 void Main(string[]=20 = args)
 {
      
  /= /Create=20 a new Q3Query
 
 // Q3Query quakeClient =3D new = Q3Query("195.130.132.153",27961);
  Q3Query quakeClient = =3D new=20 = Q3Query("195.130.132.155",27961);
  
  try
&= nbsp; {
   string=20 info =3D quakeClient.RequestInfo(); // RequestInfo instead of = RequestStatus=20 = !!!!!!!!
   Console.WriteLine(info);
  }  catch=20 (Exception=20 = e)
  {
   Console.WriteLine("ERROR:");
=    Console.WriteLine("\n"=20 + = e.ToString());         =20
 
          &nbs= p;=20 =
  }
  finally
  {
  = Console.ReadLine();
  }
 }
}
 
I get the following output with=20 .NET
 
<?xml version=3D"1.0" = encoding=3D"utf-7"=20 standalone=3D"yes"?><Q3Plugs.NET><Query = type=3D
"infoRequest"=20 protocol=3D"Quake3"><Server ipadress=3D"195.130.132.155"=20 port=3D"27961"
/><Rules count=3D"9"><rule=20 name=3D"game"><![CDATA[osp]]></rule><rule=20 name=3D"punkbuste
r"><![CDATA[0]]></rule><rule=20 name=3D"pure"><![CDATA[1]]></rule><rule=20 name=3D"gametyp
e"><![CDATA[5]]></rule><rule=20 name=3D"sv_maxclients"><![CDATA[12]]></rule><rule=20 nam
e=3D"clients"><![CDATA[2]]></rule><rule=20 name=3D"mapname"><![CDATA[q3dm6]]></rule><ru
le = name=3D"hostname"><![CDATA[Telenet Q3A OSP CA=20 Server]]></rule><rule=20 = name=3D"proto
col"><![CDATA[68]]></rule></Rules>&= lt;/Query></Q3Plugs.NET>
And the following output with mono = (don't mind=20 the encoding, that's another bug)

???xml version???1.0?? encoding???utf-7?? = standalone???yes????=20 ??Q3Plugs.NET? ??
Query type???infoRequest?? protocol???Quake3??? = ??Server ipadress???195.130.132.
155?? port???27961?? /? ???Rules = count????+BDJAAARO?????=20 name?????+BDJAAARO???+E
JwMQFQE+AFs-osp???+-???/rule???+QAA-rule=20 name???????+BDJAAARO???+EJwMQFQE+AFs-0?
??+-???/rule???+QAA-rule=20 name?????+BDJAAARO???+EJwMQFQE+AFs-1???+-???/rule???+QA
A-rule=20 name??????+BDJAAARO???+EJwMQFQE+AFs-5???+-???/rule???+QAA-rule=20 = name????+B
G8AAA-maxclients???+AAAETEEl???+-AFs-12???+-???/rule???+QAA= -rule=20 name??????+BDJA
AARO???+EJwMQFQE+AFs-2???+-???/rule???+QAA-rule=20 = name??????+BDJAAARO???+EJwMQFQE+
AFs-q3dm6???+-???/rule???+QAA-rule=20 name??????+BDJAAARO???+EJwMQFQE+AFs-Telenet Q
3A OSP CA=20 Server???+-???/rule???+QAA-rule=20 = name??????+BDJAAARO???+EJwMQFQE+AFs-68
???+-???/rule???+QAA-/Rules????= ?/Query?=20 ??/Q3Plugs.NET?
 
So this works fine (more or less) and doesn't throw any = errors.
 
So my question: Why does RequestStatus cause an error while = RequestInfo=20 does not.
 
If you want to view the full sources of the library please = visit:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/q3plugs/Q3Plugs.NET/
 
Thnx,
Timothy P.
 
 

---
Outgoing mail is certified Virus Free.
Checked by = AVG=20 anti-virus system (http://www.grisoft.com).
Version: = 6.0.463 / Virus Database: 262 - Release Date: 17/03/2003
 

---
Outgoing mail is certified Virus Free.
Checked by = AVG=20 anti-virus system (http://www.grisoft.com).
Version: = 6.0.463 / Virus Database: 262 - Release Date:=20 18/03/2003
------=_NextPart_000_0014_01C2EE76.58548180-- From simon@psionics.demon.co.uk Thu Mar 20 00:32:02 2003 From: simon@psionics.demon.co.uk (Simon Waite) Date: Thu, 20 Mar 2003 00:32:02 -0000 Subject: [Mono-list] System.Net.Sockets.SocketException References: <000c01c2ee64$1a18fa20$0a00000a@alfred> <000801c2ee6a$2c282e10$0a00000a@alfred> <001701c2ee6d$f6c0ed80$0a00000a@alfred> Message-ID: <053601c2ee78$2056c980$fa01010a@lan.doosh.net> Plaintexted for the reply Hi Tim, ---- But I get the following with the mono runtime: Unhandled Exception: TPSoftware.Q3PlugsNet.Exceptions.ConnectionRefusedException : The connection was refused by the remote host: 195.130.132.155:27961 Some sort of w32 error occurred ---> System.Net.Sockets.SocketException: Some so rt of w32 error occurred in (unmanaged) 06 System.Net.Sockets.Socket:RecvFrom_internal (intptr,byte[],int ,int,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&) ---- Looks like some odd interaction between mono and win32s Winsock2 layer. Have you tried to run your app on a linux as well ? I would be pleased to give it a try under linux for you. Otherwise see if you can make a simple testcase, and file a bugzilla report! Regards, Simon ----- Original Message ----- From: Timothy Parez To: mono-list@ximian.com Sent: Wednesday, March 19, 2003 11:19 PM Subject: Re: [Mono-list] System.Net.Sockets.SocketException Update 2: The error doesn't seem to be gone at all :( So the problem remains. ----- Original Message ----- From: Timothy Parez To: mono-list@ximian.com Sent: Wednesday, March 19, 2003 11:52 PM Subject: Re: [Mono-list] System.Net.Sockets.SocketException Update: It seems that when I changed everything to ASCII instead of UTF7 everything works fine and there are no more socket exceptions. Although I don't get the link between the encoding and the socket exceptions, so it may be coďncidence. Can someone verify this ? ----- Original Message ----- From: Timothy Parez To: mono-list@ximian.com Sent: Wednesday, March 19, 2003 11:08 PM Subject: [Mono-list] System.Net.Sockets.SocketException Hi, I'm writing a set of class libs for .NET/Mono, except for the UTF7 Encoding in my other post, it should work fine. And it does on .NET, but not on Mono. I don't know where to start, but I'll try to explain. First of all I have a Base Class which amongst other members has the following function private void ExecuteQuery() { UdpClient client = new UdpClient(); //Connect to the server and send the query data try { client.Connect(ip,port); client.Send(data,data.Length); } catch { client.Close(); throw new Exceptions.InvalidHostException("Unknown host: " + ip); } //Listen for a response - This is the client side IPEndPoint serverIPEndPoint = new IPEndPoint(IPAddress.Any,0); //Receive the response try { queryResponse = client.Receive(ref serverIPEndPoint); } catch (Exception e) { throw new Exceptions.ConnectionRefusedException("The connection was refused by the remote host: " + ip + ":" + port.ToString() + "\n" + e.Message,e); } finally { client.Close(); } } As you can see it sends a n array of bytes to the server and receives some in return. Then I have a derived class which has 2 important functions: public string RequestStatus() { //Create the byte[] array to send byte[] query = {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x73,0x74,0x61,0x74,0x75,0x73,0xA}; //Create a new separator char separator = Convert.ToChar(10); //A statusRequest consists of both rules and players separated by char(10) string[] response = this.QueryToString(query).Split(separator); //Get the rules and players string rules = this.RulesToXml(response[0]); string players = this.PlayersToXml(response); return this.CreateXmlBody("Quake3","statusRequest",string.Concat(rules,players)); } And public string RequestInfo() { //Create the byte[] array to send byte[] query = {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x69,0x6E,0x66,0x6F,0xA}; //Query the server and get the response in a string string response = this.QueryToString(query); //Create the default xml body and put the rules in it string returnValue = this.CreateXmlBody("Quake3","infoRequest",this.RulesToXml(response)); //return the XML return returnValue; } As you can see there is almost no difference between them. Now they both run fine with the .NET runtime, but with the mono runtime the .RequestStatus() fails. When does it fail well when the QueryToString function is called, so if I run RequestInfo() the QueryToString function is called and it all works fine, if I run RequestStatus() the QueryToString function is called and it goes wrong. In my opinion the only difference so far is the array of bytes to be sent. Example: Let's say I use the following code for an application using System; using TPSoftware.Q3PlugsNet; using TPSoftware.Q3PlugsNet.Exceptions; class MainClass { public static void Main(string[] args) { //Create a new Q3Query // Q3Query quakeClient = new Q3Query("195.130.132.153",27961); Q3Query quakeClient = new Q3Query("195.130.132.155",27961); try { string info = quakeClient.RequestStatus(); Console.WriteLine(info); } catch (Exception e) { Console.WriteLine("ERROR:"); Console.WriteLine("\n" + e.ToString()); } finally { Console.ReadLine(); } } } Well then I get the following result with .NET runtime < ![CDATA[5]]>< ![CDATA["^5DA^4.^5Ch^7a^5o^7s"]]>>^7SaTo"]]>

But I get the following with the mono runtime: Unhandled Exception: TPSoftware.Q3PlugsNet.Exceptions.ConnectionRefusedException : The connection was refused by the remote host: 195.130.132.155:27961 Some sort of w32 error occurred ---> System.Net.Sockets.SocketException: Some so rt of w32 error occurred in (unmanaged) 06 System.Net.Sockets.Socket:RecvFrom_internal (intptr,byte[],int ,int,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&) in <0x00004> 06 System.Net.Sockets.Socket:RecvFrom_internal (intptr,byte[],int,i nt,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&) in <0x00155> 00 System.Net.Sockets.Socket:ReceiveFrom (byte[],int,int,System.Net .Sockets.SocketFlags,System.Net.EndPoint&) in <0x00180> 00 System.Net.Sockets.Socket:ReceiveFrom (byte[],int,int,System.Net .Sockets.SocketFlags,System.Net.EndPoint&) in <0x0002a> 00 System.Net.Sockets.Socket:ReceiveFrom (byte[],System.Net.EndPoin t&) in <0x000af> 00 System.Net.Sockets.UdpClient:Receive (System.Net.IPEndPoint&) in <0x0016b> 00 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery () --- End of inner exception stack trace --- in <0x002b4> 00 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery () in <0x0005b> 01 System.MulticastDelegate:invoke_void () However if I change the above code to: using System; using TPSoftware.Q3PlugsNet; using TPSoftware.Q3PlugsNet.Exceptions; class MainClass { public static void Main(string[] args) { //Create a new Q3Query // Q3Query quakeClient = new Q3Query("195.130.132.153",27961); Q3Query quakeClient = new Q3Query("195.130.132.155",27961); try { string info = quakeClient.RequestInfo(); // RequestInfo instead of RequestStatus !!!!!!!! Console.WriteLine(info); } catch (Exception e) { Console.WriteLine("ERROR:"); Console.WriteLine("\n" + e.ToString()); } finally { Console.ReadLine(); } } } I get the following output with .NET And the following output with mono (don't mind the encoding, that's another bug) ???xml version???1.0?? encoding???utf-7?? standalone???yes???? ??Q3Plugs.NET? ?? Query type???infoRequest?? protocol???Quake3??? ??Server ipadress???195.130.132. 155?? port???27961?? /? ???Rules count????+BDJAAARO????? name?????+BDJAAARO???+E JwMQFQE+AFs-osp???+-???/rule???+QAA-rule name???????+BDJAAARO???+EJwMQFQE+AFs-0? ??+-???/rule???+QAA-rule name?????+BDJAAARO???+EJwMQFQE+AFs-1???+-???/rule???+QA A-rule name??????+BDJAAARO???+EJwMQFQE+AFs-5???+-???/rule???+QAA-rule name????+B G8AAA-maxclients???+AAAETEEl???+-AFs-12???+-???/rule???+QAA-rule name??????+BDJA AARO???+EJwMQFQE+AFs-2???+-???/rule???+QAA-rule name??????+BDJAAARO???+EJwMQFQE+ AFs-q3dm6???+-???/rule???+QAA-rule name??????+BDJAAARO???+EJwMQFQE+AFs-Telenet Q 3A OSP CA Server???+-???/rule???+QAA-rule name??????+BDJAAARO???+EJwMQFQE+AFs-68 ???+-???/rule???+QAA-/Rules?????/Query? ??/Q3Plugs.NET? So this works fine (more or less) and doesn't throw any errors. So my question: Why does RequestStatus cause an error while RequestInfo does not. If you want to view the full sources of the library please visit: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/q3plugs/Q3Plugs.NET/ Thnx, Timothy P. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.463 / Virus Database: 262 - Release Date: 17/03/2003 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.463 / Virus Database: 262 - Release Date: 18/03/2003 From jean-marc.andre@polymtl.ca Thu Mar 20 01:29:22 2003 From: jean-marc.andre@polymtl.ca (=?ISO-8859-1?Q?Jean-Marc_Andr=E9?=) Date: Wed, 19 Mar 2003 20:29:22 -0500 Subject: [Mono-list] Mono build problem. Please Help In-Reply-To: References: Message-ID: <3E791972.1040109@polymtl.ca> Here is another idea.... mono-build-w32.sh forces the use on the stable version of automake, autoconf .... when the generated configure script tests the presence of gc/gc.h, there is small warning about redefinition of GC_WIN32_THREADS I think the configure script thinks the test failed then it stops. Just comment the line 65 in mono/doc/mono-build-w32.sh about AUTO_DEVEL then the configure script will be generated by the developpement version of autoconf and the test shouldn't failed. It works for me. Daniel Morgan wrote: >Here's an idea... > >Download the Mono 0.23 Windows Installer... > >Make sure you have no Mono/mcs stuff still lying around somewhere... > >Install it somewhere.... > >Modify the mono/doc/mono-build-w32.sh script to not download and not to >install >the gc. > >The modified line is 148. >install_package libgc-dev.zip lib/gc.dll gc-dev > >Comment it out with a # (pound) in front. >#install_package libgc-dev.zip lib/gc.dll gc-dev > >Now, try running the mono-build-w32.sh script again. > >-----Original Message----- >From: mono-list-admin@lists.ximian.com >[mailto:mono-list-admin@lists.ximian.com]On Behalf Of John BouAntoun >Sent: Wednesday, March 19, 2003 5:49 PM >To: Stefan Kyntchev; mono-list@lists.ximian.com >Subject: RE: [Mono-list] Mono build problem. Please Help > > >not sure what it is, but I have been having this problem for the last month >or so. > >Apparently it has something to do with the Cygwin setup being crap. > >It would be really nice if some one could make an image of all the required >cygwin packages required to build mono on cygwin, so that newbies could go >and download all the cygwin packages, do a local install and then get mono >from cvs and build it using mono-build-w32.sh > >John BouAntoun >-----Original Message----- >From: Stefan Kyntchev [mailto:skyntchev@cardinalsolutions.com] >Sent: Wednesday, 19 March 2003 8:25 AM >To: mono-list@lists.ximian.com >Subject: [Mono-list] Mono build problem. Please Help > > >I am trying to build mono on my XP box, running cygwin. > >I downloaded and installed the latest COMPLETE installation of cygwin. When >trying to build mono I got the following error: > >... >checking whether to build static libraries... yes >creating libtool >checking for sys/filio.h... no >checking for sys/sockio.h... no >checking for netdb.h... no >checking for utime.h... no >checking for semaphore.h... no >checking for sys/un.h... no >checking for elf.h... no >checking for wchar.h... yes >checking size of void *... 4 >checking for pkg-config... /usr/bin/pkg-config >checking for glib-2.0 >= 1.3.11... yes >checking >BASE_DEPENDENCIES_CFLAGS... -I/usr/stefan/install/include/glib-2.0 -I/u >sr/stefan/install/lib/glib-2.0/include >checking >BASE_DEPENDENCIES_LIBS... -L/usr/stefan/install/lib -lglib-2.0 -lintl - >liconv >checking for gc.h... no >checking for gc/gc.h... no >checking for GC_malloc in -lgc... yes >configure: error: Found libgc but not its header files! You may need to >install >them by hand. > >I tried installing on XP and Win 2000, with the same result. > >Does anyone know how to get around this issue? > >Thanks > >Stefan > >_______________________________________________ >Mono-list maillist - Mono-list@lists.ximian.com >http://lists.ximian.com/mailman/listinfo/mono-list > > > From hgomez_36@flashmail.com Thu Mar 20 01:59:18 2003 From: hgomez_36@flashmail.com (Hector E. Gomez Morales) Date: 19 Mar 2003 19:59:18 -0600 Subject: [Mono-list] Monodoc Build Problems Message-ID: <1048125558.8014.5.camel@spivaka.uninet.mx> --=-y2irzwyqiYASjQihtQvc Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable When trying to rebuild monodoc with mono and mcs form CVS the build fails: mcs /debug /out:browser.exe browser.cs ecma-provider.cs html-helper.cs provider.cs /resource:browser.glade /resource:mono-ecma.xsl -r:gtk-sharp.dll -r:glade-sharp.dll -r:glib-sharp.dll -r:ziplib.dll =EF=BB=BFbrowser.cs(39) error CS0246: Could not find attribute 'GladeWidget= ' (are you missing a using directive or an assembly reference ?) browser.cs(42) error CS0246: Could not find attribute 'GladeWidget' (are you missing a using directive or an assembly reference ?) browser.cs(45) error CS0246: Could not find attribute 'GladeWidget' (are you missing a using directive or an assembly reference ?) Compilation failed: 3 error(s), 0 warnings make: *** [browser.exe] Error 1 I checked and find that GladeWidget was changed to Glade.Widget and make the modifications and the build is successful Diff is attached --=-y2irzwyqiYASjQihtQvc Content-Disposition: attachment; filename=browser.diff Content-Transfer-Encoding: quoted-printable Content-Type: text/x-patch; name=browser.diff; charset=UTF-8 Index: browser.cs =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/public/monodoc/browser/browser.cs,v retrieving revision 1.13 diff -u -r1.13 browser.cs --- browser.cs 5 Mar 2003 07:13:17 -0000 1.13 +++ browser.cs 20 Mar 2003 02:00:53 -0000 @@ -36,13 +36,13 @@ Application.Run (); } =09 - [GladeWidget] + [Glade.Widget] TreeView reference_tree; =20 - [GladeWidget] + [Glade.Widget] Box help_container; =20 - [GladeWidget] + [Glade.Widget] ScrolledWindow html_container; =20 HTML html; --=-y2irzwyqiYASjQihtQvc-- From miguel@ximian.com Thu Mar 20 04:15:23 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 19 Mar 2003 23:15:23 -0500 Subject: [Mono-list] Re: Monodoc Build Problems In-Reply-To: <1048125558.8014.5.camel@spivaka.uninet.mx> References: <1048125558.8014.5.camel@spivaka.uninet.mx> Message-ID: <1048133722.3203.604.camel@erandi.boston.ximian.com> Hello, > When trying to rebuild monodoc with mono and mcs form CVS the build > fails: > mcs /debug /out:browser.exe browser.cs ecma-provider.cs html-helper.cs > provider.cs /resource:browser.glade /resource:mono-ecma.xsl > -r:gtk-sharp.dll -r:glade-sharp.dll -r:glib-sharp.dll -r:ziplib.dll > =EF=BB=BFbrowser.cs(39) error CS0246: Could not find attribute 'GladeWidg= et' > (are you missing a using directive or an assembly reference ?) > browser.cs(42) error CS0246: Could not find attribute 'GladeWidget' (are > you missing a using directive or an assembly reference ?) > browser.cs(45) error CS0246: Could not find attribute 'GladeWidget' (are > you missing a using directive or an assembly reference ?) > Compilation failed: 3 error(s), 0 warnings > make: *** [browser.exe] Error 1 >=20 > I checked and find that GladeWidget was changed to Glade.Widget and make > the modifications and the build is successful Diff is attached Sorry about that. A fix has been commited. Miguel From steinar.herland@gecko.no Thu Mar 20 08:19:11 2003 From: steinar.herland@gecko.no (Steinar Herland) Date: Thu, 20 Mar 2003 09:19:11 +0100 Subject: [Mono-list] Interesting article @ CodeProject regarding thread / threadpool Message-ID: <805025DC23C38D43B27AE5D118D36FD303E25FE5@gecko.gecko.no> http://www.codeproject.com/useritems/threadtests.asp Discusses performance etc. Anyone care to tests this on Mono? The article also refers to=20 http://www.c-sharpcorner.com/Code/2002/April/MtP4MtVsMt.asp Which states: The thread pool is created the first time when you instantiate the ThreadPool class. It has a default limit of 25 threads per available processor, but that can be changed. Thus, the processor is never made to sit idle. - What is the default value on Mono? Steinar From tpsoftware@users.sourceforge.net Thu Mar 20 08:32:09 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: 20 Mar 2003 09:32:09 +0100 Subject: [Mono-list] Interesting article @ CodeProject regarding thread / threadpool In-Reply-To: <805025DC23C38D43B27AE5D118D36FD303E25FE5@gecko.gecko.no> References: <805025DC23C38D43B27AE5D118D36FD303E25FE5@gecko.gecko.no> Message-ID: <1048149129.10527.2.camel@localhost.localdomain> Hi, I've done some tests on mono/.net performance before, simple calculations that is. It seems the .net runtime can execute them almost 2 times as fast, but the mono runtime has a more stable run. Meaning that while the .net runtime had different results for the same test all the time, ranging around a single time, the mono runtime always had exactly the same time to exececute the applications. Don't know if this helps a bit. Timothy. Op do 20-03-2003, om 09:19 schreef Steinar Herland: > http://www.codeproject.com/useritems/threadtests.asp > > > Discusses performance etc. Anyone care to tests this on Mono? > > The article also refers to > http://www.c-sharpcorner.com/Code/2002/April/MtP4MtVsMt.asp > Which states: The thread pool is created the first time when you > instantiate the ThreadPool class. It has a default limit of 25 threads > per available processor, but that can be changed. Thus, the processor is > never made to sit idle. > > - What is the default value on Mono? > > > Steinar > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From tpsoftware@users.sourceforge.net Thu Mar 20 08:43:51 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: 20 Mar 2003 09:43:51 +0100 Subject: [Mono-list] System.Net.Sockets.SocketException In-Reply-To: <053601c2ee78$2056c980$fa01010a@lan.doosh.net> References: <000c01c2ee64$1a18fa20$0a00000a@alfred> <000801c2ee6a$2c282e10$0a00000a@alfred> <001701c2ee6d$f6c0ed80$0a00000a@alfred> <053601c2ee78$2056c980$fa01010a@lan.doosh.net> Message-ID: <1048149830.10983.1.camel@localhost.localdomain> Hi, you were correct, it does work perfectly on Linux. I'll try to post a bug report, but I have very little time. Thnx. Timothy. Op do 20-03-2003, om 01:32 schreef Simon Waite: > Plaintexted for the reply > > Hi Tim, > > ---- > But I get the following with the mono runtime: > > Unhandled Exception: > TPSoftware.Q3PlugsNet.Exceptions.ConnectionRefusedException > : The connection was refused by the remote host: 195.130.132.155:27961 > Some sort of w32 error occurred ---> System.Net.Sockets.SocketException: > Some so > rt of w32 error occurred > in (unmanaged) 06 System.Net.Sockets.Socket:RecvFrom_internal > (intptr,byte[],int > ,int,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&) > ---- > > Looks like some odd interaction between mono and win32s Winsock2 layer. > > Have you tried to run your app on a linux as well ? I would be pleased > to give it a try under linux for you. > > Otherwise see if you can make a simple testcase, and file a bugzilla report! > > Regards, > > Simon > > > > > ----- Original Message ----- > From: Timothy Parez > To: mono-list@ximian.com > Sent: Wednesday, March 19, 2003 11:19 PM > Subject: Re: [Mono-list] System.Net.Sockets.SocketException > > > Update 2: > The error doesn't seem to be gone at all :( > So the problem remains. > ----- Original Message ----- > From: Timothy Parez > To: mono-list@ximian.com > Sent: Wednesday, March 19, 2003 11:52 PM > Subject: Re: [Mono-list] System.Net.Sockets.SocketException > > > Update: > > It seems that when I changed everything to ASCII instead of UTF7 everything > works fine and there are no more socket exceptions. Although I don't get the > link between the encoding and the socket exceptions, so it may be > coĂŻncidence. > > Can someone verify this ? > ----- Original Message ----- > From: Timothy Parez > To: mono-list@ximian.com > Sent: Wednesday, March 19, 2003 11:08 PM > Subject: [Mono-list] System.Net.Sockets.SocketException > > > Hi, > > I'm writing a set of class libs for .NET/Mono, > except for the UTF7 Encoding in my other post, it should work fine. > And it does on .NET, but not on Mono. > > I don't know where to start, but I'll try to explain. > > First of all I have a Base Class which amongst other members has the > following function > > private void ExecuteQuery() > { > UdpClient client = new UdpClient(); > //Connect to the server and send the query data > try > { > client.Connect(ip,port); > client.Send(data,data.Length); > } > catch > { > client.Close(); > throw new Exceptions.InvalidHostException("Unknown host: " + ip); > } > > //Listen for a response - This is the client side > IPEndPoint serverIPEndPoint = new IPEndPoint(IPAddress.Any,0); > > //Receive the response > try > { > queryResponse = client.Receive(ref serverIPEndPoint); > } > catch (Exception e) > { > throw new Exceptions.ConnectionRefusedException("The connection was > refused by the remote host: " + ip + ":" + port.ToString() + "\n" + > e.Message,e); > } > finally > { > client.Close(); > } > } > > As you can see it sends a n array of bytes to the server and receives some > in return. > > Then I have a derived class which has 2 important functions: > > public string RequestStatus() > { > //Create the byte[] array to send > byte[] query = > {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x73,0x74,0x61,0x74,0x75,0x73,0xA}; > > //Create a new separator > char separator = Convert.ToChar(10); > > //A statusRequest consists of both rules and players separated by > char(10) > string[] response = this.QueryToString(query).Split(separator); > > //Get the rules and players > string rules = this.RulesToXml(response[0]); > string players = this.PlayersToXml(response); > > return > this.CreateXmlBody("Quake3","statusRequest",string.Concat(rules,players)); > } > > And > > public string RequestInfo() > { > //Create the byte[] array to send > byte[] query = > {0xFF,0xFF,0xFF,0xFF,0x67,0x65,0x74,0x69,0x6E,0x66,0x6F,0xA}; > > //Query the server and get the response in a string > string response = this.QueryToString(query); > > //Create the default xml body and put the rules in it > string returnValue = > this.CreateXmlBody("Quake3","infoRequest",this.RulesToXml(response)); > > //return the XML > return returnValue; > } > > As you can see there is almost no difference between them. > Now they both run fine with the .NET runtime, but with the mono runtime the > .RequestStatus() fails. > > When does it fail well when the QueryToString function is called, > so if I run RequestInfo() the QueryToString function is called and it all > works fine, > if I run RequestStatus() the QueryToString function is called and it goes > wrong. > In my opinion the only difference so far is the array of bytes to be sent. > > Example: > > Let's say I use the following code for an application > > using System; > using TPSoftware.Q3PlugsNet; > using TPSoftware.Q3PlugsNet.Exceptions; > > class MainClass > { > public static void Main(string[] args) > { > > //Create a new Q3Query > > // Q3Query quakeClient = new Q3Query("195.130.132.153",27961); > Q3Query quakeClient = new Q3Query("195.130.132.155",27961); > > try > { > string info = quakeClient.RequestStatus(); > Console.WriteLine(info); > } > catch (Exception e) > { > Console.WriteLine("ERROR:"); > Console.WriteLine("\n" + e.ToString()); > > } > finally > { > Console.ReadLine(); > } > } > } > > Well then I get the following result with .NET runtime > > type= > "statusRequest" protocol="Quake3"> port="27961 > " /> name=" > sv_floodProtect"> name="sv_maxPing"> > name="sv_maxRate"> 000]]> name="sv_maxcl > ients"> OSP CA > Server]]> name="fraglimi > t"> name="ver > sion"> name="g_gametype">< > ![CDATA[5]]> name="mapnam > e"> name="sv_privateClients"> ule name="sv_allowDownload"> name="server_promode"> DATA[0]]> name="g_needpa > ss"> name="server_ospauth"> me="gamename"> v1.03] > ]> name="Play > ers_Blue"> name="Score_Red"> le> name="Score_Time"> [Round 33/49]]> ping="15">< > ![CDATA["^5DA^4.^5Ch^7a^5o^7s"]]> ping="24"> "UnnamedPlaye^1r"]]> ping="38"> ^b^0*"]]> ping="38"> ^9N^0T"]]> ping="25"> er> ping="24">>^7SaTo"]]>

layer> score= > "96" ping="41"> score="1 > 1" ping="16"> ping="40"> "^0fearl^33^0ss"]]>
> > But I get the following with the mono runtime: > > Unhandled Exception: > TPSoftware.Q3PlugsNet.Exceptions.ConnectionRefusedException > : The connection was refused by the remote host: 195.130.132.155:27961 > Some sort of w32 error occurred ---> System.Net.Sockets.SocketException: > Some so > rt of w32 error occurred > in (unmanaged) 06 System.Net.Sockets.Socket:RecvFrom_internal > (intptr,byte[],int > ,int,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&) > in <0x00004> 06 System.Net.Sockets.Socket:RecvFrom_internal > (intptr,byte[],int,i > nt,System.Net.Sockets.SocketFlags,System.Net.SocketAddress&) > in <0x00155> 00 System.Net.Sockets.Socket:ReceiveFrom > (byte[],int,int,System.Net > .Sockets.SocketFlags,System.Net.EndPoint&) > in <0x00180> 00 System.Net.Sockets.Socket:ReceiveFrom > (byte[],int,int,System.Net > .Sockets.SocketFlags,System.Net.EndPoint&) > in <0x0002a> 00 System.Net.Sockets.Socket:ReceiveFrom > (byte[],System.Net.EndPoin > t&) > in <0x000af> 00 System.Net.Sockets.UdpClient:Receive > (System.Net.IPEndPoint&) > in <0x0016b> 00 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery () > --- End of inner exception stack trace --- > > in <0x002b4> 00 TPSoftware.Q3PlugsNet.QueryBase:ExecuteQuery () > in <0x0005b> 01 System.MulticastDelegate:invoke_void () > > > However if I change the above code to: > > using System; > using TPSoftware.Q3PlugsNet; > using TPSoftware.Q3PlugsNet.Exceptions; > > class MainClass > { > public static void Main(string[] args) > { > > //Create a new Q3Query > > // Q3Query quakeClient = new Q3Query("195.130.132.153",27961); > Q3Query quakeClient = new Q3Query("195.130.132.155",27961); > > try > { > string info = quakeClient.RequestInfo(); // RequestInfo instead of > RequestStatus !!!!!!!! > Console.WriteLine(info); > } > catch (Exception e) > { > Console.WriteLine("ERROR:"); > Console.WriteLine("\n" + e.ToString()); > > > } > finally > { > Console.ReadLine(); > } > } > } > > I get the following output with .NET > > type= > "infoRequest" protocol="Quake3"> port="27961" > /> name="punkbuste > r"> name="gametyp > e"> nam > e="clients"> name="mapname"> le name="hostname"> name="proto > col"> > > And the following output with mono (don't mind the encoding, that's another > bug) > > ???xml version???1.0?? encoding???utf-7?? standalone???yes???? > ??Q3Plugs.NET? ?? > Query type???infoRequest?? protocol???Quake3??? ??Server > ipadress???195.130.132. > 155?? port???27961?? /? ???Rules count????+BDJAAARO????? > name?????+BDJAAARO???+E > JwMQFQE+AFs-osp???+-???/rule???+QAA-rule > name???????+BDJAAARO???+EJwMQFQE+AFs-0? > ??+-???/rule???+QAA-rule > name?????+BDJAAARO???+EJwMQFQE+AFs-1???+-???/rule???+QA > A-rule name??????+BDJAAARO???+EJwMQFQE+AFs-5???+-???/rule???+QAA-rule > name????+B > G8AAA-maxclients???+AAAETEEl???+-AFs-12???+-???/rule???+QAA-rule > name??????+BDJA > AARO???+EJwMQFQE+AFs-2???+-???/rule???+QAA-rule > name??????+BDJAAARO???+EJwMQFQE+ > AFs-q3dm6???+-???/rule???+QAA-rule > name??????+BDJAAARO???+EJwMQFQE+AFs-Telenet Q > 3A OSP CA Server???+-???/rule???+QAA-rule > name??????+BDJAAARO???+EJwMQFQE+AFs-68 > ???+-???/rule???+QAA-/Rules?????/Query? ??/Q3Plugs.NET? > > So this works fine (more or less) and doesn't throw any errors. > > So my question: Why does RequestStatus cause an error while RequestInfo does > not. > > If you want to view the full sources of the library please visit: > http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/q3plugs/Q3Plugs.NET/ > > Thnx, > Timothy P. > > > > > --- > Outgoing mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.463 / Virus Database: 262 - Release Date: 17/03/2003 > > > --- > Outgoing mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.463 / Virus Database: 262 - Release Date: 18/03/2003 > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From is118149@mail.udlap.mx Thu Mar 20 09:14:27 2003 From: is118149@mail.udlap.mx (Carlos Alberto Cortez) Date: 20 Mar 2003 03:14:27 -0600 Subject: [Mono-list] Reflection Problem Message-ID: <1048151667.1716.3.camel@localhost.localdomain> Hello! My name is Carlos, and I've been playing for a while with reflection. But when I try to use the Activator.CreateInstance() method, even it compiles perfect ( no error messages ), when I try to run it, it shows me the next message: Unhandled Exception: System.MissingMethodException: Default constructor not found in <0x0019b> 00 System.Activator:CreateInstance (System.Type,bool) in <0x00031> 00 .ReflectionTest:Main () The code I'm writing is the next: using System; using System.Reflection; public class ReflectionTest { public static void Main () { Type theMathType = Type.GetType("System.Math"); Object theObj = Activator.CreateInstance(theMathType); } } Regards, Carlos. -- -------------------------------------------------- /* The definition of myself */ using Cortez; using GeniusIntelligence; public class Carlos : Human, IGenius, ILinuxUser { static void Main () { Me.Born(); } } -------------------------------------------------- From patrik.torstensson@intel.com Thu Mar 20 09:22:58 2003 From: patrik.torstensson@intel.com (Torstensson, Patrik) Date: Thu, 20 Mar 2003 01:22:58 -0800 Subject: [Mono-list] Interesting article @ CodeProject regarding threa d / threadpool Message-ID: <487C7BED8BFCDD4C9B1E4EA3DCEA5FC70E1F82@swsmsx402.isw.intel.com> Our threadpool class is not 100% optimized yet, it's just working. Cheers, Patrik > -----Original Message----- > From: Timothy Parez [mailto:tpsoftware@users.sourceforge.net] > Sent: Thursday, March 20, 2003 9:32 AM > To: Steinar Herland > Cc: mono-list@ximian.com > Subject: Re: [Mono-list] Interesting article @ CodeProject > regarding thread / threadpool > > > Hi, > > I've done some tests on mono/.net performance before, > simple calculations that is. > > It seems the .net runtime can execute them almost 2 times as fast, > but the mono runtime has a more stable run. Meaning that while the > .net runtime had different results for the same test all the time, > ranging around a single time, the mono runtime always had exactly the > same time to exececute the applications. > > Don't know if this helps a bit. > > Timothy. > > Op do 20-03-2003, om 09:19 schreef Steinar Herland: > > http://www.codeproject.com/useritems/threadtests.asp > > > > > > Discusses performance etc. Anyone care to tests this on Mono? > > > > The article also refers to > > http://www.c-sharpcorner.com/Code/2002/April/MtP4MtVsMt.asp > > Which states: The thread pool is created the first time when you > > instantiate the ThreadPool class. It has a default limit of > 25 threads > > per available processor, but that can be changed. Thus, the > processor is > > never made to sit idle. > > > > - What is the default value on Mono? > > > > > > Steinar > > _______________________________________________ > > Mono-list maillist - Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > From dick@ximian.com Thu Mar 20 09:47:36 2003 From: dick@ximian.com (Dick Porter) Date: 20 Mar 2003 09:47:36 +0000 Subject: [Mono-list] System.Net.Sockets.SocketException In-Reply-To: <000c01c2ee64$1a18fa20$0a00000a@alfred> References: <000c01c2ee64$1a18fa20$0a00000a@alfred> Message-ID: <1048153655.21157.35.camel@hagbard.apathetic.discordia.org.uk> On Wed, 2003-03-19 at 22:08, Timothy Parez wrote: > But I get the following with the mono runtime: > > Unhandled Exception: > TPSoftware.Q3PlugsNet.Exceptions.ConnectionRefusedException > : The connection was refused by the remote host: 195.130.132.155:27961 > Some sort of w32 error occurred ---> > System.Net.Sockets.SocketException: Some so > rt of w32 error occurred I've just committed a change to make this error report a bit more useful, by telling us what the error number is. It might make it easier to see what's happening, and in any case it will tell us which error needs to be added to the list. - Dick From jeroen@sumatra.nl Thu Mar 20 10:18:16 2003 From: jeroen@sumatra.nl (Jeroen Frijters) Date: Thu, 20 Mar 2003 11:18:16 +0100 Subject: [Mono-list] JIT bug Message-ID: <5C38B761F205B54BA59FF611A65C62480118F0@lembu.sumatrasoftware.com> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2EECA.05E7F5CC Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, The attached executable throws a System.IndexOutOfRangeException where it shouldn't. This is on Windows with Mono.exe version 0.23. Regards, Jeroen ------_=_NextPart_001_01C2EECA.05E7F5CC Content-Type: application/octet-stream; name="monotest.EXE" Content-Transfer-Encoding: base64 Content-Description: monotest.EXE Content-Disposition: attachment; filename="monotest.EXE" TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v ZGUuDQ0KJAAAAAAAAABQRQAATAECAM6SeT4AAAAAAAAAAOAADgELAQYAAAQAAAACAAAAAAAAXiMA AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAABgAAAAAgAAAAAAAAMAAAAAABAA ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAABAjAABLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAEAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAZAMAAAAgAAAABAAAAAIA AAAAAAAAAAAAAAAAACAAAGAucmVsb2MAAAwAAAAAQAAAAAIAAAAGAAAAAAAAAAAAAAAAAABAAABC AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA IwAAAAAAAEgAAAACAAAA+CAAABgCAAABAAAAAQAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAABMwAgANAAAAAAAAAB8KIICWmAAoAgAABioAAAATMAgANQAA AAEAABECjQIAAAEKAo0CAAABCxYMOAAAAAAIAz8BAAAAKgYWBxYGjigDAAAGCCABAAAAWAw44P// /9Y4AAAAAA4EFj0BAAAAKgIDAyABAAAAWBABBAUFIAEAAABYEAOUng4EIP////9YEAQ40P///wAT MAIABwAAAAAAAAACKAEAAAoqAEJTSkIBAAEAAAAAAAwAAAB2MS4wLjM3MDUAAAAAAAQAYAAAAAwB AAAjfgAAbAEAAGwAAAAjU3RyaW5ncwAAAADYAQAAEAAAACNHVUlEAAAA6AEAADAAAAAjQmxvYgAA AAAAAAABAAABRwUCAAkAAAAA+gEzAAIAAAEAAAACAAAAAgAAAAQAAAAIAAAAAQAAAAEAAAABAAAA AQAAAAAAIAABAAAAAAAGADAAKQAGADwAKQAAAAAAAQAAAAAAAQABAAAAAAA3AAAABQABAAEAUCAA AAAAFgBIABYAAQBsIAAAAAARAFEAHAACAK0gAAAAABEAWgAiAAQA5CAAAAAAAxhCABIACQAAAAEA TQAAAAEATQAAAAIAVgAAAAEATQAAAAIAVgAAAAMAYAAAAAQAZAAAAAUAaAAJAEIAEgAKAASAAAAA AAAAAAAAAAAAAAAAACAAAAABAAAA5AwAAAAAAAABABcAAAAAAAAAAAAAPE1vZHVsZT4AbW9ub3Rl c3QuRVhFAG1zY29ybGliAG1vbm90ZXN0AFN5c3RlbQBPYmplY3QAbW9ubwBJbnQzMgAuY3RvcgBt YWluAEFfMAB0ZXN0AEFfMQBjb3B5MwBBXzIAQV8zAEFfNAD9wZWCo6jlTpfkhL3t3bexAAi3elxW GTTgiQcHAx0IHQgIAyAAAQUAAQEdDgUAAgEICAoABQEdCAgdCAgIAAAAOCMAAAAAAAAAAAAATiMA AAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAjAAAAAAAAAABfQ29yRXhlTWFpbgBtc2NvcmVlLmRs bAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAA AAwAAABgMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= ------_=_NextPart_001_01C2EECA.05E7F5CC-- From lupus@ximian.com Thu Mar 20 10:21:51 2003 From: lupus@ximian.com (Paolo Molaro) Date: Thu, 20 Mar 2003 11:21:51 +0100 Subject: [Mono-list] Reflection Problem In-Reply-To: <1048151667.1716.3.camel@localhost.localdomain> References: <1048151667.1716.3.camel@localhost.localdomain> Message-ID: <20030320102150.GY918@debian.org> On 03/20/03 Carlos Alberto Cortez wrote: > Unhandled Exception: System.MissingMethodException: Default constructor > not found > in <0x0019b> 00 System.Activator:CreateInstance (System.Type,bool) > in <0x00031> 00 .ReflectionTest:Main () > > The code I'm writing is the next: > > using System; > using System.Reflection; > > public class ReflectionTest { > > public static void Main () { > > Type theMathType = Type.GetType("System.Math"); > Object theObj = Activator.CreateInstance(theMathType); > > } > } Your code is buggy: you can't create an instance of System.Math, since it has no constructors accessible to you. You'll get the same bug if you run your code on the MS runtime. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From vincent@sacksteder.com Thu Mar 20 11:48:39 2003 From: vincent@sacksteder.com (Vincent Sacksteder) Date: Thu, 20 Mar 2003 12:48:39 +0100 Subject: [Mono-list] Mono build problem. Please Help Message-ID: <000001c2eed6$a6f56fb0$64136c8d@do3t02> Or you can change the mono install so that it doesn't quit when it has problems with gc.h, with the following three steps: a. in gc_wrapper.h, insert at the beginning a line reading: #define HAVE_GC_GC_H b. in configure.in, search for the line reading: AC_MSG_ERROR("Found libgc but not its header files! You may need to install them by hand.") Replace it with the following line: AC_MSG_WARN([*** gc.h workaround!]) c. in configure.in, search for the line reading: AC_MSG_ERROR("GC requested but header files not found! You may need to install them by hand.") Replace it with the following line: AC_MSG_WARN([*** gc.h workaround!]) I also had to modify the mono-build-w32.sh script in two more places before it would work: 1. I was not able to get the source code from cvs until I changed the cvsroot away from that specified in the doc. My new cvsroot statement is: export CVSROOT=:pserver:anonymous@anoncvs.go-mono.com:/mono 2. The compile failed until I changed the ACLOCAL_FLAGS variable. My new statement is: export ACLOCAL_FLAGS="-I /home/install/share/aclocal" Note too that it is not immediately obvious which path to pick, since there are many aclocal directories and files. It would be helpful to tell the reader how to discern which aclocal path to use. I tried the AUTO_DEVEL fix but it didn't work for me: the compilation bombed a bit later, returning error code 2. It probably depends a lot on what version of autoconf you have installed. Regards, Vincent From tpsoftware@users.sourceforge.net Thu Mar 20 13:51:51 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: Thu, 20 Mar 2003 14:51:51 +0100 Subject: [Mono-list] Threading + Exception Handling (2 Questions) Message-ID: <000d01c2eee7$dc002bd0$0a00000a@alfred> This is a multi-part message in MIME format. ------=_NextPart_000_000A_01C2EEF0.3D8D7E40 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello, I have class which creates another thread now that other tread can throw a custom error, but when this error is thrown I want the main thread of the class library to = receive this exception so that the client application which uses my = library get's this error and all execution of other code in my class = library is stopped. //Code executed by the main thread: protected byte[] Query(byte[] sendData) { //Set all values data =3D sendData; queryThread =3D new Thread(new ThreadStart(ExecuteQuery)); =20 //Start the query queryThread.Start(); =20 //Wait for the query to exit if (!queryThread.Join(timeout * 1000)) { queryThread.Abort(); throw new Exceptions.QueryTimeoutException("Query Timeout: " + = timeout.ToString() + " seconds"); } =20 //Return the response, which is now saved in the local variable return queryResponse; } // Code executed by the queryThread private void ExecuteQuery() { UdpClient client =3D new UdpClient(); //Connect to the server and send the query data try { client.Connect(ip,port); client.Send(data,data.Length); } catch (Exception e) { client.Close(); throw new Exceptions.InvalidHostException("Unknown host: " + ip,e); } //Listen for a response - This is the client side IPEndPoint serverIPEndPoint =3D new IPEndPoint(IPAddress.Any,0); =20 //Receive the response try { queryResponse =3D client.Receive(ref serverIPEndPoint); } catch (Exception e) { throw new Exceptions.ConnectionRefusedException("The connection was = refused by the remote host: " + ip + ":" + port.ToString(),e); } finally { client.Close(); } } As you can see the ExecuteQuery() function can throw the = Exceptions.ConnectionRefusedException, but my main thread never receives this error, so the execution of the = code in the main thread does not stop. How can I fix this. I also have a second question:=20 queryThread.Abort(); throw new Exceptions.QueryTimeoutException("Query Timeout: " + = timeout.ToString() + " seconds"); I abort the second thread, will the QueryTimeoutException still be = thrown ? (I hope so), or will the .Abort() cause an error which will prevent from the QueryTimeoutException ever happening, in = that case how do I abort the second query and still throw the = QueryTimeoutException ? Thnx. TP. ------=_NextPart_000_000A_01C2EEF0.3D8D7E40 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hello,
 
I have class which creates another thread
now that other tread can throw a custom error, but
when this error is thrown I want the main thread of the class = library to=20 receive this exception so that the client application which uses my = library=20 get's this error and all execution of other code in my class library is=20 stopped.
 
 //Code executed by the main thread:
  protected byte[] Query(byte[]=20 sendData)
  {
   //Set all=20 values
   data =3D sendData;
 
   queryThread =3D new Thread(new=20 ThreadStart(ExecuteQuery));
       =     =20
   //Start the=20 query
   queryThread.Start();
   
=    //Wait=20 for the query to exit
   if (!queryThread.Join(timeout = *=20 1000))
   {
    queryThread.Abor= t();
    throw=20 new Exceptions.QueryTimeoutException("Query Timeout: " + = timeout.ToString() + "=20 seconds");
   }
   
  &n= bsp;//Return=20 the response, which is now saved in the local=20 variable
   return = queryResponse;
  }
 
// Code executed by the queryThread
 private void=20 ExecuteQuery()
  {
   UdpClient client = =3D new=20 UdpClient();
   //Connect to the server and send the = query=20 data
   try
   {
   = ; client.Connect(ip,port);
    client.Send(da= ta,data.Length);
   }
   catch=20 (Exception=20 e)
   {
    client.Close();
&= nbsp;   throw=20 new Exceptions.InvalidHostException("Unknown host: " +=20 ip,e);
   }
 
   //Listen for a response - This is the client=20 side
   IPEndPoint serverIPEndPoint =3D new=20 IPEndPoint(IPAddress.Any,0);
   
   /= /Receive=20 the=20 response
   try
   {
  &= nbsp; queryResponse=20 =3D client.Receive(ref=20 serverIPEndPoint);
   }
   catch = (Exception=20 e)
   {
    throw new=20 Exceptions.ConnectionRefusedException("The connection was refused by the = remote=20 host: " + ip + ":" +=20 port.ToString(),e);
   }
   finally   {
    client.Close();
 = ;  }
  }
 
As you can see the ExecuteQuery() function can throw the=20 Exceptions.ConnectionRefusedException,
but my main thread never receives this error, so the execution of = the code=20 in the main thread does not stop.
How can I fix this.
 
I also have a second question:
    queryThread.Abort();
   &n= bsp;throw=20 new Exceptions.QueryTimeoutException("Query Timeout: " + = timeout.ToString() + "=20 seconds");
I abort the second thread, will the QueryTimeoutException still be = thrown ?=20 (I hope so), or will the .Abort() cause an error
which will prevent from the QueryTimeoutException ever happening, = in that=20 case how do I abort the second query and still throw the = QueryTimeoutException=20 ?
 
 
Thnx.
TP.
------=_NextPart_000_000A_01C2EEF0.3D8D7E40-- From gonzalo@ximian.com Thu Mar 20 14:25:19 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 20 Mar 2003 15:25:19 +0100 Subject: [Mono-list] Reflection Problem In-Reply-To: <1048151667.1716.3.camel@localhost.localdomain> References: <1048151667.1716.3.camel@localhost.localdomain> Message-ID: <1048170318.25771.11.camel@portatil> El jue, 20 de 03 de 2003 a las 10:14, Carlos Alberto Cortez escribió: > Type theMathType = Type.GetType("System.Math"); > Object theObj = Activator.CreateInstance(theMathType); You get the same error (or similar) when trying to do that under MS runtime. Why do you need to create an instance of a class that only has static methods? -Gonzalo From is118149@mail.udlap.mx Thu Mar 20 14:42:19 2003 From: is118149@mail.udlap.mx (Carlos Alberto Cortez) Date: 20 Mar 2003 08:42:19 -0600 Subject: [Mono-list] Reflection Problem In-Reply-To: <20030320102150.GY918@debian.org> References: <1048151667.1716.3.camel@localhost.localdomain> <20030320102150.GY918@debian.org> Message-ID: <1048171339.806.2.camel@localhost.localdomain> Hello! Oh ok, thanks. It happens that I was learning reflection from a the C# language from O'Reilly ... so, could you please recomend me a good book? I have the thinking in c# too, but the reflection topic comes all in java ... Regards, Carlos. El jue, 20-03-2003 a las 04:21, Paolo Molaro escribi=F3: > On 03/20/03 Carlos Alberto Cortez wrote: > > Unhandled Exception: System.MissingMethodException: Default constructor > > not found > > in <0x0019b> 00 System.Activator:CreateInstance (System.Type,bool) > > in <0x00031> 00 .ReflectionTest:Main () > >=20 > > The code I'm writing is the next: > >=20 > > using System; > > using System.Reflection; > >=20 > > public class ReflectionTest { > >=20 > > public static void Main () { > >=20 > > Type theMathType =3D Type.GetType("System.Math"); > > Object theObj =3D Activator.CreateInstance(theMathType)= ; > >=20 > > } > > } >=20 > Your code is buggy: you can't create an instance of System.Math, since > it has no constructors accessible to you. You'll get the same bug if you > run your code on the MS runtime. >=20 > lupus >=20 > --=20 > ----------------------------------------------------------------- > lupus@debian.org debian/rules > lupus@ximian.com Monkeys do it better --=20 -------------------------------------------------- /* The definition of myself */ using Cortez; using GeniusIntelligence; public class Carlos : Human, IGenius, ILinuxUser { static void Main () { Me.Born(); } } -------------------------------------------------- From jonpryor@vt.edu Thu Mar 20 14:45:39 2003 From: jonpryor@vt.edu (Jonathan Pryor) Date: 20 Mar 2003 09:45:39 -0500 Subject: [Mono-list] Threading + Exception Handling (2 Questions) In-Reply-To: <000d01c2eee7$dc002bd0$0a00000a@alfred> References: <000d01c2eee7$dc002bd0$0a00000a@alfred> Message-ID: <1048171538.1158.36.camel@melchior.magi> It sounds like you want to have an exception generated in one thread appear in another. I don't think that's possible. Exceptions are relative to the thread they're generated from, and deal exclusively with the thread of that stack. However, there is a workaround, if I'm understanding you correctly. You could hook up the AppDomain.UnhandledException event to your first thread, which would let you know if an exception was thrown from some thread in your application and not caught. In theory, you could use the UnhandledExceptionEventArgs information to determine the type of the thrown exception, to ensure that you're trapping the right errors. Alas, this information appears to be null for my build of mono (see attached sample program), but that might be fixed by now. Anyone else know for sure? Regardless, your UnhandledException handler can set a variable which the main thread checks. If the variable is set, the main thread would throw an exception, simulating the appearance of the thread moving from one thread to another. As for Thread.Abort, it should work as you expect. Thread.Abort generates an exception in the specified thread, not the calling thread (unless they're the same), and that exception will have no effect on the calling thread. So Thread.Abort followed by a throw should work. There is one problem, though. Thread.Abort isn't implemented for mono under Windows (it's a pthread under Windows problem; check the archives), so this may not be an acceptable solution for you. - Jon On Thu, 2003-03-20 at 08:51, Timothy Parez wrote: > Hello, > > I have class which creates another thread > now that other tread can throw a custom error, but > when this error is thrown I want the main thread of the class library > to receive this exception so that the client application which uses my > library get's this error and all execution of other code in my class > library is stopped. > > //Code executed by the main thread: > protected byte[] Query(byte[] sendData) > { > //Set all values > data = sendData; > > queryThread = new Thread(new ThreadStart(ExecuteQuery)); > > //Start the query > queryThread.Start(); > > //Wait for the query to exit > if (!queryThread.Join(timeout * 1000)) > { > queryThread.Abort(); > throw new Exceptions.QueryTimeoutException("Query Timeout: " + > timeout.ToString() + " seconds"); > } > > //Return the response, which is now saved in the local variable > return queryResponse; > } > > // Code executed by the queryThread > private void ExecuteQuery() > { > UdpClient client = new UdpClient(); > //Connect to the server and send the query data > try > { > client.Connect(ip,port); > client.Send(data,data.Length); > } > catch (Exception e) > { > client.Close(); > throw new Exceptions.InvalidHostException("Unknown host: " + > ip,e); > } > > //Listen for a response - This is the client side > IPEndPoint serverIPEndPoint = new IPEndPoint(IPAddress.Any,0); > > //Receive the response > try > { > queryResponse = client.Receive(ref serverIPEndPoint); > } > catch (Exception e) > { > throw new Exceptions.ConnectionRefusedException("The connection > was refused by the remote host: " + ip + ":" + port.ToString(),e); > } > finally > { > client.Close(); > } > } > > As you can see the ExecuteQuery() function can throw the > Exceptions.ConnectionRefusedException, > but my main thread never receives this error, so the execution of the > code in the main thread does not stop. > How can I fix this. > > I also have a second question: > queryThread.Abort(); > throw new Exceptions.QueryTimeoutException("Query Timeout: " + > timeout.ToString() + " seconds"); > I abort the second thread, will the QueryTimeoutException still be > thrown ? (I hope so), or will the .Abort() cause an error > which will prevent from the QueryTimeoutException ever happening, in > that case how do I abort the second query and still throw the > QueryTimeoutException ? > > > Thnx. > TP. From jonpryor@vt.edu Thu Mar 20 14:47:09 2003 From: jonpryor@vt.edu (Jonathan Pryor) Date: 20 Mar 2003 09:47:09 -0500 Subject: [Mono-list] Threading + Exception Handling (2 Questions) In-Reply-To: <1048171538.1158.36.camel@melchior.magi> References: <000d01c2eee7$dc002bd0$0a00000a@alfred> <1048171538.1158.36.camel@melchior.magi> Message-ID: <1048171629.1159.38.camel@melchior.magi> --=-z3WDgyELhBczgjoKeVBL Content-Type: text/plain Content-Transfer-Encoding: 7bit Oops. Forgot to attach the UnhandledException sample. - Jon On Thu, 2003-03-20 at 09:45, Jonathan Pryor wrote: > It sounds like you want to have an exception generated in one thread > appear in another. I don't think that's possible. Exceptions are > relative to the thread they're generated from, and deal exclusively with > the thread of that stack. > > However, there is a workaround, if I'm understanding you correctly. You > could hook up the AppDomain.UnhandledException event to your first > thread, which would let you know if an exception was thrown from some > thread in your application and not caught. > > In theory, you could use the UnhandledExceptionEventArgs information to > determine the type of the thrown exception, to ensure that you're > trapping the right errors. Alas, this information appears to be null > for my build of mono (see attached sample program), but that might be > fixed by now. Anyone else know for sure? > > Regardless, your UnhandledException handler can set a variable which the > main thread checks. If the variable is set, the main thread would throw > an exception, simulating the appearance of the thread moving from one > thread to another. > > As for Thread.Abort, it should work as you expect. Thread.Abort > generates an exception in the specified thread, not the calling thread > (unless they're the same), and that exception will have no effect on the > calling thread. So Thread.Abort followed by a throw should work. > > There is one problem, though. Thread.Abort isn't implemented for mono > under Windows (it's a pthread under Windows problem; check the > archives), so this may not be an acceptable solution for you. > > - Jon > > On Thu, 2003-03-20 at 08:51, Timothy Parez wrote: > > Hello, > > > > I have class which creates another thread > > now that other tread can throw a custom error, but > > when this error is thrown I want the main thread of the class library > > to receive this exception so that the client application which uses my > > library get's this error and all execution of other code in my class > > library is stopped. > > > > //Code executed by the main thread: > > protected byte[] Query(byte[] sendData) > > { > > //Set all values > > data = sendData; > > > > queryThread = new Thread(new ThreadStart(ExecuteQuery)); > > > > //Start the query > > queryThread.Start(); > > > > //Wait for the query to exit > > if (!queryThread.Join(timeout * 1000)) > > { > > queryThread.Abort(); > > throw new Exceptions.QueryTimeoutException("Query Timeout: " + > > timeout.ToString() + " seconds"); > > } > > > > //Return the response, which is now saved in the local variable > > return queryResponse; > > } > > > > // Code executed by the queryThread > > private void ExecuteQuery() > > { > > UdpClient client = new UdpClient(); > > //Connect to the server and send the query data > > try > > { > > client.Connect(ip,port); > > client.Send(data,data.Length); > > } > > catch (Exception e) > > { > > client.Close(); > > throw new Exceptions.InvalidHostException("Unknown host: " + > > ip,e); > > } > > > > //Listen for a response - This is the client side > > IPEndPoint serverIPEndPoint = new IPEndPoint(IPAddress.Any,0); > > > > //Receive the response > > try > > { > > queryResponse = client.Receive(ref serverIPEndPoint); > > } > > catch (Exception e) > > { > > throw new Exceptions.ConnectionRefusedException("The connection > > was refused by the remote host: " + ip + ":" + port.ToString(),e); > > } > > finally > > { > > client.Close(); > > } > > } > > > > As you can see the ExecuteQuery() function can throw the > > Exceptions.ConnectionRefusedException, > > but my main thread never receives this error, so the execution of the > > code in the main thread does not stop. > > How can I fix this. > > > > I also have a second question: > > queryThread.Abort(); > > throw new Exceptions.QueryTimeoutException("Query Timeout: " + > > timeout.ToString() + " seconds"); > > I abort the second thread, will the QueryTimeoutException still be > > thrown ? (I hope so), or will the .Abort() cause an error > > which will prevent from the QueryTimeoutException ever happening, in > > that case how do I abort the second query and still throw the > > QueryTimeoutException ? > > > > > > Thnx. > > TP. > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list --=-z3WDgyELhBczgjoKeVBL Content-Disposition: attachment; filename=threading.cs Content-Type: text/plain; name=threading.cs; charset=UTF-8 Content-Transfer-Encoding: 7bit // What happens when a thread throws an uncaught exception? using System; using System.Threading; class R { private static void Worker () { Console.WriteLine ("Worker Thread: Working..."); Thread.Sleep (500); Console.WriteLine ("Worker Thread: Problem."); throw new Exception ("Worker Thread Problem"); } public static void Main () { Thread t = new Thread (new ThreadStart (Worker)); Console.WriteLine ("Main: Starting Worker"); AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler (OnUnhandledException); t.Start (); t.Join (); Console.WriteLine ("Main: Finished"); } private static void OnUnhandledException (object sender, UnhandledExceptionEventArgs e) { Console.WriteLine ("Unhandled Exception:"); Console.WriteLine (" sender=" + sender); Console.WriteLine (" e=" + e); if (e != null) { Console.WriteLine (" e: " + e); Console.WriteLine (" Exception: " + e.ExceptionObject); Console.WriteLine (" IsTerminating: " + e.IsTerminating); } else Console.WriteLine (" ** UnhandledExceptionEventArgs is null?!"); Console.WriteLine ("Generating New Exception"); throw new Exception ("In the right thread?"); } } --=-z3WDgyELhBczgjoKeVBL-- From tpsoftware@users.sourceforge.net Thu Mar 20 14:59:59 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: Thu, 20 Mar 2003 15:59:59 +0100 Subject: [Mono-list] Threading + Exception Handling (2 Questions) References: <000d01c2eee7$dc002bd0$0a00000a@alfred> <1048171538.1158.36.camel@melchior.magi> <1048171629.1159.38.camel@melchior.magi> Message-ID: <000c01c2eef1$60b6ffd0$0a00000a@alfred> Thnx for the information and the example !! I have some additional questions : > > There is one problem, though. Thread.Abort isn't implemented for mono > > under Windows (it's a pthread under Windows problem; check the > > archives), so this may not be an acceptable solution for you. Is this implemented for mono under Linux ? As I'm not relying on mono for Windows anyway, since I have some other issues with it aswell. Alas, this information appears to be null > > for my build of mono (see attached sample program), but that might be > > fixed by now. Anyone else know for sure? What version of mono are you using ? I'm currently using mono 0.23 (red-carpet rpm) Even so that may not be a problem as my second thread can only call one Exception. Besides the solution you noted what do you think about making the QueryBase class expose a custom event which the second thread calls when an error occurs and which the first thread subscribes to. Or is that to far fetched, as it would involve a class subscribing to an event he exposed himself. Thnx Timothy. ----- Original Message ----- From: "Jonathan Pryor" To: "Timothy Parez" Cc: "Mono List" Sent: Thursday, March 20, 2003 3:47 PM Subject: Re: [Mono-list] Threading + Exception Handling (2 Questions) > Oops. Forgot to attach the UnhandledException sample. > > - Jon > > On Thu, 2003-03-20 at 09:45, Jonathan Pryor wrote: > > It sounds like you want to have an exception generated in one thread > > appear in another. I don't think that's possible. Exceptions are > > relative to the thread they're generated from, and deal exclusively with > > the thread of that stack. > > > > However, there is a workaround, if I'm understanding you correctly. You > > could hook up the AppDomain.UnhandledException event to your first > > thread, which would let you know if an exception was thrown from some > > thread in your application and not caught. > > > > In theory, you could use the UnhandledExceptionEventArgs information to > > determine the type of the thrown exception, to ensure that you're > > trapping the right errors. Alas, this information appears to be null > > for my build of mono (see attached sample program), but that might be > > fixed by now. Anyone else know for sure? > > > > Regardless, your UnhandledException handler can set a variable which the > > main thread checks. If the variable is set, the main thread would throw > > an exception, simulating the appearance of the thread moving from one > > thread to another. > > > > As for Thread.Abort, it should work as you expect. Thread.Abort > > generates an exception in the specified thread, not the calling thread > > (unless they're the same), and that exception will have no effect on the > > calling thread. So Thread.Abort followed by a throw should work. > > > > There is one problem, though. Thread.Abort isn't implemented for mono > > under Windows (it's a pthread under Windows problem; check the > > archives), so this may not be an acceptable solution for you. > > > > - Jon > > > > On Thu, 2003-03-20 at 08:51, Timothy Parez wrote: > > > Hello, > > > > > > I have class which creates another thread > > > now that other tread can throw a custom error, but > > > when this error is thrown I want the main thread of the class library > > > to receive this exception so that the client application which uses my > > > library get's this error and all execution of other code in my class > > > library is stopped. > > > > > > //Code executed by the main thread: > > > protected byte[] Query(byte[] sendData) > > > { > > > //Set all values > > > data = sendData; > > > > > > queryThread = new Thread(new ThreadStart(ExecuteQuery)); > > > > > > //Start the query > > > queryThread.Start(); > > > > > > //Wait for the query to exit > > > if (!queryThread.Join(timeout * 1000)) > > > { > > > queryThread.Abort(); > > > throw new Exceptions.QueryTimeoutException("Query Timeout: " + > > > timeout.ToString() + " seconds"); > > > } > > > > > > //Return the response, which is now saved in the local variable > > > return queryResponse; > > > } > > > > > > // Code executed by the queryThread > > > private void ExecuteQuery() > > > { > > > UdpClient client = new UdpClient(); > > > //Connect to the server and send the query data > > > try > > > { > > > client.Connect(ip,port); > > > client.Send(data,data.Length); > > > } > > > catch (Exception e) > > > { > > > client.Close(); > > > throw new Exceptions.InvalidHostException("Unknown host: " + > > > ip,e); > > > } > > > > > > //Listen for a response - This is the client side > > > IPEndPoint serverIPEndPoint = new IPEndPoint(IPAddress.Any,0); > > > > > > //Receive the response > > > try > > > { > > > queryResponse = client.Receive(ref serverIPEndPoint); > > > } > > > catch (Exception e) > > > { > > > throw new Exceptions.ConnectionRefusedException("The connection > > > was refused by the remote host: " + ip + ":" + port.ToString(),e); > > > } > > > finally > > > { > > > client.Close(); > > > } > > > } > > > > > > As you can see the ExecuteQuery() function can throw the > > > Exceptions.ConnectionRefusedException, > > > but my main thread never receives this error, so the execution of the > > > code in the main thread does not stop. > > > How can I fix this. > > > > > > I also have a second question: > > > queryThread.Abort(); > > > throw new Exceptions.QueryTimeoutException("Query Timeout: " + > > > timeout.ToString() + " seconds"); > > > I abort the second thread, will the QueryTimeoutException still be > > > thrown ? (I hope so), or will the .Abort() cause an error > > > which will prevent from the QueryTimeoutException ever happening, in > > > that case how do I abort the second query and still throw the > > > QueryTimeoutException ? > > > > > > > > > Thnx. > > > TP. > > > > _______________________________________________ > > Mono-list maillist - Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list > From lupus@ximian.com Thu Mar 20 15:03:03 2003 From: lupus@ximian.com (Paolo Molaro) Date: Thu, 20 Mar 2003 16:03:03 +0100 Subject: [Mono-list] JIT bug In-Reply-To: <5C38B761F205B54BA59FF611A65C62480118F0@lembu.sumatrasoftware.com> References: <5C38B761F205B54BA59FF611A65C62480118F0@lembu.sumatrasoftware.com> Message-ID: <20030320150303.GZ918@debian.org> On 03/20/03 Jeroen Frijters wrote: > The attached executable throws a System.IndexOutOfRangeException where > it shouldn't. This is on Windows with Mono.exe version 0.23. The old jit doesn't handle correctly the case when an argument gets stored to while its previous value was already loaded on the evaluation stack. The issue has been fixed in the new JIT. Thanks. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From jonpryor@vt.edu Thu Mar 20 15:12:38 2003 From: jonpryor@vt.edu (Jonathan Pryor) Date: 20 Mar 2003 10:12:38 -0500 Subject: [Mono-list] Threading + Exception Handling (2 Questions) In-Reply-To: <000c01c2eef1$60b6ffd0$0a00000a@alfred> References: <000d01c2eee7$dc002bd0$0a00000a@alfred> <1048171538.1158.36.camel@melchior.magi> <1048171629.1159.38.camel@melchior.magi> <000c01c2eef1$60b6ffd0$0a00000a@alfred> Message-ID: <1048173157.1158.42.camel@melchior.magi> Responses Inline. On Thu, 2003-03-20 at 09:59, Timothy Parez wrote: > Is this implemented for mono under Linux ? Yes, Thread.Abort is implemented under Linux. > Alas, this information appears to be null > > > for my build of mono (see attached sample program), but that might be > > > fixed by now. Anyone else know for sure? > > What version of mono are you using ? > I'm currently using mono 0.23 (red-carpet rpm) I'm using an ancient CVS build (mono --version reports 0.19.1.0). I really should update some time... > Besides the solution you noted what do you think about > making the QueryBase class expose a custom event which the second > thread calls when an error occurs and which the first thread subscribes to. > Or is that to far fetched, as it would involve a class subscribing to an > event > he exposed himself. That should be possible as well. It's effectively the same thing. It's also the first idea that came to mind before I looked up the UnhandledException event. - Jon > Thnx > Timothy. > > ----- Original Message ----- > From: "Jonathan Pryor" > To: "Timothy Parez" > Cc: "Mono List" > Sent: Thursday, March 20, 2003 3:47 PM > Subject: Re: [Mono-list] Threading + Exception Handling (2 Questions) > > > > Oops. Forgot to attach the UnhandledException sample. > > > > - Jon > > > > On Thu, 2003-03-20 at 09:45, Jonathan Pryor wrote: > > > It sounds like you want to have an exception generated in one thread > > > appear in another. I don't think that's possible. Exceptions are > > > relative to the thread they're generated from, and deal exclusively with > > > the thread of that stack. > > > > > > However, there is a workaround, if I'm understanding you correctly. You > > > could hook up the AppDomain.UnhandledException event to your first > > > thread, which would let you know if an exception was thrown from some > > > thread in your application and not caught. > > > > > > In theory, you could use the UnhandledExceptionEventArgs information to > > > determine the type of the thrown exception, to ensure that you're > > > trapping the right errors. Alas, this information appears to be null > > > for my build of mono (see attached sample program), but that might be > > > fixed by now. Anyone else know for sure? > > > > > > Regardless, your UnhandledException handler can set a variable which the > > > main thread checks. If the variable is set, the main thread would throw > > > an exception, simulating the appearance of the thread moving from one > > > thread to another. > > > > > > As for Thread.Abort, it should work as you expect. Thread.Abort > > > generates an exception in the specified thread, not the calling thread > > > (unless they're the same), and that exception will have no effect on the > > > calling thread. So Thread.Abort followed by a throw should work. > > > > > > There is one problem, though. Thread.Abort isn't implemented for mono > > > under Windows (it's a pthread under Windows problem; check the > > > archives), so this may not be an acceptable solution for you. > > > > > > - Jon > > > > > > On Thu, 2003-03-20 at 08:51, Timothy Parez wrote: > > > > Hello, > > > > > > > > I have class which creates another thread > > > > now that other tread can throw a custom error, but > > > > when this error is thrown I want the main thread of the class library > > > > to receive this exception so that the client application which uses my > > > > library get's this error and all execution of other code in my class > > > > library is stopped. > > > > > > > > //Code executed by the main thread: > > > > protected byte[] Query(byte[] sendData) > > > > { > > > > //Set all values > > > > data = sendData; > > > > > > > > queryThread = new Thread(new ThreadStart(ExecuteQuery)); > > > > > > > > //Start the query > > > > queryThread.Start(); > > > > > > > > //Wait for the query to exit > > > > if (!queryThread.Join(timeout * 1000)) > > > > { > > > > queryThread.Abort(); > > > > throw new Exceptions.QueryTimeoutException("Query Timeout: " + > > > > timeout.ToString() + " seconds"); > > > > } > > > > > > > > //Return the response, which is now saved in the local variable > > > > return queryResponse; > > > > } > > > > > > > > // Code executed by the queryThread > > > > private void ExecuteQuery() > > > > { > > > > UdpClient client = new UdpClient(); > > > > //Connect to the server and send the query data > > > > try > > > > { > > > > client.Connect(ip,port); > > > > client.Send(data,data.Length); > > > > } > > > > catch (Exception e) > > > > { > > > > client.Close(); > > > > throw new Exceptions.InvalidHostException("Unknown host: " + > > > > ip,e); > > > > } > > > > > > > > //Listen for a response - This is the client side > > > > IPEndPoint serverIPEndPoint = new IPEndPoint(IPAddress.Any,0); > > > > > > > > //Receive the response > > > > try > > > > { > > > > queryResponse = client.Receive(ref serverIPEndPoint); > > > > } > > > > catch (Exception e) > > > > { > > > > throw new Exceptions.ConnectionRefusedException("The connection > > > > was refused by the remote host: " + ip + ":" + port.ToString(),e); > > > > } > > > > finally > > > > { > > > > client.Close(); > > > > } > > > > } > > > > > > > > As you can see the ExecuteQuery() function can throw the > > > > Exceptions.ConnectionRefusedException, > > > > but my main thread never receives this error, so the execution of the > > > > code in the main thread does not stop. > > > > How can I fix this. > > > > > > > > I also have a second question: > > > > queryThread.Abort(); > > > > throw new Exceptions.QueryTimeoutException("Query Timeout: " + > > > > timeout.ToString() + " seconds"); > > > > I abort the second thread, will the QueryTimeoutException still be > > > > thrown ? (I hope so), or will the .Abort() cause an error > > > > which will prevent from the QueryTimeoutException ever happening, in > > > > that case how do I abort the second query and still throw the > > > > QueryTimeoutException ? > > > > > > > > > > > > Thnx. > > > > TP. > > > > > > _______________________________________________ > > > Mono-list maillist - Mono-list@lists.ximian.com > > > http://lists.ximian.com/mailman/listinfo/mono-list > > > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From tpsoftware@users.sourceforge.net Thu Mar 20 15:23:24 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: Thu, 20 Mar 2003 16:23:24 +0100 Subject: [Mono-list] Threading + Exception Handling (2 Questions) References: <000d01c2eee7$dc002bd0$0a00000a@alfred> <1048171538.1158.36.camel@melchior.magi> <1048171629.1159.38.camel@melchior.magi> <000c01c2eef1$60b6ffd0$0a00000a@alfred> <1048173157.1158.42.camel@melchior.magi> Message-ID: <001f01c2eef4$a6726160$0a00000a@alfred> I thought I'd show you this result Mono v0.23 (Windows) Output: Main: Starting Worker Worker Thread: Working... Worker Thread: Problem. Unhandled Exception: sender= e= ** UnhandledExceptionEventArgs is null?! Generating New Exception ** (threading.exe:2460): WARNING **: exception inside UnhandledException handler! Main: Finished .NET Output: Main: Starting Worker Worker Thread: Working... Worker Thread: Problem. Unhandled Exception: sender=Name: threading.exe There are no context policies. e=System.UnhandledExceptionEventArgs e: System.UnhandledExceptionEventArgs Exception: System.Exception: Worker Thread Problem at R.Worker() IsTerminating: False Generating New Exception Main: Finished So in 0.23 it's not yet fixed. I'll try the linux version to see if it is fixed there. Timothy. ----- Original Message ----- From: "Jonathan Pryor" To: "Timothy Parez" Cc: "Mono List" Sent: Thursday, March 20, 2003 4:12 PM Subject: Re: [Mono-list] Threading + Exception Handling (2 Questions) > Responses Inline. > > On Thu, 2003-03-20 at 09:59, Timothy Parez wrote: > > > Is this implemented for mono under Linux ? > > Yes, Thread.Abort is implemented under Linux. > > > > Alas, this information appears to be null > > > > for my build of mono (see attached sample program), but that might be > > > > fixed by now. Anyone else know for sure? > > > > What version of mono are you using ? > > I'm currently using mono 0.23 (red-carpet rpm) > > I'm using an ancient CVS build (mono --version reports 0.19.1.0). I > really should update some time... > > > > Besides the solution you noted what do you think about > > making the QueryBase class expose a custom event which the second > > thread calls when an error occurs and which the first thread subscribes to. > > Or is that to far fetched, as it would involve a class subscribing to an > > event > > he exposed himself. > > That should be possible as well. It's effectively the same thing. It's > also the first idea that came to mind before I looked up the > UnhandledException event. > > - Jon > > > Thnx > > Timothy. > > > > ----- Original Message ----- > > From: "Jonathan Pryor" > > To: "Timothy Parez" > > Cc: "Mono List" > > Sent: Thursday, March 20, 2003 3:47 PM > > Subject: Re: [Mono-list] Threading + Exception Handling (2 Questions) > > > > > > > Oops. Forgot to attach the UnhandledException sample. > > > > > > - Jon > > > > > > On Thu, 2003-03-20 at 09:45, Jonathan Pryor wrote: > > > > It sounds like you want to have an exception generated in one thread > > > > appear in another. I don't think that's possible. Exceptions are > > > > relative to the thread they're generated from, and deal exclusively with > > > > the thread of that stack. > > > > > > > > However, there is a workaround, if I'm understanding you correctly. You > > > > could hook up the AppDomain.UnhandledException event to your first > > > > thread, which would let you know if an exception was thrown from some > > > > thread in your application and not caught. > > > > > > > > In theory, you could use the UnhandledExceptionEventArgs information to > > > > determine the type of the thrown exception, to ensure that you're > > > > trapping the right errors. Alas, this information appears to be null > > > > for my build of mono (see attached sample program), but that might be > > > > fixed by now. Anyone else know for sure? > > > > > > > > Regardless, your UnhandledException handler can set a variable which the > > > > main thread checks. If the variable is set, the main thread would throw > > > > an exception, simulating the appearance of the thread moving from one > > > > thread to another. > > > > > > > > As for Thread.Abort, it should work as you expect. Thread.Abort > > > > generates an exception in the specified thread, not the calling thread > > > > (unless they're the same), and that exception will have no effect on the > > > > calling thread. So Thread.Abort followed by a throw should work. > > > > > > > > There is one problem, though. Thread.Abort isn't implemented for mono > > > > under Windows (it's a pthread under Windows problem; check the > > > > archives), so this may not be an acceptable solution for you. > > > > > > > > - Jon > > > > > > > > On Thu, 2003-03-20 at 08:51, Timothy Parez wrote: > > > > > Hello, > > > > > > > > > > I have class which creates another thread > > > > > now that other tread can throw a custom error, but > > > > > when this error is thrown I want the main thread of the class library > > > > > to receive this exception so that the client application which uses my > > > > > library get's this error and all execution of other code in my class > > > > > library is stopped. > > > > > > > > > > //Code executed by the main thread: > > > > > protected byte[] Query(byte[] sendData) > > > > > { > > > > > //Set all values > > > > > data = sendData; > > > > > > > > > > queryThread = new Thread(new ThreadStart(ExecuteQuery)); > > > > > > > > > > //Start the query > > > > > queryThread.Start(); > > > > > > > > > > //Wait for the query to exit > > > > > if (!queryThread.Join(timeout * 1000)) > > > > > { > > > > > queryThread.Abort(); > > > > > throw new Exceptions.QueryTimeoutException("Query Timeout: " + > > > > > timeout.ToString() + " seconds"); > > > > > } > > > > > > > > > > //Return the response, which is now saved in the local variable > > > > > return queryResponse; > > > > > } > > > > > > > > > > // Code executed by the queryThread > > > > > private void ExecuteQuery() > > > > > { > > > > > UdpClient client = new UdpClient(); > > > > > //Connect to the server and send the query data > > > > > try > > > > > { > > > > > client.Connect(ip,port); > > > > > client.Send(data,data.Length); > > > > > } > > > > > catch (Exception e) > > > > > { > > > > > client.Close(); > > > > > throw new Exceptions.InvalidHostException("Unknown host: " + > > > > > ip,e); > > > > > } > > > > > > > > > > //Listen for a response - This is the client side > > > > > IPEndPoint serverIPEndPoint = new IPEndPoint(IPAddress.Any,0); > > > > > > > > > > //Receive the response > > > > > try > > > > > { > > > > > queryResponse = client.Receive(ref serverIPEndPoint); > > > > > } > > > > > catch (Exception e) > > > > > { > > > > > throw new Exceptions.ConnectionRefusedException("The connection > > > > > was refused by the remote host: " + ip + ":" + port.ToString(),e); > > > > > } > > > > > finally > > > > > { > > > > > client.Close(); > > > > > } > > > > > } > > > > > > > > > > As you can see the ExecuteQuery() function can throw the > > > > > Exceptions.ConnectionRefusedException, > > > > > but my main thread never receives this error, so the execution of the > > > > > code in the main thread does not stop. > > > > > How can I fix this. > > > > > > > > > > I also have a second question: > > > > > queryThread.Abort(); > > > > > throw new Exceptions.QueryTimeoutException("Query Timeout: " + > > > > > timeout.ToString() + " seconds"); > > > > > I abort the second thread, will the QueryTimeoutException still be > > > > > thrown ? (I hope so), or will the .Abort() cause an error > > > > > which will prevent from the QueryTimeoutException ever happening, in > > > > > that case how do I abort the second query and still throw the > > > > > QueryTimeoutException ? > > > > > > > > > > > > > > > Thnx. > > > > > TP. > > > > > > > > _______________________________________________ > > > > Mono-list maillist - Mono-list@lists.ximian.com > > > > http://lists.ximian.com/mailman/listinfo/mono-list > > > > > > > _______________________________________________ > > Mono-list maillist - Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From koss@objectmentor.com Thu Mar 20 15:40:09 2003 From: koss@objectmentor.com (Bob Koss) Date: Thu, 20 Mar 2003 10:40:09 -0500 Subject: [Mono-list] How to run Nunit ? Message-ID: I'm trying to get up to speed on C#/.NET/Mono so that hopefully I can make contributions to mono. I'm running 0.23 on Mac OS X. I have a trivially simple test class that I compile to VerifyNunit.dll. When I try to run the test, I get: $ mint nunit-console.exe VerifyNUnit.dll ** (nunit-console.exe:4289): WARNING **: Using non-atomic functions! NUnit version 2.0.9 Copyright (C) 2002 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov. Copyright (C) 2000-2002 Philip Craig. All Rights Reserved. ** Warning **: cannot find mono/machine.config Trying to load app config file... .Illegal instruction $ What am I doing wrong? -- Robert Koss, Ph.D. | Training, Mentoring, Contract Development Senior Consultant | Object Oriented Design, C++, Java www.objectmentor.com | Extreme Programming From rubeng@tectimes.com Thu Mar 20 19:55:45 2003 From: rubeng@tectimes.com (=?iso-8859-1?Q?Rub=E9n_Gutierrez?=) Date: Thu, 20 Mar 2003 12:55:45 -0700 Subject: [Mono-list] Re: Argentina and Brasil. In-Reply-To: <20030318235101.11497.39768.Mailman@headcheese.ximian.com> References: <20030318235101.11497.39768.Mailman@headcheese.ximian.com> Message-ID: <20030320125203.DE15.RUBENG@tectimes.com> > Message: 14 > From: Miguel de Icaza > To: mono-list@ximian.com > Organization:=20 > Date: 18 Mar 2003 11:53:08 -0500 > Subject: [Mono-list] Argentina and Brasil. >=20 > Hello, >=20 > Am going to the Brasil Forum on Free Software on June 5th. Since = it > is so close to Buenos Aires, I was considering jumping over to = Argentina > an do a presentation on Mono as well. >=20 > Does anyone have any contacts in Buenos Aires to see if this is a > possibility? I work in a computer magazine here in Argentina (Buenos Aires), but I don't think they would be interested in supporting a presentation of Mono :( Last year we had a Linux magazine published by the company where I = work. Maybe back then it would have been possible to do the presentation. But, maybe someone here can contact you with someone who would be interested in doing a presentation of Mono. I don't know. I don't = really know much about how these kind of things are handled. If there's anything I can do, just tell me. Cheers, =20 Rub=E9n Guti=E9rrez Publicaciones Electr=F3nicas MP Ediciones S.A. From piersh@friskit.com Thu Mar 20 19:08:09 2003 From: piersh@friskit.com (Piers Haken) Date: Thu, 20 Mar 2003 11:08:09 -0800 Subject: [Mono-list] Reflection Problem Message-ID: <9891913C5BFE87429D71E37F08210CB929759F@zeus.sfhq.friskit.com> The best book I have seen on the .NET runtime is "Applied Microsoft .NET Framework Programming" by Jeffrey Richter. http://www.amazon.com/exec/obidos/ASIN/0735614229/qid=3D1048186879/sr=3D2= -1/ ref=3Dsr_2_1/002-7268009-8165665 Its focus is more on the workings of the runtime than the C# language. Piers. > -----Original Message----- > From: Carlos Alberto Cortez [mailto:is118149@mail.udlap.mx]=20 > Sent: Thursday, March 20, 2003 6:42 AM > To: Mono List > Subject: Re: [Mono-list] Reflection Problem >=20 >=20 >=20 > Hello! >=20 > Oh ok, thanks. It happens that I was learning reflection from=20 > a the C# language from O'Reilly ... so, could you please=20 > recomend me a good book? I have the thinking in c# too, but=20 > the reflection topic comes all in java ... >=20 > Regards, > Carlos. >=20 > El jue, 20-03-2003 a las 04:21, Paolo Molaro escribi=F3: > > On 03/20/03 Carlos Alberto Cortez wrote: > > > Unhandled Exception: System.MissingMethodException: Default=20 > > > constructor not found in <0x0019b> 00=20 > > > System.Activator:CreateInstance (System.Type,bool) in=20 > <0x00031> 00=20 > > > .ReflectionTest:Main () > > >=20 > > > The code I'm writing is the next: > > >=20 > > > using System; > > > using System.Reflection; > > >=20 > > > public class ReflectionTest { > > >=20 > > > public static void Main () { > > >=20 > > > Type theMathType =3D Type.GetType("System.Math"); > > > Object theObj =3D=20 > > > Activator.CreateInstance(theMathType); > > >=20 > > > } > > > } > >=20 > > Your code is buggy: you can't create an instance of=20 > System.Math, since=20 > > it has no constructors accessible to you. You'll get the=20 > same bug if=20 > > you run your code on the MS runtime. > >=20 > > lupus > >=20 > > -- > > ----------------------------------------------------------------- > > lupus@debian.org debian/rules > > lupus@ximian.com Monkeys do it better > --=20 > -------------------------------------------------- > /* The definition of myself */ > using Cortez; > using GeniusIntelligence; >=20 > public class Carlos : Human, IGenius, ILinuxUser { >=20 > static void Main () { > Me.Born(); > } >=20 > } >=20 > -------------------------------------------------- > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com=20 > http://lists.ximian.com/mailman/listinfo/mono-list >=20 From tum@veridicus.com Thu Mar 20 20:13:44 2003 From: tum@veridicus.com (Thong Nguyen) Date: Thu, 20 Mar 2003 12:13:44 -0800 Subject: [Mono-list] Exceptions and error codes. Message-ID: <200303201213.AA84279626@veridicus.com> Hiya guys, I recently read some recommendations on the GTK# mailing list regarding the use of exceptions. The recommendation Microsoft have been giving is that exceptions should be avoided unless absolutely required. The best way to report errors should be done through return error codes. The main reason behind this is speed. Microsoft has had a bad track record when it comes to writing robust and secure applications and much of the reason behind this is because of the Microsoft mentality of "speed is best" (that's partly why they are plagued with so many buffer overflow exploits). Using return error codes under the (often false) assumption that you'll get a speed increase will mean that you may introduce subtle errors into your code. Now, I'm not going to tell everyone how to write design or write *their* projects but I feel that some people aren't quite getting the full picture with regards to exceptions and their use in a modern OO language. I hope that people will spend the time to read this message and come away with perspective that they consider useful. Lets consider Int32.Parse. The intended function of this method is to parse a string into an int. The natural choice for the return value would be the parsed int. This allows us to use the method like so: -------------------------------------------------------------- x = Int32.Parse(s); // or SomeClass.Foo(Int32.Parse(s)); -------------------------------------------------------------- Now, how do we report when the string passed is badly formatted? Firstly, lets consider using exceptions. Using an "exception" enabled Int32.Parse would look like tihs: -------------------------------------------------------------- try { x = Int32.Parse(s); } catch (ParseException e) { Cosole.WriteLine(e.Message); } // or try { SomeClass.Foo(Int32.Parse(s)); } catch (ParseException e) { } -------------------------------------------------------------- Now, lets consider avoiding exceptions and instead replacing the return value with an error code and returning the real value through an "out" parameter. The new Int32.Parse would be used like so: -------------------------------------------------------------- int e; e = Int32.Parse(s, out x); if (e > 0) { Console.WriteLine("Error: {0}", e); } // Can't aggregate Int32.Parse as an argument to SomeClass.Foo -------------------------------------------------------------- There are some problems with using the error code approach. Some are clear, and some are more subtle. 1) Not having the result of the Int32.Parse in the return value prevents us from using Int32.Parse as an argument to another method. 2) Error codes don't supply the "rich" information that exceptions do. 3) Unlike exceptions, error codes don't force redirection of program flow when there is an error. A program that doesn't check for an error code could continue for several more statements until it crashes with a seemingly unrelated error. Exceptions will cause an immediate jump to the closet error handler for the exception. If no error handler is available the program will terminate rather than continue running with (almost always) invalid state. 4) Exceptions force programmers to mix program logic and error handling. Programmers need to surround every method with an if/else statement. Forgetting to surround every method with an if/else statement can lead to errors as described in point 3. With exceptions, one try/catch can be used to handle the exceptions of more than one statement. Here's a simple example of what I mean: Lets say you have the following block of code: -------------------------------------------------------------- x = Int32.Parse(s); Foo(x); y = Int32.Parse(t); Bar(y); -------------------------------------------------------------- Every statement can't be executed unless the previous statement suceeded. Using exceptions, you'd end up with code like this: -------------------------------------------------------------- try { x = Int32.Parse(s); Foo(x); y = Int32.Parse(x.ToString() + "0"); Bar(y); } catch (ParseException e) { Console.WriteLine(e.Message); } -------------------------------------------------------------- As you can see, the code is almost identical. Exceptions allow programmers to "program along the path of success" and then handle expected errors centrally (at the end of the code block). Notice how using exceptions here is useful even though the stack unwind feature of exceptions isn't fully utilised. Using error codes you'd get something like this: -------------------------------------------------------------- e = Int32.Parse(s, out x); if (e == 0) { e = Int32.Parse(x.ToString() + "0", out y); if (e == 0) { Bar(y); } else { Console.WriteLine("Error {0}", e); } } else { Console.WriteLine("Error {0}", e); } -------------------------------------------------------------- The code is *harder* to read and understand because error handling is intertwined within the code. Also, notice how the error handling code had to be duplicated (you could avoid this using goto...ugh...). With error codes you *MUST* *ALWAYS* check the return code *THERE AND THEN* otherwise you could end up using invalid data. If you don't check exceptions *THERE AND THEN* you know that the remaining statements won't get executed with incorrect data. Exceptions are clearer and safer. An alternative to exceptions and return error codes that some people consider are to add a "Error" property to the object in question (e.g. Stream.Error). This approach introduces subtle race conditions when those objects are used in a multi-threaded application. Those race conditions can sometimes be avoided using synchronization -- but then that defeates one of the intended reasons for avoiding exceptions (speed). Here's an example of a race condition that I still see occuring: -------------------------------------------------------------- Spot the race condition: if (File.Exists(fileName)) { reader = File.Open(fileName); } else { Console.WriteLine("error"); } The following code doesn't have the race condition: try { reader = File.Open(fileName) } catch (FileNotFoundException) { Console.WriteLine("error"); } -------------------------------------------------------------- Using "state" to store error conditions is (IMO) a very bad idea. Exceptions can be much slower than using error codes, however, it should be noted that the path of error is usually the least walked path. Most of the time your code will not throw exceptions. When exceptions aren't thrown there is *very* little overhead. In fact, the overhead of using error codes can be *greater* than that of using exceptions because you have to surround a significant number of statements with an if/else. Unlike exceptions, the if/else always takes CPU time; even when there is no error. Unless you are using exceptions to report return values you'll rarely encounter performance issues involving exceptions because they will occur rarely. You'll get far more milage optimising your algorithms. Remember, as a rough guide, 90% of your CPU time is spent in 10% of your code!. If most of your process time is spent throwing exceptions then I think you should seriously think about redesigning your application! I think this makes a lot of sense; and it makes me to wonder what Microsoft were thinking when they recommended return codes over exceptions because of *speed*. Here's my own personal recommmendations regarding exceptions: + Since all .NET methods can't and don't return error codes there are cases where exceptions *must* be used, therefore, be consistant and always use exceptions to report errors except for the "hotspots" in your code which should be carefully examined and optimized *afterwards*. + Use return values for return values. Don't use them to report errors. Exceptions were invented so we could use 'return' the way it was intended. + Don't use exceptions to report return values. Use exceptions to report errors that prevent your method from completing successfully. + Don't use state (e.g. an error property) as the only way to report errors. You'll get into trouble when threading. + If you really *must* use error codes to improve speed, you should supply a version that throws exceptions so that people aren't *forced* to check your error code "there and then". + It can be quite useful to supply methods that complement each other. File.Exists and File.Open are a good example. e.g. The method File.Exists returns a bool (that makes sense since the purpose of the method is to check whether a file exists or not) but File.Exists should *not* throw FileNotFoundException. The method File.Open should return a TextReader and *not* a bool because the purpose of the method is to open a file. File.Open *should* throw FileNotFoundException. I hope this post has been useful to people. I have spent a lot of time thinking about this isssue and I believe it is important. If anyone has any questions regarding this topic, please email me personally (remember to remove the SPAM guards from my email address). All the best, ^Tum From piersh@friskit.com Thu Mar 20 20:59:19 2003 From: piersh@friskit.com (Piers Haken) Date: Thu, 20 Mar 2003 12:59:19 -0800 Subject: [Mono-list] Exceptions and error codes. Message-ID: <9891913C5BFE87429D71E37F08210CB92975A0@zeus.sfhq.friskit.com> > -----Original Message----- > From: Thong Nguyen [mailto:tum@veridicus.com]=20 > Sent: Thursday, March 20, 2003 12:14 PM > To: mono-list@lists.ximian.com > Subject: [Mono-list] Exceptions and error codes. >=20 >=20 > Hiya guys, >=20 > I recently read some recommendations on the GTK# mailing list=20 > regarding the use of exceptions. You make some good arguments, but I think most of it is irrelevant since, in order to remain compatible with .NET, Mono must behave the same way with respect to returning (or not) exceptions. The MSDN docs describe exactly what exceptions/return codes File.Exists and File.Open should return, Mono should do the same (unless the docs are in error). A lot of work has already been done on this. You'll notice that many of the test cases test whether or not the correct exception is being returned. Of course, for new class libraries many of your arguments are valid. Although I'd argue that the case for exceptions in .NET isn't as clear-cut as you propose. For example, since you're not required to declare the exceptions that a method throws, it's just as easy to miss handling an exception as it is to miss handling a return code. The argument that it's easy to forget to handle a return code is purely subjective. I've been writing COM code in C++ since '95 and I've found that it's quite simple to get into the habit of checking the result of every call and doing it in a way that's readable. In fact I often find that code that explicitly checks return codes for each call is easier to read than code that relies on catch blocks, since you know exactly which error handling code is associated with each call. Catch locks are fine if you want to apply the same exception handling code to a whole bunch of code, but as soon as you have to nest them they become unwieldy. For example, compare: try { DoSomething (); try { DoSomethingElse (); // some more code here... } catch (Exception e) { // handle exception in DoSomething () } } Catch (Exception e) { // handle exception in DoSomethingElse () } With HRESULT hr; if (FAILED (hr =3D DoSomething ())) { // handle error in DoSomething () } else if (FAILED (hr =3D DoSomethingElse ())) { // handle error in DoSomethingElse () } else { // some more code here... } Or, if you don't need nested catch blocks: HRESULT hr; if (FAILED (hr =3D DoSomething ()) || FAILED (hr =3D DoSomethingElse ())) { // handle error } else { // some more code here... } Or, if you prefer your error handling to be at the end: HRESULT hr; if (SUCCEEDED (hr =3D DoSomething ()) && SUCCEEDED (hr =3D DoSomethingElse ())) { // some more code here... } else { // handle error } Piers. From tum@veridicus.com Thu Mar 20 21:33:09 2003 From: tum@veridicus.com (Thong (Tum) Nguyen) Date: Fri, 21 Mar 2003 09:33:09 +1200 Subject: [Mono-list] Exceptions and error codes. In-Reply-To: <9891913C5BFE87429D71E37F08210CB92975A0@zeus.sfhq.friskit.com> Message-ID: <000401c2ef28$4ea5bc50$3200a8c0@unity> > -----Original Message----- > From: mono-list-admin@lists.ximian.com [mailto:mono-list- > admin@lists.ximian.com] On Behalf Of Piers Haken > Sent: Friday, 21 March 2003 8:59 a.m. > To: tum@veridicus.com; mono-list@lists.ximian.com > Subject: RE: [Mono-list] Exceptions and error codes. > > > -----Original Message----- > > From: Thong Nguyen [mailto:tum@veridicus.com] > > Sent: Thursday, March 20, 2003 12:14 PM > > To: mono-list@lists.ximian.com > > Subject: [Mono-list] Exceptions and error codes. > > > > > > Hiya guys, > > > > I recently read some recommendations on the GTK# mailing list > > regarding the use of exceptions. > > You make some good arguments, but I think most of it is irrelevant > since, in order to remain compatible with .NET, Mono must behave the > same way with respect to returning (or not) exceptions. The MSDN docs > describe exactly what exceptions/return codes File.Exists and File.Open > should return, Mono should do the same (unless the docs are in error). A > lot of work has already been done on this. You'll notice that many of > the test cases test whether or not the correct exception is being > returned. Definitely. I was more referring to our own class libraries (such as GTK#). > > Of course, for new class libraries many of your arguments are valid. > Although I'd argue that the case for exceptions in .NET isn't as > clear-cut as you propose. > > For example, since you're not required to declare the exceptions that a > method throws, it's just as easy to miss handling an exception as it is > to miss handling a return code. That's true. The issue of checked exceptions opens up another can of worms that I'm not willing to open here ;-). But remember, with exceptions you still have the security of knowing the following statements won't execute. > The argument that it's easy to forget to > handle a return code is purely subjective. I've been writing COM code in > C++ since '95 and I've found that it's quite simple to get into the > habit of checking the result of every call and doing it in a way that's > readable. Yes. I've written a lot of COM code myself and have found that you do get used to using the SUCCESS macro ;-). It's just a pain when you want to handle errors for a block of code in the same way -- which happens very often. In COM there is no choice; you *must* check and handle every HRESULT. > In fact I often find that code that explicitly checks return > codes for each call is easier to read than code that relies on catch > blocks, since you know exactly which error handling code is associated > with each call. Catch locks are fine if you want to apply the same > exception handling code to a whole bunch of code, but as soon as you > have to nest them they become unwieldy. > > For example, compare: > > try > { > DoSomething (); > try > { > DoSomethingElse (); > // some more code here... > } > catch (Exception e) > { > // handle exception in DoSomething () > } > } > Catch (Exception e) > { > // handle exception in DoSomethingElse () > } Typically, if you design a good exception hierarchy the code is a lot tidier: try { DoSomething(); DoSomethingElse(); } catch (DoSomethingException e ) { } catch (DoSomethingElseException e) { } Or you if you want to handle both the same way: try { DoSomething(); DoSomethingElse(); } catch (DoException e) { // catch(exception) is bad cause you can swallow things // like OutOfMemorryException } You can write code for the "best case" (e.g. no error) and handle the errors in a pseudo declarative way (with exceptions). I'm a sucker for declarative languages. > > With > > HRESULT hr; > if (FAILED (hr = DoSomething ())) > { > // handle error in DoSomething () > } > else if (FAILED (hr = DoSomethingElse ())) > { > // handle error in DoSomethingElse () > } > else > { > // some more code here... > } > > > > Or, if you don't need nested catch blocks: > > > HRESULT hr; > if (FAILED (hr = DoSomething ()) || > FAILED (hr = DoSomethingElse ())) > { > // handle error > } > else > { > // some more code here... > } > > Or, if you prefer your error handling to be at the end: > > HRESULT hr; > if (SUCCEEDED (hr = DoSomething ()) && > SUCCEEDED (hr = DoSomethingElse ())) > { > // some more code here... > } > else > { > // handle error > } > The tidied try/catch looks nicer IMO :-). What if you had 10 statements and they all should be handled the same way? Use this: HRESULT hr; if (SUCCEEDED (hr = DoSomething1()) && SUCCEEDED (hr = DoSomething2()) && SUCCEEDED (hr = DoSomething3()) && SUCCEEDED (hr = DoSomething4()) && SUCCEEDED (hr = DoSomething5()) && SUCCEEDED (hr = DoSomething6()) && SUCCEEDED (hr = DoSomething7()) && SUCCEEDED (hr = DoSomething8()) && SUCCEEDED (hr = DoSomething9()) && SUCCEEDED (hr = DoSomething10())) { // some more code here... } else { // handle error } Or this:? try { DoSomething1(); DoSomething2(); DoSomething3(); DoSomething4(); DoSomething5(); DoSomething6(); DoSomething7(); DoSomething8(); DoSomething9(); DoSomething10(); } catch (DoException e) { } All the best, ^Tum --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 From pt99par@student.bth.se Thu Mar 20 14:49:16 2003 From: pt99par@student.bth.se (Per Arneng) Date: Thu, 20 Mar 2003 15:49:16 +0100 Subject: [Mono-list] Problems with NUnit2 Message-ID: <200303201549.16191.pt99par@student.bth.se> --------------Boundary-00=_4IY1UC50VYNOJ74E5JCE Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi! I have been trying the last couple of days to get some testcases i have=20 written to work on linux/mono. They work with nunit in windows with .NET = sdk=20 but not in linux/mono. I really need to get the testcases running since t= hat=20 will help me alot with making the mail API's work the same on mono and .N= ET=20 sdk. Here is the source code that doesnt work with nunit for me: http://hus11.rsn.bth.se/~pure/smtpunit.tar.gz -THE ERROR OUTPUT IS ATTACHED IN THE TEXT FILE- Best regards Per Arneng --------------Boundary-00=_4IY1UC50VYNOJ74E5JCE Content-Type: text/plain; charset="us-ascii"; name="nunit2_output_error.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="nunit2_output_error.txt" NUnit version 2.0.9 Copyright (C) 2002 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov. Copyright (C) 2000-2002 Philip Craig. All Rights Reserved. Exception in base domain Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. Server stack trace: in <0x00107> 00 System.Reflection.MonoCMethod:Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) in <0x00247> 00 System.Runtime.Serialization.ObjectRecord:LoadData (System.Runtime.Serialization.ObjectManager,System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext) in <0x00143> 00 System.Runtime.Serialization.ObjectManager:DoFixups () in <0x0004e> 00 System.Runtime.Serialization.Formatters.Binary.ObjectReader:ReadNextObject (System.IO.BinaryReader) in <0x000d5> 00 System.Runtime.Serialization.Formatters.Binary.ObjectReader:ReadObjectGraph (System.IO.BinaryReader,bool,System.Runtime.Remoting.Messaging.HeaderHandler) in <0x00243> 00 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter:Deserialize (System.IO.Stream,System.Runtime.Remoting.Messaging.HeaderHandler) in <0x0001d> 00 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter:Deserialize (System.IO.Stream) in <0x00074> 00 System.Runtime.Remoting.Channels.CADSerializer:DeserializeObject (System.IO.MemoryStream) in <0x00069> 00 System.Runtime.Remoting.Messaging.CADMethodReturnMessage:GetArguments () in <0x000ab> 00 System.Runtime.Remoting.Messaging.MethodResponse:.ctor (System.Runtime.Remoting.Messaging.IMethodCallMessage,System.Runtime.Remoting.Messaging.CADMethodReturnMessage) in <0x00284> 00 System.Runtime.Remoting.Channels.CrossAppDomainSink:SyncProcessMessage (System.Runtime.Remoting.Messaging.IMessage) Exception rethrown at [0]: ---> System.Runtime.Serialization.SerializationException: No element named ClassName could be found. in <0x000ad> 00 System.Runtime.Serialization.SerializationInfo:GetValue (string,System.Type) in <0x00022> 00 System.Runtime.Serialization.SerializationInfo:GetString (string) in <0x00088> 00 System.Exception:.ctor (System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) in <0x0002e> 00 System.IO.FileNotFoundException:.ctor (System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) in (unmanaged) /usr/bin/mono [0x80a2c6e] in (unmanaged) /usr/bin/mono(mono_runtime_invoke+0x27) [0x80c2051] in (unmanaged) /usr/bin/mono(mono_runtime_invoke_array+0x1a0) [0x80c2c34] in (unmanaged) /usr/bin/mono [0x80c80ed] in <0x000a3> 00 System.Reflection.MonoCMethod:Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) --- End of inner exception stack trace --- in <0x000bc> 00 System.Runtime.Remoting.Proxies.RealProxy:PrivateInvoke (System.Runtime.Remoting.Proxies.RealProxy,System.Runtime.Remoting.Messaging.IMessage,System.Exception&,object[]&) in (unmanaged) 07 System.AppDomain:DoCallBack (System.CrossAppDomainDelegate) in <0x00004> 07 System.AppDomain:DoCallBack (System.CrossAppDomainDelegate) in <0x0012e> 00 NUnit.Framework.TestDomain:MakeRemoteTestRunner (System.IO.FileInfo,System.AppDomain) in <0x000a9> 00 NUnit.Framework.TestDomain:Load (string) in <0x000f9> 00 NUnit.Framework.TestDomain:Load (string) in <0x000dc> 00 NUnit.Console.ConsoleUi:MakeTestFromCommandLine (NUnit.Framework.TestDomain,NUnit.Util.ConsoleOptions) in <0x00201> 00 NUnit.Console.ConsoleUi:Main (string[]) --------------Boundary-00=_4IY1UC50VYNOJ74E5JCE-- From Christian.Buchner1@epost.de Fri Mar 21 01:15:44 2003 From: Christian.Buchner1@epost.de (Christian.Buchner) Date: Thu, 20 Mar 2003 17:15:44 -0800 Subject: [Mono-list] Status of Soap/XML web services? Message-ID: <000401c2ef4a$4d319a70$0400a8c0@january> Hi there. I was trying to consume an XML web service hosted on an IIS Server using the Microsoft .NET Framework. The return type is a DataSet from a database query. I installed the Mono 0.23 release binaries. However I get a NotImplementedException when trying to consume the web service using Mono. Unhandled Exception: System.NotImplementedException: The requested feature is no t yet implemented in <0x00036> 00 System.Web.Services.Protocols.SoapHttpClientProtocol:Invoke (str ing,object[]) Looking at the CVS on hispalinux.es I see plenty of [MonoTODO] attributes and throw NotYetImplemented exceptions. http://cvs.hispalinux.es/cgi-bin/cvsweb/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHttpClientProtocol.cs?cvsroo t=mono&rev=1 Anyone willing to tackle Soap/XML on the client side? I totally lack the experience to do this myself (I am a beginner with web services). Christian From fjh@cs.mu.OZ.AU Fri Mar 21 03:10:07 2003 From: fjh@cs.mu.OZ.AU (Fergus Henderson) Date: Fri, 21 Mar 2003 14:10:07 +1100 Subject: [Mono-list] Exceptions and error codes. In-Reply-To: <200303201213.AA84279626@veridicus.com> References: <200303201213.AA84279626@veridicus.com> Message-ID: <20030321031007.GA9126@ceres.cs.mu.oz.au> On 20-Mar-2003, Thong Nguyen wrote: > Exceptions can be much slower than using error codes, however, it > should be noted that the path of error is usually the least walked path. > Most of the time your code will not throw exceptions. When exceptions > aren't thrown there is *very* little overhead. Are you sure? Have you measured it? Note that the exception handling scheme used on Windows requires some overhead for "try" statements even in the case when no exception is thrown. -- Fergus Henderson | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: | -- the last words of T. S. Garp. From patrickyong@yahoo.com Fri Mar 21 04:55:56 2003 From: patrickyong@yahoo.com (Patrick Yong) Date: Thu, 20 Mar 2003 20:55:56 -0800 (PST) Subject: [Mono-list] Can I use mono for Mandrake 8.2 for Mandrake 9.0 Message-ID: <20030321045556.21184.qmail@web40207.mail.yahoo.com> --0-1748557394-1048222556=:21171 Content-Type: text/plain; charset=us-ascii I can't find any distribution for Mandrake 9 in the download page. Can I install the 8.2 instead? Your Friend for LIFE, Patrick Yong C.M. patrickyong@yahoo.com Note: This posting is provided "AS IS" with no warranties, and confers no rights. Exciting offer! You won't believe it! FREE INTERNET SUPER STORES! Earn Big Income! How? Try it FREE! http://patrick88.freestoreclub.com --------------------------------- Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! --0-1748557394-1048222556=:21171 Content-Type: text/html; charset=us-ascii I can't find any distribution for Mandrake 9 in the download page. Can I install the 8.2 instead?

Your Friend for LIFE,
Patrick Yong C.M.
patrickyong@yahoo.com
Note: This posting is provided "AS IS" with no warranties, and confers no rights.
Exciting offer! You won't believe it! FREE INTERNET SUPER STORES! Earn Big Income! How? Try it FREE!
http://patrick88.freestoreclub.com



Do you Yahoo!?
Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! --0-1748557394-1048222556=:21171-- From richard.torkar@htu.se Fri Mar 21 08:17:29 2003 From: richard.torkar@htu.se (Richard Torkar) Date: 21 Mar 2003 09:17:29 +0100 Subject: [Mono-list] Exceptions and error codes. In-Reply-To: <20030321031007.GA9126@ceres.cs.mu.oz.au> References: <200303201213.AA84279626@veridicus.com> <20030321031007.GA9126@ceres.cs.mu.oz.au> Message-ID: <1048234649.2446.4.camel@tpc171.thnteach.htu.se> On Fri, 2003-03-21 at 04:10, Fergus Henderson wrote: > On 20-Mar-2003, Thong Nguyen wrote: > > Exceptions can be much slower than using error codes, however, it > > should be noted that the path of error is usually the least walked path. > > Most of the time your code will not throw exceptions. When exceptions > > aren't thrown there is *very* little overhead. > > Are you sure? Have you measured it? > > Note that the exception handling scheme used on Windows requires some > overhead for "try" statements even in the case when no exception is thrown. What? ^^^^^^^^^^^^^^ How can that be the case? If the catch does not fire then the try should not be evaluated, right? This is something I've missed completely. /Richard -- Ph.D. Student Dept. of Informatics and Mathematics HTU From fjh@cs.mu.OZ.AU Fri Mar 21 08:29:15 2003 From: fjh@cs.mu.OZ.AU (Fergus Henderson) Date: Fri, 21 Mar 2003 19:29:15 +1100 Subject: [Mono-list] Exceptions and error codes. In-Reply-To: <1048234649.2446.4.camel@tpc171.thnteach.htu.se> References: <200303201213.AA84279626@veridicus.com> <20030321031007.GA9126@ceres.cs.mu.oz.au> <1048234649.2446.4.camel@tpc171.thnteach.htu.se> Message-ID: <20030321082915.GA20880@ceres.cs.mu.oz.au> On 21-Mar-2003, Richard Torkar wrote: > On Fri, 2003-03-21 at 04:10, Fergus Henderson wrote: > > Note that the exception handling scheme used on Windows requires some > > overhead for "try" statements even in the case when no exception is thrown. > > What? ^^^^^^^^^^^^^^ How can that be the case? > > If the catch does not fire then the try should not be evaluated, right? > This is something I've missed completely. The Win32 "structured exception handling" mechanism that Windows uses keeps a linked list of active exception handlers. When entering a "try" statement, the code generated by the compiler needs to insert a new handler in the list, and to fill in a variety of fields that record information about the handler. When exiting a "try" statement, the generated code needs to remove the handler from the list. -- Fergus Henderson | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: | -- the last words of T. S. Garp. From richard.torkar@htu.se Fri Mar 21 08:36:30 2003 From: richard.torkar@htu.se (Richard Torkar) Date: 21 Mar 2003 09:36:30 +0100 Subject: [Mono-list] Exceptions and error codes. In-Reply-To: <20030321082915.GA20880@ceres.cs.mu.oz.au> References: <200303201213.AA84279626@veridicus.com> <20030321031007.GA9126@ceres.cs.mu.oz.au> <1048234649.2446.4.camel@tpc171.thnteach.htu.se> <20030321082915.GA20880@ceres.cs.mu.oz.au> Message-ID: <1048235790.2892.1.camel@tpc171.thnteach.htu.se> On Fri, 2003-03-21 at 09:29, Fergus Henderson wrote: > On 21-Mar-2003, Richard Torkar wrote: > > On Fri, 2003-03-21 at 04:10, Fergus Henderson wrote: > > > Note that the exception handling scheme used on Windows requires some > > > overhead for "try" statements even in the case when no exception is thrown. > > > > What? ^^^^^^^^^^^^^^ How can that be the case? > > > > If the catch does not fire then the try should not be evaluated, right? > > This is something I've missed completely. > > The Win32 "structured exception handling" mechanism that Windows uses > keeps a linked list of active exception handlers. When entering a > "try" statement, the code generated by the compiler needs to insert > a new handler in the list, and to fill in a variety of fields that > record information about the handler. When exiting a "try" statement, > the generated code needs to remove the handler from the list. Good explanation, thanks! /Richard -- Ph.D. Student Dept. of Informatics and Mathematics HTU From lists@sebastian-bergmann.de Fri Mar 21 10:48:58 2003 From: lists@sebastian-bergmann.de (Sebastian Bergmann) Date: Fri, 21 Mar 2003 11:48:58 +0100 Subject: [Mono-list] monkeyguide: architecture/context.png broken Message-ID: <20030321105419.A3A3F124199@listsmx.ximian.com> The architecture/context.png image in the Monkey Guide is broken. -- Sebastian Bergmann http://sebastian-bergmann.de/ http://phpOpenTracker.de/ Did I help you? Consider a gift: http://wishlist.sebastian-bergmann.de/ From charlouis.mono@wanadoo.be Fri Mar 21 11:15:32 2003 From: charlouis.mono@wanadoo.be (Charles-Louis) Date: 21 Mar 2003 12:15:32 +0100 Subject: [Mono-list] Threading Problem (Bug?): Message-ID: <1048244023.1268.7.camel@localhost.localdomain> Hi, I'm having a Thread related problem in my program.I get different Errors when I run it with mono on Linux (RedHat 8.0) and Windows,and wanted to know if anyone knows of some issues. I have to say that, when I ./configure mono, I have to set the SIZEOF_SUNPATH to 108, because it defaults to 0. Basically, my application starts a Thread when I cklick on a Button in a GTK# window. (after running the program with /WINDOW option) So, when I start the Thread for the first time, I get a NullReferenceException (actually, I get two, because I start two threads) when I call 'Thread.Start()', and the first instruction of my Thread function (WorkerThread) is never executed (Console.WriteLine("**WorkerThread**");)... the Thread is not started. When I stop the Thread and restart it, everything runs ok: Thread runs correctly and performs the correct actions. Same thing when I run the Thread from the Console... NullReferenceException for the first time, and then everything runs OK. On mono Windows (Console), I can start the Thread normally. But when I stop the Thread, I get this message (on a MessageBox): ** ERROR **: file threads.c: line 817 (ves_icall_System_Threading_Thread_Abort): should not be reached aborting... followed by an 'abnormal program termination' I tried to make a small TestCase, but can't reproduce the Error... The same code can also run on Windows, (a core assembly is shared, and there are separate assemblies for the GUI), without errors. I tried to run the program with mono-debug, but it crashes with a nasty error, so it's not much help... -- Charles-Louis From draekko@drakonis.dyndns.org Fri Mar 21 11:17:50 2003 From: draekko@drakonis.dyndns.org (draekko) Date: 21 Mar 2003 06:17:50 -0500 Subject: [Mono-list] Can I use mono for Mandrake 8.2 for Mandrake 9.0 In-Reply-To: <20030321045556.21184.qmail@web40207.mail.yahoo.com> References: <20030321045556.21184.qmail@web40207.mail.yahoo.com> Message-ID: <1048245470.13853.29.camel@tuxbox1.drakonis.dyndns.org> --=-DyKGK1tIM0XjhXAu8L77 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Thu, 2003-03-20 at 23:55, Patrick Yong wrote: > I can't find any distribution for Mandrake 9 in the download page. Can > I install the 8.2 instead? >=20 > Your Friend for LIFE, > Patrick Yong C.M. > patrickyong@yahoo.com > Note: This posting is provided "AS IS" with no warranties, and confers > no rights. > Exciting offer! You won't believe it! FREE INTERNET SUPER STORES! Earn > Big Income! How? Try it FREE! > http://patrick88.freestoreclub.com >=20 >=20 >=20 > ______________________________________________________________________ > Do you Yahoo!? > Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! You could just use the src rpms and install that on mdk 9. Something like : rpm --rebuild libgc-6.1-1.src.rpm rpm --rebuild mono-0.23-1.src.rpm Note you may have to add --nodeps when doing the mono SRPMs if you installed libgc from sources instead of an RPM package and you should find the appropriate rpms in /usr/src/RPM/RPMS/i586 on mdk 9. Also of note on newer versions of rpm, to rebuild from sources you to do rpmbuild --rebuild instead. I have updated the RPMs to 0.23 for mdk 9 at http://www.angelfire.com/linux/csharp/ and the mc version listed is already patched to do syntax highlighting in mcedit (v4.6.0). As for using mdk 8.2 rpms on 9.0 i guess it would be possible :) --=20 draekko --=-DyKGK1tIM0XjhXAu8L77 Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (GNU/Linux) iD8DBQA+evTeq0bvDRVnyWkRAn+DAJ9nenOoBcj3K4ZgVH5CzPFFu7bIFACfb8ww IzF7z0JXVtAmXdC6KwUAkTc= =u1xH -----END PGP SIGNATURE----- --=-DyKGK1tIM0XjhXAu8L77-- From martin@gnome.org Fri Mar 21 11:50:29 2003 From: martin@gnome.org (Martin Baulig) Date: 21 Mar 2003 12:50:29 +0100 Subject: [Mono-list] Mono Debugger error... In-Reply-To: <1048070524.12829.0.camel@localhost.localdomain> References: <1048070524.12829.0.camel@localhost.localdomain> Message-ID: <86bs05os56.fsf@einstein.home-of-linux.org> Charles-Louis writes: > When I'm trying to debug my app with the debugger, I get this error: > > Unhandled Exception: Mono.Debugger.InternalError: Daemon thread 0 > received unexpected signal 30 at 0x420ae561. > in <0x0023a> 00 > Mono.Debugger.Backends.DaemonThreadRunner:daemon_thread_main_loop () > in <0x00011> 00 > Mono.Debugger.Backends.DaemonThreadRunner:daemon_thread_main () > in <0x00052> 00 > Mono.Debugger.Backends.DaemonThreadRunner:daemon_thread_start_wrapper () > in <0x0005b> 01 System.MulticastDelegate:invoke_void () Hi, which application are you trying to debug and what exactly were you doing ? -- Martin Baulig martin@gnome.org martin@ximian.com From martin@gnome.org Fri Mar 21 12:24:02 2003 From: martin@gnome.org (Martin Baulig) Date: 21 Mar 2003 13:24:02 +0100 Subject: [Mono-list] Stepping into interncalls with the Mono Debugger In-Reply-To: <20030315190804.30859.qmail@webmail16.rediffmail.com> References: <20030315190804.30859.qmail@webmail16.rediffmail.com> Message-ID: <8665qcq55p.fsf@einstein.home-of-linux.org> Hi, the bug is now fixed in CVS and the debugger can now debug interncalls :-) Documentation is in doc/FAQ.txt: ===== * How do I enter a JIT trampoline ? Normally, the debugger hides JIT trampolines from the user, even when stepping one single instruction. To force the debugger to debug a JIT trampoline, you need to use the `native stepi' command in the command line interface. * How do I enter an interncall ? There are two ways of entering an interncall: if the module the interncall is contained in has debugging info and the `step' property is set (use `module !ignore step' in the command line interface), the debugger will automatically enter the interncall when stepping by source lines. Example debugging session: [martin@einstein debugger]$ run-mono ./lib/Interpreter.exe ./test/N.exe Process @1 stopped at #0: 0x08365f63 in X.Main()+0x7 at N.cs:7. #0: 0x08365f63 in X.Main()+0x7 at N.cs:7 0x08365f63 push $0x41 7 bool is_number = Char.IsNumber ('A'); Mono debugger $ show modules 3 /home/martin/MONO-LINUX/libexec/mono-debugger-jit-wrapper loaded ignore 5 N loaded symbols step 7 /home/martin/MONO-LINUX/lib/libmono.so.0 loaded ignore 9 mscorlib loaded symbols step $ module 7 !ignore step $ s Process @1 stopped at #0: 0x400aa12c in ves_icall_System_Char_IsNumber+0x1c at unicode.c:110. 0x400aa12c movzwl 0xfffffff2(%ebp),%eax 110 GUnicodeType t = g_unichar_type (c); You can also "force" the debugger to enter the intercalls by stepping by machine instructions; in this case, the debugger will automatically jump over the JIT trampoline and stop at the first instruction of the interncall. Example debugging session: [martin@einstein debugger]$ run-mono ./lib/Interpreter.exe ./test/N.exe Process @1 stopped at #0: 0x08366013 in X.Main()+0x7 at N.cs:7. #0: 0x08366013 in X.Main()+0x7 at N.cs:7 0x08366013 push $0x41 7 bool is_number = Char.IsNumber ('A'); Mono debugger $ i Process @1 stopped at #0: 0x08366018 in X.Main()+0xc at N.cs:7. 0x08366018 call System.Char.IsNumber(System.Char) 7 bool is_number = Char.IsNumber ('A'); $ Process @1 stopped at #0: 0x400aa110. 0x400aa110 push %ebp ==== Please let me know if you have any more questions or problems. -- Martin Baulig martin@gnome.org martin@ximian.com From johannes@jroith.de Fri Mar 21 12:40:21 2003 From: johannes@jroith.de (Johannes Roith) Date: Fri, 21 Mar 2003 13:40:21 +0100 Subject: AW: [Mono-list] monkeyguide: architecture/context.png broken In-Reply-To: <20030321105419.A3A3F124199@listsmx.ximian.com> Message-ID: <000601c2efa7$09f54100$2100a8c0@ROITH> Hi Sebastian! Hmm. It does work here. What's wrong with it? Thanks for the report, anyway. Johannes From lists@sebastian-bergmann.de Fri Mar 21 12:49:06 2003 From: lists@sebastian-bergmann.de (Sebastian Bergmann) Date: Fri, 21 Mar 2003 13:49:06 +0100 Subject: [Mono-list] monkeyguide: architecture/context.png broken In-Reply-To: <000601c2efa7$09f54100$2100a8c0@ROITH> References: <20030321105419.A3A3F124199@listsmx.ximian.com> <000601c2efa7$09f54100$2100a8c0@ROITH> Message-ID: <20030321124835.EB4A0124096@listsmx.ximian.com> Johannes Roith wrote: > Hmm. It does work here. What's wrong with it? I have a local checkout of the monkeyguide CVS module. I tried opening the .png images with Mozilla 1.3, IrfanView and Adobe Photoshop, but all three programs report errors in the image file. > Thanks for the report, anyway. You're welcome, Sebastian -- Sebastian Bergmann http://sebastian-bergmann.de/ http://phpOpenTracker.de/ Did I help you? Consider a gift: http://wishlist.sebastian-bergmann.de/ From johannes@jroith.de Fri Mar 21 13:53:37 2003 From: johannes@jroith.de (Johannes Roith) Date: Fri, 21 Mar 2003 14:53:37 +0100 Subject: AW: [Mono-list] monkeyguide: architecture/context.png broken In-Reply-To: <20030321124835.EB4A0124096@listsmx.ximian.com> Message-ID: <000001c2efb1$4634caf0$2100a8c0@ROITH> > I have a local checkout of the monkeyguide CVS module. I tried opening > the .png images with Mozilla 1.3, IrfanView and Adobe Photoshop, but > all three programs report errors in the image file. Ahh, then it is probably not marked as a binary file or something. I'll try to fix it. Thanks! Johannes From umuff@quark.com Fri Mar 21 07:26:57 2003 From: umuff@quark.com (Urs C Muff) Date: Fri, 21 Mar 2003 07:26:57 +0000 Subject: [Mono-list] Current CVS build 'warnings' on Linux Message-ID: <200303210726.59420.umuff@quark.com> Does anyone else have similar problems with the current CVS build? 'mono= ' and=20 'mcs' are build, but those warning just appeared about 3 days ago. Anything that I can do? Those warning appear when re-making the 'mcs'=20 package. ** (../../mcs/mcs.exe:25207): WARNING **: cant resolve internal call to=20 "System.Threading.Thread::ResetAbort()" (tested without signature also) Your mono runtime and corlib are out of sync. When you update one from cvs you need to update, compile and install the other too. Do not report this as a bug unless you're sure you have updated correctly= : you probably have a broken mono install. If you see other errors or faults after this message they are probably re= lated and you need to fix your mono install first. ** (../../mcs/mcs.exe:25207): WARNING **: cant resolve internal call to=20 "System.Threading.Thread::Abort(object)" (tested without signature also) - Urs From umuff@quark.com Fri Mar 21 08:26:07 2003 From: umuff@quark.com (Urs C Muff) Date: Fri, 21 Mar 2003 08:26:07 +0000 Subject: [Mono-list] Stepping into interncalls with the Mono Debugger In-Reply-To: <8665qcq55p.fsf@einstein.home-of-linux.org> References: <20030315190804.30859.qmail@webmail16.rediffmail.com> <8665qcq55p.fsf@einstein.home-of-linux.org> Message-ID: <200303210826.07171.umuff@quark.com> The current built debugger from CVS does not start up (the main windows=20 flashes and then the following exception occurs): Let me know if I can=20 produce better info for you. [I built all the libraries including gtk#,=20 corlib, and the debugger, with debug symbols, but it would help a lot if = the=20 configuration already would support debug targets!!] $ mono --debug /usr/bin/Debugger.exe ~/Test/Client.exe ** Message: debug-mono-symfile.c:950: 0x8707480 - 0,f,0 Unhandled Exception: System.NullReferenceException: A null value was foun= d=20 where an object instance was required in [0x00009] (at /home/umuff/mono/gtk-sharp/glade/XML.custom:184) 00=20 =2ESignalConnector:ConnectFunc (string,intptr,string,string,intptr,int,in= tptr) in <0x0008c> 05 .SignalConnector:ConnectFunc=20 (intptr,intptr,intptr,intptr,intptr,int,intptr) in (unmanaged) 06 .SignalConnector:glade_xml_signal_autoconnect_full=20 (intptr,RawXMLConnectFunc,intptr) in <0x00004> 06 .SignalConnector:glade_xml_signal_autoconnect_full=20 (intptr,RawXMLConnectFunc,intptr) in [0x00013] (at /home/umuff/mono/gtk-sharp/glade/XML.custom:163) 00=20 =2ESignalConnector:Autoconnect () in [0x00010] (at /home/umuff/mono/gtk-sharp/glade/XML.custom:115) 00=20 Glade.XML:Autoconnect (object) in [0x00186] (at=20 /home/umuff/mono/debugger/lib/../frontends/gui/DebuggerGUI.cs:226) 00=20 Mono.Debugger.GUI.DebuggerGUI:SetupGUI () in [0x00061] (at=20 /home/umuff/mono/debugger/lib/../frontends/gui/DebuggerGUI.cs:140) 00=20 Mono.Debugger.GUI.DebuggerGUI:.ctor (string[]) in [0x000fc] (at=20 /home/umuff/mono/debugger/lib/../frontends/gui/DebuggerGUI.cs:88) 00=20 Mono.Debugger.GUI.DebuggerGUI:Main (string[]) It worked about 4 days ago, and does not seem to be either in gtk, nor in= the=20 debugger itself [but that is just a hunch]. - Urs On Friday 21 March 2003 12:24, Martin Baulig wrote: > Hi, > > the bug is now fixed in CVS and the debugger can now debug interncalls = :-) > > Documentation is in doc/FAQ.txt: > > =3D=3D=3D=3D=3D > * How do I enter a JIT trampoline ? > > Normally, the debugger hides JIT trampolines from the user, even when > stepping one single instruction. To force the debugger to debug a JIT > trampoline, you need to use the `native stepi' command in the command l= ine > interface. > > > * How do I enter an interncall ? > > There are two ways of entering an interncall: if the module the > interncall is contained in has debugging info and the `step' property i= s > set (use `module !ignore step' in the command line interface),= the > debugger will automatically enter the interncall when stepping by sourc= e > lines. > > Example debugging session: > > [martin@einstein debugger]$ run-mono ./lib/Interpreter.exe > ./test/N.exe Process @1 stopped at #0: 0x08365f63 in X.Main()+0x7 at > N.cs:7. #0: 0x08365f63 in X.Main()+0x7 at N.cs:7 > 0x08365f63 push $0x41 > 7 bool is_number =3D Char.IsNumber ('A'); > Mono debugger > $ show modules > 3 /home/martin/MONO-LINUX/libexec/mono-debugger-jit-wrapper loa= ded > ignore 5 N loaded symbols step > 7 /home/martin/MONO-LINUX/lib/libmono.so.0 loaded ignore > 9 mscorlib loaded symbols step > $ module 7 !ignore step > $ s > Process @1 stopped at #0: 0x400aa12c in > ves_icall_System_Char_IsNumber+0x1c at unicode.c:110. 0x400aa12c =20 > movzwl 0xfffffff2(%ebp),%eax > 110 GUnicodeType t =3D g_unichar_type (c); > > You can also "force" the debugger to enter the intercalls by stepping= by > machine instructions; in this case, the debugger will automatically jum= p > over the JIT trampoline and stop at the first instruction of the > interncall. > > Example debugging session: > > [martin@einstein debugger]$ run-mono ./lib/Interpreter.exe > ./test/N.exe Process @1 stopped at #0: 0x08366013 in X.Main()+0x7 at > N.cs:7. #0: 0x08366013 in X.Main()+0x7 at N.cs:7 > 0x08366013 push $0x41 > 7 bool is_number =3D Char.IsNumber ('A'); > Mono debugger > $ i > Process @1 stopped at #0: 0x08366018 in X.Main()+0xc at N.cs:7. > 0x08366018 call System.Char.IsNumber(System.Char) > 7 bool is_number =3D Char.IsNumber ('A'); > $ > Process @1 stopped at #0: 0x400aa110. > 0x400aa110 push %ebp > > > =3D=3D=3D=3D > > Please let me know if you have any more questions or problems. From charlouis.mono@wanadoo.be Fri Mar 21 15:30:05 2003 From: charlouis.mono@wanadoo.be (Charles-Louis) Date: 21 Mar 2003 16:30:05 +0100 Subject: [Mono-list] [Fwd: Re: [Mono-devel-list] Threading Problem (Bug?):] Message-ID: <1048260605.1287.20.camel@localhost.localdomain> --=-3mE/hbe2CeEi7HqX8xph Content-Type: text/plain Content-Transfer-Encoding: 7bit -- Charles-Louis --=-3mE/hbe2CeEi7HqX8xph Content-Disposition: inline Content-Description: Message suivi - Re: [Mono-devel-list] Threading Problem (Bug?): Content-Type: message/rfc822 Subject: Re: [Mono-devel-list] Threading Problem (Bug?): From: Charles-Louis To: Dick Porter In-Reply-To: <1048246677.19667.6.camel@hagbard.apathetic.discordia.org.uk> References: <1048244023.1268.7.camel@localhost.localdomain> <1048246677.19667.6.camel@hagbard.apathetic.discordia.org.uk> Content-Type: text/plain; charset=UTF-8 Organization: Message-Id: <1048256236.1287.18.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.3 Date: 21 Mar 2003 15:17:16 +0100 Content-Transfer-Encoding: 8bit Le ven 21/03/2003 à 12:37, Dick Porter a écrit : > On Fri, 2003-03-21 at 11:15, Charles-Louis wrote: > > Hi, > > > > I'm having a Thread related problem in my program.I get different Errors > > when I run it with mono on Linux (RedHat 8.0) and Windows,and wanted to > > know if anyone knows of some issues. > > > > I have to say that, when I ./configure mono, I have to set the > > SIZEOF_SUNPATH to 108, because it defaults to 0. > > If you could figure out why configure gets this wrong for you, it would > be appreciated. > > > > > Basically, my application starts a Thread when I cklick on a Button in a > > GTK# window. (after running the program with /WINDOW option) > > > > So, when I start the Thread for the first time, I get a > > NullReferenceException (actually, I get two, because I start two > > threads) when I call 'Thread.Start()', and the first instruction of my > > Thread function (WorkerThread) is never executed > > (Console.WriteLine("**WorkerThread**");)... the Thread is not started. > > > > When I stop the Thread and restart it, everything runs ok: Thread runs > > correctly and performs the correct actions. > > > > > > Same thing when I run the Thread from the Console... > > NullReferenceException for the first time, and then everything runs OK. > > No idea what's wrong, and theres no chance of me being able to debug it > without a test case. > > Please add a bugzilla entry, include the version of mono you are using > and the smallest possible test sample that shows the problem. > > > > > On mono Windows (Console), I can start the Thread normally. But when I > > stop the Thread, I get this message (on a MessageBox): > > > > ** ERROR **: file threads.c: line 817 > > (ves_icall_System_Threading_Thread_Abort): should not be reached > > aborting... > > > > followed by an 'abnormal program termination' > > Thread.Abort() isn't implemented on windows. --> So the error seems to come from RedHat... maybe there was an issue with that... I'll try to run this on another Linux Flavor (SuSE) this WeekEnd... But I don't think I'll be able to write a small TestCase (I already stripped down everything...). I'll see with my Boss if I can send the source code... > - Dick > > _______________________________________________ > Mono-devel-list mailing list > Mono-devel-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-devel-list -- Charles-Louis --=-3mE/hbe2CeEi7HqX8xph-- From pt99par@student.bth.se Fri Mar 21 16:57:53 2003 From: pt99par@student.bth.se (Per Arneng) Date: Fri, 21 Mar 2003 17:57:53 +0100 Subject: [Mono-list] System.Web.Mail updated Message-ID: <200303211757.53831.pt99par@student.bth.se> Hi Monolith's! Could not get nunit to work so i made a quick hack which just runs my tes= t=20 methods and then i just compare the output to find any diffs. This is jus= t=20 temporary since i count on getting my tests to work with nunit2 in the ne= ar=20 future. Progress is a little slow now since im working alot on my master=20 thesis but there is progress ;). I have made some updates on default values and fixed some differences so = now=20 the API's work almost( 93.54% ;-) ) the same. I will need to implement a=20 quoted-printable encoder for attachments and for some message properties.= I=20 have noticed that .NET sdk has some automagic mechanism for sensing what=20 encoding to use on some header fields like To,From and Cc. These fields = are=20 only encoded if they contain non 7-bit ASCII chars and the chosen encodin= g is=20 based upon how many non ASCII characters are present. Todo: =09* quoted-printable encoder (attachments,some header fields) =09* Bcc ( addresses just added in rcpt-to but not in headers) Tips and bug reports are allways welcome! Best regards =09Per Arneng From DENNISH@Raytek.com Fri Mar 21 20:51:38 2003 From: DENNISH@Raytek.com (Dennis Hayes) Date: Fri, 21 Mar 2003 12:51:38 -0800 Subject: [Mono-list] .NET Developers Journal column Message-ID: <6A5462649507D7119DE00090271EC70B1AEB89@RHQPDC0> Starting with the April issue, I will be writing a monthly column in the ".NET Developers Journal". the name of the column is "Monkey Business", and it will be news about developments in open source implantations of .NET, Rotor, Mono, and Gnu.NET. You can read a blurb about a March article on Mono, "What the Monkey Can Do", and see the cover at http://www.sys-con.com/dotnet, but you have to subscribe before you can read the article or column. May's column is done, but if there is anything you want to appear in the June column, email me. Thanks, Dennis dennish@raytek.com From akpoon@excite.com Sat Mar 22 01:55:16 2003 From: akpoon@excite.com (akpoon@excite.com) Date: Fri, 21 Mar 2003 20:55:16 -0500 (EST) Subject: [Mono-list] [ADO.NET] SQL Parser. Message-ID: <20030322015516.9FDA7B6E8@xmxpita.excite.com> Hi, I am looking for a free SQL parser for one of the ADO.NET provider. Wonder what kind of SQL parser are available to be used (or already been used). The problem is that the SQL send to the provider need some miminal parsering (like getting the all Table names, checking the schema name, table/column alias, figuring out that "*" means all columns etc.). Arnold _______________________________________________ Join Excite! - http://www.excite.com The most personalized portal on the Web! From martin@gnome.org Sat Mar 22 16:40:27 2003 From: martin@gnome.org (Martin Baulig) Date: 22 Mar 2003 17:40:27 +0100 Subject: [Mono-list] Stepping into interncalls with the Mono Debugger In-Reply-To: <200303210826.07171.umuff@quark.com> References: <20030315190804.30859.qmail@webmail16.rediffmail.com> <8665qcq55p.fsf@einstein.home-of-linux.org> <200303210826.07171.umuff@quark.com> Message-ID: <86isubmk1w.fsf@einstein.home-of-linux.org> Urs C Muff writes: > The current built debugger from CVS does not start up (the main windows > flashes and then the following exception occurs): Let me know if I can > produce better info for you. [I built all the libraries including gtk#, > corlib, and the debugger, with debug symbols, but it would help a lot if the > configuration already would support debug targets!!] Hi, this seems to be a gtk# problem, but I'm not entirely sure. However, downgrading to a two weeks old gtk# fixes the problem. -- Martin Baulig martin@gnome.org martin@ximian.com From daniel@rawbyte.com Sat Mar 22 19:50:24 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Sat, 22 Mar 2003 11:50:24 -0800 Subject: [Mono-list] Rewriting path with an HttpModule In-Reply-To: <1047946047.15024.29.camel@portatil> References: <20030317134246.GA4810@rawbyte.com> <1047946047.15024.29.camel@portatil> Message-ID: <20030322195024.GA32018@rawbyte.com> > > In a similar way to how Apache mod_userdir does. > > That requires implementing RewritePath and changing the PhysicalFilePath > > returned, small changes that I already commited. > > codebase, can you have a look before I apply? > > The path passed to rewrite path must be relative to the application host > base path (--root in server.exe), so UserDir.cs is wrong because it > passes the full path to the file instead of a virtual path. (MS says > "c:\xxx" is a physical path") (heh, and they say that they throw an > ArgumentNullException when the path is null but i get a > NullReferenceException :). Oh, so my mistake was to think Path refered here to a physical path, it is actually a URL path. MS documentation is so ambiguous. This simplifies everything, because I do not need to worry about the other Map() functions in other classes, they will do the right thing. > After fixing RewritePath, i'll modify it and send it back to you. > > Btw, I've found an interesing link (god bless google!): > http://www.codeproject.com/aspnet/URLRewriter.asp Good link, thanks! Daniel From daniel@rawbyte.com Sat Mar 22 20:22:17 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Sat, 22 Mar 2003 12:22:17 -0800 Subject: [Mono-list] Rewriting path with an HttpModule In-Reply-To: <1047954114.14995.46.camel@portatil> References: <20030317134246.GA4810@rawbyte.com> <1047946047.15024.29.camel@portatil> <1047954114.14995.46.camel@portatil> Message-ID: <20030322202217.GB32018@rawbyte.com> > > After fixing RewritePath, i'll modify it and send it back to you. > > Mmm. Well, as RewritePath is more of a 'hide the real URL' thing, and > after some thinking, I bet for adding the ~user stuff in > MonoWorkerRequest. I think it could be done with MonoApplication /~ /home and then using RewritePath to rewrite ~user/index.aspx to ~user/public_html/index.aspx internally, which will then be mapped to /home/user/public_html/index.aspx > Why? There's one place where you can fake the real path to the file > (MapPath), so you can map "/~gonzalo/" to the file > "/home/gonzalo/public_html/index.aspx" or even using a configuration > file like the one in the link I put in my previous mail. We can modify Request to support user directories, but it may be better to create a hook point in MapPath(), that allows you to have arbitrary code providing that functionality. What I have in mind is a module that runs the mapped path thru Apache API and then takes a look at the resulting path_translated filed in the request_rec structure. This would allow us to reuse all the existing Apache modules that map virtual paths to physical paths, such as mod_userdir or mod_rewrite. That would require that: a) All MapPath functions eventually call Request.MapPath() (I did some greping and think that is the case) b) Other parts of the code do not make assumptions that physical paths are rooted in the Application physical path, as for example happens in mcs/class/System.Web/System.Web.Compilation/AspGenerator.cs See patch in http://lists.ximian.com/archives/public/mono-list/2003-March/012992.html Cheers Daniel From pbaena@uol.com.ar Sat Mar 22 19:26:57 2003 From: pbaena@uol.com.ar (Pablo Baena) Date: 22 Mar 2003 19:26:57 +0000 Subject: [Mono-list] Thread.IsAlive on mono 0.23 not working Message-ID: <1048361216.1499.17.camel@hal> --=-Wg4ydF0r531ODbKsdWzE Content-Type: text/plain Content-Transfer-Encoding: 7bit I am trying to find out if a thread ended with Thread.IsAlive and it seems that it doesn't work as expected with mono 0.23. It seems it is working on CVS, at least the code is there. Does the test below work with it? Will somebody incorporate the new code in the next mono release? Thank you! using System; using System.Threading; namespace test { class test { static Thread thr1, thr2; static void Main(string[] args) { thr1 = new Thread (new ThreadStart (threadfunc)); thr1.Start (); thr2 = new Thread (new ThreadStart (threadfunc2)); thr2.Start (); } static void threadfunc () { int i = 0; while (i<2) { Thread.Sleep(1000); i++; } } static void threadfunc2 () { int i = 0; while (i<4) { if (thr1 != null && thr1.IsAlive) Console.WriteLine("thr1 rnning"); else Console.WriteLine ("thr1 is not running"); Thread.Sleep (1000); i++; } } } } -- Pablo Baena --=-Wg4ydF0r531ODbKsdWzE Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit I am trying to find out if a thread ended with Thread.IsAlive and it seems that it doesn't work as expected with mono 0.23. It seems it is working on CVS, at least the code is there. Does the test below work with it? Will somebody incorporate the new code in the next mono release?

Thank you!
using System;
using System.Threading;

namespace test
{

	class test
	{
		static Thread thr1, thr2;

		static void Main(string[] args)
		{

				thr1 = new Thread (new ThreadStart (threadfunc));
				thr1.Start ();
				thr2 = new Thread (new ThreadStart (threadfunc2));
				thr2.Start ();
		}

		static void threadfunc () 
		{
			int i = 0;
			while (i<2)
			{
				Thread.Sleep(1000);
				i++;
			}

		}

		static void threadfunc2 () 
		{
			int i = 0;
			while (i<4)
			{
				if (thr1 != null && thr1.IsAlive)
					Console.WriteLine("thr1 rnning");
				else
					Console.WriteLine ("thr1 is not running");

				Thread.Sleep (1000);
				i++;
			}
		}
	}
}
--
Pablo Baena <pbaena@uol.com.ar>
--=-Wg4ydF0r531ODbKsdWzE-- From tpsoftware@users.sourceforge.net Sat Mar 22 22:40:12 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: Sat, 22 Mar 2003 23:40:12 +0100 Subject: [Mono-list] Tutorial/Example needed: Using Glade with GTK# References: <000d01c2eee7$dc002bd0$0a00000a@alfred> <1048171538.1158.36.camel@melchior.magi> <1048171629.1159.38.camel@melchior.magi> <000c01c2eef1$60b6ffd0$0a00000a@alfred> <1048173157.1158.42.camel@melchior.magi> <001f01c2eef4$a6726160$0a00000a@alfred> Message-ID: <000601c2f0c4$002a3ea0$9b00000a@pclindsey> Hi, Where can I find a GLADE with GTK# tutorial, thnx. Timothy. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.462 / Virus Database: 261 - Release Date: 13/03/2003 From piersh@friskit.com Sun Mar 23 00:12:09 2003 From: piersh@friskit.com (Piers Haken) Date: Sat, 22 Mar 2003 16:12:09 -0800 Subject: [Mono-list] Thread.IsAlive on mono 0.23 not working Message-ID: <9891913C5BFE87429D71E37F08210CB92C7548@zeus.sfhq.friskit.com> As a workaround, try using Thread.Join(0) =20 Piers. -----Original Message----- From: Pablo Baena [mailto:pbaena@uol.com.ar]=20 Sent: Saturday, March 22, 2003 11:27 AM To: mono list Subject: [Mono-list] Thread.IsAlive on mono 0.23 not working I am trying to find out if a thread ended with Thread.IsAlive and it seems that it doesn't work as expected with mono 0.23. It seems it is working on CVS, at least the code is there. Does the test below work with it? Will somebody incorporate the new code in the next mono release?=20 Thank you!=20 using System; using System.Threading; namespace test { class test { static Thread thr1, thr2; static void Main(string[] args) { thr1 =3D new Thread (new ThreadStart (threadfunc)); thr1.Start (); thr2 =3D new Thread (new ThreadStart (threadfunc2)); thr2.Start (); } static void threadfunc ()=20 { int i =3D 0; while (i<2) { Thread.Sleep(1000); i++; } } static void threadfunc2 ()=20 { int i =3D 0; while (i<4) { if (thr1 !=3D null && thr1.IsAlive) Console.WriteLine("thr1 rnning"); else Console.WriteLine ("thr1 is not running"); Thread.Sleep (1000); i++; } } } } --=20 Pablo Baena < pbaena@uol.com.ar > =09 From gonzalo@ximian.com Sun Mar 23 02:12:45 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 23 Mar 2003 03:12:45 +0100 Subject: [Mono-list] Rewriting path with an HttpModule In-Reply-To: <20030322202217.GB32018@rawbyte.com> References: <20030317134246.GA4810@rawbyte.com> <1047946047.15024.29.camel@portatil> <1047954114.14995.46.camel@portatil> <20030322202217.GB32018@rawbyte.com> Message-ID: <1048385565.1247.24.camel@portatil> El sáb, 22 de 03 de 2003 a las 21:22, Daniel Lopez escribió: > > > After fixing RewritePath, i'll modify it and send it back to you. > > > > Mmm. Well, as RewritePath is more of a 'hide the real URL' thing, and > > after some thinking, I bet for adding the ~user stuff in > > MonoWorkerRequest. > > I think it could be done with > > MonoApplication /~ /home No. At least if we want to be compatible with MS runtime... If /~ is the root virtual directory, /~user is not in that virtual directory (while /~/user is under that directory). I think that you can only map it to the / root virtual directory. > > Why? There's one place where you can fake the real path to the file > > (MapPath), so you can map "/~gonzalo/" to the file > > "/home/gonzalo/public_html/index.aspx" or even using a configuration > > file like the one in the link I put in my previous mail. > > We can modify Request to support user directories, but it may be better to > create a hook point in MapPath(), that allows you to have arbitrary code > providing that functionality. > What I have in mind is a module that runs the mapped path thru Apache API > and then takes a look at the resulting path_translated filed in the > request_rec structure. This would allow us to reuse all the existing Apache > modules that map virtual paths to physical paths, such as mod_userdir or > mod_rewrite. > That would require that: > > a) All MapPath functions eventually call Request.MapPath() (I did some > greping and think that is the case) Yes. May be we can add a 'MapPathEvent' event to MonoWorkerRequest. Then, in MapPath we do something like: if (MapPathEvent != null) { MapPathEventArgs args = new MapPathEventArgs (path); MapPathEventHandler [] evts = (MapPathEventHandler) MapPathEvent.GetInvocationList (); foreach (MapPathEventHandler evt in evts) { evt (this, args); if (args.MappedPath != null) return args.MappedPath; } } // Here goes the current code This way we can register any possible path 'mapper' method adding it to MapPathEvent. If there is one of those 'mappers' that recognizes the path and map it to a real path (ie, sets MappedPath), we return that path. What do you think? > b) Other parts of the code do not make assumptions that physical paths are > rooted in the Application physical path, as for example happens in > mcs/class/System.Web/System.Web.Compilation/AspGenerator.cs > See patch in > http://lists.ximian.com/archives/public/mono-list/2003-March/012992.html templatePath should be the absolute virtual directory of the file being processed. That's not a file system path. It's used to look for other files referred from the one being processed. -Gonzalo From johannes@jroith.de Sun Mar 23 08:30:09 2003 From: johannes@jroith.de (Johannes Roith) Date: Sun, 23 Mar 2003 09:30:09 +0100 Subject: AW: [Mono-list] Tutorial/Example needed: Using Glade with GTK# In-Reply-To: <000601c2f0c4$002a3ea0$9b00000a@pclindsey> Message-ID: <000201c2f116$6be26990$2100a8c0@ROITH> http://www.go-mono.org/tutorial/ From aj@dungeon.inka.de Sun Mar 23 11:20:13 2003 From: aj@dungeon.inka.de (Andreas Jellinghaus) Date: 23 Mar 2003 12:20:13 +0100 Subject: AW: [Mono-list] Tutorial/Example needed: Using Glade with GTK# In-Reply-To: <000201c2f116$6be26990$2100a8c0@ROITH> References: <000201c2f116$6be26990$2100a8c0@ROITH> Message-ID: <1048418413.452.29.camel@simulacron> On Sun, 2003-03-23 at 09:30, Johannes Roith wrote: > http://www.go-mono.org/tutorial/ Looks great. But two things would make reading a lot easier: a) add next/prev links. b) add a all-in-one-page version. Regards, Andreas From dick@ximian.com Sun Mar 23 19:44:52 2003 From: dick@ximian.com (Dick Porter) Date: 23 Mar 2003 19:44:52 +0000 Subject: [Mono-list] Thread.IsAlive on mono 0.23 not working In-Reply-To: <1048361216.1499.17.camel@hal> References: <1048361216.1499.17.camel@hal> Message-ID: <1048448691.19667.30.camel@hagbard.apathetic.discordia.org.uk> On Sat, 2003-03-22 at 19:26, Pablo Baena wrote: > I am trying to find out if a thread ended with Thread.IsAlive and it > seems that it doesn't work as expected with mono 0.23. It seems it is > working on CVS, at least the code is there. Does the test below work > with it? Will somebody incorporate the new code in the next mono > release? This method was implemented after the 0.23 release. The next release will include it. The test prints: thr1 rnning thr1 rnning thr1 is not running thr1 is not running - Dick From tpsoftware@users.sourceforge.net Sun Mar 23 21:05:48 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: 23 Mar 2003 22:05:48 +0100 Subject: [Mono-list] Tutorial/Example needed: Using Glade with GTK# In-Reply-To: <1048436046.1135.0.camel@localhost.localdomain> References: <000d01c2eee7$dc002bd0$0a00000a@alfred> <1048171538.1158.36.camel@melchior.magi> <1048171629.1159.38.camel@melchior.magi> <000c01c2eef1$60b6ffd0$0a00000a@alfred> <1048173157.1158.42.camel@melchior.magi> <001f01c2eef4$a6726160$0a00000a@alfred> <000601c2f0c4$002a3ea0$9b00000a@pclindsey> <1048436046.1135.0.camel@localhost.localdomain> Message-ID: <1048453547.1954.0.camel@localhost.localdomain> Thnx all Op zo 23-03-2003, om 17:14 schreef Dave: > http://www.adsllc.com/Mono/GUI_Howto/ > > On Sat, 2003-03-22 at 17:40, Timothy Parez wrote: > > Hi, > > > > Where can I find a GLADE with GTK# tutorial, thnx. > > > > Timothy. > > > > > > --- > > Outgoing mail is certified Virus Free. > > Checked by AVG anti-virus system (http://www.grisoft.com). > > Version: 6.0.462 / Virus Database: 261 - Release Date: 13/03/2003 > > _______________________________________________ > > Mono-list maillist - Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list From miguel@ximian.com Mon Mar 24 03:43:26 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 23 Mar 2003 22:43:26 -0500 Subject: [Mono-list] Exceptions and error codes. In-Reply-To: <200303201213.AA84279626@veridicus.com> References: <200303201213.AA84279626@veridicus.com> Message-ID: <1048477406.3203.1612.camel@erandi.boston.ximian.com> Hello, You do raise interesting points. The problem with exceptions is that throwing and catching an exception is an expensive operation. Using an exception as a mechanism to return a failure error, when failure is likely to happen is inefficient. Contrast `likely to happen error' with `exceptional condition: internal error, or unlikely error to happen'. Lets consider a sample: a program that uses Int32.Parse to detect whether an integer is available, or maybe a string command exists, and we are parsing, say, a million records: for (i = 0; i < one_million; i++){ string line = readline (); try { v = Int32.Parse (line); handle_numberic_argument (); } catch { ParseCommand (line); } } This is so bad, that you probably want to rewrite the code to pro-actively avoid parsing things that are known not to be integers. It is easy to turn an error-code API into an exception-throwing API with no performance loss. The opposite is not possible. Miguel From lists@roboto.ch Mon Mar 24 08:41:25 2003 From: lists@roboto.ch (Dominik Fretz) Date: Mon, 24 Mar 2003 09:41:25 +0100 Subject: [Mono-list] Passing class to c-function Message-ID: <3E7EC4B5.6060506@roboto.ch> Hi I know, this isn't a mono-only facing questen, but in the end, it has to run on mono. I'm currently helping in porting the SWT-Gtk toolkit to C# (comes from Ecplips and will be used as gui toolkit in Sharpdevelop to make it run on Linux. Now we have to pass a C# Object (a class that holds some data) to a native function that makes the conversion between the Gtk-Object in C-Land and the Managed object from C#. I know about gtk-sharp and I've tried to read some code there, but did't find a sollution, and we can't use gtk-sharp for now We are able to pass C# structs to C. But structs bring in some problems (know inheritance, passing by value instead reference). Can someone advice me how to pass a C# class to c and use it there for reading and writing data from/back to C#? Thank You Dominik From brianobrien@shaw.ca Sun Mar 23 23:01:44 2003 From: brianobrien@shaw.ca (Brian O'Brien) Date: Sun, 23 Mar 2003 16:01:44 -0700 Subject: [Mono-list] Mono and MAC OS X? Message-ID: <003c01c2f190$2ce3dab0$4b459244@pegasus> This is a multi-part message in MIME format. --Boundary_(ID_vLt4OIrdLpQs6T/e1u4UhA) Content-type: multipart/alternative; boundary="Boundary_(ID_Sd9iiaxBVMKdfWiPa3DOOQ)" --Boundary_(ID_Sd9iiaxBVMKdfWiPa3DOOQ) Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 7BIT Any chance that this will become available on Mac OS X? --Boundary_(ID_Sd9iiaxBVMKdfWiPa3DOOQ) Content-type: text/html; charset=iso-8859-1 Content-transfer-encoding: 7BIT
Any chance that this will become available on Mac OS X?
 
--Boundary_(ID_Sd9iiaxBVMKdfWiPa3DOOQ)-- --Boundary_(ID_vLt4OIrdLpQs6T/e1u4UhA) Content-type: text/x-vcard; name="Brian J OBrien.vcf" Content-transfer-encoding: 7BIT Content-disposition: attachment; filename="Brian J OBrien.vcf" BEGIN:VCARD VERSION:2.1 N:OBrien;Brian;J;Mr FN:Brian J OBrien TEL;HOME;VOICE:(403) 230-9283 TEL;CELL;VOICE:(403) 819-2748 ADR;HOME:;;131 Sandarac Place N.W.;Calgary;Alberta;T3K-2Y5;Canada LABEL;HOME;ENCODING=QUOTED-PRINTABLE:131 Sandarac Place N.W.=0D=0ACalgary, Alberta T3K-2Y5=0D=0ACanada URL;HOME:http://members.shaw.ca/BrianOBrien EMAIL;PREF;INTERNET:BrianOBrien@shaw.ca REV:20030323T230144Z END:VCARD --Boundary_(ID_vLt4OIrdLpQs6T/e1u4UhA)-- From evan_lim@pacbell.net Mon Mar 24 02:28:23 2003 From: evan_lim@pacbell.net (Evan Lim) Date: Sun, 23 Mar 2003 18:28:23 -0800 Subject: [Mono-list] Invitation to Mono Presentation by Bay.NET User Group in Silicon Valley, CA Message-ID: <3E7E6D47.FEDC0A58@pacbell.net> --------------DB658B45E17086D6B71319FD Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello Mono Development Team, My name is Evan Lim. I am a member of the Bay.NET user group. We are an independent forum for sharing information on software development with a focus on .NET technologies. Most of our over 1500 registered members live in Silicon Valley, San Francisco and the East Bay. Our members are predominatly Windows programmers; but we also have some Java and Linux developers. We are the largest .NET user group in the country and a charter member of INETA (International .NET Association, www.ineta.org) I am writing to you to ask for your help in promoting our next general meeting to Linux developers in the San Francisco Bay Area. The presentation is titled "Developing for .NET on Linux. The Mono Project" will be given by Christian Gross, a well-known developer and author. The meeting will be held at the Microsoft Conference Center in Mountain View, CA starting at 6:00 PM on Thursday, March 27. For more information on this presentation and the Bay.NET user group, please go to www.baynetug.org. Would be willing to forward an anouncement to your community, especially those in the San Francisco Bay Area? If so, please reply to me at evan_lim@pacbell.net. Thanks you very much for you assistance, Evan Lim Member of the Board, Bay.NET User Group --------------DB658B45E17086D6B71319FD Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit Hello Mono Development Team,

My name is Evan Lim.  I am a member of the Bay.NET user group.  We are an independent forum for sharing information on software development with a focus on .NET technologies.   Most of our over 1500 registered members live in Silicon Valley, San Francisco and the East Bay.  Our members are predominatly Windows programmers; but we also have some Java and Linux developers. We are the largest .NET user group in the country and a charter member of INETA (International .NET Association, www.ineta.org)

I am writing to you to ask for your help in promoting our next general meeting to Linux developers in the San Francisco Bay Area.  The presentation is titled "Developing for .NET on Linux. The Mono Project" will be given by Christian Gross, a well-known developer and author.  The meeting will be held at the Microsoft Conference Center in Mountain View, CA starting at 6:00 PM on Thursday, March 27.  For more information on this presentation and the Bay.NET user group, please go to www.baynetug.org.

Would be willing to forward an anouncement to your community, especially those in the San Francisco Bay Area? If so, please reply to me at evan_lim@pacbell.net.

Thanks you very much for you assistance,

Evan Lim
Member of the Board, Bay.NET User Group --------------DB658B45E17086D6B71319FD-- From ericrae@vcn.bc.ca Mon Mar 24 07:10:15 2003 From: ericrae@vcn.bc.ca (Eric Rae) Date: Sun, 23 Mar 2003 23:10:15 -0800 (PST) Subject: [Mono-list] mono 0.23 with gc6.1 building help Message-ID: <1286.24.78.211.146.1048489815.squirrel@mail.vcn.bc.ca> i'm trying to install mono 0.23 with gc6.1. After downloading and untaring mono_0.23.tar.gz and gc6.1.tar.gz.... I do the following /usr/mono/gc6.1/> ./configure /usr/mono/gc6.1/> make /usr/mono/gc6.1/> make install .... installs libs to /usr/local/lib .... .... /usr/local/lib into /etc/ld.so.conf /usr/mono/gc6.1/> ldconfig /usr/mono/gc6.1/> ln -s /usr/local/include/gc /usr/mono/gc6.1/include /usr/mono/mono-0.23/> ./configure .... configure returns ... GC: boehm .... /usr/mono/mono-0.23/> make .... make returns following error .... ../io-layer/.libs/libwapi.al(timed-thread.lo): In function `timed_thread_start_routine': /usr/mono/mono-0.23/mono/io-layer/timed-thread.c:88: undefined reference to `GC_pthread_detach' ../io-layer/.libs/libwapi.al(timed-thread.lo): In function `_wapi_timed_thread_create': /usr/mono/mono-0.23/mono/io-layer/timed-thread.c:124: undefined reference to `GC_pthread_create' collect2: ld returned 1 exit status make[3]: *** [pedump] Error 1 make[3]: Leaving directory `/usr/mono/mono-0.23/mono/metadata' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/mono/mono-0.23/mono' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/mono/mono-0.23' make: *** [all-recursive-am] Error 2 /usr/mono/mono-0.23> I don't know what to fix... how do I build mono-0.23 with gc6.1 support. (if I install mono without gc6.1, mono builds and installs fine.) Thanks for your help / advise. From Eran.Sandler@smarteam.com Mon Mar 24 07:55:20 2003 From: Eran.Sandler@smarteam.com (Eran Sandler) Date: Mon, 24 Mar 2003 09:55:20 +0200 Subject: [Mono-list] Exceptions and error codes. Message-ID: <78AF93592520674C8277657BFB0FE01F03C57A@ilexc01.SMART.INTRA> As a rule of thumb consider the following: Exceptions should be used when UNEXPECTED errors might occur and you don't want to blow up the whole application. When you do know what a certain code should return, use it. That is how I usually try to do things. When I write API I sometimes have two functions that do the same thing but one throws an exception and the other return some kind of a result. For example: public class SampleAPI { public string GetName(); public string VerifyGetName(); } GetName returns null if the name cannot be retrieved. VerifyGetName calls GetName and if a Null return it throws an exception. The person using this API can than decide if he wants to deal with the error alone or simply call Verify that will throw an exception for him. Eran -----Original Message----- From: Miguel de Icaza [mailto:miguel@ximian.com]=20 Sent: Monday, March 24, 2003 5:43 AM To: tum@veridicus.com Cc: mono-list@lists.ximian.com Subject: Re: [Mono-list] Exceptions and error codes. Hello, You do raise interesting points. The problem with exceptions is that throwing and catching an exception is an expensive operation. Using an exception as a mechanism to return a failure error, when failure is likely to happen is inefficient. Contrast `likely to happen error' with `exceptional condition: internal error, or unlikely error to happen'. =20 Lets consider a sample: a program that uses Int32.Parse to detect whether an integer is available, or maybe a string command exists, and we are parsing, say, a million records: for (i =3D 0; i < one_million; i++){ string line =3D readline (); try { v =3D Int32.Parse (line); handle_numberic_argument (); } catch { ParseCommand (line); } } This is so bad, that you probably want to rewrite the code to pro-actively avoid parsing things that are known not to be integers. It is easy to turn an error-code API into an exception-throwing API with no performance loss. The opposite is not possible. Miguel _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From dietmar@ximian.com Mon Mar 24 10:06:33 2003 From: dietmar@ximian.com (dietmar) Date: 24 Mar 2003 11:06:33 +0100 Subject: [Mono-list] Passing class to c-function In-Reply-To: <3E7EC4B5.6060506@roboto.ch> References: <3E7EC4B5.6060506@roboto.ch> Message-ID: <1048500392.31934.12.camel@localhost.localdomain> On Mon, 2003-03-24 at 09:41, Dominik Fretz wrote: > Hi > > I know, this isn't a mono-only facing questen, but in the end, it has to > run on mono. > > I'm currently helping in porting the SWT-Gtk toolkit to C# (comes from > Ecplips and will be used as gui toolkit in Sharpdevelop to make it run > on Linux. > > Now we have to pass a C# Object (a class that holds some data) to a > native function that makes the conversion between the Gtk-Object in > C-Land and the Managed object from C#. > I know about gtk-sharp and I've tried to read some code there, but did't > find a sollution, and we can't use gtk-sharp for now > > We are able to pass C# structs to C. But structs bring in some problems > (know inheritance, passing by value instead reference). > > Can someone advice me how to pass a C# class to c and use it there for > reading and writing data from/back to C#? I never tried it, but I guess PInvoke should handle that without problems. Just set LayoutKind.Sequential on the class and you can pass it like a struct to native code. - Dietmar From lists@roboto.ch Mon Mar 24 10:15:25 2003 From: lists@roboto.ch (Dominik Fretz) Date: Mon, 24 Mar 2003 11:15:25 +0100 Subject: [Mono-list] Passing class to c-function In-Reply-To: <1048500392.31934.12.camel@localhost.localdomain> References: <3E7EC4B5.6060506@roboto.ch> <1048500392.31934.12.camel@localhost.localdomain> Message-ID: <3E7EDABD.3050402@roboto.ch> dietmar wrote: >I never tried it, but I guess PInvoke should handle that without >problems. Just set LayoutKind.Sequential on the class and you can pass >it like a struct to native code. > >- Dietmar > Hi I have to look at the code again this evening and probably try to put an example together. We have tried the LayoutKind.Sequential Attribute, but it seams not to work. Regards Dominik From ranger@befunk.com Mon Mar 24 12:47:46 2003 From: ranger@befunk.com (Benjamin Reed) Date: Mon, 24 Mar 2003 07:47:46 -0500 Subject: [Mono-list] Mono and MAC OS X? In-Reply-To: <003c01c2f190$2ce3dab0$4b459244@pegasus> References: <003c01c2f190$2ce3dab0$4b459244@pegasus> Message-ID: <3E7EFE72.9000904@befunk.com> Brian O'Brien wrote: > Any chance that this will become available on Mac OS X? > It's available now, but it crashes when doing anything mildly interesting. Seems to step out-of-bounds memory-wise, it'll take someone who knows mono internals pretty well to debug it, I think. :( From neilcawse@hotmail.com Mon Mar 24 19:22:11 2003 From: neilcawse@hotmail.com (Neil Cawse) Date: Mon, 24 Mar 2003 14:22:11 -0500 Subject: [Mono-list] .net futures more info Message-ID: <00c801c2f23a$ab69d560$6a01a8c0@Evo800c> This is a multi-part message in MIME format. ------=_NextPart_000_00C9_01C2F210.C293CD60 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit More interesting info http://msdn.microsoft.com/chats/vstudio/vstudio_032103.asp ------=_NextPart_000_00C9_01C2F210.C293CD60 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

------=_NextPart_000_00C9_01C2F210.C293CD60-- From daniel@rawbyte.com Mon Mar 24 20:04:52 2003 From: daniel@rawbyte.com (Daniel Lopez) Date: Mon, 24 Mar 2003 12:04:52 -0800 Subject: [Mono-list] Rewriting path with an HttpModule In-Reply-To: <1048385565.1247.24.camel@portatil> References: <20030317134246.GA4810@rawbyte.com> <1047946047.15024.29.camel@portatil> <1047954114.14995.46.camel@portatil> <20030322202217.GB32018@rawbyte.com> <1048385565.1247.24.camel@portatil> Message-ID: <20030324200452.GA16728@rawbyte.com> > > MonoApplication /~ /home > > No. At least if we want to be compatible with MS runtime... > If /~ is the root virtual directory, /~user is not in that virtual > directory (while /~/user is under that directory). Yes, you are right :) > > We can modify Request to support user directories, but it may be better to > > create a hook point in MapPath(), that allows you to have arbitrary code > > providing that functionality. > > What I have in mind is a module that runs the mapped path thru Apache API > > and then takes a look at the resulting path_translated filed in the > > request_rec structure. This would allow us to reuse all the existing Apache > > modules that map virtual paths to physical paths, such as mod_userdir or > > mod_rewrite. > > That would require that: > > > > a) All MapPath functions eventually call Request.MapPath() (I did some > > greping and think that is the case) > > Yes. > > May be we can add a 'MapPathEvent' event to MonoWorkerRequest. Then, in > MapPath we do something like: > if (MapPathEvent != null) { > MapPathEventArgs args = new MapPathEventArgs (path); > MapPathEventHandler [] evts = (MapPathEventHandler) > MapPathEvent.GetInvocationList (); > foreach (MapPathEventHandler evt in evts) { > evt (this, args); > if (args.MappedPath != null) > return args.MappedPath; > } > } > // Here goes the current code > > This way we can register any possible path 'mapper' method adding it to > MapPathEvent. If there is one of those 'mappers' that recognizes the > path and map it to a real path (ie, sets MappedPath), we return that > path. > > What do you think? Yes, that was I had in mind, maybe even integrating with teh rest of events (BeginRequest, etc.) > > b) Other parts of the code do not make assumptions that physical paths are > > rooted in the Application physical path, as for example happens in > > mcs/class/System.Web/System.Web.Compilation/AspGenerator.cs > > See patch in > > http://lists.ximian.com/archives/public/mono-list/2003-March/012992.html > > templatePath should be the absolute virtual directory of the file being > processed. That's not a file system path. It's used to look for other > files referred from the one being processed. Exactly :) What I am saying is that, in order to get that virtual path, GetTemplateDirectory() it substracts two physical directory paths, the one containing the file and the AppDomainAppPath. That assumes that they have a common initial part. This is true currently, but if you introduce a mapping function that maps to arbitrary files then it is not. That´s why I had to patch it (though I dont know if the change I introduced was the right one) Cheers Daniel From gonzalo@ximian.com Mon Mar 24 21:30:44 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 24 Mar 2003 22:30:44 +0100 Subject: [Mono-list] Rewriting path with an HttpModule In-Reply-To: <20030324200452.GA16728@rawbyte.com> References: <20030317134246.GA4810@rawbyte.com> <1047946047.15024.29.camel@portatil> <1047954114.14995.46.camel@portatil> <20030322202217.GB32018@rawbyte.com> <1048385565.1247.24.camel@portatil> <20030324200452.GA16728@rawbyte.com> Message-ID: <1048541444.1650.155.camel@portatil> El lun, 24 de 03 de 2003 a las 21:04, Daniel Lopez escribió: > > This way we can register any possible path 'mapper' method adding it to > > MapPathEvent. If there is one of those 'mappers' that recognizes the > > path and map it to a real path (ie, sets MappedPath), we return that > > path. > > > > What do you think? > > Yes, that was I had in mind, maybe even integrating with teh > rest of events (BeginRequest, etc.) I'll add this to MonoWorkerRequest. > > > > > b) Other parts of the code do not make assumptions that physical paths are > > > rooted in the Application physical path, as for example happens in > > > mcs/class/System.Web/System.Web.Compilation/AspGenerator.cs > > > See patch in > > > http://lists.ximian.com/archives/public/mono-list/2003-March/012992.html > > > > templatePath should be the absolute virtual directory of the file being > > processed. That's not a file system path. It's used to look for other > > files referred from the one being processed. > > Exactly :) What I am saying is that, in order to get that virtual path, > GetTemplateDirectory() it substracts two physical directory paths, the one > containing the file and the AppDomainAppPath. That assumes that they have a > common initial part. This is true currently, but if you introduce a mapping > function that maps to arbitrary files then it is not. That´s why I had to > patch it (though I dont know if the change I introduced was the right one) Mmm. I'll fix this too. Muchísimas gracias! -Gonzalo From code_sword@yahoo.com Tue Mar 25 07:23:37 2003 From: code_sword@yahoo.com (obi-wan kenobi) Date: Mon, 24 Mar 2003 23:23:37 -0800 (PST) Subject: [Mono-list] Windows.Forms and can I help? Message-ID: <20030325072337.84162.qmail@web14801.mail.yahoo.com> Hi, I'm a developer starting to get intressted in C# and .NET framework. I'v downloaded the mono package via red-carpet and began to write my first sample. When I tryed to inherit from System.Windows.Forms and compiled with /r:System.dll,System.Drawing.dll,System.Windows.Forms.dll all went well, but when I tryed to run the exe file with mint or mono it complained about libuser32 Do you have a solution for this? Second, I have some spare time which I would like to dedicate to Mono, is there something I can help you guys with, and how? Best regards Marcus ===== It's most certainly GNU/Linux, not Linux. Read more at http://www.gnu.org/gnu/why-gnu-linux.html __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com From pigolkine@gmx.de Tue Mar 25 09:41:48 2003 From: pigolkine@gmx.de (Alexandre Pigolkine) Date: Tue, 25 Mar 2003 10:41:48 +0100 Subject: [Mono-list] Windows.Forms and can I help? In-Reply-To: <20030325072337.84162.qmail@web14801.mail.yahoo.com> Message-ID: <000801c2f2b2$c1fe6390$0d00a8c0@kamikaze> Hello, You need to install Wine in order to run System.Windows.Forms applications. There are few additional steps required: - compile/install Wine version of GC - compile monostub and monowinehooks ( from the CVS) - provide Mono with mapping from *.dll to *.so files or create links to several Wine libraries. More detailed info was posted to mono-winforms-list: http://lists.ximian.com/archives/public/mono-winforms-list/2003-March/00 0165.html Alexandre -----Original Message----- From: mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.com] On Behalf Of obi-wan kenobi Sent: Dienstag, 25. M=E4rz 2003 08:24 To: mono-list@lists.ximian.com Subject: [Mono-list] Windows.Forms and can I help? Hi, I'm a developer starting to get intressted in C# and .NET framework. I'v downloaded the mono package via red-carpet and began to write my first sample. When I tryed to inherit from System.Windows.Forms and compiled with /r:System.dll,System.Drawing.dll,System.Windows.Forms.dll all went well, but when I tryed to run the exe file with mint or mono it complained about libuser32 Do you have a solution for this? Second, I have some spare time which I would like to dedicate to Mono, is there something I can help you guys with, and how? Best regards Marcus =3D=3D=3D=3D=3D From lupus@ximian.com Tue Mar 25 12:02:15 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 25 Mar 2003 13:02:15 +0100 Subject: [Mono-list] mono 0.23 with gc6.1 building help In-Reply-To: <1286.24.78.211.146.1048489815.squirrel@mail.vcn.bc.ca> References: <1286.24.78.211.146.1048489815.squirrel@mail.vcn.bc.ca> Message-ID: <20030325120215.GC878@debian.org> On 03/23/03 Eric Rae wrote: > After downloading and untaring mono_0.23.tar.gz and gc6.1.tar.gz.... > I do the following > > /usr/mono/gc6.1/> ./configure You need to add something like --enable-threads=pthread. I suggest you use a binary distribution of libgc from your distribution vendor, though. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From micah@csh.rit.edu Tue Mar 25 12:27:33 2003 From: micah@csh.rit.edu (Micah Gideon Modell) Date: Tue, 25 Mar 2003 07:27:33 -0500 Subject: [Mono-list] Mono and MAC OS X? In-Reply-To: <3E7EFE72.9000904@befunk.com> Message-ID: <27974238-5EBD-11D7-A0BA-00039376A3A0@csh.rit.edu> who is working on the Mac OS X port of mono? i'd like to help out, but i don't know where to begin. On Monday, March 24, 2003, at 07:47 AM, Benjamin Reed wrote: > mono-list@ximian.com mgm From lupus@ximian.com Tue Mar 25 12:30:23 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 25 Mar 2003 13:30:23 +0100 Subject: [Mono-list] Exceptions and error codes. In-Reply-To: <000401c2ef28$4ea5bc50$3200a8c0@unity> References: <9891913C5BFE87429D71E37F08210CB92975A0@zeus.sfhq.friskit.com> <000401c2ef28$4ea5bc50$3200a8c0@unity> Message-ID: <20030325123021.GG878@debian.org> On 03/21/03 Thong (Tum) Nguyen wrote: > > You make some good arguments, but I think most of it is irrelevant > > since, in order to remain compatible with .NET, Mono must behave the > > same way with respect to returning (or not) exceptions. The MSDN docs > > describe exactly what exceptions/return codes File.Exists and > File.Open > > should return, Mono should do the same (unless the docs are in error). > A > > lot of work has already been done on this. You'll notice that many of > > the test cases test whether or not the correct exception is being > > returned. > > > Definitely. I was more referring to our own class libraries (such as > GTK#). I just want to add another data point to the ones already explained about the use of error codes or exceptions, especially as it relates to Gtk+, but this also applies to other libraries that are P/invoked from the CLR. C code has no notions of exceptions and of the way exception handling can unwind the stack (yes, on windows people use SEH in C code, but it's non-standard and I don't even know if the MS CLR deals with SEH in C code). So what may happen is: C# code with a try block -> Gtk+ code (takes a lock and calls a delegate) -> C# code that trows an exception -> exceptions handling triggers and gets the stack back to the try block -> next time Gtk+ is called again and it needs the lock (that could be not unlocked by the exception code, since it's not aware of it) you get a nice deadlock lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From rafaelteixeirabr@hotmail.com Tue Mar 25 13:22:39 2003 From: rafaelteixeirabr@hotmail.com (A Rafael D Teixeira) Date: Tue, 25 Mar 2003 10:22:39 -0300 Subject: [Mono-list] Re: monoQLE Message-ID: I took the liberty to post my answers to the Mono comunity, too. Peter Van Isacker, wrote: >1. I was wondering what your initial thoughs are on the monoQLE project. Mental note: ... I may have to update the summary at http://sourceforge.net/projects/monoqle/ Foremost it need to be a backend for mono's System.Messaging. So that someone can write queue-based aplications in mono. The lacking part here is interoperability. JMS interoperability, is a secondary goal, meaning that java programmers could write/read messages to/from MonoQLE queues. Even, interoperating with mono code, through them. Third, I'm following some efforts on creating standards for the wire protocol of queue servers, but it seems they aren't supported by the bigger players, so see below, for my current thoughts on that. Fourth, I intend to make it easy for any bridge developers, to port their MSMQ-related products to MonoQLE. That would allow "transparent" interoperation with IBM Websphere MQ, for example. What I don't intend to do is to study and emulate MSMQ wire protocols, to interoperate directly with it. Maybe Samba developers may be interested on doing it, because of how tangled it is with NT/AD security. >2. What does QLE stand for? MonoQLE = Mono Queue server Linux Edition, although it should work on any platform where mono is supported, the initial focus is Linux because of dependencies it may have on deployment and daemon configuration/control. I twisted the acronym, a bit, to make it sound like monocle (that antique single-eye glass). >3. It appears you lack coders, I think I have some free time. :) > Although I don't know where exactly to start, > except for stubbing System.Messaging That would be a great start. I did some mininal stubbing of other namespaces in mono to make the MonoQLE daemon/service, compile. But I didn't have the time to stub System.Messaging itself, beyond my months-aged initial efforts. Please, go ahead!!! Some more details: I'm still defining how to plug a provider-based mechanism on System.Messaging, and then implement a MonoQLE-specific provider, as the default. For the wire protocol, between the provider and the daemon, I'm inclined to use remoting, with it's configurability being an interesting plus, that also brings interoperation via Web Services, to the picture. Thanks, and Happy Hackings, Rafael Teixeira Brazilian Polymath Mono, MonoQLE Hacker _________________________________________________________________ STOP MORE SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail From dru@satori-assoc.com Tue Mar 25 14:05:38 2003 From: dru@satori-assoc.com (Andy Satori) Date: Tue, 25 Mar 2003 09:05:38 -0500 Subject: [Mono-list] Mono and MAC OS X? In-Reply-To: <27974238-5EBD-11D7-A0BA-00039376A3A0@csh.rit.edu> Message-ID: There are several of us testing and poking at it, but I think it's really waiting on Paolo to finish up his work on the new JIT. Andy On 3/25/03 7:27 AM, "Micah Gideon Modell" pounded the keyboard to produce: > who is working on the Mac OS X port of mono? i'd like to help out, but > i don't know where to begin. > > On Monday, March 24, 2003, at 07:47 AM, Benjamin Reed wrote: > >> mono-list@ximian.com > mgm > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > From lupus@ximian.com Tue Mar 25 14:52:06 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 25 Mar 2003 15:52:06 +0100 Subject: [Mono-list] Mono and MAC OS X? In-Reply-To: <27974238-5EBD-11D7-A0BA-00039376A3A0@csh.rit.edu> References: <3E7EFE72.9000904@befunk.com> <27974238-5EBD-11D7-A0BA-00039376A3A0@csh.rit.edu> Message-ID: <20030325145206.GI878@debian.org> On 03/25/03 Micah Gideon Modell wrote: > who is working on the Mac OS X port of mono? i'd like to help out, but > i don't know where to begin. If you have specific questions about the port, you can just ask them on the list (mono-devel-list is better). As for starting, you can download the code, compile it and run the tests until you find a bug. Next you need to debug, fix it (sending a patch to the list) and go on to the next bug:-) Cheers. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From umuff@quark.com Tue Mar 25 14:58:01 2003 From: umuff@quark.com (Urs Muff) Date: Tue, 25 Mar 2003 07:58:01 -0700 Subject: [Mono-list] Mono and MAC OS X? Message-ID: <23436D758E4CA54F8EDC2F7DE3B1A28B03221646@denver.quark.com> Is the 'new' JIT in CVS [since I was under the impression that it was not], and if it is, is it in a state to do basic things on the Mac OS X? - URS C. MUFF SYSTEMS ARCHITECT - RESEARCH LAB > -----Original Message----- > From: Paolo Molaro [mailto:lupus@ximian.com] > Sent: Tuesday, March 25, 2003 7:52 AM > To: mono-list@ximian.com > Subject: Re: [Mono-list] Mono and MAC OS X? > > On 03/25/03 Micah Gideon Modell wrote: > > who is working on the Mac OS X port of mono? i'd like to help out, but > > i don't know where to begin. > > If you have specific questions about the port, you can just ask them > on the list (mono-devel-list is better). As for starting, you can > download the code, compile it and run the tests until you find a bug. > Next you need to debug, fix it (sending a patch to the list) and go on > to the next bug:-) > > Cheers. > > lupus > > -- > ----------------------------------------------------------------- > lupus@debian.org debian/rules > lupus@ximian.com Monkeys do it better > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From philippe.lavoie@cactus.ca Tue Mar 25 15:19:25 2003 From: philippe.lavoie@cactus.ca (Philippe Lavoie) Date: Tue, 25 Mar 2003 10:19:25 -0500 Subject: [Mono-list] Exceptions and error codes. Message-ID: <5F668484EA248D41A93034997332B6D6089E21@exchange3.cactus.ca> I think the original point made was that unless you have profiling information to back up any claim that "this part of the software" will slow you down. Then use a mechanism which will make your code more maintainable. The example below clearly has performance issues. However if the function handle_number_argument below takes 100 ms to process, the 5 or 10 extra lines of assembly added by the try/catch becomes meaningless in terms of overall performance. You'd better spend your time improving that function then rewriting the parser of Int32. Sometimes, it could be best to improve the JIT to better handle embedded try/catch statements :) Just another way of looking at it. I don't think there is a "one and true" way. It's all a grey area when you start to mix performance / maintainability / readability / philosophy, etc. Phil=20 -----Original Message----- From: Miguel de Icaza [mailto:miguel@ximian.com]=20 Sent: Sunday, March 23, 2003 10:43 PM To: tum@veridicus.com Cc: mono-list@lists.ximian.com Subject: Re: [Mono-list] Exceptions and error codes. Hello, You do raise interesting points. The problem with exceptions is that throwing and catching an exception is an expensive operation. Using an exception as a mechanism to return a failure error, when failure is likely to happen is inefficient. Contrast `likely to happen error' with `exceptional condition: internal error, or unlikely error to happen'. =20 Lets consider a sample: a program that uses Int32.Parse to detect whether an integer is available, or maybe a string command exists, and we are parsing, say, a million records: for (i =3D 0; i < one_million; i++){ string line =3D readline (); try { v =3D Int32.Parse (line); handle_numberic_argument (); } catch { ParseCommand (line); } } This is so bad, that you probably want to rewrite the code to pro-actively avoid parsing things that are known not to be integers. It is easy to turn an error-code API into an exception-throwing API with no performance loss. The opposite is not possible. Miguel _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From philippe.lavoie@cactus.ca Tue Mar 25 15:27:33 2003 From: philippe.lavoie@cactus.ca (Philippe Lavoie) Date: Tue, 25 Mar 2003 10:27:33 -0500 Subject: [Mono-list] Exceptions and error codes. Message-ID: <5F668484EA248D41A93034997332B6D6089E22@exchange3.cactus.ca> Just to add to what I just wrote. My philosophy with code is that most of the cost is with fixing bugs. If you write maintainable code (readable using consistent patterns throughout) backed with good unit tests, then you are minimizing a lot the cost of software development. In open source, it doesn't really matter as the code is written mostly by one and for one. However in large projects, code which makes it easy to fix and add stuff is worth a lot more then a speedup of 5 or 10 assembly lines. My thoughts (which are worth about 1.2 cents American right now) Phil -----Original Message----- From: Philippe Lavoie=20 Sent: Tuesday, March 25, 2003 10:19 AM To: Miguel de Icaza; tum@veridicus.com Cc: mono-list@lists.ximian.com Subject: RE: [Mono-list] Exceptions and error codes. I think the original point made was that unless you have profiling information to back up any claim that "this part of the software" will slow you down. Then use a mechanism which will make your code more maintainable. The example below clearly has performance issues. However if the function handle_number_argument below takes 100 ms to process, the 5 or 10 extra lines of assembly added by the try/catch becomes meaningless in terms of overall performance. You'd better spend your time improving that function then rewriting the parser of Int32. Sometimes, it could be best to improve the JIT to better handle embedded try/catch statements :) Just another way of looking at it. I don't think there is a "one and true" way. It's all a grey area when you start to mix performance / maintainability / readability / philosophy, etc. Phil=20 -----Original Message----- From: Miguel de Icaza [mailto:miguel@ximian.com]=20 Sent: Sunday, March 23, 2003 10:43 PM To: tum@veridicus.com Cc: mono-list@lists.ximian.com Subject: Re: [Mono-list] Exceptions and error codes. Hello, You do raise interesting points. The problem with exceptions is that throwing and catching an exception is an expensive operation. Using an exception as a mechanism to return a failure error, when failure is likely to happen is inefficient. Contrast `likely to happen error' with `exceptional condition: internal error, or unlikely error to happen'. =20 Lets consider a sample: a program that uses Int32.Parse to detect whether an integer is available, or maybe a string command exists, and we are parsing, say, a million records: for (i =3D 0; i < one_million; i++){ string line =3D readline (); try { v =3D Int32.Parse (line); handle_numberic_argument (); } catch { ParseCommand (line); } } This is so bad, that you probably want to rewrite the code to pro-actively avoid parsing things that are known not to be integers. It is easy to turn an error-code API into an exception-throwing API with no performance loss. The opposite is not possible. Miguel _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list From tum@veridicus.com Tue Mar 25 15:43:07 2003 From: tum@veridicus.com (Thong (Tum) Nguyen) Date: Wed, 26 Mar 2003 03:43:07 +1200 Subject: [Mono-list] Exceptions and error codes. In-Reply-To: <20030325123021.GG878@debian.org> Message-ID: <000001c2f2e5$3c7728f0$3200a8c0@unity> Hi Paolo, It is an interesting point! It seems like a good idea not to throw exceptions from methods invoked by native code. You can still throw exceptions before and after invoking native code (outside of call-backs) so the problem doesn't affect the recommendation I made that public methods in GTK# should throw exceptions rather than use error codes ;-). All the best, ^Tum > -----Original Message----- > From: mono-list-admin@lists.ximian.com [mailto:mono-list- > admin@lists.ximian.com] On Behalf Of Paolo Molaro > Sent: Wednesday, 26 March 2003 12:30 a.m. > To: mono-list@lists.ximian.com > Subject: Re: [Mono-list] Exceptions and error codes. > > On 03/21/03 Thong (Tum) Nguyen wrote: > > > You make some good arguments, but I think most of it is irrelevant > > > since, in order to remain compatible with .NET, Mono must behave the > > > same way with respect to returning (or not) exceptions. The MSDN docs > > > describe exactly what exceptions/return codes File.Exists and > > File.Open > > > should return, Mono should do the same (unless the docs are in error). > > A > > > lot of work has already been done on this. You'll notice that many of > > > the test cases test whether or not the correct exception is being > > > returned. > > > > > > Definitely. I was more referring to our own class libraries (such as > > GTK#). > > I just want to add another data point to the ones already explained > about the use of error codes or exceptions, especially as it relates to > Gtk+, but this also applies to other libraries that are P/invoked from > the CLR. > C code has no notions of exceptions and of the way exception handling > can unwind the stack (yes, on windows people use SEH in C code, but it's > non-standard and I don't even know if the MS CLR deals with SEH in C > code). So what may happen is: > > C# code with a try block > -> Gtk+ code (takes a lock and calls a delegate) > -> C# code that trows an exception > -> exceptions handling triggers and gets the stack back to the try > block > -> next time Gtk+ is called again and it needs the lock (that > could be not unlocked by the exception code, since it's not > aware of it) you get a nice deadlock > > lupus > > -- > ----------------------------------------------------------------- > lupus@debian.org debian/rules > lupus@ximian.com Monkeys do it better > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > > --- > Incoming mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 > --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 From tum@veridicus.com Tue Mar 25 15:48:16 2003 From: tum@veridicus.com (Thong (Tum) Nguyen) Date: Wed, 26 Mar 2003 03:48:16 +1200 Subject: [Mono-list] Exceptions and error codes. In-Reply-To: <5F668484EA248D41A93034997332B6D6089E22@exchange3.cactus.ca> Message-ID: <000101c2f2e5$f4aa0190$3200a8c0@unity> Hi Phil, I totally agree. Those are points I didn't make so clear :-). ^Tum > -----Original Message----- > From: mono-list-admin@lists.ximian.com [mailto:mono-list- > admin@lists.ximian.com] On Behalf Of Philippe Lavoie > Sent: Wednesday, 26 March 2003 3:28 a.m. > To: Philippe Lavoie; Miguel de Icaza; tum@veridicus.com > Cc: mono-list@lists.ximian.com > Subject: RE: [Mono-list] Exceptions and error codes. > > Just to add to what I just wrote. > > My philosophy with code is that most of the cost is with fixing bugs. If > you write maintainable code (readable using consistent patterns > throughout) backed with good unit tests, then you are minimizing a lot > the cost of software development. > > In open source, it doesn't really matter as the code is written mostly > by one and for one. However in large projects, code which makes it easy > to fix and add stuff is worth a lot more then a speedup of 5 or 10 > assembly lines. > > My thoughts (which are worth about 1.2 cents American right now) > > Phil > > -----Original Message----- > From: Philippe Lavoie > Sent: Tuesday, March 25, 2003 10:19 AM > To: Miguel de Icaza; tum@veridicus.com > Cc: mono-list@lists.ximian.com > Subject: RE: [Mono-list] Exceptions and error codes. > > I think the original point made was that unless you have profiling > information to back up any claim that "this part of the software" will > slow you down. Then use a mechanism which will make your code more > maintainable. > > The example below clearly has performance issues. However if the > function handle_number_argument below takes 100 ms to process, the 5 or > 10 extra lines of assembly added by the try/catch becomes meaningless in > terms of overall performance. You'd better spend your time improving > that function then rewriting the parser of Int32. > > Sometimes, it could be best to improve the JIT to better handle embedded > try/catch statements :) > > Just another way of looking at it. I don't think there is a "one and > true" way. It's all a grey area when you start to mix performance / > maintainability / readability / philosophy, etc. > > Phil > > -----Original Message----- > From: Miguel de Icaza [mailto:miguel@ximian.com] > Sent: Sunday, March 23, 2003 10:43 PM > To: tum@veridicus.com > Cc: mono-list@lists.ximian.com > Subject: Re: [Mono-list] Exceptions and error codes. > > Hello, > > You do raise interesting points. > > The problem with exceptions is that throwing and catching an > exception is an expensive operation. Using an exception as a mechanism > to return a failure error, when failure is likely to happen is > inefficient. > > Contrast `likely to happen error' with `exceptional condition: > internal error, or unlikely error to happen'. > > Lets consider a sample: a program that uses Int32.Parse to detect > whether an integer is available, or maybe a string command exists, and > we are parsing, say, a million records: > > for (i = 0; i < one_million; i++){ > string line = readline (); > try { > v = Int32.Parse (line); > handle_numberic_argument (); > } catch { > ParseCommand (line); > } > } > > This is so bad, that you probably want to rewrite the code to > pro-actively avoid parsing things that are known not to be integers. > > It is easy to turn an error-code API into an exception-throwing API > with no performance loss. The opposite is not possible. > > Miguel > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > > --- > Incoming mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 > --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 From rodrigo@ximian.com Tue Mar 25 16:01:48 2003 From: rodrigo@ximian.com (Rodrigo Moya) Date: 25 Mar 2003 17:01:48 +0100 Subject: [Mono-list] [ADO.NET] SQL Parser. In-Reply-To: <20030322015516.9FDA7B6E8@xmxpita.excite.com> References: <20030322015516.9FDA7B6E8@xmxpita.excite.com> Message-ID: <1048607985.875.2.camel@azkoyen.gnome-db.org> On Sat, 2003-03-22 at 02:55, akpoon@excite.com wrote: > Hi, > > I am looking for a free SQL parser for one of the ADO.NET provider. Wonder what kind of SQL parser are available to be used (or already been used). > there is a very good one as part of the PostgreSQL source code. cheers From piersh@friskit.com Tue Mar 25 16:05:57 2003 From: piersh@friskit.com (Piers Haken) Date: Tue, 25 Mar 2003 08:05:57 -0800 Subject: [Mono-list] Exceptions and error codes. Message-ID: <9891913C5BFE87429D71E37F08210CB92975A4@zeus.sfhq.friskit.com> Managed code on the MS CLR doesn't use SEH internally, but the interop services rethrow System.Runtime.InteropServices.SEHException. The Win32 C++ ABI uses SEH. Similarly, COM error codes are rethrown as System.Runtime.InteropServices.COMException. Piers. > -----Original Message----- > From: Paolo Molaro [mailto:lupus@ximian.com]=20 > Sent: Tuesday, March 25, 2003 4:30 AM > To: mono-list@lists.ximian.com > Subject: Re: [Mono-list] Exceptions and error codes. >=20 >=20 > On 03/21/03 Thong (Tum) Nguyen wrote: > > > You make some good arguments, but I think most of it is=20 > irrelevant=20 > > > since, in order to remain compatible with .NET, Mono must=20 > behave the=20 > > > same way with respect to returning (or not) exceptions. The MSDN=20 > > > docs describe exactly what exceptions/return codes File.Exists and > > File.Open > > > should return, Mono should do the same (unless the docs are in=20 > > > error). > > A > > > lot of work has already been done on this. You'll notice=20 > that many=20 > > > of the test cases test whether or not the correct=20 > exception is being=20 > > > returned. > >=20 > >=20 > > Definitely. I was more referring to our own class=20 > libraries (such as=20 > > GTK#). >=20 > I just want to add another data point to the ones already=20 > explained about the use of error codes or exceptions,=20 > especially as it relates to > Gtk+, but this also applies to other libraries that are P/invoked from > the CLR. > C code has no notions of exceptions and of the way exception=20 > handling can unwind the stack (yes, on windows people use SEH=20 > in C code, but it's non-standard and I don't even know if the=20 > MS CLR deals with SEH in C code). So what may happen is: >=20 > C# code with a try block=20 > -> Gtk+ code (takes a lock and calls a delegate) > -> C# code that trows an exception > -> exceptions handling triggers and gets the stack back=20 > to the try block > -> next time Gtk+ is called again and it needs the lock (that > could be not unlocked by the exception code, since it's not > aware of it) you get a nice deadlock=09 >=20 > lupus >=20 > --=20 > ----------------------------------------------------------------- > lupus@debian.org debian/rules > lupus@ximian.com Monkeys do it better > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com=20 > http://lists.ximian.com/mailman/listinfo/mono-list >=20 From lupus@ximian.com Tue Mar 25 16:08:26 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 25 Mar 2003 17:08:26 +0100 Subject: [Mono-list] Mono and MAC OS X? In-Reply-To: <23436D758E4CA54F8EDC2F7DE3B1A28B03221646@denver.quark.com> References: <23436D758E4CA54F8EDC2F7DE3B1A28B03221646@denver.quark.com> Message-ID: <20030325160826.GK878@debian.org> On 03/25/03 Urs Muff wrote: > Is the 'new' JIT in CVS [since I was under the impression that it was not], > and if it is, is it in a state to do basic things on the Mac OS X? The new JIT is not yet in the public cvs, the plan is to publish it in a few days. Basic things work on MacOSX with the new jit, but this doen't mean it's the same basic things that you're looking for:-) People that want to help with the macosx port don't need to wait for the port, though, there is plenty of things to do that no one has stepped up to do (or contribute), yet: *) io-layer/atomic.h: ppc asm version of the functions there *) dllimport: we currently use GModule and the code in glib doesn't handle shared libraries. Someone should investigate about using dlopen in GModule or adding a wrapper in mono *) there are reports of issues when linking libgc: using the jit runtime instead of the interp runtime is not going to make it easier to debug this issue *) running mcs sometimes results in an illegal instruction trap: again, debugging this issue won't be easier with the jit So, if you want to help, there are plenty of things that need you. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From miguel@ximian.com Tue Mar 25 16:08:56 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 25 Mar 2003 11:08:56 -0500 Subject: [Mono-list] Exceptions and error codes. In-Reply-To: <5F668484EA248D41A93034997332B6D6089E21@exchange3.cactus.ca> References: <5F668484EA248D41A93034997332B6D6089E21@exchange3.cactus.ca> Message-ID: <1048608536.7536.67.camel@erandi.boston.ximian.com> Hello, > I think the original point made was that unless you have profiling > information to back up any claim that "this part of the software" will > slow you down. Then use a mechanism which will make your code more > maintainable. > > The example below clearly has performance issues. However if the > function handle_number_argument below takes 100 ms to process, the 5 or > 10 extra lines of assembly added by the try/catch becomes meaningless in > terms of overall performance. You'd better spend your time improving > that function then rewriting the parser of Int32. You are confused. Throwing and catching an exception is not 10 extra lines of assembly, it is very very expensive, on the order of thousands of instructions. Miguel. From tum@veridicus.com Tue Mar 25 16:09:21 2003 From: tum@veridicus.com (Thong (Tum) Nguyen) Date: Wed, 26 Mar 2003 04:09:21 +1200 Subject: [Mono-list] Exceptions and error codes. In-Reply-To: <1048477406.3203.1612.camel@erandi.boston.ximian.com> Message-ID: <000201c2f2e8$e66e06a0$3200a8c0@unity> Hi Miguel, There are definitely examples where exceptions can slow down your code. The thing is, how often would those cases appear in the real world, and when they do appear would they be a hotspot? WRT your example... If you're expecting many of the lines to contain non-integers then it would make sense to seek an alternative method because you're then using exceptions to notify you of a situation that you *normally* expect. The problem isn't that Int32.Parse throws exceptions, it's because you're using Int32.Parse in a way that wasn't intended. Int32.Parse isn't designed for testing whether something is an int or not. Int32.Parse expects to be given valid input most of the time and fails (with an exception) when you (or the user) "accidentally" give it invalid input. In your example, it looks like a non-int line isn't invalid input but simply alternate input. Since the loop appears to be a meaty part of the program my solution would be to use a tokenizer. ^Tum > -----Original Message----- > From: mono-list-admin@lists.ximian.com [mailto:mono-list- > admin@lists.ximian.com] On Behalf Of Miguel de Icaza > Sent: Monday, 24 March 2003 3:43 p.m. > To: tum@veridicus.com > Cc: mono-list@lists.ximian.com > Subject: Re: [Mono-list] Exceptions and error codes. > > Hello, > > You do raise interesting points. > > The problem with exceptions is that throwing and catching an > exception is an expensive operation. Using an exception as a mechanism > to return a failure error, when failure is likely to happen is > inefficient. > > Contrast `likely to happen error' with `exceptional condition: > internal error, or unlikely error to happen'. > > Lets consider a sample: a program that uses Int32.Parse to detect > whether an integer is available, or maybe a string command exists, and > we are parsing, say, a million records: > > for (i = 0; i < one_million; i++){ > string line = readline (); > try { > v = Int32.Parse (line); > handle_numberic_argument (); > } catch { > ParseCommand (line); > } > } > > This is so bad, that you probably want to rewrite the code to > pro-actively avoid parsing things that are known not to be integers. > > It is easy to turn an error-code API into an exception-throwing API > with no performance loss. The opposite is not possible. > > Miguel > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > > --- > Incoming mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 > --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 From tum@veridicus.com Tue Mar 25 16:10:20 2003 From: tum@veridicus.com (Thong (Tum) Nguyen) Date: Wed, 26 Mar 2003 04:10:20 +1200 Subject: [Mono-list] Exceptions and error codes. In-Reply-To: <1048608536.7536.67.camel@erandi.boston.ximian.com> Message-ID: <000301c2f2e9$09c125b0$3200a8c0@unity> > -----Original Message----- > From: Miguel de Icaza [mailto:miguel@ximian.com] > Sent: Wednesday, 26 March 2003 4:09 a.m. > To: Philippe Lavoie > Cc: tum@veridicus.com; mono-list@lists.ximian.com > Subject: RE: [Mono-list] Exceptions and error codes. > > Hello, > > > I think the original point made was that unless you have profiling > > information to back up any claim that "this part of the software" will > > slow you down. Then use a mechanism which will make your code more > > maintainable. > > > > The example below clearly has performance issues. However if the > > function handle_number_argument below takes 100 ms to process, the 5 or > > 10 extra lines of assembly added by the try/catch becomes meaningless in > > terms of overall performance. You'd better spend your time improving > > that function then rewriting the parser of Int32. > > You are confused. > > Throwing and catching an exception is not 10 extra lines of assembly, it > is very very expensive, on the order of thousands of instructions. > I think Phil was referring to the try/catch. Throwing exceptions is expensive -- but only if they're actually thrown. ^Tum --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 From philippe.lavoie@cactus.ca Tue Mar 25 16:28:37 2003 From: philippe.lavoie@cactus.ca (Philippe Lavoie) Date: Tue, 25 Mar 2003 11:28:37 -0500 Subject: [Mono-list] Exceptions and error codes. Message-ID: <5F668484EA248D41A93034997332B6D6AE99AC@exchange3.cactus.ca> I was referring to try only which in your example would in 99.99% be the only cost.=20 It doesn't mean I'm not confused :) Phil -----Original Message----- From: Thong (Tum) Nguyen [mailto:tum@veridicus.com]=20 Sent: Tuesday, March 25, 2003 11:10 AM To: 'Miguel de Icaza'; Philippe Lavoie Cc: mono-list@lists.ximian.com Subject: RE: [Mono-list] Exceptions and error codes. > -----Original Message----- > From: Miguel de Icaza [mailto:miguel@ximian.com] > Sent: Wednesday, 26 March 2003 4:09 a.m. > To: Philippe Lavoie > Cc: tum@veridicus.com; mono-list@lists.ximian.com > Subject: RE: [Mono-list] Exceptions and error codes. >=20 > Hello, >=20 > > I think the original point made was that unless you have profiling > > information to back up any claim that "this part of the software" will > > slow you down. Then use a mechanism which will make your code more > > maintainable. > > > > The example below clearly has performance issues. However if the > > function handle_number_argument below takes 100 ms to process, the 5 or > > 10 extra lines of assembly added by the try/catch becomes meaningless in > > terms of overall performance. You'd better spend your time improving > > that function then rewriting the parser of Int32. >=20 > You are confused. >=20 > Throwing and catching an exception is not 10 extra lines of assembly, it > is very very expensive, on the order of thousands of instructions. >=20 I think Phil was referring to the try/catch. Throwing exceptions is expensive -- but only if they're actually thrown. ^Tum From clauer@dotnet-fr.org Tue Mar 25 16:47:30 2003 From: clauer@dotnet-fr.org (clauer@dotnet-fr.org) Date: Tue, 25 Mar 2003 17:47:30 +0100 (MET) Subject: [Mono-list] Mono quotes from a Sun evangelist Message-ID: <1048610850.3e808822a93bc@imp.pro.proxad.net> Hi all, http://j2eerocks.web.aplus.net/j2eeclass/SunShootout_speakernoted.pdf See slide #28 in this J2EE vs .NET slide deck from a Java evangelist from SUN. Quote: "Some people think Mono Project will give some alternative .NET implementation. They'd better wake up. Mono will never be compatible with .NET" You bet? ;-)) From gonzalo@ximian.com Tue Mar 25 17:16:22 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 25 Mar 2003 18:16:22 +0100 Subject: [Mono-list] Mono and MAC OS X? In-Reply-To: <20030325160826.GK878@debian.org> References: <23436D758E4CA54F8EDC2F7DE3B1A28B03221646@denver.quark.com> <20030325160826.GK878@debian.org> Message-ID: <1048612582.30855.7.camel@portatil> El mar, 25 de 03 de 2003 a las 17:08, Paolo Molaro escribió: > port, though, there is plenty of things to do that no one has stepped up > to do (or contribute), yet: > *) io-layer/atomic.h: ppc asm version of the functions there I think that Chris (ct on irc) have already done this. -Gonzalo From umuff@quark.com Tue Mar 25 17:18:14 2003 From: umuff@quark.com (Urs Muff) Date: Tue, 25 Mar 2003 10:18:14 -0700 Subject: [Mono-list] Mono and MAC OS X? Message-ID: <23436D758E4CA54F8EDC2F7DE3B1A28B03221671@denver.quark.com> The current mint is not working at all on Mac OS X [at least for me]. All I get is 100% CPU and that's the end of it, whatever I do, even trying to run the simplest possible hello world pre-compiled assembly. --> It's kind of hard to help if not even that works. Where to start? What is the state of the union [interpreter/runtime]? What environment is used to debug [CodeWarrior/Project Builder]? --> since the environment will greatly improve the possibility to track down crashes, and other hard bugs. [mint does not look in great shape in any platform, I found problems [not being able to use with mcs for example] on windows, and linux with mint]. Does anyone have a 'working' environment at all on Mac OS X? If so, are you willing to share, so that we all can help. > -----Original Message----- > From: Paolo Molaro [mailto:lupus@ximian.com] > Sent: Tuesday, March 25, 2003 9:08 AM > To: 'mono-list@ximian.com' > Subject: Re: [Mono-list] Mono and MAC OS X? > > On 03/25/03 Urs Muff wrote: > > Is the 'new' JIT in CVS [since I was under the impression that it was > not], > > and if it is, is it in a state to do basic things on the Mac OS X? > > The new JIT is not yet in the public cvs, the plan is to publish it > in a few days. Basic things work on MacOSX with the new jit, but > this doen't mean it's the same basic things that you're looking for:-) > People that want to help with the macosx port don't need to wait for the > port, though, there is plenty of things to do that no one has stepped up > to do (or contribute), yet: > *) io-layer/atomic.h: ppc asm version of the functions there > *) dllimport: we currently use GModule and the code in glib doesn't > handle shared libraries. Someone should investigate about using dlopen > in GModule or adding a wrapper in mono > *) there are reports of issues when linking libgc: using > the jit runtime instead of the interp runtime is not going to make > it easier to debug this issue > *) running mcs sometimes results in an illegal instruction trap: again, > debugging this issue won't be easier with the jit > > So, if you want to help, there are plenty of things that need you. > > lupus > > -- > ----------------------------------------------------------------- > lupus@debian.org debian/rules > lupus@ximian.com Monkeys do it better > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From tum@veridicus.com Tue Mar 25 18:28:45 2003 From: tum@veridicus.com (Thong (Tum) Nguyen) Date: Wed, 26 Mar 2003 06:28:45 +1200 Subject: [Mono-list] Mono quotes from a Sun evangelist In-Reply-To: <1048610850.3e808822a93bc@imp.pro.proxad.net> Message-ID: <000101c2f2fc$6076e440$3200a8c0@unity> Has there been interest in creating a J2EE style architecture for C#/.NET? We can make it "better" because we can make the beans self describing using attributes. No need for XML descriptors :D. ^Tum > -----Original Message----- > From: mono-list-admin@lists.ximian.com [mailto:mono-list- > admin@lists.ximian.com] On Behalf Of clauer@dotnet-fr.org > Sent: Wednesday, 26 March 2003 4:48 a.m. > To: mono-list@lists.ximian.com > Subject: [Mono-list] Mono quotes from a Sun evangelist > > Hi all, > > http://j2eerocks.web.aplus.net/j2eeclass/SunShootout_speakernoted.pdf > > See slide #28 in this J2EE vs .NET slide deck from a Java evangelist from > SUN. > > Quote: "Some people think Mono Project will give some alternative .NET > implementation. They'd better wake up. Mono will never be compatible with > .NET" > > You bet? ;-)) > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > > --- > Incoming mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 > --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 From cleamcpb@hotmail.com Tue Mar 25 18:08:48 2003 From: cleamcpb@hotmail.com (Michael Schwery) Date: Tue, 25 Mar 2003 18:08:48 +0000 Subject: [Mono-list] monostub error can't find mscoree Message-ID: I get the following error when trying the monostub patch. [mschwery@localhost windows]$ wine EBook.exe fixme:win32:PE_CreateModule Unknown directory 14 ignored err:module:PE_fixup_imports Module (file) mscoree.dll (which is needed by F:\windows\EBook.exe) not found Do I need to add an entry to a config file? _________________________________________________________________ STOP MORE SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail From lupus@ximian.com Tue Mar 25 18:48:10 2003 From: lupus@ximian.com (Paolo Molaro) Date: Tue, 25 Mar 2003 19:48:10 +0100 Subject: [Mono-list] Mono and MAC OS X? In-Reply-To: <23436D758E4CA54F8EDC2F7DE3B1A28B03221671@denver.quark.com> References: <23436D758E4CA54F8EDC2F7DE3B1A28B03221671@denver.quark.com> Message-ID: <20030325184810.GL878@debian.org> On 03/25/03 Urs Muff wrote: > The current mint is not working at all on Mac OS X [at least for me]. All I It works for me. Have you tried compiling without GC support? > get is 100% CPU and that's the end of it, whatever I do, even trying to run > the simplest possible hello world pre-compiled assembly. --> It's kind of > hard to help if not even that works. Where to start? What is the state of You could start from a debugger... > the union [interpreter/runtime]? What environment is used to debug > [CodeWarrior/Project Builder]? --> since the environment will greatly > improve the possibility to track down crashes, and other hard bugs. [mint You can use the environment that suits you best. > does not look in great shape in any platform, I found problems [not being > able to use with mcs for example] on windows, and linux with mint]. If you find a bug, file a bug report with a test case. Last time I checked mint bootstrapped both mcs and corlib on linux/x86 (yes, it's slow). > Does anyone have a 'working' environment at all on Mac OS X? If so, are you > willing to share, so that we all can help. I use the code from cvs, though the latest release should work as well. I don't link to libgc since when I tried a few months ago that got me a linker error that I haven't had the time to investigate. lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From mathias.hasselmann@gmx.de Tue Mar 25 18:54:58 2003 From: mathias.hasselmann@gmx.de (Mathias Hasselmann) Date: 25 Mar 2003 19:54:58 +0100 Subject: [Mono-list] Mono quotes from a Sun evangelist In-Reply-To: <1048610850.3e808822a93bc@imp.pro.proxad.net> References: <1048610850.3e808822a93bc@imp.pro.proxad.net> Message-ID: <1048618498.31649.8.camel@localhost> On Tue, 2003-03-25 at 17:47, clauer@dotnet-fr.org wrote: > Hi all, > http://j2eerocks.web.aplus.net/j2eeclass/SunShootout_speakernoted.pdf > > See slide #28 in this J2EE vs .NET slide deck from a Java evangelist from SUN. > > Quote: "Some people think Mono Project will give some alternative .NET > implementation. They'd better wake up. Mono will never be compatible with .NET" > > You bet? ;-)) Hi, I'd just say Sun needs better analysts. See: I'm already satisfied if .NET stays compatible with Mono. Yeah, the other direction: Develop for Mono, run everwhere -- you get the idea. Well, and that goal is a trivial one: The .NET Framework is out, applications depend on it. Obviously Microsoft has to keep backward compatibility and fortunatly they are known, to do this kind of job really good. Ciao, Mathias From dru@satori-assoc.com Tue Mar 25 19:13:26 2003 From: dru@satori-assoc.com (Andy Satori) Date: Tue, 25 Mar 2003 14:13:26 -0500 Subject: [Mono-list] Mono and MAC OS X? In-Reply-To: <20030325184810.GL878@debian.org> Message-ID: I have a working mono install from 0.23. Here are the issues that I'm aware of. If you used fink for your glib, you probably will get an error about the us_EN language and a failure to convert UTF-8 (assuming a us_EN system, something that probably isn't a safe assumption, but hey, I'm an American and everyone knows that we have no concept of internationalization, can you say 'ZIP CODE'?) You can run limited things using mono, however you will see errors, especially if you install the Boehm garabage collection. If you have compiled it with libgc, you will get a 'bus error'. Further, code generated by mcs on OS X will not run on other platforms. So, at this point, it's still incomplete. I believe after my basic analysis that the many of the problems all share a common root in the fink glib. I've been looking at glib and the OS X patches to see what problems may exist there. Once that problem is solved, I think the next step will be to begin debugging the libgc problems, to bring parity to the build environments between Cygwin, Linux, and OS X. Then we can talk about debugging mcs, mono and mint to bring them to proper parity with the x86 implementations. Andy On 3/25/03 1:48 PM, "Paolo Molaro" pounded the keyboard to produce: > On 03/25/03 Urs Muff wrote: >> The current mint is not working at all on Mac OS X [at least for me]. All I > > It works for me. Have you tried compiling without GC support? > >> get is 100% CPU and that's the end of it, whatever I do, even trying to run >> the simplest possible hello world pre-compiled assembly. --> It's kind of >> hard to help if not even that works. Where to start? What is the state of > > You could start from a debugger... > >> the union [interpreter/runtime]? What environment is used to debug >> [CodeWarrior/Project Builder]? --> since the environment will greatly >> improve the possibility to track down crashes, and other hard bugs. [mint > > You can use the environment that suits you best. > >> does not look in great shape in any platform, I found problems [not being >> able to use with mcs for example] on windows, and linux with mint]. > > If you find a bug, file a bug report with a test case. Last time I > checked mint bootstrapped both mcs and corlib on linux/x86 (yes, it's slow). > >> Does anyone have a 'working' environment at all on Mac OS X? If so, are you >> willing to share, so that we all can help. > > I use the code from cvs, though the latest release should work as well. > I don't link to libgc since when I tried a few months ago that got me a > linker error that I haven't had the time to investigate. > > lupus From dru@satori-assoc.com Tue Mar 25 19:21:40 2003 From: dru@satori-assoc.com (Andy Satori) Date: Tue, 25 Mar 2003 14:21:40 -0500 Subject: [Mono-list] Mono quotes from a Sun evangelist In-Reply-To: <1048618498.31649.8.camel@localhost> Message-ID: Hence the reason that Mono is better suited for long term success than Java. Java implementations must meet Suns guidelines, you can't improve upon the foundation through extension. Mono can improve upon .NET though. Thus Mono becomes the standard, and .NET becomes and implementation thereof. Andy On 3/25/03 1:54 PM, "Mathias Hasselmann" pounded the keyboard to produce: > On Tue, 2003-03-25 at 17:47, clauer@dotnet-fr.org wrote: >> Hi all, >> http://j2eerocks.web.aplus.net/j2eeclass/SunShootout_speakernoted.pdf >> >> See slide #28 in this J2EE vs .NET slide deck from a Java evangelist from >> SUN. >> >> Quote: "Some people think Mono Project will give some alternative .NET >> implementation. They'd better wake up. Mono will never be compatible with >> .NET" >> >> You bet? ;-)) > > Hi, > > I'd just say Sun needs better analysts. > > See: I'm already satisfied if .NET stays compatible with Mono. Yeah, the > other direction: Develop for Mono, run everwhere -- you get the idea. > Well, and that goal is a trivial one: The .NET Framework is out, > applications depend on it. Obviously Microsoft has to keep backward > compatibility and fortunatly they are known, to do this kind of job > really good. > > Ciao, > Mathias > > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > From joe@ximian.com Tue Mar 25 19:47:47 2003 From: joe@ximian.com (Joe Shaw) Date: 25 Mar 2003 14:47:47 -0500 Subject: [Mono-list] Mono and MAC OS X? In-Reply-To: <20030325160826.GK878@debian.org> References: <23436D758E4CA54F8EDC2F7DE3B1A28B03221646@denver.quark.com> <20030325160826.GK878@debian.org> Message-ID: <1048621667.1415.48.camel@caiman.boston.ximian.com> On Tue, 2003-03-25 at 11:08, Paolo Molaro wrote: > *) dllimport: we currently use GModule and the code in glib doesn't > handle shared libraries. Someone should investigate about using dlopen > in GModule or adding a wrapper in mono The main problem here is that mono takes for granted heavily that in ELF shared libraries and loadable modules are the same thing. In Mach-O this isn't the case, so you can't simply call dlopen() on a shared library (-shared passed to the linker). The module has to be built with -bundle. Also, on OS X the dlopen() calls are compatibility wrappers around the native dyld implementation, so using that instead of the dyld implementation in glib2 won't help. I'm not totally sure how to get around these issues when opening something like the gtk shared libraries as "modules" for gtk#, but I am hardly a Mach-O expert... these are just observations I have from using OS X for a few months and trying to build various software on it. Joe From rgasparini29@yahoo.com Tue Mar 25 21:20:58 2003 From: rgasparini29@yahoo.com (Robert Fab) Date: Tue, 25 Mar 2003 13:20:58 -0800 (PST) Subject: [Mono-list] Compiling (mbas) with multiple references Message-ID: <20030325212058.7585.qmail@web20712.mail.yahoo.com> Hello everybody, I'm newbie here. I started using mono over RedHat 8.0 and the VB compiler. My problem is that I don't know how to compile a little program using multiple references. My code: Imports GLib Imports Gtk Imports GtkSharp Imports System Imports System.Drawing Module GtkTest Sub Main() Dim win as Window Dim btn as Button Application.Init() win = new Window("VB Gtk + Hello World") win.DefaultSize = new Size (200,150) btn = new Button("Click me!") win.Add(btn) win.ShowAll() Application.Run() End Sub End Module When I compile, I need to reference at least (I guess so) two libraries: "gtk-sharp" and "System.Drawing". But -r option does not accept multiple libraries: mbas win2.vb -r System.Drawing, gtk-sharp I get an error. Can anybody help me? Thanks in advance! __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com From lluis@ideary.com Tue Mar 25 21:20:58 2003 From: lluis@ideary.com (Lluis Sanchez) Date: Tue, 25 Mar 2003 22:20:58 +0100 Subject: [Mono-list] Mono quotes from a Sun evangelist References: <000101c2f2fc$6076e440$3200a8c0@unity> Message-ID: <013001c2f314$6eb730b0$01c8a8c0@ATICATACCENTRE> > Has there been interest in creating a J2EE style architecture for > C#/.NET? We can make it "better" because we can make the beans self > describing using attributes. No need for XML descriptors :D. > This is what System.EnterpriseServices does. - Lluis. > ^Tum > > > -----Original Message----- > > From: mono-list-admin@lists.ximian.com [mailto:mono-list- > > admin@lists.ximian.com] On Behalf Of clauer@dotnet-fr.org > > Sent: Wednesday, 26 March 2003 4:48 a.m. > > To: mono-list@lists.ximian.com > > Subject: [Mono-list] Mono quotes from a Sun evangelist > > > > Hi all, > > > > http://j2eerocks.web.aplus.net/j2eeclass/SunShootout_speakernoted.pdf > > > > See slide #28 in this J2EE vs .NET slide deck from a Java evangelist > from > > SUN. > > > > Quote: "Some people think Mono Project will give some alternative .NET > > implementation. They'd better wake up. Mono will never be compatible > with > > .NET" > > > > You bet? ;-)) > > _______________________________________________ > > Mono-list maillist - Mono-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/mono-list > > > > --- > > Incoming mail is certified Virus Free. > > Checked by AVG anti-virus system (http://www.grisoft.com). > > Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 > > > > --- > Outgoing mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.461 / Virus Database: 260 - Release Date: 10/03/2003 > > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > From jonpryor@vt.edu Wed Mar 26 01:12:32 2003 From: jonpryor@vt.edu (Jonathan Pryor) Date: 25 Mar 2003 20:12:32 -0500 Subject: [Mono-list] Compiling (mbas) with multiple references In-Reply-To: <20030325212058.7585.qmail@web20712.mail.yahoo.com> References: <20030325212058.7585.qmail@web20712.mail.yahoo.com> Message-ID: <1048641151.14922.18.camel@melchior.magi> You need to use "-r" with each assembly: mbas win32.vb -r:System.Drawing -r:gtk-sharp - Jon On Tue, 2003-03-25 at 16:20, Robert Fab wrote: > Hello everybody, > > I'm newbie here. I started using mono over RedHat 8.0 > and the VB compiler. My problem is that I don't know > how to compile a little program using multiple > references. My code: > > Imports GLib > Imports Gtk > Imports GtkSharp > Imports System > Imports System.Drawing > > Module GtkTest > Sub Main() > Dim win as Window > Dim btn as Button > > Application.Init() > win = new Window("VB Gtk + Hello > World") > win.DefaultSize = new Size (200,150) > btn = new Button("Click me!") > win.Add(btn) > win.ShowAll() > Application.Run() > End Sub > End Module > > > When I compile, I need to reference at least (I guess > so) two libraries: "gtk-sharp" and "System.Drawing". > But -r option does not accept multiple libraries: > > mbas win2.vb -r System.Drawing, gtk-sharp > > I get an error. > > Can anybody help me? > Thanks in advance! > > __________________________________________________ > Do you Yahoo!? > Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! > http://platinum.yahoo.com > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From rafaelteixeirabr@hotmail.com Wed Mar 26 01:17:17 2003 From: rafaelteixeirabr@hotmail.com (A Rafael D Teixeira) Date: Tue, 25 Mar 2003 22:17:17 -0300 Subject: [Mono-list] Compiling (mbas) with multiple references Message-ID: >From: Robert Fab > >I'm newbie here. I started using mono over RedHat 8.0 >and the VB compiler. My problem is that I don't know >how to compile a little program using multiple >references. ... > >When I compile, I need to reference at least (I guess >so) two libraries: "gtk-sharp" and "System.Drawing". >But -r option does not accept multiple libraries: > >mbas win2.vb -r System.Drawing, gtk-sharp Just repeat the -r option for each file: mbas win2.vb -r System.Drawing -r gtk-sharp Cheers, Rafael Teixeira Brazilian Polymath Mono, MonoQLE Hacker _________________________________________________________________ Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail From webmaster@theratnerschool.org Wed Mar 26 04:20:50 2003 From: webmaster@theratnerschool.org (Ben Maurer) Date: Tue, 25 Mar 2003 23:20:50 -0500 Subject: [Mono-list] BigInteger Message-ID: This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C2F325.2CC14B80 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0001_01C2F325.2CC458C0" ------=_NextPart_001_0001_01C2F325.2CC458C0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, Miguel suggested that I post this code to help with development on the JIT. It is a replacement for the current Mono.Math.BigInteger. The code will only work if things such as unsafe code and long emulation are correctly implemented, and its speed is directly related to the speed of long emulation. This code finds the larger than a predefined number. It should output the number 451270145426905279033461487145706836621146563783064405604377598887931168 538767293558893584997458500750479095426741983165566740513116881438600410 0494057429, and then halt. Just press enter, and the program will quit. The code takes ~ 3.5 seconds to execute using the new JIT on Miguel's P4 1.8ghz, and 1.4 seconds on the old JIT with the same computer. It takes .46 seconds to execute on the MS JIT on a 1 ghz AMD. The attached BigInteger code is not appropriate for production use, as it still has bugs that need to be worked out. Sincerely, Ben Maurer Webmaster The Ratner School Web: theratnerschool.org E-mail: webmaster@theratnerschool.org ------=_NextPart_001_0001_01C2F325.2CC458C0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi,

 

Miguel suggested that I post this code to help with development on the JIT. It is a replacement for the current = Mono.Math.BigInteger. The code will only work if things such as unsafe code and long emulation = are correctly implemented, and its speed is directly related to the speed of = long emulation.

 

This code finds the larger than a predefined number. = It should output the number = 4512701454269052790334614871457068366211465637830644056043775988879311685= 3876729355889358499745850075047909542674198316556674051311688143860041004= 94057429, and then halt. Just press enter, and the program will = quit.

 

The code takes ~ 3.5 seconds to execute using the new = JIT on Miguel’s P4 1.8ghz, and 1.4 seconds on the old JIT with the same = computer. It takes .46 seconds to execute on the MS JIT on a 1 ghz = AMD.

 

The attached BigInteger code is not appropriate for production use, as it still has bugs that need to be worked = out.

 

Sincerely,
Ben Maurer
Webmaster
The Ratner = School
Web:    theratnerschool.org
E-mail:  webmaster@theratnerschool.org

 

------=_NextPart_001_0001_01C2F325.2CC458C0-- ------=_NextPart_000_0000_01C2F325.2CC14B80 Content-Type: text/plain; name="Class1.cs" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="Class1.cs" using System; namespace BigIntegerNewJitTest { /// /// Summary description for Class1. /// class Class1 { /// /// The main entry point for the application. /// [STAThread] static void Main(string[] args) { Console.WriteLine(BigInteger.BigInteger.NextHightestPrime(new = BigInteger.BigInteger(Start))); Console.Read(); =09 } public static uint[] Start { get { return new uint[] { 0x5629a00f, 0x3b672419, 0x85891da8, 0x2d63ff0c, 0xd8b91375, = 0xfb57f659, 0x07e2de17, 0x7de561be, 0xc29d6912, 0x198cb7fd, 0x251d33ad, = 0x6bc20a0a, 0xdd1e4060, 0x809d5fb2, 0x20fcd816, 0xafc2ddb2 }; } } } } ------=_NextPart_000_0000_01C2F325.2CC14B80 Content-Type: text/plain; name="BigInteger.cs" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="BigInteger.cs" using System; using System.Diagnostics; using System.Security.Cryptography; namespace BigInteger { public class BigInteger { #region Data Storage /// /// The Length of this BigInteger /// uint length =3D 1; /// /// The data for this BigInteger /// uint[] data; // /// // /// The Sign of this BigInteger // /// // Sign sign; #endregion #region Constants /// /// Default length of a BigInteger in bytes /// const uint DEFAULT_LEN =3D 20; /// /// Table of primes below 2000. /// /// /// /// This table was generated using Mathematica 4.1 using the = following function: /// /// /// /// PrimeTable[x_] :=3D Prime[Range[1, PrimePi[x]]] /// PrimeTable[6000] /// /// /// public static readonly uint[] smallPrimes =3D {2, 3, 5, 7, 11, 13, 17, = 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,=20 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, = 137, 139, 149, 151,=20 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, = 223, 227, 229, 233,=20 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, = 307, 311, 313, 317,=20 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, = 397, 401, 409, 419,=20 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, = 487, 491, 499, 503,=20 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, = 593, 599, 601, 607,=20 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, = 677, 683, 691, 701,=20 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, = 787, 797, 809, 811,=20 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, = 883, 887, 907, 911,=20 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, = 997, 1009, 1013, 1019,=20 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, = 1087, 1091, 1093, 1097,=20 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, = 1181, 1187, 1193, 1201,=20 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, = 1279, 1283, 1289, 1291,=20 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, = 1373, 1381, 1399, 1409,=20 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, = 1471, 1481, 1483, 1487,=20 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, = 1559, 1567, 1571, 1579,=20 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, = 1637, 1657, 1663, 1667,=20 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, = 1747, 1753, 1759, 1777,=20 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, = 1867, 1871, 1873, 1877,=20 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, = 1973, 1979, 1987, 1993,=20 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, = 2063, 2069, 2081, 2083,=20 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, = 2143, 2153, 2161, 2179,=20 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, = 2269, 2273, 2281, 2287,=20 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, = 2357, 2371, 2377, 2381,=20 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, = 2447, 2459, 2467, 2473,=20 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, = 2579, 2591, 2593, 2609,=20 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, = 2683, 2687, 2689, 2693,=20 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749, = 2753, 2767, 2777, 2789,=20 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, = 2857, 2861, 2879, 2887,=20 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, = 2969, 2971, 2999,=20 3001,=20 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, = 3083, 3089, 3109, 3119,=20 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, = 3209, 3217, 3221, 3229,=20 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, = 3319, 3323, 3329, 3331,=20 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, = 3413, 3433, 3449, 3457,=20 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, = 3529, 3533, 3539, 3541,=20 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, = 3617, 3623, 3631, 3637,=20 3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, = 3719, 3727, 3733, 3739,=20 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, = 3833, 3847, 3851, 3853,=20 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, = 3929, 3931, 3943, 3947,=20 3967, 3989,=20 // 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, = 4057, 4073,=20 // 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, = 4153, 4157, 4159, 4177,=20 // 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, = 4259, 4261, 4271, 4273,=20 // 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, = 4373, 4391, 4397, 4409,=20 // 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, = 4493, 4507, 4513, 4517,=20 // 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, = 4603, 4621, 4637, 4639,=20 // 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, = 4721, 4723, 4729, 4733,=20 // 4751, 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, = 4817, 4831, 4861, 4871,=20 // 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, = 4951, 4957, 4967, 4969,=20 // 4973, 4987, 4993, 4999,=20 // 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, = // 5081, 5087, 5099, 5101, 5107, 5113, 5119, 5147, 5153, = 5167, 5171, 5179, 5189,=20 // 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, = 5281, 5297, 5303, 5309,=20 // 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, = 5413, 5417, 5419, 5431,=20 // 5437, 5441, 5443, 5449, 5471, 5477, 5479, 5483, 5501, = 5503, 5507, 5519, 5521,=20 // 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, = 5639, 5641, 5647, 5651,=20 // 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, = 5717, 5737, 5741, 5743,=20 // 5749, 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, = 5839, 5843, 5849, 5851,=20 // 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, = 5927, 5939, 5953, 5981,=20 // 5987 }; public enum Sign : int { Negative =3D -1, Zero =3D 0, Positive =3D 1 }; #endregion #region Constructors public BigInteger () { data =3D new uint[DEFAULT_LEN]; } public BigInteger ( Sign sign, uint len ) { this.data =3D new uint[len]; this.length =3D len; } public BigInteger( BigInteger bi ) { this.data =3D (uint[])bi.data.Clone(); this.length =3D bi.length; } public BigInteger( BigInteger bi, uint len ) { this.data =3D new uint[len]; for( uint i =3D 0; i < bi.length; i++ ) this.data[i] =3D bi.data[i]; this.length =3D bi.length; } #endregion #region Conversions public BigInteger ( uint ui ) { data =3D new uint[2]; data[0] =3D ui; } public BigInteger ( int i ) { data =3D new uint[1]; data[0] =3D (uint)(i > 0 ? i : -i); // NEGPROBLEM //sign =3D (Sign)Math.Sign(i); } public BigInteger ( ulong ul ) { data =3D new uint[2]; length =3D 2; data[0] =3D (uint)(ul & 0xFFFFFFFF); data[1] =3D (uint)(ul >> 32); this.Normalize(); } public BigInteger(byte[] inData, Sign sign) { length =3D (uint)inData.Length >> 2; int leftOver =3D inData.Length & 0x3; if(leftOver !=3D 0) // length not multiples of 4 length++; data =3D new uint[length]; for(int i =3D inData.Length - 1, j =3D 0; i >=3D 3; i -=3D 4, j++) { data[j] =3D (uint)( (inData[i-3] << 24) + (inData[i-2] << 16) + (inData[i-1] << 8) + (inData[i ] << 0) ); } if(leftOver =3D=3D 1) data[length-1] =3D (uint)inData[0]; else if(leftOver =3D=3D 2) data[length-1] =3D (uint)((inData[0] << 8) + inData[1]); else if(leftOver =3D=3D 3) data[length-1] =3D (uint)((inData[0] << 16) + (inData[1] << 8) + = inData[2]); this.Normalize(); } public BigInteger(uint[] inData, Sign sign) { length =3D (uint)inData.Length; data =3D new uint[length]; for(int i =3D (int)length - 1, j =3D 0; i >=3D 0; i--, j++) data[j] =3D inData[i]; this.Normalize(); } public BigInteger(uint[] inData) { length =3D (uint)inData.Length; data =3D new uint[length]; for(int i =3D (int)length - 1, j =3D 0; i >=3D 0; i--, j++) data[j] =3D inData[i]; this.Normalize(); } public static implicit operator BigInteger (uint value) { return (new BigInteger (value)); } public static implicit operator BigInteger (int value) { return (new BigInteger (value)); } public static implicit operator BigInteger (ulong value) { return (new BigInteger (value)); } #endregion #region Operators public static BigInteger operator + (BigInteger bi1, BigInteger bi2) { if (bi1 =3D=3D 0) { return new BigInteger(bi2); } else if (bi2 =3D=3D 0) { return new BigInteger(bi1); } else { return Kernel.AddSameSign( bi1, bi2 ); } } public static BigInteger operator - (BigInteger bi1, BigInteger bi2) { if (bi1 =3D=3D 0) { // NEGPROBLEM: what if bi2 !=3D 0 return new BigInteger( bi2 ); } else if (bi2 =3D=3D 0) { return new BigInteger(bi1); } else { switch (Kernel.CompareSameSign(bi1, bi2)) { case Sign.Zero: return 0; case Sign.Positive: return Kernel.Subtract( bi1, bi2 ); case Sign.Negative: // NEGPROBLEM BigInteger ret =3D Kernel.Subtract( bi2, bi1 ); //ret.sign =3D (Sign)(-1 * (int)ret.sign); return ret; default: throw new Exception(); } } } public static int operator % (BigInteger bi, int i) { if ( i > 0 ) return (int)Kernel.DwordMod(bi, (uint)i); else return -(int)Kernel.DwordMod(bi, (uint)-i); } public static uint operator % (BigInteger bi, uint ui) { return Kernel.DwordMod(bi, (uint)ui); } public static BigInteger operator % ( BigInteger bi1, BigInteger bi2) = { return Kernel.multiByteDivide(bi1, bi2)[1]; } public static BigInteger operator / (BigInteger bi, int i) { BigInteger ret; if ( i > 0 ) { ret =3D Kernel.DwordDiv( bi, (uint)i ); } else { ret =3D Kernel.DwordDiv( bi, (uint)-i ); // NEGPROBLEM //ret.sign =3D (Sign)(-(uint)ret.sign); } return ret; } public static BigInteger operator / ( BigInteger bi1, BigInteger bi2) = { return Kernel.multiByteDivide(bi1, bi2)[0]; } public static BigInteger operator * (BigInteger bi1, BigInteger bi2) { // // Validate pointers // if ( bi1.data.Length < bi1.length ) throw new = IndexOutOfRangeException( "bi1 out of range" ); if ( bi2.data.Length < bi2.length ) throw new = IndexOutOfRangeException( "bi2 out of range" ); BigInteger ret =3D new BigInteger( Sign.Positive, bi1.length + = bi2.length ); =09 if (bi1 =3D=3D 0 || bi2 =3D=3D 0) return ret; Kernel.Multiply(bi1.data, 0, bi1.length, bi2.data, 0, bi2.length, = ret.data, 0); ret.Normalize(); return ret; } public static BigInteger operator * (BigInteger bi, int i) { if ( i =3D=3D 0 ) return 0; if ( i =3D=3D 1 ) return new BigInteger (bi); uint ii =3D i > 0 ? (uint)i : (uint)-i; Sign s =3D (Sign)(i / ii); return Kernel.MultiplyByDword( bi, ii, s ); } // public static BigInteger operator - ( BigInteger bi ) { // BigInteger ret =3D new BigInteger(bi); // ret.sign =3D (Sign)((int)bi.sign * -1); // return ret; // } public static BigInteger operator <<(BigInteger bi1, int shiftVal) { return Kernel.LeftShift(bi1, shiftVal); } public static BigInteger operator >>(BigInteger bi1, int shiftVal) { return Kernel.RightShift(bi1, shiftVal); } #endregion #region Random private static RandomNumberGenerator rng; private static RandomNumberGenerator Rng { get { if (rng =3D=3D null) rng =3D new RNGCryptoServiceProvider(); return rng; } } /// /// Generates a new, random BigInteger of the specified length. /// /// The number of bits for the new = number. /// A random number generator to use to obtain the = bits. /// A random number of the specified length. public static BigInteger genRandom ( int bits, RandomNumberGenerator = rng ) { int dwords =3D bits >> 5; int remBits =3D bits & 0x1F; if (remBits !=3D 0) dwords++; BigInteger ret =3D new BigInteger( Sign.Positive, (uint)dwords ); byte[] random =3D new byte [dwords << 2]; rng.GetBytes( random ); Buffer.BlockCopy(random, 0, ret.data, 0, (int)dwords << 2); if (remBits !=3D 0) { uint mask =3D (uint)(0x01 << (remBits-1)); ret.data[dwords-1] |=3D mask; mask =3D (uint)(0xFFFFFFFF >> (32 - remBits)); ret.data[dwords-1] &=3D mask; } else ret.data[dwords-1] |=3D 0x80000000; ret.Normalize(); return ret; } /// /// Generates a new, random BigInteger of the specified length using = the default RNG crypto service provider. /// /// The number of bits for the new = number. /// A random number of the specified length. public static BigInteger genRandom ( int bits ) { return genRandom( bits, Rng); } /// /// Randomizes the bits in "this" from the specified RNG. /// /// A RNG. public void randomize ( RandomNumberGenerator rng ) { int bits =3D (int)length; int dwords =3D bits >> 5; int remBits =3D bits & 0x1F; if (remBits !=3D 0) dwords++; byte[] random =3D new byte [dwords << 2]; rng.GetBytes( random ); Buffer.BlockCopy(random, 0, data, 0, (int)dwords << 2); if (remBits !=3D 0) { uint mask =3D (uint)(0x01 << (remBits-1)); data[dwords-1] |=3D mask; mask =3D (uint)(0xFFFFFFFF >> (32 - remBits)); data[dwords-1] &=3D mask; } else data[dwords-1] |=3D 0x80000000; Normalize(); } /// /// Randomizes the bits in "this" from the default RNG. /// public void randomize () { randomize( Rng ); } #endregion #region Bitwise public int bitCount() { this.Normalize(); uint value =3D data[length - 1]; uint mask =3D 0x80000000; uint bits =3D 32; while(bits > 0 && (value & mask) =3D=3D 0) { bits--; mask >>=3D 1; } bits +=3D ((length - 1) << 5); return (int)bits; } /// /// Tests if the specified bit is 1. /// /// The bit to test. The least significant bit = is 0. /// True if bitNum is set to 1, else false. public bool testBit (uint bitNum) { uint bytePos =3D bitNum >> 5; // divide by 32 byte bitPos =3D (byte)(bitNum & 0x1F); // get the lowest 5 bits uint mask =3D (uint)1 << bitPos; return ((this.data[bytePos] | mask) =3D=3D this.data[bytePos]); } #endregion #region Compare public static bool operator =3D=3D ( BigInteger bi1, uint ui ) { if( bi1.length !=3D 1 ) bi1.Normalize(); return bi1.length =3D=3D 1 && bi1.data[0] =3D=3D ui; } public static bool operator !=3D ( BigInteger bi1, uint ui ) { if( bi1.length !=3D 1 ) bi1.Normalize(); return !(bi1.length =3D=3D 1 && bi1.data[0] =3D=3D ui); } public static bool operator =3D=3D (BigInteger bi1, BigInteger bi2) { return Kernel.Compare(bi1, bi2) =3D=3D 0; } public static bool operator !=3D( BigInteger bi1, BigInteger bi2) { return Kernel.Compare(bi1, bi2) !=3D 0; } public static bool operator > (BigInteger bi1, BigInteger bi2) { return Kernel.Compare(bi1, bi2) > 0; } public static bool operator < (BigInteger bi1, BigInteger bi2) { return Kernel.Compare(bi1, bi2) < 0; } public static bool operator >=3D (BigInteger bi1, BigInteger bi2) { return Kernel.Compare(bi1, bi2) >=3D 0; } public static bool operator <=3D (BigInteger bi1, BigInteger bi2) { return Kernel.Compare(bi1, bi2) <=3D 0; } public Sign Compare (BigInteger bi) { return Kernel.Compare( this, bi ); } #endregion #region Formatting public string ToString (uint radix) { if(radix < 2 || radix > 36) throw (new ArgumentException("Radix must be >=3D 2 and <=3D 36")); return ToString( radix, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" ); } public string ToString( uint radix, string charSet ) { if ( charSet.Length < radix ) throw new ArgumentException("charSet length less than radix", = "charSet"); string result =3D ""; BigInteger a =3D new BigInteger(this); uint rem =3D 0; if(a =3D=3D 0) result =3D "0"; else { while(a.length > 1 || (a.length =3D=3D 1 && a.data[0] !=3D 0)) { rem =3D Kernel.SingleByteDivideInPlace( a, radix ); result =3D charSet[(int)rem] + result; } } return result; } #endregion #region Misc /// /// Normalizes this by setting the length to the actual number of=20 /// uints used in data and by setting the sign to Sign.Zero if the /// value of this is 0. /// private void Normalize() { // Normalize length while(length > 0 && data[length-1] =3D=3D 0) length--; // Check for zero if (length =3D=3D 0) { length++; } } #endregion #region Object Impl public override int GetHashCode () { uint val =3D 0; for (uint i =3D 0; i < this.length; i++) { val ^=3D this.data[i]; } unchecked { return (int)val; } } public override string ToString() { return ToString( 10 ); } public override bool Equals (object o) { if ( o =3D=3D null ) return false; if ( o is int) return this =3D=3D (int)o; return Kernel.Compare(this, (BigInteger)o) =3D=3D 0; } #endregion #region Number Theory =09 public BigInteger gcd( BigInteger bi ) { return Kernel.gcd( this, bi ); } public BigInteger modInverse( BigInteger mod ) { return Kernel.modInverse(this, mod); } #endregion #region Prime Testing /// /// Returns the number of Strong Pseudo Prime tests that must be = performed /// to make the chance of failing less than 2^-80 /// /// Number of bits in the number /// The number of rounds of the SPP test that should be = done private static int SppItrsForBitCount( uint bc ) { =09 // Data from HAC, 4.49 if ( bc <=3D 100 ) return 27; else if ( bc <=3D 150 ) return 18; else if ( bc <=3D 200 ) return 15; else if ( bc <=3D 250 ) return 12; else if ( bc <=3D 300 ) return 9; else if ( bc <=3D 350 ) return 8; else if ( bc <=3D 400 ) return 7; else if ( bc <=3D 500 ) return 6; else if ( bc <=3D 600 ) return 5; else if ( bc <=3D 800 ) return 4; else if ( bc <=3D 1250 ) return 3; else return 2; } =09 public bool isProbablePrime() { =09 BigInteger thisVal =3D this; // test for divisibility by primes < 2000 for(int p =3D 0; p < smallPrimes.Length; p++) { if(thisVal % smallPrimes[p] =3D=3D 0) return false; } return =20 Kernel.SmallPrimeSppTest(thisVal, SppItrsForBitCount(thisVal.length = * 32)); } #endregion #region Prime Number Generation =09 /// /// Generates the smallest prime >=3D bi /// /// A BigInteger /// The smallest prime >=3D bi. More mathematically, if bi is = prime: bi, else Prime[PrimePi[bi] + 1]. public static BigInteger NextHightestPrime( BigInteger bi ) { =09 // We copy the value to a new variable, because we will be=20 // modifying the bits. The length is increased incase there is not // an prime >=3D bi with the same length as bi (very unlikely, but // not worth the risk) BigInteger curVal =3D new BigInteger( bi, bi.length + 1 ); =09 // All primes > 2 are odd. curVal.data[0] |=3D 0x1; const uint primeProd1 =3D 3u* 5u * 7u * 11u * 13u * 17u * 19u * 23u * = 29u; uint pMod1 =3D curVal % primeProd1; =09 while(true) { if ( pMod1 % 3 =3D=3D 0 ) goto biNotPrime; if ( pMod1 % 5 =3D=3D 0 ) goto biNotPrime; if ( pMod1 % 7 =3D=3D 0 ) goto biNotPrime; if ( pMod1 % 11 =3D=3D 0 ) goto biNotPrime; if ( pMod1 % 13 =3D=3D 0 ) goto biNotPrime; if ( pMod1 % 17 =3D=3D 0 ) goto biNotPrime; if ( pMod1 % 19 =3D=3D 0 ) goto biNotPrime; if ( pMod1 % 23 =3D=3D 0 ) goto biNotPrime; if ( pMod1 % 29 =3D=3D 0 ) goto biNotPrime; =09 for(int p =3D 9; p < smallPrimes.Length; p++) { if(curVal % smallPrimes[p] =3D=3D 0) goto biNotPrime; } if ( Kernel.SmallPrimeSppTest(curVal, = SppItrsForBitCount(curVal.length * 32)) ) return curVal; =09 biNotPrime: pMod1 +=3D 2; if (pMod1 >=3D primeProd1) pMod1 -=3D primeProd1; curVal.Incr2(); } =09 } /// /// Increments this by two /// private void Incr2() { unchecked { int i =3D 0; data[0] +=3D 2; // If there was no carry, nothing to do if (data[0] < 2) { // Account for the first carry data[++i]++; // Keep adding until no carry while(data[i++] =3D=3D 0x0) data[i]++; // See if we increased the data length if( length =3D=3D (uint)i ) length++; } } =09 } =09 #endregion public sealed class ModulusRing { BigInteger mod, constant; public ModulusRing( BigInteger mod ) { this.mod =3D mod; // calculate constant =3D b^(2k) / m uint i =3D mod.length << 1; constant =3D new BigInteger( Sign.Positive, i + 1 ); constant.data[i] =3D 0x00000001; constant =3D constant / mod; } public BigInteger BarrettReduction(BigInteger x) { BigInteger n =3D mod; uint k =3D n.length, kPlusOne =3D k+1, kMinusOne =3D k-1; BigInteger q3; // // Validate pointers // if ( x.data.Length < x.length ) throw new IndexOutOfRangeException( = "x out of range" ); =09 if( x.length < kPlusOne ) return x; // q1 =3D x / b^(k-1) // q2 =3D q1 * constant // q3 =3D q2 / b^(k+1), Needs to be accessed with an offset of = kPlusOne =09 // TODO: We should the method in HAC p 604 to do this (14.45) q3 =3D new BigInteger(Sign.Positive, x.length - kMinusOne + = constant.length); Kernel.Multiply(x.data, kMinusOne, x.length - kMinusOne, = constant.data, 0, constant.length, q3.data, 0); // r1 =3D x mod b^(k+1) // i.e. keep the lowest (k+1) words uint lengthToCopy =3D (x.length > kPlusOne) ? kPlusOne : x.length; x.length =3D lengthToCopy; x.Normalize(); // r2 =3D (q3 * n) mod b^(k+1) // partial multiplication of q3 and n BigInteger r2 =3D new BigInteger(Sign.Positive, kPlusOne); Kernel.MultiplyMod2p32pmod(q3.data, (int)kPlusOne, (int)q3.length - = (int)kPlusOne, n.data, 0, (int)n.length, r2.data, 0, (int)kPlusOne); r2.Normalize(); if (r2 < x ) { Kernel.MinusEq(x, r2); } else { BigInteger val =3D new BigInteger(Sign.Positive, kPlusOne + 1); val.data[kPlusOne] =3D 0x00000001; BigInteger aa =3D x - r2; BigInteger bb =3D aa + val; Kernel.MinusEq( val, r2 ); Kernel.PlusEq( x, val ); =09 } while(x >=3D n)=20 Kernel.MinusEq(x, n); return x; } public BigInteger Multiply( BigInteger a, BigInteger b ) { // XXX: is this right? if (a.length >=3D mod.length << 1) a %=3D mod; if (b.length >=3D mod.length << 1) b %=3D mod; if (a.length >=3D mod.length) a =3D BarrettReduction( a ); if (b.length >=3D mod.length) b =3D BarrettReduction( b ); return BarrettReduction( a * b); } public BigInteger Pow(BigInteger b, BigInteger exp) { BigInteger resultNum =3D new BigInteger( (BigInteger)1, mod.length = << 1 ); BigInteger tempNum; tempNum =3D b % mod; // ensures (tempNum * tempNum) < b^(2k) tempNum =3D new BigInteger( tempNum, mod.length << 1 ); int totalBits =3D exp.bitCount(); int count =3D 0; uint[] wkspace =3D new uint[mod.length << 1]; // perform squaring and multiply exponentiation for(int pos =3D 0; pos < exp.length; pos++) { uint mask =3D 0x01; for(int index =3D 0; index < 32; index++) { if((exp.data[pos] & mask) !=3D 0) { Array.Clear(wkspace, 0, wkspace.Length); Kernel.Multiply(resultNum.data, 0, resultNum.length, = tempNum.data, 0, tempNum.length, wkspace, 0); resultNum.length +=3D tempNum.length; uint[] t =3D wkspace; wkspace =3D resultNum.data; resultNum.data =3D t; resultNum =3D BarrettReduction(resultNum); } mask <<=3D 1; Kernel.SquarePositive(tempNum, ref wkspace); tempNum =3D BarrettReduction(tempNum); if(tempNum =3D=3D 1) { return resultNum; } count++; if(count =3D=3D totalBits) break; } } return resultNum; } #region Two Pow /// /// Calculates 2^exp (mod mod) /// /// The exponent /// 2^exp (mod mod) /// public BigInteger TwoPow(BigInteger exp) { if((mod.data[0] & 1) =3D=3D 1) return OddModTwoPow(exp); // TODO: make tests for this else return EvenModTwoPow(exp); } private unsafe BigInteger EvenModTwoPow(BigInteger exp) { exp.Normalize(); uint[] wkspace =3D new uint[mod.length << 1 + 1]; =09 BigInteger resultNum =3D new BigInteger( 2, mod.length << 1 +1); uint value =3D exp.data[exp.length - 1]; uint mask =3D 0x80000000; // Find the first bit of the exponent while((value & mask) =3D=3D 0) mask >>=3D 1; // // We know that the first itr will make the val 2, // so eat one bit of the exponent // mask >>=3D 1; uint wPos =3D exp.length - 1; do { value =3D exp.data[wPos]; do { Kernel.SquarePositive(resultNum, ref wkspace); if( !(resultNum.length < mod.length) ) resultNum =3D BarrettReduction(resultNum); if( (value & mask) !=3D 0 ) { // // resultNum =3D (resultNum * 2) % mod // fixed ( uint* u =3D resultNum.data) { // // Double // uint* uu =3D u; uint* uuE =3D u + resultNum.length; uint x, carry =3D 0; while (uu < uuE) { x =3D *uu; *uu =3D (x << 1) | carry; carry =3D x >> (32 - 1); uu++; } // subtraction inlined because we know it is square if( carry !=3D 0 || resultNum >=3D mod ) { uu =3D u; uint c =3D 0; uint[] s =3D mod.data; uint i =3D 0; do { uint a =3D s[i]; if ( ((a +=3D c) < c) | ( (*(uu++) -=3D a) > ~a ) ) c =3D 1; else c =3D 0; i++; } while ( uu < uuE ); } } } } while ( (mask >>=3D 1) > 0 ); mask =3D 0x80000000; } while( wPos-- > 0 ); return resultNum; =09 } private unsafe BigInteger OddModTwoPow(BigInteger exp) { uint[] wkspace =3D new uint[mod.length << 1 + 1]; =09 BigInteger resultNum =3D Montgomery.ToMont((BigInteger)2, this.mod); resultNum =3D new BigInteger( resultNum, mod.length << 1 +1); uint mPrime =3D Montgomery.Inverse ( mod.data[0] ); // // TODO: eat small bits, the ones we can do with no modular = reduction // uint pos =3D (uint)exp.bitCount() - 2; do { Kernel.SquarePositive(resultNum, ref wkspace); resultNum =3D Montgomery.Reduce( resultNum, mod, mPrime); if( exp.testBit(pos) ) { // // resultNum =3D (resultNum * 2) % mod // fixed ( uint* u =3D resultNum.data) { // // Double // uint* uu =3D u; uint* uuE =3D u + resultNum.length; uint x, carry =3D 0; while (uu < uuE) { x =3D *uu; *uu =3D (x << 1) | carry; carry =3D x >> (32 - 1); uu++; } // subtraction inlined because we know it is square if( carry !=3D 0 || resultNum >=3D mod ) { fixed( uint* s =3D mod.data ) { uu =3D u; uint c =3D 0; uint* ss =3D s; do { uint a =3D *ss++; if ( ((a +=3D c) < c) | ( (*(uu++) -=3D a) > ~a ) ) c =3D 1; else c =3D 0; } while ( uu < uuE ); } } } } } while ( pos-- > 0 ); resultNum =3D Montgomery.Reduce( resultNum, mod, mPrime); return resultNum; =09 } #endregion #region Pow Small Base public BigInteger Pow(uint b, BigInteger exp) { if ( b !=3D 2 ) { if((mod.data[0] & 1) =3D=3D 1) return OddPow(b, exp); // TODO: make tests for this else return EvenPow(b, exp); } else { if((mod.data[0] & 1) =3D=3D 1) return OddModTwoPow(exp); // TODO: make tests for this else return EvenModTwoPow(exp); } } private unsafe BigInteger OddPow(uint b, BigInteger exp) { exp.Normalize(); uint[] wkspace =3D new uint[mod.length << 1 + 1]; BigInteger resultNum =3D Montgomery.ToMont((BigInteger)b, this.mod); resultNum =3D new BigInteger( resultNum, mod.length << 1 +1); uint mPrime =3D Montgomery.Inverse ( mod.data[0] ); uint value =3D exp.data[exp.length - 1]; uint mask =3D 0x80000000; while((value & mask) =3D=3D 0) mask >>=3D 1; // // We know that the first itr will make the val b // mask >>=3D 1; uint wPos =3D exp.length - 1; do { value =3D exp.data[wPos]; do { // // r =3D r ^ 2 % m // Kernel.SquarePositive(resultNum, ref wkspace); resultNum =3D Montgomery.Reduce( resultNum, mod, mPrime); if( (value & mask) !=3D 0 ) { =09 // // r =3D r * b % m // // TODO: Is Unsafe really speeding things up? fixed ( uint* u =3D resultNum.data) { uint i =3D 0; ulong mc =3D 0; do { mc +=3D (ulong)u[i] * (ulong)b; u[i] =3D (uint)(mc & 0xFFFFFFFF); mc >>=3D 32; } while (++i < resultNum.length); =09 if(resultNum.length < mod.length){ if (mc !=3D 0) { u[i] =3D (uint)mc; resultNum.length++; while(resultNum >=3D mod) Kernel.MinusEq( resultNum, mod); } } else if( mc !=3D 0 ) { =09 // // First, we estimate the quotient by dividing // the first part of each of the numbers. Then // we correct this, if necessary, with a subtraction. // uint cc =3D (uint)mc; =09 // We would rather have this estimate overshoot, // so we add one to the divisor uint divEstimate =3D (uint) ((((ulong)cc << 32) | (ulong) u[i = -1]) /=20 (mod.data[mod.length-1] + 1)); =09 uint t;=0A= =0A= i =3D 0;=0A= mc =3D 0;=0A= do { mc +=3D (ulong)mod.data[i] * (ulong)divEstimate; t =3D u[i]; u[i] -=3D (uint)mc; mc >>=3D 32; if( u[i] > t) mc++; i++; } while ( i < resultNum.length );=0A= cc -=3D (uint)mc;=0A= if( cc !=3D 0 ) { uint sc =3D 0, j =3D 0; uint[] s =3D mod.data; do { uint a =3D s[j]; if ( ((a +=3D sc) < sc) | ( (u[j] -=3D a) > ~a ) ) sc =3D 1; else sc =3D 0; j++; } while ( j < resultNum.length ); cc -=3D sc; } while(resultNum >=3D mod) Kernel.MinusEq( resultNum, mod); } else { while(resultNum >=3D mod) Kernel.MinusEq( resultNum, mod); } } } } while ( (mask >>=3D 1) > 0 ); mask =3D 0x80000000; } while( wPos-- > 0 ); resultNum =3D Montgomery.Reduce( resultNum, mod, mPrime); return resultNum; =09 } private unsafe BigInteger EvenPow(uint b, BigInteger exp) { exp.Normalize(); uint[] wkspace =3D new uint[mod.length << 1 + 1]; BigInteger resultNum =3D new BigInteger( (BigInteger)b, mod.length = << 1 + 1); uint value =3D exp.data[exp.length - 1]; uint mask =3D 0x80000000; while((value & mask) =3D=3D 0) mask >>=3D 1; // // We know that the first itr will make the val b // mask >>=3D 1; uint wPos =3D exp.length - 1; do { value =3D exp.data[wPos]; do { // // r =3D r ^ 2 % m // Kernel.SquarePositive(resultNum, ref wkspace); if( !(resultNum.length < mod.length) ) resultNum =3D BarrettReduction(resultNum); if( (value & mask) !=3D 0 ) { =09 // // r =3D r * b % m // // TODO: Is Unsafe really speeding things up? fixed ( uint* u =3D resultNum.data) { uint i =3D 0; ulong mc =3D 0; do { mc +=3D (ulong)u[i] * (ulong)b; u[i] =3D (uint)(mc & 0xFFFFFFFF); mc >>=3D 32; } while (++i < resultNum.length); =09 if(resultNum.length < mod.length){ if (mc !=3D 0) { u[i] =3D (uint)mc; resultNum.length++; while(resultNum >=3D mod) Kernel.MinusEq( resultNum, mod); } } else if( mc !=3D 0 ) { =09 // // First, we estimate the quotient by dividing // the first part of each of the numbers. Then // we correct this, if necessary, with a subtraction. // uint cc =3D (uint)mc; =09 // We would rather have this estimate overshoot, // so we add one to the divisor uint divEstimate =3D (uint) ((((ulong)cc << 32) | (ulong) u[i = -1]) /=20 (mod.data[mod.length-1] + 1)); =09 uint t;=0A= =0A= i =3D 0;=0A= mc =3D 0;=0A= do { mc +=3D (ulong)mod.data[i] * (ulong)divEstimate; t =3D u[i]; u[i] -=3D (uint)mc; mc >>=3D 32; if( u[i] > t) mc++; i++; } while ( i < resultNum.length );=0A= cc -=3D (uint)mc;=0A= if( cc !=3D 0 ) { uint sc =3D 0, j =3D 0; uint[] s =3D mod.data; do { uint a =3D s[j]; if ( ((a +=3D sc) < sc) | ( (u[j] -=3D a) > ~a ) ) sc =3D 1; else sc =3D 0; j++; } while ( j < resultNum.length ); cc -=3D sc; } while(resultNum >=3D mod) Kernel.MinusEq( resultNum, mod); } else { while(resultNum >=3D mod) Kernel.MinusEq( resultNum, mod); } } } } while ( (mask >>=3D 1) > 0 ); mask =3D 0x80000000; } while( wPos-- > 0 ); return resultNum; =09 } #endregion } public sealed class Montgomery { public static uint Inverse( uint n ) { uint y =3D n, z; Debug.Assert( (n & 1) =3D=3D 1, "n Must be odd"); while ((z =3D n * y) !=3D 1) y *=3D 2 - z; return (uint)-y; } public static BigInteger ToMont( BigInteger n, BigInteger m ) { n.Normalize(); m.Normalize(); n <<=3D (int)m.length * 32; n %=3D m; return n; } public static unsafe BigInteger Reduce( BigInteger n, BigInteger m, = uint mPrime ) { =20 BigInteger A =3D n; fixed( uint* a =3D A.data, mm =3D m.data ) { for( uint i =3D 0; i < m.length; i++ ) { // The mod here is taken care of by the CPU, // since the multiply will overflow. uint u_i =3D a[0] * mPrime /* % 2^32 */; // // A +=3D u_i * m; // A >>=3D 32 // // mP =3D Position in mod // aSP =3D the source of bits from a // aDP =3D destination for bits uint* mP =3D mm, aSP =3D a, aDP =3D a; ulong c =3D (ulong)u_i * (ulong)*(mP++) + *(aSP++); c >>=3D 32; uint j =3D 1; // Multiply and add for( ; j < m.length; j++ ) { c +=3D (ulong)u_i * (ulong)*(mP++) + *(aSP++); *(aDP++) =3D (uint)c; c >>=3D 32; } // Account for carry // TODO: use a better loop here, we dont need the ulong stuff for( ; j < A.length; j++ ) { c +=3D *(aSP++); *(aDP++) =3D (uint)c; c >>=3D 32; if( c =3D=3D 0) {j++; break;} } // Copy the rest for( ; j < A.length; j++ ) { *(aDP++) =3D *(aSP++); } *(aDP++) =3D (uint)c; } =09 while( A.length > 1 && a[A.length-1] =3D=3D 0 ) A.length--; } if ( A >=3D m ) Kernel.MinusEq( A, m ); =09 return A; } public static BigInteger Reduce( BigInteger n, BigInteger m ) { return Reduce(n, m, Inverse(m.data[0])); } } /// /// Low level functions for the BigInteger /// private sealed class Kernel { #region Addition/Subtraction /// /// Adds two numbers with the same sign. /// /// A BigInteger /// A BigInteger /// bi1 + bi2 public static BigInteger AddSameSign ( BigInteger bi1, BigInteger bi2 = ) { uint[] x, y; uint yMax, xMax, i =3D 0; // x should be bigger if (bi1.length < bi2.length){ x =3D bi2.data; xMax =3D bi2.length; y =3D bi1.data; yMax =3D bi1.length; } else { x =3D bi1.data; xMax =3D bi1.length; y =3D bi2.data; yMax =3D bi2.length; }=0A= BigInteger result =3D new BigInteger( Sign.Positive, xMax + 1 );=0A= =0A= uint[] r =3D result.data;=0A= =0A= ulong sum =3D 0;=0A= =0A= // Add common parts of both numbers=0A= do {=0A= sum =3D ((ulong)x[i]) +=0A= ((ulong)y[i]) + sum;=0A= r[i] =3D (uint)sum;=0A= sum >>=3D 32;=0A= } while ( ++i < yMax );=0A= =0A= // Copy remainder of longer number while carry propagation is = required=0A= bool carry =3D (sum !=3D 0);=0A= if (carry){=0A= =0A= if ( i < xMax ) {=0A= do {=0A= carry =3D ((r[i] =3D x[i] + 1) =3D=3D 0);=0A= } while ( ++i < xMax && carry);=0A= }=0A= if (carry) {=0A= r[i] =3D 1;=0A= result.length =3D ++i;=0A= return result;=0A= }=0A= }=0A= =0A= // Copy the rest=0A= if( i < xMax ) {=0A= =0A= do {=0A= r[i] =3D x[i];=0A= } while ( ++i < xMax );=0A= =0A= }=0A= result.Normalize(); return result; } public static BigInteger Subtract ( BigInteger big, BigInteger small = ) { BigInteger result =3D new BigInteger ( Sign.Positive, big.length ); uint [] r =3D result.data, b =3D big.data, s =3D small.data; uint i =3D 0, c =3D 0; do { uint x =3D s[i]; if ( ((x +=3D c) < c) | ( (r[i] =3D b[i] - x) > ~x ) ) c =3D 1; else c =3D 0; } while ( ++i < small.length ); if ( i =3D=3D big.length ) goto fixup; if ( c =3D=3D 1 ) { do { r[i] =3D b[i] - 1; } while (b[i++] =3D=3D 0 && i < big.length); if ( i =3D=3D big.length ) goto fixup; } do { r[i] =3D b[i]; } while (++i < big.length); fixup: result.Normalize(); return result; } public static void MinusEq ( BigInteger big, BigInteger small ) { uint[] b =3D big.data, s =3D small.data; uint i =3D 0, c =3D 0; do { uint x =3D s[i]; if ( ((x +=3D c) < c) | ( (b[i] -=3D x) > ~x ) ) c =3D 1; else c =3D 0; } while ( ++i < small.length ); if ( i =3D=3D big.length ) goto fixup; if ( c =3D=3D 1 ) { do { b[i]--; } while (b[i++] =3D=3D 0 && i < big.length); if ( i =3D=3D big.length ) goto fixup; } fixup: // Normalize length while(big.length > 0 && big.data[big.length-1] =3D=3D 0) = big.length--; // Check for zero if (big.length =3D=3D 0) { big.length++; } } public static void PlusEq ( BigInteger bi1, BigInteger bi2 ) { uint[] x, y; uint yMax, xMax, i =3D 0; bool flag =3D false; // x should be bigger if (bi1.length < bi2.length){ flag =3D true; x =3D bi2.data; xMax =3D bi2.length; y =3D bi1.data; yMax =3D bi1.length; } else { x =3D bi1.data; xMax =3D bi1.length; y =3D bi2.data; yMax =3D bi2.length; }=0A= =0A= uint[] r =3D bi1.data;=0A= =0A= ulong sum =3D 0;=0A= =0A= // Add common parts of both numbers=0A= do {=0A= sum =3D ((ulong)x[i]) +=0A= ((ulong)y[i]) + sum;=0A= r[i] =3D (uint)sum;=0A= sum >>=3D 32;=0A= } while ( ++i < yMax );=0A= =0A= // Copy remainder of longer number while carry propagation is = required=0A= bool carry =3D (sum !=3D 0);=0A= if (carry){=0A= =0A= if ( i < xMax ) {=0A= do {=0A= carry =3D ((r[i] =3D x[i] + 1) =3D=3D 0);=0A= } while ( ++i < xMax && carry);=0A= }=0A= if (carry) {=0A= r[i] =3D 1;=0A= bi1.length =3D ++i;=0A= return;=0A= }=0A= }=0A= // Copy the rest=0A= if( flag && i < xMax - 1 ) {=0A= =0A= do {=0A= r[i] =3D x[i];=0A= } while ( ++i < xMax);=0A= =0A= }=0A= =0A= =0A= bi1.length =3D xMax + 1; bi1.Normalize(); } #endregion #region Compare /// /// Compares two BigInteger /// /// A BigInteger /// A BigInteger /// The sign of bi1 - bi2 public static Sign Compare( BigInteger bi1, BigInteger bi2 ) { // // Step 2. Compare the lengths // =09 uint l1 =3D bi1.length, l2 =3D bi2.length; while(l1 > 0 && bi1.data[l1-1] =3D=3D 0) l1--; while(l1 > 0 && bi2.data[l2-1] =3D=3D 0) l2--; =09 if (l1 =3D=3D 0 && l2 =3D=3D 0) return Sign.Zero; // bi1 len < bi2 len if (l1 < l2) return Sign.Negative; // bi1 len > bi2 len else if (l1 > l2) return Sign.Positive; // // Step 3. Compare the bits // // bi1 and bi2 have same sign, length =09 uint pos =3D l1 - 1; do { if (bi1.data[pos] < bi2.data[pos]) return Sign.Negative; else if (bi1.data[pos] > bi2.data[pos]) return Sign.Positive; } while (pos-- > 0); // same number return Sign.Zero; =09 } public static Sign CompareSameSign( BigInteger bi1, BigInteger bi2 ) = { uint l1 =3D bi1.length, l2 =3D bi2.length; while(l1 > 0 && bi1.data[l1-1] =3D=3D 0) l1--; while(l2 > 0 && bi2.data[l2-1] =3D=3D 0) l2--; if (l1 =3D=3D 0 && l2 =3D=3D 0) return Sign.Zero; // bi1 len < bi2 len if (l1 < l2) return Sign.Negative; // bi1 len > bi2 len else if (l1 > l2) return Sign.Positive; // bi1 and bi2 have same sign, length else { uint pos =3D bi1.length - 1; do { if (bi1.data[pos] < bi2.data[pos]) return Sign.Negative; else if (bi1.data[pos] > bi2.data[pos]) return Sign.Positive; } while (pos-- > 0); // same number return Sign.Zero; } } #endregion #region Division #region Dword /// /// Performs n / d and n % d in one operation. /// /// A BigInteger, upon exit this will hold n / = d /// The divisor /// n % d public static uint SingleByteDivideInPlace ( BigInteger n, uint d) { ulong r =3D 0; uint i =3D n.length; while (i-- > 0) { r <<=3D 32; r |=3D n.data[i]; n.data[i] =3D (uint)(r / d); r %=3D d; } n.Normalize(); return (uint)r; } public static uint DwordMod ( BigInteger n, uint d ) { ulong r =3D 0; uint i =3D n.length; while (i-- > 0) { r <<=3D 32; r |=3D n.data[i]; r %=3D d; } return (uint)r; } public static BigInteger DwordDiv ( BigInteger n, uint d ) { BigInteger ret =3D new BigInteger ( Sign.Positive, n.length ); ulong r =3D 0; uint i =3D n.length; while (i-- > 0) { r <<=3D 32; r |=3D n.data[i]; ret.data[i] =3D (uint)(r / d); r %=3D d; } ret.Normalize(); return ret; } public static BigInteger[] DwordDivMod( BigInteger n, uint d, Sign = dSign) { BigInteger ret =3D new BigInteger ( Sign.Positive , n.length ); ulong r =3D 0; uint i =3D n.length; while (i-- > 0) { r <<=3D 32; r |=3D n.data[i]; ret.data[i] =3D (uint)(r / d); r %=3D d; } ret.Normalize(); BigInteger rem =3D new BigInteger( (uint)r); rem.Normalize(); return new BigInteger[] {ret, rem}; } #endregion #region BigNum public static BigInteger[] multiByteDivide(BigInteger bi1, BigInteger = bi2) { if( CompareSameSign(bi1, bi2) =3D=3D Sign.Negative ) return new BigInteger[2] { 0, new BigInteger(bi1) }; bi1.Normalize(); bi2.Normalize(); if( bi2.length =3D=3D 1 ) return DwordDivMod(bi1, bi2.data[0], Sign.Positive); uint remainderLen =3D bi1.length + 1; int divisorLen =3D (int)bi2.length + 1; uint mask =3D 0x80000000; uint val =3D bi2.data[bi2.length - 1]; int shift =3D 0; int resultPos =3D (int)bi1.length - (int)bi2.length; while(mask !=3D 0 && (val & mask) =3D=3D 0) { shift++; mask >>=3D 1; } BigInteger quot =3D new BigInteger ( Sign.Positive, bi1.length - = bi2.length + 1 ); BigInteger rem =3D (bi1 << shift); uint [] remainder =3D rem.data; bi2 =3D bi2 << shift; int j =3D (int)(remainderLen - bi2.length); int pos =3D (int)remainderLen - 1; uint firstDivisorByte =3D bi2.data[bi2.length-1]; ulong secondDivisorByte =3D bi2.data[bi2.length-2]; while(j > 0) { ulong dividend =3D ((ulong)remainder[pos] << 32) + = (ulong)remainder[pos-1]; ulong q_hat =3D dividend / (ulong)firstDivisorByte; ulong r_hat =3D dividend % (ulong)firstDivisorByte; do { if(q_hat =3D=3D 0x100000000 || (q_hat * secondDivisorByte) > ((r_hat << 32) + remainder[pos-2])) = { q_hat--; r_hat +=3D (ulong)firstDivisorByte; if(r_hat < 0x100000000) continue; } } while (false); =09 // // At this point, q_hat is either exact, or one too large // (more likely to be exact) so, we attempt to multiply the // divisor by q_hat, if we get a borrow, we just subtract // one from q_hat and add the divisor back. // uint t;=0A= uint dPos =3D 0;=0A= int nPos =3D pos - divisorLen + 1;=0A= ulong mc =3D 0;=0A= uint uint_q_hat =3D (uint)q_hat;=0A= do { mc +=3D (ulong)bi2.data[dPos] * (ulong)uint_q_hat; t =3D remainder[nPos]; remainder[nPos] -=3D (uint)mc; mc >>=3D 32; if( remainder[nPos] > t) mc++; dPos++; nPos++; } while ( dPos < divisorLen );=0A= =0A= nPos =3D pos - divisorLen + 1;=0A= dPos =3D 0;=0A= =0A= // Overestimate=0A= if( mc !=3D 0 ) {=0A= q_hat--;=0A= ulong sum =3D 0;=0A= =0A= do {=0A= sum =3D ((ulong)remainder[nPos]) + ((ulong)bi2.data[dPos]) + sum;=0A= remainder[nPos] =3D (uint)sum;=0A= sum >>=3D 32;=0A= dPos++; nPos++;=0A= } while ( dPos < divisorLen );=0A= =0A= }=0A= =09 quot.data[resultPos--] =3D (uint)q_hat; pos--; j--; } quot.Normalize(); rem.Normalize(); BigInteger[] ret =3D new BigInteger[2] { quot, rem }; if( shift !=3D 0 ) ret[1] >>=3D shift; return ret; } #endregion #endregion #region Shift public static BigInteger LeftShift (BigInteger bi, int n) { if( n =3D=3D 0) return new BigInteger( bi, bi.length + 1); int w =3D n >> 5; n &=3D ((1 << 5) - 1); BigInteger ret =3D new BigInteger( Sign.Positive, bi.length + 1 + = (uint)w); uint i =3D 0, l =3D bi.length; if (n !=3D 0) { uint x, carry =3D 0; while (i < l) { x =3D bi.data[i]; ret.data[i + w] =3D (x << n) | carry; carry =3D x >> (32 - n); i++; } ret.data[i + w] =3D carry; } else { while (i < l) { ret.data[i + w] =3D bi.data[i]; i++; } } ret.Normalize(); return ret; } public static BigInteger RightShift( BigInteger bi, int n) { =09 if( n =3D=3D 0) return new BigInteger( bi ); int w =3D n >> 5; int s =3D n & ((1 << 5) - 1);=20 BigInteger ret =3D new BigInteger( Sign.Positive, bi.length - = (uint)w + 1); uint l =3D (uint)ret.data.Length - 1; if (s !=3D 0) { uint x, carry =3D 0; =09 while (l-- > 0) { x =3D bi.data[l + w]; ret.data[l] =3D (x >> n) | carry; carry =3D x << (32 - n); } } else { while (l-- > 0) ret.data[l] =3D bi.data[l + w]; } ret.Normalize(); return ret; } #endregion #region Multiply =09 public static BigInteger MultiplyByDword ( BigInteger n, uint f, Sign = s ) { BigInteger ret =3D new BigInteger( Sign.Positive, n.length + 1 ); uint i =3D 0; ulong c =3D 0; do { c +=3D (ulong)n.data[i] * (ulong)f; ret.data[i] =3D (uint)(c & 0xFFFFFFFF); c >>=3D 32; } while (++i < n.length); ret.data[i] =3D (uint)c; ret.Normalize(); return ret; } /// /// Multiplies the data in x[xOffset:xOffset+xLen] by=20 /// y[yOffset:yOffset+yLen] and puts it into=20 /// d[dOffset:dOffset+xLen+yLen]. /// /// /// This code is unsafe! It is the caller's responsibility to make /// sure that it is safe to access x[xOffset:xOffset+xLen],=20 /// y[yOffset:yOffset+yLen], and d[dOffset:dOffset+xLen+yLen]. /// public static unsafe void Multiply ( uint[] x, uint xOffset, uint = xLen, uint[] y, uint yOffset, uint yLen, uint[] d, uint dOffset ) { fixed (uint* xx =3D x, yy =3D y, dd =3D d) { uint* xP =3D xx + xOffset, xE =3D xP + xLen, yB =3D yy + yOffset, yE =3D yB + yLen, dB =3D dd + dOffset; for(; xP < xE; xP++, dB++) { if(*xP =3D=3D 0) continue; ulong mcarry =3D 0; uint* dP =3D dB; for(uint* yP =3D yB; yP < yE; yP++, dP++) { mcarry +=3D ((ulong)*xP * (ulong)*yP) + (ulong)*dP; *dP =3D (uint)(mcarry & 0xFFFFFFFF); mcarry >>=3D 32; } if(mcarry !=3D 0) *dP =3D (uint)mcarry; } } } /// /// Multiplies the data in x[xOffset:xOffset+xLen] by=20 /// y[yOffset:yOffset+yLen] and puts the low mod words into=20 /// d[dOffset:dOffset+mod]. /// /// /// This code is unsafe! It is the caller's responsibility to make /// sure that it is safe to access x[xOffset:xOffset+xLen],=20 /// y[yOffset:yOffset+yLen], and d[dOffset:dOffset+mod]. /// public static unsafe void MultiplyMod2p32pmod ( uint[] x, int = xOffset, int xLen, uint[] y, int yOffest, int yLen, uint[] d, int = dOffset, int mod ) { fixed (uint* xx =3D x, yy =3D y, dd =3D d) { uint* xP =3D xx + xOffset, xE =3D xP + xLen, yB =3D yy + yOffest, yE =3D yB + yLen, dB =3D dd + dOffset, dE =3D dB + mod; for(; xP < xE; xP++, dB++) { if(*xP =3D=3D 0) continue; ulong mcarry =3D 0; uint* dP =3D dB; for(uint* yP =3D yB; yP < yE && dP < dE; yP++, dP++) { mcarry +=3D ((ulong)*xP * (ulong)*yP) + (ulong)*dP; *dP =3D (uint)mcarry; mcarry >>=3D 32; } if(mcarry !=3D 0 && dP < dE) *dP =3D (uint)mcarry; } } } public static unsafe void SquarePositive(BigInteger bi, ref uint[] = wkSpace) { Debug.Assert(wkSpace.Length >=3D bi.length << 1); uint [] t =3D wkSpace; wkSpace =3D bi.data; uint [] d =3D bi.data; uint dl =3D bi.length; bi.data =3D t; =09 fixed (uint* dd =3D d, tt =3D t) { =20 uint* ttE =3D tt + t.Length; // Clear the dest for(uint* ttt =3D tt; ttt < ttE; ttt++) *ttt =3D 0; uint* dP =3D dd, tP =3D tt; for(uint i =3D 0; i < dl; i++, dP++) { if (*dP =3D=3D 0) continue; ulong mcarry =3D 0; uint bi1val =3D *dP; uint* dP2 =3D dP + 1, tP2 =3D tP + 2*i + 1; for(uint j =3D i + 1; j < dl; j++, tP2++, dP2++) { // k =3D i + j mcarry +=3D ((ulong)bi1val * (ulong)*dP2) + *tP2; *tP2 =3D (uint)mcarry; mcarry >>=3D 32; } if(mcarry !=3D 0) *tP2 =3D (uint)mcarry; } // Double t. Inlined for speed. tP =3D tt; uint x, carry =3D 0; while (tP < ttE) { x =3D *tP; *tP =3D (x << 1) | carry; carry =3D x >> (32 - 1); tP++; } if ( carry !=3D 0 ) *tP =3D carry; // Add in the diagnals dP =3D dd; tP =3D tt; for (uint* dE =3D dP + dl; (dP < dE); dP++, tP++ ) { ulong val =3D (ulong)*dP * (ulong)*dP + *tP; *tP =3D (uint)val; val >>=3D 32; *(++tP) +=3D (uint)val; =09 if (*tP < (uint)val) { uint* tP3 =3D tP; // Account for the first carry (*++tP3)++; // Keep adding until no carry while((*tP3++) =3D=3D 0x0) (*tP3)++; } } =09 bi.length <<=3D 1; // Normalize length while( tt[bi.length-1] =3D=3D 0 && bi.length > 1 ) bi.length--; } } public static bool Double( uint[] u, int l ) { uint x, carry =3D 0; uint i =3D 0; while (i < l) { x =3D u[i]; u[i] =3D (x << 1) | carry; carry =3D x >> (32 - 1); i++; } if ( carry !=3D 0 ) u[l] =3D carry; return carry !=3D 0; } #endregion #region Number Theory =09 public static BigInteger gcd(BigInteger a, BigInteger b) { BigInteger x =3D a; BigInteger y =3D b; BigInteger g =3D y; while(x.length > 1) { g =3D x; x =3D y % x; y =3D g; =09 } if ( x =3D=3D 0 ) return g; =09 // TODO: should we have something here if we can convert to long? // // Now we can just do it with single precision. I am using the = extended gcd method, // as it should be faster. // =09 uint yy =3D x.data[0]; uint xx =3D y % yy; =09 int t =3D 0; while ( ((xx | yy) & 1) =3D=3D 0) { xx >>=3D 1; yy >>=3D 1; t++; } while ( xx !=3D 0 ){ while ( (xx & 1) =3D=3D 0 ) xx >>=3D 1; while ( (yy & 1) =3D=3D 0 ) yy >>=3D 1; if ( xx >=3D yy ) xx =3D (xx - yy) >> 1; else yy =3D (yy - xx) >> 1; } return yy << t; } public static BigInteger modInverse(BigInteger bi, BigInteger = modulus) { BigInteger[] p =3D { 0, 1 }; BigInteger[] q =3D new BigInteger[2]; // quotients BigInteger[] r =3D { 0, 0 }; // remainders int step =3D 0; BigInteger a =3D modulus; BigInteger b =3D bi; ModulusRing mr =3D new ModulusRing( modulus ); while(b.length > 1 || (b.length =3D=3D 1 && b.data[0] !=3D 0)) { if(step > 1) { p[0] +=3D modulus; =09 BigInteger pval =3D (p[0] - (p[1] * q[0]) % modulus) % modulus; p[0] =3D p[1]; p[1] =3D pval; } BigInteger[] divret =3D multiByteDivide(a, b); q[0] =3D q[1]; r[0] =3D r[1]; q[1] =3D divret[0]; r[1] =3D divret[1]; a =3D b; b =3D divret[1]; step++; } if(r[0].length > 1 || (r[0].length =3D=3D 1 && r[0].data[0] !=3D 1)) throw (new ArithmeticException("No inverse!")); // TODO: clean this up p[0] +=3D modulus; BigInteger t =3D (p[1] * q[0]) % modulus; return (p[0] - t) % modulus; //BigInteger result =3D ((p[0] - (p[1] * q[0])) % modulus); // NEGPROBLEM //if(result.isNeg) // result +=3D modulus; // get the least positive modulus } #endregion #region Prime Testing /// /// Probabilistic prime test based on Rabin-Miller's test /// /// /// /// The number to test. /// /// /// /// /// The number of chosen bases. The test has a=20 /// 1/4^confidence chance of falsely returning True. /// /// /// /// /// True if "this" is a strong pseudoprime to randomly chosen /// bases. =20 /// /// /// False if "this" is definitely NOT prime. /// /// public static bool RabinMillerTest(BigInteger bi, int confidence) { BigInteger thisVal; thisVal =3D bi; // calculate values of s and t BigInteger p_sub1 =3D thisVal - 1; int s =3D 0; for(int index =3D 0; index < p_sub1.length; index++) { uint mask =3D 0x01; for(int i =3D 0; i < 32; i++) { if((p_sub1.data[index] & mask) !=3D 0) { goto end_loop; } mask <<=3D 1; s++; } } end_loop: BigInteger t =3D p_sub1 >> s; int bits =3D thisVal.bitCount(); BigInteger a =3D null; RandomNumberGenerator rng =3D RandomNumberGenerator.Create(); ModulusRing mr =3D new ModulusRing( thisVal ); for(int round =3D 0; round < confidence; round++) { bool done =3D false; while(!done) { // generate a < n a =3D genRandom( bits, rng ); uint byteLen =3D a.length; // make sure "a" is not 0 if (a > 1 && a < thisVal) done =3D true; } BigInteger gcdTest =3D a.gcd(thisVal); =09 if (gcdTest !=3D 1) return false; =09 BigInteger b =3D mr.Pow(a, t); =09 if (b =3D=3D 1) continue; // a^t mod p =3D 1 =09 bool result =3D false; for(int j =3D 0; j < s; j++) { if(b =3D=3D p_sub1) { // a^((2^j)*t) mod p =3D p-1 for = some 0 <=3D j <=3D s-1 result =3D true; break; } b =3D (b * b) % thisVal; } if(result =3D=3D false) return false; } return true; } public static bool SmallPrimeSppTest( BigInteger bi, int confidence) = { BigInteger thisVal; thisVal =3D bi; // calculate values of s and t BigInteger p_sub1 =3D thisVal - 1; int s =3D 0; for(int index =3D 0; index < p_sub1.length; index++) { uint mask =3D 0x01; for(int i =3D 0; i < 32; i++) { if((p_sub1.data[index] & mask) !=3D 0) { goto end_loop; } mask <<=3D 1; s++; } } end_loop: BigInteger t =3D p_sub1 >> s; =09 ModulusRing mr =3D new ModulusRing( thisVal ); for(int round =3D 0; round < confidence; round++) { uint a =3D smallPrimes[round];=09 BigInteger b =3D mr.Pow(a, t); =09 if (b =3D=3D 1) continue; // a^t mod p =3D 1 =09 bool result =3D false; for(int j =3D 0; j < s; j++) { if(b =3D=3D p_sub1) { // a^((2^j)*t) mod p =3D p-1 for = some 0 <=3D j <=3D s-1 result =3D true; break; } b =3D (b * b) % thisVal; } if(result =3D=3D false) return false; } return true; =09 } #endregion } } } ------=_NextPart_000_0000_01C2F325.2CC14B80-- From mriglip@hotmail.com Wed Mar 26 06:38:40 2003 From: mriglip@hotmail.com (Antonis Ntounetas) Date: Wed, 26 Mar 2003 06:38:40 +0000 Subject: [Mono-list] C# help Message-ID: Hello, I'm a C# programmer, how can I help with the project guys and gals? rgds, Tony. _________________________________________________________________ STOP MORE SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail From tpsoftware@users.sourceforge.net Wed Mar 26 10:19:02 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: 26 Mar 2003 11:19:02 +0100 Subject: [Mono-list] Make problems Message-ID: <1048673942.22511.2.camel@localhost.localdomain> Hello, When installing mono from CVS, I get a lot of the following errors when "make" ------ Runtime.Remoting.dll /usr/bin/install: cannot stat `./System.Runtime.Remoting.dll': Onbekend bestand of map /usr/bin/install -c -m 644 ./System.Runtime.Serialization.Formatters.Soap.dll /usr/local/lib/System.Runtime.Serialization.Formatters.Soap.dll /usr/bin/install: cannot stat `./System.Runtime.Serialization.Formatters.Soap.dll': Onbekend bestand of map /usr/bin/install -c -m 644 ./System.Security.dll /usr/local/lib/System.Security.dll /usr/bin/install: cannot stat `./System.Security.dll': Onbekend bestand of map /usr/bin/install -c -m 644 ./System.Web.dll /usr/local/lib/System.Web.dll /usr/bin/install: cannot stat `./System.Web.dll': Onbekend bestand of map /usr/bin/install -c -m 644 ./System.Web.Services.dll /usr/local/lib/System.Web.Services.dll /usr/bin/install: cannot stat `./System.Web.Services.dll': Onbekend bestand of map /usr/bin/install -c -m 644 ./System.Windows.Forms.dll /usr/local/lib/System.Windows.Forms.dll /usr/bin/install: cannot stat `./System.Windows.Forms.dll': Onbekend bestand of map /usr/bin/install -c -m 644 ./System.Xml.dll /usr/local/lib/System.Xml.dll /usr/bin/install: cannot stat `./System.Xml.dll': Onbekend bestand of map make[2]: *** [install-assembliesDATA] Fout 1 make[2]: Weggaan uit map `/root/monocvs/mono/runtime' make[1]: *** [install-am] Fout 2 make[1]: Weggaan uit map `/root/monocvs/mono/runtime' make: *** [install-recursive] Fout 1 ----- However running mono executes without any problems. Any ideas, is this bad ? Thnx. From lupus@ximian.com Wed Mar 26 14:40:47 2003 From: lupus@ximian.com (Paolo Molaro) Date: Wed, 26 Mar 2003 15:40:47 +0100 Subject: [Mono-list] Mono and MAC OS X? In-Reply-To: <1048621667.1415.48.camel@caiman.boston.ximian.com> References: <23436D758E4CA54F8EDC2F7DE3B1A28B03221646@denver.quark.com> <20030325160826.GK878@debian.org> <1048621667.1415.48.camel@caiman.boston.ximian.com> Message-ID: <20030326144047.GM878@debian.org> On 03/25/03 Joe Shaw wrote: > On Tue, 2003-03-25 at 11:08, Paolo Molaro wrote: > > *) dllimport: we currently use GModule and the code in glib doesn't > > handle shared libraries. Someone should investigate about using dlopen > > in GModule or adding a wrapper in mono > > The main problem here is that mono takes for granted heavily that in ELF > shared libraries and loadable modules are the same thing. In Mach-O > this isn't the case, so you can't simply call dlopen() on a shared > library (-shared passed to the linker). The module has to be built with > -bundle. It's not mono per se, it's the CLR spec. We need to be able to load symbols from shared libraries and GModule instead loads only bundles (they happen to be the same thing as shared libs on most systems). > Also, on OS X the dlopen() calls are compatibility wrappers around the > native dyld implementation, so using that instead of the dyld > implementation in glib2 won't help. A quick google search got this: dlcompat for Darwin ========================= This is dlcompat, a small library that emulates the dlopen() interface on top of Darwin's dyld API. Unlike finks older dlcompat, this dlcompat allows loading a ".dylib" library (as long as the RTLD_LOCAL flag isn't passed to dlopen()). It can be configured to yield a warning when trying to close it (dynamic libraries cannot be unloaded). The unload feature is not important, so it's a limitation we don't care about. The RTLD_LOCAL issue is not a show-stopper either. It would be better if glib had this feature, but: *) I doubt it would be accepted (doesn't hurt to ask, though) *) it would take many months for it to get deployed, anyway So we need someone to track down this dlcompat library and add support in the mono runtime to use it instead of gmodule. Any volunteers? lupus -- ----------------------------------------------------------------- lupus@debian.org debian/rules lupus@ximian.com Monkeys do it better From serge@wildwestsoftware.com Wed Mar 26 16:13:27 2003 From: serge@wildwestsoftware.com (Sergey Chaban) Date: Wed, 26 Mar 2003 18:13:27 +0200 Subject: [Mono-list] Exceptions and error codes. References: <9891913C5BFE87429D71E37F08210CB92975A4@zeus.sfhq.friskit.com> Message-ID: <002101c2f3b2$a60d6860$1f00a8c0@mainmachine> > Managed code on the MS CLR doesn't use SEH internally Why do you think so? I'm curious. The following code intercepts managed exception with a thread-level SEH handler (set up via generated native code), prints some messages and terminates execution. There are two source files: http://mono.eurosoft.od.ua/doc/seh.cs http://mono.eurosoft.od.ua/doc/calli.il Compiled like this: ilasm /dll /output=calli.dll calli.il csc /nowarn:162 /o+ /unsafe /r:calli.dll /out:seh.exe seh.cs Sergey ----- Original Message ----- From: "Piers Haken" To: "Paolo Molaro" ; Sent: Tuesday, March 25, 2003 6:05 PM Subject: RE: [Mono-list] Exceptions and error codes. Managed code on the MS CLR doesn't use SEH internally, but the interop services rethrow System.Runtime.InteropServices.SEHException. The Win32 C++ ABI uses SEH. Similarly, COM error codes are rethrown as System.Runtime.InteropServices.COMException. Piers. From rgasparini29@yahoo.com Wed Mar 26 16:20:59 2003 From: rgasparini29@yahoo.com (Robert Fab) Date: Wed, 26 Mar 2003 08:20:59 -0800 (PST) Subject: [Mono-list] Compiling (mbas) with multiple references In-Reply-To: Message-ID: <20030326162059.16986.qmail@web20712.mail.yahoo.com> Thanks to Rafael and Jonathan. > Just repeat the -r option for each file: I tried that, but then I got: $ mbas win2.vb -r:System.Drawing -r:gtk-sharp ERROR: Option r can be used at most 1 times Usage: mbas [options] SOURCE-FILES Short Options: ?dmorv Perhaps I have an old mbas version? ... Thanks! __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com From ranger@befunk.com Wed Mar 26 17:39:43 2003 From: ranger@befunk.com (Benjamin Reed) Date: Wed, 26 Mar 2003 12:39:43 -0500 Subject: [Mono-list] Mono and MAC OS X? In-Reply-To: <20030326144047.GM878@debian.org> References: <23436D758E4CA54F8EDC2F7DE3B1A28B03221646@denver.quark.com> <20030325160826.GK878@debian.org> <1048621667.1415.48.camel@caiman.boston.ximian.com> <20030326144047.GM878@debian.org> Message-ID: <3E81E5DF.1080300@befunk.com> Paolo Molaro wrote: > So we need someone to track down this dlcompat library and add support > in the mono runtime to use it instead of gmodule. Any volunteers? You don't need to do anything special to port to dlcompat, it just looks like libdl (and dlfcn.h) to you guys. If you can just port it to regular dlopen()/dlclose()/etc. semantics and link -ldl if necessary it should be fine. dlcompat still doesn't let you UNload dylib's (that's just the way darwin's dyld and Mach-O works), so if you need to be able to dynamically load/unload stuff on the fly, you still have to use bundles (libtool modules, presumably gmodules as well). From adams@rtblinc.com Wed Mar 26 18:11:11 2003 From: adams@rtblinc.com (Adam Stevenson) Date: Wed, 26 Mar 2003 12:11:11 -0600 Subject: [Mono-list] How do we get involved? Message-ID: <000001c2f3c3$18c28a10$6403a8c0@TheXMachine> This is a multi-part message in MIME format. ------=_NextPart_000_0001_01C2F390.CE2A8B10 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Howdy, I am a student at A&M University. I would like to start looking at how myself and others here can get involved in the project. What can we help out with? Sincerely, Adam Stevenson 979-492-5747 adams@rtblinc.com ------=_NextPart_000_0001_01C2F390.CE2A8B10 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Howdy,

 

I am a student at A&M = University.  I would like to start looking at how myself and others here can get involved in = the project.  What can we help out with?

 

Sincerely,

 

Adam Stevenson

979-492-5747

adams@rtblinc.com

 

------=_NextPart_000_0001_01C2F390.CE2A8B10-- From joe@ximian.com Wed Mar 26 19:59:16 2003 From: joe@ximian.com (Joe Shaw) Date: 26 Mar 2003 14:59:16 -0500 Subject: [Mono-list] Mono and MAC OS X? In-Reply-To: <20030326144047.GM878@debian.org> References: <23436D758E4CA54F8EDC2F7DE3B1A28B03221646@denver.quark.com> <20030325160826.GK878@debian.org> <1048621667.1415.48.camel@caiman.boston.ximian.com> <20030326144047.GM878@debian.org> Message-ID: <1048708756.1415.190.camel@caiman.boston.ximian.com> On Wed, 2003-03-26 at 09:40, Paolo Molaro wrote: > The unload feature is not important, so it's a limitation we don't care > about. The RTLD_LOCAL issue is not a show-stopper either. > It would be better if glib had this feature, but: > *) I doubt it would be accepted (doesn't hurt to ask, though) > *) it would take many months for it to get deployed, anyway > > So we need someone to track down this dlcompat library and add support > in the mono runtime to use it instead of gmodule. Any volunteers? You're right, the version I have says that too. Probably the right thing to do, in my opinion, is to make the dyld gmodule backend also handle dylibs in addition to bundles. Deployment I bet is less of an issue... if it can't be upstreamed for glib 2.2 (in favor of glib 2.4), it could probably be added as a patch in fink. Joe From jddst19@mac.com Thu Mar 27 01:42:41 2003 From: jddst19@mac.com (John Duncan) Date: Wed, 26 Mar 2003 20:42:41 -0500 Subject: [Mono-list] PPC atomic functions In-Reply-To: <20030325160826.GK878@debian.org> Message-ID: <6627F679-5FF5-11D7-9289-00039376BC1E@mac.com> --Apple-Mail-1--444798726 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Sorry, I thought I handed these over already. They seem to work (er...). --Apple-Mail-1--444798726 Content-Disposition: attachment; filename=atomic.h Content-Transfer-Encoding: 7bit Content-Type: text/plain; x-unix-mode=0644; name="atomic.h" /* * atomic.h: Atomic operations * * Author: * Dick Porter (dick@ximian.com) * * (C) 2002 Ximian, Inc. */ #ifndef _WAPI_ATOMIC_H_ #define _WAPI_ATOMIC_H_ #include #include "mono/io-layer/wapi.h" #ifdef __i386__ #define WAPI_ATOMIC_ASM /* * NB: The *Pointer() functions here assume that * sizeof(pointer)==sizeof(gint32) * * NB2: These asm functions assume 486+ (some of the opcodes dont * exist on 386). If this becomes an issue, we can get configure to * fall back to the non-atomic C versions of these calls. */ static inline gint32 InterlockedCompareExchange(volatile gint32 *dest, gint32 exch, gint32 comp) { gint32 old; __asm__ __volatile__ ("lock; cmpxchgl %2, %0" : "=m" (*dest), "=a" (old) : "r" (exch), "m" (*dest), "a" (comp)); return(old); } static inline gpointer InterlockedCompareExchangePointer(volatile gpointer *dest, gpointer exch, gpointer comp) { gpointer old; __asm__ __volatile__ ("lock; cmpxchgl %2, %0" : "=m" (*dest), "=a" (old) : "r" (exch), "m" (*dest), "a" (comp)); return(old); } static inline gint32 InterlockedIncrement(volatile gint32 *val) { gint32 tmp; __asm__ __volatile__ ("lock; xaddl %0, %1" : "=r" (tmp), "=m" (*val) : "0" (1), "m" (*val)); return(tmp+1); } static inline gint32 InterlockedDecrement(volatile gint32 *val) { gint32 tmp; __asm__ __volatile__ ("lock; xaddl %0, %1" : "=r" (tmp), "=m" (*val) : "0" (-1), "m" (*val)); return(tmp-1); } /* * See * http://msdn.microsoft.com/library/en-us/dnmag00/html/win320700.asp?frame=true * for the reasons for using cmpxchg and a loop here. * * That url is no longer valid, but it's still in the google cache at the * moment: http://www.google.com/search?q=cache:http://msdn.microsoft.com/library/en-us/dnmag00/html/win320700.asp?frame=true */ static inline gint32 InterlockedExchange(volatile gint32 *val, gint32 new_val) { gint32 ret; __asm__ __volatile__ ("1:; lock; cmpxchgl %2, %0; jne 1b" : "=m" (*val), "=a" (ret) : "r" (new_val), "m" (*val), "a" (*val)); return(ret); } static inline gpointer InterlockedExchangePointer(volatile gpointer *val, gpointer new_val) { gpointer ret; __asm__ __volatile__ ("1:; lock; cmpxchgl %2, %0; jne 1b" : "=m" (*val), "=a" (ret) : "r" (new_val), "m" (*val), "a" (*val)); return(ret); } static inline gint32 InterlockedExchangeAdd(volatile gint32 *val, gint32 add) { gint32 ret; __asm__ __volatile__ ("lock; xaddl %0, %1" : "=r" (ret), "=m" (*val) : "0" (add), "m" (*val)); return(ret); } #elif defined(sparc) || defined (__sparc__) #define WAPI_ATOMIC_ASM #define BEGIN_SPIN(tmp,lock) \ __asm__ __volatile__("1: ldstub [%1],%0\n\t" \ " cmp %0, 0\n\t" \ " bne 1b\n\t" \ " nop" \ : "=&r" (tmp) \ : "r" (&lock) \ : "memory"); #define END_SPIN(lock) \ __asm__ __volatile__("stb %%g0, [%0]" \ : /* no outputs */ \ : "r" (&lock)\ : "memory"); static inline gint32 InterlockedCompareExchange(volatile gint32 *dest, gint32 exch, gint32 comp) { static unsigned char lock; int tmp; gint32 old; BEGIN_SPIN(tmp,lock) old = *dest; if (old==comp) { *dest=exch; } END_SPIN(lock) return(old); } static inline gpointer InterlockedCompareExchangePointer(volatile gpointer *dest, gpointer exch, gpointer comp) { static unsigned char lock; int tmp; gpointer old; BEGIN_SPIN(tmp,lock) old = *dest; if (old==comp) { *dest=exch; } END_SPIN(lock) return(old); } static inline gint32 InterlockedIncrement(volatile gint32 *dest) { static unsigned char lock; int tmp; gint32 ret; BEGIN_SPIN(tmp,lock) *dest++; ret = *dest; END_SPIN(lock) return(ret); } static inline gint32 InterlockedDecrement(volatile gint32 *dest) { static unsigned char lock; int tmp; gint32 ret; BEGIN_SPIN(tmp,lock) *dest--; ret = *dest; END_SPIN(lock) return(ret); } static inline gint32 InterlockedExchange(volatile gint32 *dest, gint32 exch) { static unsigned char lock; int tmp; gint32 ret; BEGIN_SPIN(tmp,lock) ret = *dest; *dest = exch; END_SPIN(lock) return(ret); } static inline gpointer InterlockedExchangePointer(volatile gpointer *dest, gpointer exch) { static unsigned char lock; int tmp; gpointer ret; BEGIN_SPIN(tmp,lock) ret = *dest; *dest = exch; END_SPIN(lock) return(ret); } static inline gint32 InterlockedExchangeAdd(volatile gint32 *dest, gint32 add) { static unsigned char lock; int tmp; gint32 ret; BEGIN_SPIN(tmp,lock) ret = *dest; *dest += add; END_SPIN(lock) return(ret); } #elif __s390__ #define WAPI_ATOMIC_ASM static inline gint32 InterlockedCompareExchange(volatile gint32 *dest, gint32 exch, gint32 comp) { gint32 old; __asm__ __volatile__ ("\tL\t%1,%0\n" "\tCS\t%3,%2,%0\n" : "=m" (*dest), "=r" (old) : "r" (exch), "r" (comp) : "cc"); return(old); } #define InterlockedCompareExchangePointer InterlockedCompareExchange static inline gint32 InterlockedIncrement(volatile gint32 *val) { gint32 tmp; __asm__ __volatile__ ("0:\tL\t%0,%1\n" "\tLR\t1,%0\n" "\tAHI\t1,1\n" "0:\tCS\t%0,1,%1\n" "\tJNZ\t0b" : "=r" (tmp), "+m" (*val) : : "1", "cc"); return(tmp+1); } static inline gint32 InterlockedDecrement(volatile gint32 *val) { gint32 tmp; __asm__ __volatile__ ("0:\tL\t%0,%1\n" "\tLR\t1,%0\n" "\tAHI\t1,-1\n" "0:\tCS\t%0,1,%1\n" "\tJNZ\t0b" : "=r" (tmp), "+m" (*val) : : "1", "cc"); return(tmp-1); } static inline gint32 InterlockedExchange(volatile gint32 *val, gint32 new_val) { gint32 ret; __asm__ __volatile__ ("0:\tL\t%1,%0\n" "\tCS\t%1,%2,%0\n" "\tJNZ\t0b" : "+m" (*val), "=r" (ret) : "r" (new_val) : "cc"); return(ret); } #define InterlockedExchangePointer InterlockedExchange static inline gint32 InterlockedExchangeAdd(volatile gint32 *val, gint32 add) { gint32 ret; __asm__ __volatile__ ("0:\tL\t%0,%1\n" "\tLR\t1,%0\n" "\tAR\t1,%2\n" "0:\tCS\t%0,1,%1\n" "\tJNZ\t0b" : "=r" (ret), "+m" (*val) : "r" (add) : "1", "cc"); return(ret); } #elif __ppc__ #define WAPI_ATOMIC_ASM static inline gint32 InterlockedIncrement(volatile gint32 *val) { gint32 tmp; __asm__ __volatile__ ("\nL_ii_loop:\n\t" "lwarx %0, 0, %2\n\t" "addi %0, %0, 1\n\t" "stwcx. %0, 0, %2\n\t" "bne- L_ii_loop" : "=r" (tmp) : "0" (tmp), "r" (val)); return tmp; } static inline gint32 InterlockedDecrement(volatile gint32 *val) { gint32 tmp; __asm__ __volatile__ ("\nL_id_loop:\n\t" "lwarx %0, 0, %2\n\t" "addi %0, %0, -1\n\t" "stwcx. %0, 0, %2\n\t" "bne- L_id_loop" : "=r" (tmp) : "0" (tmp), "r" (val)); return tmp; } #define InterlockedCompareExchangePointer InterlockedCompareExchange static inline gint32 InterlockedCompareExchange(volatile gint32 *dest, gint32 exch, gint32 comp) { gint32 tmp = 0; __asm__ ("\nL_ice_loop:\n\t" "lwarx %0, 0, %1\n\t" "cmpw %2, %3\n\t" "bne- L_ice_diff\n\t" "stwcx. %4, 0, %1\n\t" "bne- L_ice_loop\n" "L_ice_diff:" : "=r" (tmp) : "r" (dest), "0" (tmp) , "r" (comp), "r" (exch)); return tmp; } static inline gint32 InterlockedExchange(volatile gint32 *dest, gint32 exch) { gint32 tmp; __asm__ ("\nL_ie_loop:\n\t" "lwarx %0, 0, %1\n\t" "stwcx. %2, 0, %1\n\t" "bne L_ie_loop" : "=r" (tmp) : "r" (dest), "r" (exch)); return tmp; } #define InterlockedExchangePointer InterlockedExchange static inline gint32 InterlockedExchangeAdd(volatile gint32 *dest, gint32 add) { gint32 tmp; __asm__ ("\nL_iea_loop:\n\t" "lwarx %0, 0, %2\n\t" "add %1, %3, %4\n\t" "stwcx. %1, 0, %2\n\t" "bne L_iea_loop" : "=r" (tmp), "=r" (add) : "r" (dest), "0" (tmp), "1" (add)); return tmp; } #else extern gint32 InterlockedCompareExchange(volatile gint32 *dest, gint32 exch, gint32 comp); extern gpointer InterlockedCompareExchangePointer(volatile gpointer *dest, gpointer exch, gpointer comp); extern gint32 InterlockedIncrement(volatile gint32 *dest); extern gint32 InterlockedDecrement(volatile gint32 *dest); extern gint32 InterlockedExchange(volatile gint32 *dest, gint32 exch); extern gpointer InterlockedExchangePointer(volatile gpointer *dest, gpointer exch); extern gint32 InterlockedExchangeAdd(volatile gint32 *dest, gint32 add); #endif #endif /* _WAPI_ATOMIC_H_ */ --Apple-Mail-1--444798726 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On Tuesday, March 25, 2003, at 11:08 AM, Paolo Molaro wrote: > On 03/25/03 Urs Muff wrote: >> Is the 'new' JIT in CVS [since I was under the impression that it was >> not], >> and if it is, is it in a state to do basic things on the Mac OS X? > > The new JIT is not yet in the public cvs, the plan is to publish it > in a few days. Basic things work on MacOSX with the new jit, but > this doen't mean it's the same basic things that you're looking for:-) > People that want to help with the macosx port don't need to wait for the > port, though, there is plenty of things to do that no one has stepped up > to do (or contribute), yet: > *) io-layer/atomic.h: ppc asm version of the functions there > *) dllimport: we currently use GModule and the code in glib doesn't > handle shared libraries. Someone should investigate about using dlopen > in GModule or adding a wrapper in mono > *) there are reports of issues when linking libgc: using > the jit runtime instead of the interp runtime is not going to make > it easier to debug this issue > *) running mcs sometimes results in an illegal instruction trap: again, > debugging this issue won't be easier with the jit > > So, if you want to help, there are plenty of things that need you. > > lupus > > -- > ----------------------------------------------------------------- > lupus@debian.org debian/rules > lupus@ximian.com Monkeys do it better > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list --Apple-Mail-1--444798726-- From jddst19@mac.com Thu Mar 27 01:47:43 2003 From: jddst19@mac.com (John Duncan) Date: Wed, 26 Mar 2003 20:47:43 -0500 Subject: [Mono-list] Mono and MAC OS X? In-Reply-To: <1048621667.1415.48.camel@caiman.boston.ximian.com> Message-ID: <19ECE098-5FF6-11D7-9289-00039376BC1E@mac.com> I believe you can dlopen but not dlclose... I haven't checked recently. On Tuesday, March 25, 2003, at 02:47 PM, Joe Shaw wrote: > On Tue, 2003-03-25 at 11:08, Paolo Molaro wrote: >> *) dllimport: we currently use GModule and the code in glib doesn't >> handle shared libraries. Someone should investigate about using dlopen >> in GModule or adding a wrapper in mono > > The main problem here is that mono takes for granted heavily that in ELF > shared libraries and loadable modules are the same thing. In Mach-O > this isn't the case, so you can't simply call dlopen() on a shared > library (-shared passed to the linker). The module has to be built with > -bundle. > > Also, on OS X the dlopen() calls are compatibility wrappers around the > native dyld implementation, so using that instead of the dyld > implementation in glib2 won't help. > > I'm not totally sure how to get around these issues when opening > something like the gtk shared libraries as "modules" for gtk#, but I am > hardly a Mach-O expert... these are just observations I have from using > OS X for a few months and trying to build various software on it. > > Joe > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From ndrochak@gol.com Thu Mar 27 02:33:49 2003 From: ndrochak@gol.com (Nick Drochak) Date: Thu, 27 Mar 2003 11:33:49 +0900 Subject: [Mono-list] How do we get involved? In-Reply-To: <000001c2f3c3$18c28a10$6403a8c0@TheXMachine> Message-ID: This is a multi-part message in MIME format. ------=_NextPart_000_007C_01C2F454.BC79E310 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Hi. Depends on your experience mostly, but a good way for most people to start in the C# area is to help write unit tests. See www.go-mono.com/testing.html. Post your questions about it here. Regards, Nick D. -----Original Message----- From: mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.com]On Behalf Of Adam Stevenson Sent: Thursday, March 27, 2003 3:11 AM To: mono-list@ximian.com Subject: [Mono-list] How do we get involved? Howdy, I am a student at A&M University. I would like to start looking at how myself and others here can get involved in the project. What can we help out with? Sincerely, Adam Stevenson 979-492-5747 adams@rtblinc.com ------=_NextPart_000_007C_01C2F454.BC79E310 Content-Type: text/html; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable
Hi.
 
Depends on your experience mostly, but a good way for most = people to=20 start in the C# area is to help write unit tests.  See www.go-mono.com/testing.html= .
 
Post your questions about it here.
 
Regards,
Nick D.
-----Original Message-----
From:=20 mono-list-admin@lists.ximian.com=20 [mailto:mono-list-admin@lists.ximian.com]On Behalf Of Adam=20 Stevenson
Sent: Thursday, March 27, 2003 3:11 = AM
To:=20 mono-list@ximian.com
Subject: [Mono-list] How do we get=20 involved?

Howdy,

 

I am a student at=20 A&M=20 University.  I=20 would like to start looking at how myself and others here can get = involved in=20 the project.  What can we help out with?

 

Sincerely,

 

Adam Stevenson

979-492-5747

adams@rtblinc.com

 

------=_NextPart_000_007C_01C2F454.BC79E310-- From amilan@millenniumit.com Thu Mar 27 03:42:38 2003 From: amilan@millenniumit.com (Amila Navarathna) Date: Thu, 27 Mar 2003 09:42:38 +0600 Subject: [Mono-list] help for a project Message-ID: --=_IS_MIME_Boundary Content-Language: en Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: 7bit Dear Sir/Madom, I'm a computer science and engineering undergraduate in University of Moratuwa, Sri Lanka. For our final year project we have decided to build an application server on Mono API. But unfortunately we do not have a clear idea about how to do it. So if you can help us in this matter(by sending detailis about how to do it, what are the resources that we need, etc..), it'll be very greatful for us. Regards, Amila Navarathna, Computer Science and Engineering Dept. University of Moratuwa, Sri Lanka. --=_IS_MIME_Boundary Content-Type: text/plain;charset=us-ascii; name="Disclaimer_Message.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="Disclaimer_Message.txt" ----------------------------------------- (on postoffice) The information contained in this email is confidential and is meant to be read only by the person to whom it is addressed.Please visit http://www.millenniumit.com/legal/email.htm to read the entire confidentiality clause. --------------------------------------------------------- --=_IS_MIME_Boundary-- From Jean-Pascal.Robiez@socgen.com Thu Mar 27 09:54:36 2003 From: Jean-Pascal.Robiez@socgen.com (ROBIEZ JP DistDpoCes4-d) Date: Thu, 27 Mar 2003 10:54:36 +0100 Subject: [Mono-list] (Newbie) Problem while trying gtksharp Message-ID: <3458A16B90FEC145B3E7C262D529CD7027085A@EVSDEF002.arpege.socgen> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2F446.E059CB94 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable hi, =20 I am trying gtksharp 0.8 with mono 0.23 on a debian woody system. = Everything compiled fine, including samples, but when I am trying to run = gtk-hello-world.exe ( - $ mono gtk-hello-world.exe) I get this : =20 ** (gtk-hello-world.exe:3834): WARNING **: [Invalid UTF-8] Failed to = load library libgtksharpglue.so (libgtksharpglue): libgtksharpglue.so: = Ne peut ouvrir le fichier d'objet partag=E9: Aucun fichier ou = r=E9pertoire de ce type =20 a few time then an "Unhandled Exception" error message. I checked this = file and found it with ok rights in /usr/local/lib where it should be. =20 Any clue ? =20 thx =20 JP =20 ************************************************************************* Ce message et toutes les pi=E8ces jointes (ci-apr=E8s le "message") sont confidentiels et =E9tablis =E0 l'intention exclusive de ses destinataires. Toute utilisation ou diffusion non autoris=E9e est interdite.=20 Tout message =E9lectronique est susceptible d'alt=E9ration.=20 La SOCIETE GENERALE et ses filiales d=E9clinent toute responsabilit=E9 au titre de ce message s'il a =E9t=E9 alt=E9r=E9, d=E9form=E9 ou falsifi=E9. ******** This message and any attachments (the "message") are confidential and intended solely for the addressees. Any unauthorised use or dissemination is prohibited.=20 E-mails are susceptible to alteration.=20=20=20 Neither SOCIETE GENERALE nor any of its subsidiaries or affiliates shall be liable for the message if altered, changed or falsified.=20 ************************************************************************* ------_=_NextPart_001_01C2F446.E059CB94 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
hi,
 
I am = trying gtksharp=20 0.8 with mono 0.23 on a debian woody system. Everything compiled fine, = including=20 samples, but when I am trying to run gtk-hello-world.exe ( - $ mono=20 gtk-hello-world.exe) I get this :
 
**=20 (gtk-hello-world.exe:3834): WARNING **: [Invalid UTF-8] Failed to load = library=20 libgtksharpglue.so (libgtksharpglue): libgtksharpglue.so: Ne peut ouvrir = le=20 fichier d'objet partag=E9: Aucun fichier ou r=E9pertoire de ce=20 type
 
a few = time then an=20 "Unhandled Exception" error message. I checked this file and found it = with ok=20 rights in /usr/local/lib where it should be.
 
Any = clue=20 ?
 
thx
 
JP
 
= ------_=_NextPart_001_01C2F446.E059CB94-- From marco.ridoni@virgilio.it Thu Mar 27 10:24:26 2003 From: marco.ridoni@virgilio.it (marco.ridoni@virgilio.it) Date: Thu, 27 Mar 2003 11:24:26 +0100 Subject: [Mono-list] Compiling (mbas) with multiple references In-Reply-To: <20030326162059.16986.qmail@web20712.mail.yahoo.com> Message-ID: <3E76A56200014F53@ims1c.cp.tin.it> >Perhaps I have an old mbas version? ... > No, it's a bug in Mono.GetOptions. Until it's fixed you can get around it= commenting out or deleting lines 141 and 142 in OptionDetails.cs and reco= mpiling/reinstalling Mono.GetOptions.dll , the ones which read : ------------------------------------------------- if (MaxOccurs > 0 && Occurs > MaxOccurs) throw new IndexOutOfRangeException (...cut) ------------------------------------------------- This should help Marco From jasonw@develop.com Thu Mar 27 12:00:28 2003 From: jasonw@develop.com (Jason Whittington) Date: Thu, 27 Mar 2003 12:00:28 -0000 Subject: [Mono-list] Mono quotes from a Sun evangelist In-Reply-To: <013001c2f314$6eb730b0$01c8a8c0@ATICATACCENTRE> Message-ID: <000001c2f458$769ec050$2c30c00a@t23laptop> > > Has there been interest in creating a J2EE style architecture for > > C#/.NET? We can make it "better" because we can make the beans self > > describing using attributes. No need for XML descriptors :D. > > > > This is what System.EnterpriseServices does. Not really. System.EnterpriseServices is basically a band-aid on top of COM+. The only reason it exists is that MS ran out of time and chose to ship .NET without a new distributed Tx architecture. Of all the things in .NET System.EnterpriseServices probably has the shortest future ahead of it - I can't see Mono really meaningfully implementing it as ServicedComponent and friends are conceptually tied so closely to COM+/Windows. Jason From lluis@ideary.com Thu Mar 27 12:54:14 2003 From: lluis@ideary.com (Lluis Sanchez) Date: Thu, 27 Mar 2003 13:54:14 +0100 Subject: [Mono-list] J2EE style architecture for C#/.NET (was: Mono quotes from a Sun evangelist) References: <000001c2f458$769ec050$2c30c00a@t23laptop> Message-ID: <02e901c2f45f$f9130940$01c8a8c0@ATICATACCENTRE> > > > Has there been interest in creating a J2EE style architecture for > > > C#/.NET? We can make it "better" because we can make the beans self > > > describing using attributes. No need for XML descriptors :D. > > > > > > > This is what System.EnterpriseServices does. > > Not really. System.EnterpriseServices is basically a band-aid on top of > COM+. The only reason it exists is that MS ran out of time and chose to > ship .NET without a new distributed Tx architecture. Of all the things > in .NET System.EnterpriseServices probably has the shortest future ahead > of it - I can't see Mono really meaningfully implementing it as > ServicedComponent and friends are conceptually tied so closely to > COM+/Windows. This is a good point for discussion. System.EnterpriseServices is just an API through you can use the services that COM+ offers, I Agree. But this API and those services are very generic: distributed transactions, role-based security, object pooling, etc., more or less what J2EE has (ok, it doesn't have anything like BMP or CMP). So, if we need an API for a J2EE style app server, why not use System.EnterpriseServices? I see many benefints: it is already defined, it is known by many developers, and it will ease portability of server applications between Windows and Linux. - Lluis From fd0h1440@yahoo.co.uk Thu Mar 27 13:35:35 2003 From: fd0h1440@yahoo.co.uk (fd) Date: 27 Mar 2003 13:35:35 +0000 Subject: [Mono-list] (Newbie) Problem while trying gtksharp In-Reply-To: <3458A16B90FEC145B3E7C262D529CD7027085A@EVSDEF002.arpege.socgen> References: <3458A16B90FEC145B3E7C262D529CD7027085A@EVSDEF002.arpege.socgen> Message-ID: <1048772135.1336.21.camel@localhost.localdomain> On Thu, 2003-03-27 at 09:54, ROBIEZ JP DistDpoCes4-d wrote: > a few time then an "Unhandled Exception" error message. I checked this > file and found it with ok rights in /usr/local/lib where it should be. Is /usr/local/lib in your library search path? If not, add it to the $LD_LIBRARY_PATH environment variable or /etc/ld.so.conf. Also, make sure that you're using the runtime installed in /usr/local. You might want to install the packages at http://www.atoker.com/mono/ instead. From Jean-Pascal.Robiez@socgen.com Thu Mar 27 15:28:21 2003 From: Jean-Pascal.Robiez@socgen.com (ROBIEZ JP DistDpoCes4-d) Date: Thu, 27 Mar 2003 16:28:21 +0100 Subject: [Mono-list] (Newbie) Problem while trying gtksharp Message-ID: <3458A16B90FEC145B3E7C262D529CD7027085C@EVSDEF002.arpege.socgen> thank you, /etc/ld.so.conf was the problem (damned I was sure this one was ok, = sorry...) but another problem came up about GChandle. I supposed I need = to recompile with garabage collector activated. So I did, but after = compiling and installing gc6.1, mono compilation failed with the = following error :=20 wapi-private.h:25: #error configure failed to discover size of unix = socket path Is this question harder ? :) -----Message d'origine----- De : fd [mailto:fd0h1440@yahoo.co.uk] Envoy=E9 : jeudi 27 mars 2003 14:36 =C0 : Mono-list@ximian.com Objet : Re: [Mono-list] (Newbie) Problem while trying gtksharp On Thu, 2003-03-27 at 09:54, ROBIEZ JP DistDpoCes4-d wrote: > a few time then an "Unhandled Exception" error message. I checked this > file and found it with ok rights in /usr/local/lib where it should be. Is /usr/local/lib in your library search path? If not, add it to the $LD_LIBRARY_PATH environment variable or /etc/ld.so.conf. Also, make sure that you're using the runtime installed in /usr/local. You might want to install the packages at http://www.atoker.com/mono/ instead. _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list ************************************************************************* Ce message et toutes les pi=E8ces jointes (ci-apr=E8s le "message") sont confidentiels et =E9tablis =E0 l'intention exclusive de ses destinataires. Toute utilisation ou diffusion non autoris=E9e est interdite.=20 Tout message =E9lectronique est susceptible d'alt=E9ration.=20 La SOCIETE GENERALE et ses filiales d=E9clinent toute responsabilit=E9 au titre de ce message s'il a =E9t=E9 alt=E9r=E9, d=E9form=E9 ou falsifi=E9. ******** This message and any attachments (the "message") are confidential and intended solely for the addressees. Any unauthorised use or dissemination is prohibited.=20 E-mails are susceptible to alteration.=20=20=20 Neither SOCIETE GENERALE nor any of its subsidiaries or affiliates shall be liable for the message if altered, changed or falsified.=20 ************************************************************************* From dick@ximian.com Thu Mar 27 16:01:58 2003 From: dick@ximian.com (Dick Porter) Date: 27 Mar 2003 16:01:58 +0000 Subject: [Mono-list] (Newbie) Problem while trying gtksharp In-Reply-To: <3458A16B90FEC145B3E7C262D529CD7027085C@EVSDEF002.arpege.socgen> References: <3458A16B90FEC145B3E7C262D529CD7027085C@EVSDEF002.arpege.socgen> Message-ID: <1048780917.1285.10.camel@hagbard.apathetic.discordia.org.uk> On Thu, 2003-03-27 at 15:28, ROBIEZ JP DistDpoCes4-d wrote: > thank you, > > /etc/ld.so.conf was the problem (damned I was sure this one was ok, sorry...) but another problem came up about GChandle. I supposed I need to recompile with garabage collector activated. So I did, but after compiling and installing gc6.1, mono compilation failed with the following error : > > wapi-private.h:25: #error configure failed to discover size of unix socket path > > Is this question harder ? :) For some reason the configure checks didn't find the size of the unix socket path. I don't know why this would happen, because I can't reproduce the bug here. You might be able to figure out what's going on by looking in config.log (search for "sun_path"). The compile deliberately bombs out, because otherwise you'd get shared memory corruption at runtime. - Dick From anacarolina@staffconsultores.com.br Thu Mar 27 17:49:34 2003 From: anacarolina@staffconsultores.com.br (Ana Carolina) Date: Thu, 27 Mar 2003 14:49:34 -0300 Subject: [Mono-list] .NET x Linux Message-ID: <002301c2f489$3a5856c0$0f00a8c0@projeto5> This is a multi-part message in MIME format. ------=_NextPart_000_0024_01C2F470.150B1EC0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit Hi. I have an application that was developed in .NET and I need to install it in a Linux platform. How can I do it? Thanks. Ana Carolina. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.463 / Virus Database: 262 - Release Date: 17/03/2003 ------=_NextPart_000_0024_01C2F470.150B1EC0 Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable

Hi.

 

I have an application that was developed in .NET and = I need to install it in a Linux platform.

How can I do it?

 

Thanks.

 

Ana = Carolina.

 


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.463 / Virus Database: 262 - Release Date: 17/03/2003

------=_NextPart_000_0024_01C2F470.150B1EC0-- From tpsoftware@users.sourceforge.net Thu Mar 27 18:36:11 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: Thu, 27 Mar 2003 19:36:11 +0100 Subject: [Mono-list] .NET x Linux References: <002301c2f489$3a5856c0$0f00a8c0@projeto5> Message-ID: <000801c2f48f$be343b70$0a00000a@alfred> This is a multi-part message in MIME format. ------=_NextPart_000_0005_01C2F498.1F4A6210 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Assuming you have installed mono on that linux system, and the .NET application doesn't use any classes which aren't finished = or present in the Mono framework, (especially System.Windows.Forms) it should work just fine with xcopy = deployment. Meaning you put on your hard disk just by copying them, no other = installation required. You can then run it by given the command: mono nameofapplication.exe Hope this helps. Timothy. ----- Original Message -----=20 From: Ana Carolina=20 To: mono-list@ximian.com=20 Sent: Thursday, March 27, 2003 6:49 PM Subject: [Mono-list] .NET x Linux Hi. =20 I have an application that was developed in .NET and I need to install = it in a Linux platform. How can I do it? =20 Thanks. =20 Ana Carolina. =20 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.463 / Virus Database: 262 - Release Date: 17/03/2003 ------=_NextPart_000_0005_01C2F498.1F4A6210 Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable
Assuming you have installed mono on = that linux=20 system,
and the .NET application doesn't use = any classes=20 which aren't finished or present in the Mono framework,
(especially System.Windows.Forms) it = should work=20 just fine with xcopy deployment.
 
Meaning you put on your hard disk just = by copying=20 them, no other installation required.
You can then run it by given the = command: mono=20 nameofapplication.exe
 
Hope this helps.
Timothy.
----- Original Message -----
From:=20 Ana Carolina =
Sent: Thursday, March 27, 2003 = 6:49=20 PM
Subject: [Mono-list] .NET x = Linux

Hi.

 

I have an application = that was=20 developed in .NET and I need to install it in a Linux=20 platform.

How can I do=20 it?

 

Thanks.

 

Ana=20 Carolina.

 


---
Outgoing mail is certified Virus = Free.
Checked by=20 AVG anti-virus system (http://www.grisoft.com).
Version: = 6.0.463=20 / Virus Database: 262 - Release Date:=20 17/03/2003

------=_NextPart_000_0005_01C2F498.1F4A6210-- From ppaximadis@websoft.co.za Thu Mar 27 19:21:42 2003 From: ppaximadis@websoft.co.za (Paul Paximadis) Date: Thu, 27 Mar 2003 21:21:42 +0200 Subject: [Mono-list] Error compiling GTK# Program Message-ID: <3A3966042FA5BC4A94DF8C9868096D69CF2AAE@wkdsx01.wn.co.za> This is a multi-part message in MIME format. ------=_NextPartTM-000-b8abb05b-f5e8-43e8-a535-34edfbc46dd0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C2F496.195FE282" ------_=_NextPart_001_01C2F496.195FE282 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable When I try and compile the following program( attached ). I get the following error=20 =20 C:\mono-0.23>mcs -r gtk-sharp basic_form.cs basic_form.cs(36) error CS0246: Cannot find type `Size' Compilation failed: 1 error(s), 0 warnings =20 Thanks in advance Paul ------_=_NextPart_001_01C2F496.195FE282 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

When I try and compile the following program( = attached ).

I get the following error

 

C:\mono-0.23>mcs -r gtk-sharp = basic_form.cs

basic_form.cs(36) error CS0246: = Cannot find type `Size'

Compilation failed: 1 error(s), 0 = warnings

 

Thanks in advance

Paul

=00 ------_=_NextPart_001_01C2F496.195FE282-- ------=_NextPartTM-000-b8abb05b-f5e8-43e8-a535-34edfbc46dd0-- From jddst19@mac.com Thu Mar 27 19:29:32 2003 From: jddst19@mac.com (John Duncan) Date: Thu, 27 Mar 2003 14:29:32 -0500 Subject: [Mono-list] PPC atomic functions In-Reply-To: <1048761032.1284.3.camel@hagbard.apathetic.discordia.org.uk> Message-ID: <6FC1E5F6-608A-11D7-9289-00039376BC1E@mac.com> Yeah, that's going to take more time than I'm willing to give right now. Sorry. The file applies to 0.19. My changes are in the public domain. On Thursday, March 27, 2003, at 05:30 AM, Dick Porter wrote: > On Thu, 2003-03-27 at 01:42, John Duncan wrote: >> Sorry, I thought I handed these over already. They seem to work >> (er...). > > Please resend as a unified diff, so I can see exactly what has changed > without having to merge the old file, this file and any other changes > that may have happened in between. > > "cvs diff -u" if you were working from cvs, or "diff -u oldfile newfile" > otherwise. > > We also require copyright assignment for large patches to the runtime, > so please confirm that you have sent us the paperwork. > > Thanks, > > - Dick > > From ppaximadis@websoft.co.za Thu Mar 27 19:33:18 2003 From: ppaximadis@websoft.co.za (Paul Paximadis) Date: Thu, 27 Mar 2003 21:33:18 +0200 Subject: [Mono-list] Error compiling GTK# Program Message-ID: <3A3966042FA5BC4A94DF8C9868096D69CF2AAF@wkdsx01.wn.co.za> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2F497.B8534860 Content-Type: multipart/alternative; boundary="----_=_NextPart_002_01C2F497.B8534860" ------_=_NextPart_002_01C2F497.B8534860 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Sorry forgot the attachment =20 When I try and compile the following program( attached ). I get the following error=20 =20 C:\mono-0.23>mcs -r gtk-sharp basic_form.cs basic_form.cs(36) error CS0246: Cannot find type `Size' Compilation failed: 1 error(s), 0 warnings =20 Thanks in advance Paul =20 ------_=_NextPart_002_01C2F497.B8534860 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Sorry forgot the attachment

 

When I try and compile the following program( = attached ).

I get the following error

 

C:\mono-0.23>mcs -r gtk-sharp = basic_form.cs

basic_form.cs(36) error CS0246: = Cannot find type `Size'

Compilation failed: 1 error(s), 0 = warnings

 

Thanks in advance

Paul

 

=00 ------_=_NextPart_002_01C2F497.B8534860-- ------_=_NextPart_001_01C2F497.B8534860 Content-Type: application/octet-stream; name="basic_form.cs" Content-Transfer-Encoding: base64 Content-Description: basic_form.cs Content-Disposition: attachment; filename="basic_form.cs" Ly8gYSBzaW1wbGUgZm9ybSB0aGF0IHNldHMgdXAgYSBsYWJlbCwgdGV4dCBlbnRyeSBmaWVsZA0K Ly8gYW5kIHR3byBidXR0b25zIA0KLy8gY29tcGlsZSB3aXRoIG1jcyAtciBndGstc2hhcnAgYmFz aWNfZm9ybS5jcw0KIA0KdXNpbmcgU3lzdGVtOw0KdXNpbmcgR3RrOw0KdXNpbmcgR3RrU2hhcnA7 DQoNCmNsYXNzIGZvcm0yDQp7DQogIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkNCiAgICB7DQog ICAgICAvL3N0YXJ0aW5nIGFwcA0KICAgICAgQXBwbGljYXRpb24uSW5pdCgpOw0KICAgICAgbmV3 IHdpZGdldHMoKTsJCQ0KICAgICAgQXBwbGljYXRpb24uUnVuICgpOw0KICAgIH0NCn0NCg0KY2xh c3Mgd2lkZ2V0cw0Kew0KICAvLyBEZWNsYXJpbmcgdmFyaWFibGVzIGFuZCB3aWRnZXRzLg0KICBX aW5kb3cgd2luZG93MTsNCiAgVkJveCBib3gxOw0KICBIQm94IGJveDI7DQogIEJ1dHRvbiBidXR0 b24xOw0KICBCdXR0b24gYnV0dG9uMjsNCiAgTGFiZWwgbGFiZWwxOw0KICBFbnRyeSB0ZXh0Ym94 MTsNCiAgU3RyaW5nIE15VGV4dDsNCiAgDQogIHB1YmxpYyB3aWRnZXRzKCkNCiAgICB7DQogICAg ICAvL2NyZWF0aW5nIHdpZGdldHMgYW5kIGJ1dHRvbnMgZXRjLg0KICAgICAgd2luZG93MT0gbmV3 IFdpbmRvdyAoIm15IGZvcm0gMiIpOw0KICAgICAgd2luZG93MS5EZWZhdWx0U2l6ZSA9IG5ldyBT aXplKDIwMCwgMTUwKTsNCg0KICAgICAgYnV0dG9uMT0gbmV3IEJ1dHRvbiAoIlF1aXQiKTsNCiAg ICAgIGJ1dHRvbjI9IG5ldyBCdXR0b24gKCJjbGljayBtZSIpOw0KICAgICAgbGFiZWwxPSBuZXcg TGFiZWwgKCJCYXNpYyAtIEZvcm0iKTsNCiAgICAgIHRleHRib3gxPSBuZXcgRW50cnkgKCk7DQog ICAgICBib3gxID0gbmV3IFZCb3ggKGZhbHNlLCAwKTsNCiAgICAgIGJveDIgPSBuZXcgSEJveCAo ZmFsc2UsIDApOw0KICAgICAgDQogICAgICAvL2ZpeGluZyBldmVudGhhbmRsZXJzDQogICAgICB3 aW5kb3cxLkRlbGV0ZUV2ZW50ICs9IG5ldyBEZWxldGVFdmVudEhhbmRsZXIgKGRlbGV0ZSk7DQog ICAgICBidXR0b24xLkNsaWNrZWQgKz0gbmV3IEV2ZW50SGFuZGxlciAobXlfaGFuZGxlcjEpOw0K ICAgICAgYnV0dG9uMi5DbGlja2VkICs9IG5ldyBFdmVudEhhbmRsZXIgKG15X2hhbmRsZXIyKTsN CiAgICAgIHRleHRib3gxLkFjdGl2YXRlZCArPSBuZXcgRXZlbnRIYW5kbGVyIChteV9oYW5kbGVy Myk7DQogICAgICANCiAgICAgIC8vcHV0dGluZyB0aGUgd2luZG93IHRvZ2V0aGVyDQogICAgICBi b3gyLlBhY2tTdGFydChidXR0b24xLCBmYWxzZSwgZmFsc2UsIDApOw0KICAgICAgYm94Mi5QYWNr U3RhcnQoYnV0dG9uMiwgZmFsc2UsIGZhbHNlLCAwKTsNCiAgICAgIGJveDEuUGFja1N0YXJ0KGxh YmVsMSwgZmFsc2UsIGZhbHNlLCAwKTsNCiAgICAgIGJveDEuUGFja1N0YXJ0KHRleHRib3gxLCBm YWxzZSwgZmFsc2UsIDApOw0KICAgICAgYm94MS5QYWNrU3RhcnQoYm94MiwgZmFsc2UsIGZhbHNl LCAwKTsNCiAgICAgIHdpbmRvdzEuQWRkKGJveDEpOw0KICAgICAgDQogICAgICAvL3Nob3dpbmcg dGhlIGZ1bGwgbW9udHkgYW5kIHJ1bm5pbmcgdGhlIGFwcA0KICAgICAgd2luZG93MS5TaG93QWxs ICgpOw0KICAgIH0JDQogIA0KICANCiAgcHVibGljIHZvaWQgZGVsZXRlKG9iamVjdCBvYmosIERl bGV0ZUV2ZW50QXJncyBhcmdzKQ0KICAgIC8vY2FsbGVkIHdoZW4gd2luZG93IGlzIGNsb3NlZA0K ICAgIHsNCiAgICAgIEFwcGxpY2F0aW9uLlF1aXQoKTsNCiAgICB9DQoNCiAgcHVibGljIHZvaWQg bXlfaGFuZGxlcjEob2JqZWN0IG9iaiwgRXZlbnRBcmdzIGFyZ3MpDQogICAgLy9DYWxsZWQgd2hl biBidXR0b24gMSBpcyBwcmVzc2VkDQogICAgew0KICAgICAgQXBwbGljYXRpb24uUXVpdCgpOyAg ICAgDQogICAgfQ0KICANCiAgcHVibGljIHZvaWQgbXlfaGFuZGxlcjIob2JqZWN0IG9iaiwgRXZl bnRBcmdzIGFyZ3MpDQogICAgLy9jYWxsZWQgd2hlbiBidXR0b24gMiBpcyBwcmVzc2VkDQogICAg ew0KICAgICAgDQogICAgICBpZihsYWJlbDEuVGV4dD09Ik9vaCB0aGF0IGZlZWxzIGdvb2QiKQ0K CXsNCgkgIGxhYmVsMS5UZXh0ID0iT29oIGRvIHRoYXQgYWdhaW4iOw0KCX0NCiAgICAgIGVsc2UN Cgl7DQoJICBsYWJlbDEuVGV4dCA9Ik9vaCB0aGF0IGZlZWxzIGdvb2QiOw0KCX0NCiAgICB9DQoN CiAgcHVibGljIHZvaWQgbXlfaGFuZGxlcjMob2JqZWN0IG9iaiwgRXZlbnRBcmdzIGFyZ3MpDQog ICAgLy9jYWxsZWQgd2hlbiBidXR0b24gdGV4dCBpcyBjaGFuZ2VkDQogICAgew0KICAgICAgTXlU ZXh0PXRleHRib3gxLlRleHQ7DQogICAgICBsYWJlbDEuVGV4dD1NeVRleHQ7DQogICAgfQ0KICAN Cn0NCg0KDQo= ------_=_NextPart_001_01C2F497.B8534860-- From danmorg@sc.rr.com Thu Mar 27 19:46:02 2003 From: danmorg@sc.rr.com (Daniel Morgan) Date: Thu, 27 Mar 2003 14:46:02 -0500 Subject: [Mono-list] Error compiling GTK# Program In-Reply-To: <3A3966042FA5BC4A94DF8C9868096D69CF2AAF@wkdsx01.wn.co.za> Message-ID: try changing from: window1.DefaultSize = new Size(200, 150); to: window1.DefaultSize = new System.Drawing.Size(200, 150); -----Original Message----- From: mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.com]On Behalf Of Paul Paximadis Sent: Thursday, March 27, 2003 2:33 PM To: mono-list@ximian.com Subject: [Mono-list] Error compiling GTK# Program Sorry forgot the attachment When I try and compile the following program( attached ). I get the following error C:\mono-0.23>mcs -r gtk-sharp basic_form.cs basic_form.cs(36) error CS0246: Cannot find type `Size' Compilation failed: 1 error(s), 0 warnings Thanks in advance Paul From ppaximadis@websoft.co.za Thu Mar 27 19:58:08 2003 From: ppaximadis@websoft.co.za (Paul Paximadis) Date: Thu, 27 Mar 2003 21:58:08 +0200 Subject: [Mono-list] Error compiling GTK# Program Message-ID: <3A3966042FA5BC4A94DF8C9868096D692BA5EE@wkdsx01.wn.co.za> Thanks - just needed to add "Using System.Drawing" I get the following warnings when running the exe. (:7192): Gtk-WARNING **: GModule initialization check failed: Gtk+ version too old (minor mismatch) ** (:7192): WARNING **: Failed to load library libgobject-2.0.so.dll (l ibgobject-2.0.so): The specified module could not be found. ** (:7192): WARNING **: Failed to load library libgobject-2.0.so.dll (l ibgobject-2.0.so): The specified module could not be found. ** (:7192): WARNING **: Failed to load library libgtksharpglue.so.dll ( libgtksharpglue.so): The specified module could not be found. ** (:7192): WARNING **: Failed to load library libgtksharpglue.so.dll ( libgtksharpglue.so): The specified module could not be found. Would getting the latest GTK#/mono from cvs solve that? Thanks Paul -----Original Message----- From: Daniel Morgan [mailto:danmorg@sc.rr.com]=20 Sent: Thursday, March 27, 2003 21:46 To: Paul Paximadis; mono-list@ximian.com Subject: RE: [Mono-list] Error compiling GTK# Program try changing from: window1.DefaultSize =3D new Size(200, 150); to: window1.DefaultSize =3D new System.Drawing.Size(200, 150); -----Original Message----- From: mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.com]On Behalf Of Paul Paximadis Sent: Thursday, March 27, 2003 2:33 PM To: mono-list@ximian.com Subject: [Mono-list] Error compiling GTK# Program Sorry forgot the attachment When I try and compile the following program( attached ). I get the following error C:\mono-0.23>mcs -r gtk-sharp basic_form.cs basic_form.cs(36) error CS0246: Cannot find type `Size' Compilation failed: 1 error(s), 0 warnings Thanks in advance Paul From pt99par@student.bth.se Fri Mar 28 05:36:45 2003 From: pt99par@student.bth.se (Per Arneng) Date: Fri, 28 Mar 2003 00:36:45 -0500 Subject: [Mono-list] Sys..Web.Mail is finished! Message-ID: <200303280036.45203.pt99par@student.bth.se> Hi! Just wanted to announce that the namespace System.Web.Mail should now be finished. Have tested it againts MS runtime and every feature seems to be there :) . There will probably be some buggs but all the features are there. The documentation is still needed and will be done soon :) Best regards Per Arneng From gonzalo@ximian.com Thu Mar 27 23:42:51 2003 From: gonzalo@ximian.com (Gonzalo Paniagua Javier) Date: 28 Mar 2003 00:42:51 +0100 Subject: [Mono-list] Sys..Web.Mail is finished! In-Reply-To: <200303280036.45203.pt99par@student.bth.se> References: <200303280036.45203.pt99par@student.bth.se> Message-ID: <1048808571.576.28.camel@portatil> El vie, 28 de 03 de 2003 a las 06:36, Per Arneng escribió: > Hi! > > Just wanted to announce that the namespace System.Web.Mail > should now be finished. Have tested it againts MS runtime and > every feature seems to be there :) . There will probably > be some buggs but all the features are there. The documentation > is still needed and will be done soon :) Good job, Per! -Gonzalo From miguel@ximian.com Fri Mar 28 00:17:10 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 27 Mar 2003 19:17:10 -0500 Subject: [Mono-list] Sys..Web.Mail is finished! In-Reply-To: <200303280036.45203.pt99par@student.bth.se> References: <200303280036.45203.pt99par@student.bth.se> Message-ID: <1048810629.7532.2259.camel@erandi.boston.ximian.com> Hello Per, > Just wanted to announce that the namespace System.Web.Mail > should now be finished. Have tested it againts MS runtime and > every feature seems to be there :) . There will probably > be some buggs but all the features are there. The documentation > is still needed and will be done soon :) You mentioned today that you wanted to document the classes. You might want to have Duncan set up some documentation stubs for you in the Monodoc module. Miguel. From luifer@onetel.net.uk Fri Mar 28 10:16:07 2003 From: luifer@onetel.net.uk (Luis Fernandez) Date: Fri, 28 Mar 2003 10:16:07 -0000 Subject: [Mono-list] J2EE style architecture for C#/.NET (was: Mono quotes from a Sun evangelist) References: <000001c2f458$769ec050$2c30c00a@t23laptop> <02e901c2f45f$f9130940$01c8a8c0@ATICATACCENTRE> Message-ID: <003b01c2f513$12c09570$ca454ed5@xxxxxxxxjcukd3> > > > > Has there been interest in creating a J2EE style architecture for > > > > C#/.NET? We can make it "better" because we can make the beans self > > > > describing using attributes. No need for XML descriptors :D. > > > > > > > > > > This is what System.EnterpriseServices does. > > > > Not really. System.EnterpriseServices is basically a band-aid on top of > > COM+. The only reason it exists is that MS ran out of time and chose to > > ship .NET without a new distributed Tx architecture. Of all the things > > in .NET System.EnterpriseServices probably has the shortest future ahead > > of it - I can't see Mono really meaningfully implementing it as > > ServicedComponent and friends are conceptually tied so closely to > > COM+/Windows. > > This is a good point for discussion. System.EnterpriseServices is just an > API through you can use the services that COM+ offers, I Agree. But this API > and those services are very generic: distributed transactions, role-based > security, object pooling, etc., more or less what J2EE has (ok, it doesn't > have anything like BMP or CMP). So, if we need an API for a J2EE style app > server, why not use System.EnterpriseServices? I see many benefints: it is > already defined, it is known by many developers, and it will ease > portability of server applications between Windows and Linux. > > - Lluis Could we implement an application server that would take care of all these issues so that it is transparent to the user? Any program developed to run on it will be able to run on both .NET and MONO, as the application server should be able to run independently on both platforms. In this way we can provide a very robust framework for distributed environments that developers can use without having to worry about remoting, and such things. So I guess what I'm suggesting is to implement a .NET J2EE, which could use System.EnterpriseServices when run on windows and some other mechanism when run on linux, but which would be transparent to the programer developing the application. Also, I think I have read that microsoft ships many more class libraries toguether with their .NET Enterprise servers for enterprise level applications so we should be providing at least some kind of alternative. I would be very interested in contributing to such project. Luis From peter@bosch.net Fri Mar 28 12:23:49 2003 From: peter@bosch.net (Peter Bosch) Date: Fri, 28 Mar 2003 06:23:49 -0600 Subject: [Mono-list] Article information... Message-ID: Hi, guys. I have been working on a .Net simulation engine for a long time, and will be presenting an article on it at the Winter Simulation Conference in December. I want to discuss the enterprise implications of using the engine on Linux using Mono, and wondered if I could ask a few questions to fill out the details in my article. How many people are working on Mono? How long has the project been going on? What are the obligations of an organization using the Mono .Net runtime & libraries in an enterprise application? (There are, I understand, questions about ASP.Net, ADO.Net and WinForms - I'll discuss them, but only briefly...) Thanks. Peter Bosch Highpoint Software Systems E-mail : Peter@Bosch.Net Phone : 262-893-5400 Snail : S42 W27451 Oak Grove Lane Waukesha, WI, 53189 define - design - develop - document - deliver _________________________________________________________________ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 From mwh@sysrq.dk Fri Mar 28 13:47:47 2003 From: mwh@sysrq.dk (Martin Willemoes Hansen) Date: 28 Mar 2003 14:47:47 +0100 Subject: [Mono-list] Sys..Web.Mail is finished! In-Reply-To: <200303280036.45203.pt99par@student.bth.se> References: <200303280036.45203.pt99par@student.bth.se> Message-ID: <1048859267.334.6.camel@spiril.sysrq.dk> On Fri, 2003-03-28 at 06:36, Per Arneng wrote: > Hi! > > Just wanted to announce that the namespace System.Web.Mail > should now be finished. Have tested it againts MS runtime and > every feature seems to be there :) . There will probably > be some buggs but all the features are there. The documentation > is still needed and will be done soon :) Great!!! Thanks for your nice work :O) > Best regards > Per Arneng > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list -- Martin Willemoes Hansen -------------------------------------------------------- E-Mail mwh@sysrq.dk Website mwh.sysrq.dk IRC MWH, freenode.net -------------------------------------------------------- From jackson@latitudegeo.com Fri Mar 28 15:44:28 2003 From: jackson@latitudegeo.com (Jackson Harper) Date: 28 Mar 2003 07:44:28 -0800 Subject: [Mono-list] New mono community site Message-ID: <1048866268.23787.3.camel@ajiy20dvy21ce.bc.hsia.telus.net> Hello, A friend of mine has started a mono community site. He needs help and ideas so please post to his message board anything you would like to see on the site, or anything you would like to help with. Here is the link: http://www.gotmono.com Jackson -- Jackson Harper From Eric.Gonia@acxiom.com Fri Mar 28 15:49:16 2003 From: Eric.Gonia@acxiom.com (Gonia Eric - egonia) Date: Fri, 28 Mar 2003 09:49:16 -0600 Subject: [Mono-list] New mono community site Message-ID: Is the CIL GCC frontend part true? -----Original Message----- From: Jackson Harper [mailto:jackson@latitudegeo.com] Sent: Friday, March 28, 2003 9:44 AM To: Mono List Subject: [Mono-list] New mono community site Hello, A friend of mine has started a mono community site. He needs help and ideas so please post to his message board anything you would like to see on the site, or anything you would like to help with. Here is the link: http://www.gotmono.com Jackson -- Jackson Harper _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list ********************************************************************** The information contained in this communication is confidential, is intended only for the use of the recipient named above, and may be legally privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this communication in error, please re-send this communication to the sender and delete the original message or any copy of it from your computer system. Thank You. From miguel@ximian.com Fri Mar 28 16:12:07 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 28 Mar 2003 11:12:07 -0500 Subject: [Mono-list] New mono community site In-Reply-To: References: Message-ID: <1048867927.7532.2857.camel@erandi.boston.ximian.com> Hello, > Is the CIL GCC frontend part true? There is some research done: http://www.cl.cam.ac.uk/~jds31/research/gccnet Miguel From jeske@chat.net Fri Mar 28 17:15:11 2003 From: jeske@chat.net (David Jeske) Date: Fri, 28 Mar 2003 09:15:11 -0800 Subject: [Mono-list] lies and microbenmarks (Was: Mono 0.23 windows installer) In-Reply-To: <20030314015518.GA21135@ceres.cs.mu.oz.au> References: <20030311213101.17408.65555.Mailman@headcheese.ximian.com> <1047486309.1330.17.camel@localhost.localdomain> <20030313085756.A22402@mozart> <20030314015518.GA21135@ceres.cs.mu.oz.au> Message-ID: <20030328091511.G22402@mozart> On Fri, Mar 14, 2003 at 12:55:18PM +1100, Fergus Henderson wrote: > On 13-Mar-2003, David Jeske wrote: > > I can see how the anti-benchmarking clause was important to the MS > > lawyers, because if an article was published showing a brand new .NET > > runtime slower than the 5 year old JVM technology, readers would not > > respect the newness of .NET. In reality, the legal people should have > > talked to the technical people and realized that nearly all MS.NET > > vs. Java benchmarks ALREADY come out with .NET on top > > All the benchmarks you've seen, you mean? I mean the few benchmarks I've written and plenty of the benchmarks in The Win32 version of Doug's Language Shootout. My paragraph was tongue-and-cheek. I'm joking about how MS should have required people to publish benchmark numbers because they actually did a good job. Laugh Laugh. Ha Ha. I'm expecting a cease and desist in the mail any day now. > Don't you think it is possible that the benchmark results that > you have seen are skewed, because of the .NET license condition? Anything is possible, but no, I don't think that is the case. Check out the tests, the source is available. My micro-benchmarks agreed with the kind of skew seen here: http://dada.perl.it/shootout/ Java was faster at 3 of the tests, csharp was faster at the other 18. > Also, Java is not the only competition. In performance comparisons with > native code, .NET is going to come off worse. The question is how much > worse. Furthermore, the answer may be different for different > programming styles or different programming languages. This is a good point, and in the shootout above, you can certainly see C# getting waxed by C/C++ and ML to name a few. I'm anxious to see how much C# can close that gap with CIL v2.0 and Generics. They/we should be able to get close to C++, and when that happens, I'll be thrilled. My original post served two purposes: (a) to show that 1-2 year old C# implementations are doing well relative to much older Java implementations already. (b) Highlight the areas where Mono's performance was orders of magnitude worse than MS so someone would have the chance to recognize a design flaw or implemenation limitation early enough should there be one. My goal wasn't to poke fights about performance. I really could care less. Today I spend most of my time programming in Python which is certainly no speed daemon. > One of .NET's big selling points is that it supports multiple > programming languages. However, if you get a 1000-times slow down > for non-C#-like languages, that claim is a bit of a sham, isn't it? > It's all very well to say that you can use other languages, but if > the performance of .NET for those other languages is prohibitively > bad, people will prefer to compile those other languages to native > code. I'm not sure how this multi-language discussion got in here, but I'm happy to respond: IMO, the multi-language thing itself is mostly hype. JVM still supports more languages than .NET. Neither of them support "different" languages very well. However, from what I've seen, MSIL simply has better performance characteristics. Today it is because of things like structs and references (i.e. safe pointers). Tommorow it will be because of CIL support for Generics. Which means those "workarounds" for non-C#/Java languages will probably run faster. Here are some references: http://www.dcs.ed.ac.uk/home/stg/MRG/comparison/slides.pdf http://www.citi.qut.edu.au/research/plas/projects/cp_files/virtual_machines.pdf That first paper talks about an approach where they extended their VM to read JVM bytecodes instead of trying to force ML/SML into JVM/CIL. In some ways this seems more sensible and just as useful. -- David Jeske (N9LCA) + http://www.chat.net/~jeske/ + jeske@chat.net From jonpryor@vt.edu Fri Mar 28 18:14:47 2003 From: jonpryor@vt.edu (Jonathan Pryor) Date: 28 Mar 2003 13:14:47 -0500 Subject: [Mono-list] Article information... In-Reply-To: References: Message-ID: <1048875278.32747.10.camel@melchior.magi> You might try looking at the presentations available from: http://primates.ximian.com/~miguel/slides-europe-nov-2002/ The presentations are in OpenOffice.org Impress format. In particular, ETH.sxi lists the start date and the number of contributors. Granted, this information is out of date (from last November), but I doubt that it's changed substantially. To answer your questions: > How many people are working on Mono? >From the above presentation, "~100 contributors, ~30 very active." That was last November, so the numbers may be different. > How long has the project been going on? Also from the above presentation, the project was started July 2001, so it has been going on for ~20 months. > What are the obligations of an organization using the Mono .Net runtime & > libraries in an enterprise application? The obligations depend upon what they use. The obligations are listed at: http://www.go-mono.com/index.html#Jan28,2002 In short the class libraries are X11 licensed (similar to the BSD license), so anyone can use them and change them without worry. The runtime libraries are LGPL, so you can ship proprietary applications linked against Mono. The Compilers and utilities (varies by utility) are GPL. - Jon On Fri, 2003-03-28 at 07:23, Peter Bosch wrote: > Hi, guys. > > I have been working on a .Net simulation engine for a long time, and will be > presenting an article on it at the Winter Simulation Conference in December. > I want to discuss the enterprise implications of using the engine on Linux > using Mono, and wondered if I could ask a few questions to fill out the > details in my article. > > How many people are working on Mono? > How long has the project been going on? > What are the obligations of an organization using the Mono .Net runtime & > libraries in an enterprise application? > (There are, I understand, questions about ASP.Net, ADO.Net and WinForms - > I'll discuss them, but only briefly...) > > Thanks. > Peter Bosch > Highpoint Software Systems > E-mail : Peter@Bosch.Net > Phone : 262-893-5400 > Snail : S42 W27451 Oak Grove Lane > Waukesha, WI, 53189 > > define - design - develop - document - deliver > > > > > > > _________________________________________________________________ > Protect your PC - get McAfee.com VirusScan Online > http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 > > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list From jeske@chat.net Fri Mar 28 19:28:17 2003 From: jeske@chat.net (David Jeske) Date: Fri, 28 Mar 2003 11:28:17 -0800 Subject: [Mono-list] C#/.NET Generics update and summary Message-ID: <20030328112817.I22402@mozart> Since I'm very interested in C# Generics, in particular it's ability to improving typing and help close the performance gap with C/C++, I figured I'd post a summary of recent Generics information for anyone who is interested: 1) What is C# Generics? Generics for C# and .NET is a set of changes to CIL and C# which implement parametric types. Conceptually C# Generics fill roughly similar needs as C++ templates or Generic Java (GJC). Currently the performance of collections in .NET (or JVM) is similar to that of Python, Perl, or Smalltalk because collections involve runtime dynamic type casting. Generics for .NET support runtime specialization into static code, eliminating the extra typechecks, and bringing the performance of collections closer to that of C/C++. http://research.microsoft.com/projects/clrgen/generics.pdf 2) What implementation work has taken place with C# Generics? Microsoft Research has released an implementation known as Gyro in the form of patches to be applied to the Microsoft Shared Source CLI. http://research.microsoft.com/projects/clrgen/ Some preliminary work has been done in Portable.NET to support Generic C#/CIL. (it dosn't work yet) http://dotgnu.org/pipermail/developers/2003-February/009918.html Microsoft has submitted preliminary documents to the ECMA which have not yet been released. 3) When will Microsoft release Generics? Microsoft announced at OOPSLA 2002 their intent to provide several new C# language features including Generics, anonymous methods, iterators, and partial types. This provided much confusion as some thought that this meant the .NET v1.1 or VS.NET 2003 releases would contain Generics. This is not the case. http://www.gotdotnet.com/team/csharp/conferences/OOPSLA%202002%20CSharp.ppt http://www.microsoft.com/presspass/press/2002/Nov02/11-08OOPSLAPR.asp Generics is slated for .NET v2.0, known as "Whidbey", with the VS.NET for "Yukon". The word is late 2003 or early 2004. 4) When will C# Generics be standardized? There are no official dates, however, in an interview last week (March 21,2003) Anders confirmed that this work is already underway: "In fact, we have already submitted specifications for Generics, Iterators, and Partial Classes to ECMA, and we're on schedule to submit the remaining specifications within the next several months. We remain very committed to C# standardization." http://msdn.microsoft.com/chats/vstudio/vstudio_032103.asp 5) How is C# Generics different from Generic Java? Generic Java has been in process for a few years. The first research implementations existed before C# was release. Sun has released a reference compiler (GJC) which implements the JCP elected standard. Generic Java does not change the JVM, and thus it does not close the performance gap with C/C++. However, it has the benefit that it provides the additional typesafety in a very backward compatible manner. Existing compiled libraries can be "retrofit" with parametric type-specifications. Generic Java is rumored to be slated for the next Java release (1.5?) for which no date is set. http://www.jcp.org/aboutJava/communityprocess/review/jsr014/index.html C# Generics is similar to Generic Java in many respects. However, CIL v2.0 includes specific support for Generics which closes the performance gap with C/C++ by specializing code and eliminating run-time casts. Gyro, a reference implementation of Generic C#/CIL, is available as a patch to the Microsoft Shared Source CLI. http://research.microsoft.com/projects/clrgen/ 6) Where can I find more information? "Future Directions for Visual C#" http://msdn.microsoft.com/chats/vstudio/vstudio_032103.asp "Interview with Anders Hejlsberg" http://windows.oreilly.com/news/hejlsberg_0800.html "New C# Language Features" http://www.gotdotnet.com/team/csharp/learn/Future/default.aspx "Gates Offers Glimpse of VS Update, Everett" http://www.eweek.com/article2/0,3959,714015,00.asp "ECMA C# and Common Language Infrastructure Standards" http://msdn.microsoft.com/net/ECMA/ -- David Jeske (N9LCA) + http://www.chat.net/~jeske/ + jeske@chat.net From sma@3plus4.de Sat Mar 29 11:48:16 2003 From: sma@3plus4.de (Stefan Matthias Aust) Date: Sat, 29 Mar 2003 12:48:16 +0100 Subject: [Mono-list] C#/.NET Generics update and summary In-Reply-To: <20030328112817.I22402@mozart> References: <20030328112817.I22402@mozart> Message-ID: <3E858800.5020601@3plus4.de> David Jeske wrote: > Since I'm very interested in C# Generics, in particular it's ability > to improving typing and help close the performance gap with C/C++, I > figured I'd post a summary of recent Generics information for anyone > who is interested: I'd also like to see generics (both in Java and C#) so I'd like to comment on your compiled information. Thanks for your work. For me, improved type safety is the more important point. By my definition, a language like Java or C# must be considered statically unsafe as lony as null pointer/reference exceptions or class cast/invalid class exceptions can occur. At least the latter can be worked around with generic types. A more powerful type system (see for example nice.sf.net for a really nice superset of Java which doesn't have these problems anymore) would be required to get rid of null pointer exceptions. > similar needs as C++ templates or Generic Java (GJC). Currently the > performance of collections in .NET (or JVM) is similar to that of > Python, Perl, or Smalltalk because collections involve runtime > dynamic type casting. Smalltalk - I know for sure - has no concept of static types, therefore no concept for typecasts whatsoever and therfore has no such overhead and its collections work with every type of object without any runtime penalty. So I don't think that your comparison works. The performance is worse because to regain static type-safeness, both Java and C# have to inject runtime type checks into the getter methods. Java furthermore suffers because you have to explicitely box and unbox primitive types. It might be possible that .NET could provide faster boxing and unboxing because the VM deals with this issue but I don't know. As languages like Smalltalk have no primitives types and use objects all the time, this penalty isn't there and collections in Smalltalk are more efficient. (Of course, not having primitives datatypes can cause larger memory footprint or less efficient arithmetics in other parts of the program but that's a different story. In fact, by using objects all the time, there's no integer overflow in Smalltalk and the transition from small to large integers (with unlimited precision) is transparent for the user.) > Generics for .NET support runtime > specialization into static code, eliminating the extra typechecks, > and bringing the performance of collections closer to that of C/C++. Support, but not require. As I understand the specification, it would be pretty valid to use the same method as generic Java to fulfill the specification. However, there's an opportunity to generate special kinds of collections for primitive types. It's still unclear for me what would be the better approach to spread the use of generics. The Java way which says we will not change the VM so that any code written with generic types will still run on old installations (although not faster than the old non-generic-code) or the .NET way which says you'll need a new VM (aka VES) but you might get better performance in exchange. > 5) How is C# Generics different from Generic Java? Isn't the extended type system which is the foundation for C# generics also more powerful that what Java has because its modeled after the ILX requirements which shall help to generate more efficient code for functional languages like F# (Ocaml) or Haskell(.NET)? > "retrofit" with parametric type-specifications. Generic Java is > rumored to be slated for the next Java release (1.5?) for which no > date is set. It's not a rumor but part of the release 1.5 plan AFAIK. The generics compiler is already available, although that compiler doesn't feature the other syntax changes (boxing, enums, foreach-statement etc), yet which will also be introduced to 1.5 to probably should make Java to catch up with C# again. The Eclipse project announced to add generics to their compiler as part of the 2.2 release which might be available in six months or so. Early access versions are hopefully available is a few months. Java 1.5 should be available in early 2004 with a beta which will probably be released in July at the JavaOne conferrence (my guess, not confirmed). > run-time casts. Gyro, a reference implementation of Generic C#/CIL, > is available as a patch to the Microsoft Shared Source CLI. Does Gyro already has the mentioned CLI 2.0 and is there a measurable performance improvement? bye -- Stefan Matthias Aust // www.3plus4software.de // Inter Deum Et Diabolum Semper Musica Est From sma@3plus4.de Sat Mar 29 12:19:00 2003 From: sma@3plus4.de (Stefan Matthias Aust) Date: Sat, 29 Mar 2003 13:19:00 +0100 Subject: [Mono-list] lies and microbenmarks (Was: Mono 0.23 windows installer) In-Reply-To: <20030328091511.G22402@mozart> References: <20030311213101.17408.65555.Mailman@headcheese.ximian.com> <1047486309.1330.17.camel@localhost.localdomain> <20030313085756.A22402@mozart> <20030314015518.GA21135@ceres.cs.mu.oz.au> <20030328091511.G22402@mozart> Message-ID: <3E858F34.4040103@3plus4.de> David Jeske wrote: > I mean the few benchmarks I've written and plenty of the benchmarks in > The Win32 version of Doug's Language Shootout. It greately depends on the benchmarks I guess. I benchmarks two more complex applications - a Smalltalk-Interpreter I once wrote for fun and a Scheme interpreter (actually an older version of Peter Norvigs SILK aka Jscheme) which I tried to port 1:1 from Java to C#. Both applications run much faster in Java than in C#. .NET was nearly as fast as the Java client VM, but the Server VM was much faster. Both benchmarks make heavy (heaviest) use of garbage collection, object allocation and method calling and do nothing of the "usual" benchmarks - looping over arrays, doing small arithmetics etc. I consider such application benchmarks more useful as they better mirror the typical work of a application server or complex OO application. Suns Hotspot VM is definitely not the best (there's an Intel resarch VM which is - according to Intel - 20% better than the client VM for example) and Microsofts VM is pretty fast. However, it's more tailored towards faster one-shot execution (which is what most benchmarks measure) and doesn't do (AFAIK) agressive long term, profile based optimations like the hotspot architecture. One example are precompiled libraries. Linking and therefore starting time is improved, but as you (probably, I don't know for sure, perhaps the precompiled libraries still contain the IL code) try to gain speed by inlining and devirtualising method calls, precompiled code is an obstacle. > My original post served two purposes: (a) to show that 1-2 year old C# > implementations are doing well relative to much older Java > implementations already. Actually, C# doesn't matter here. You compare the performance of the Microsoft VM (aka VES) with the JVM and Microsoft is working on that VM since the early days of Java. I'm pretty sure that the .NET VM shares the same technology (and perhaps even the code) of Microsofts Java VM which also wasn't new technology back than but based on existing rearch work. > IMO, the multi-language thing itself is mostly hype. JVM still > supports more languages than .NET. Neither of them support "different" > languages very well. Actually, the JVM doesn't support multiple languages. Bytecode is nearly a 1:1 representation of the Java semantics. The one exception are gotos which would be possible in JVM bytecode and which are not part of Java. Therefore, all other languages which different semantics (which aren't just a syntactic skin as C# and VB.NET are) must emulate their semantics in Java. This meants, stuff that isn't fast in Java can't be cast in these other languages and those languages are always second level citizen. So it's no real wonder for me that other languages never cought up. For .NET things a slightly better. The CIL is still architectured toward one (boring) kind of language but at least, there're some ways out. The tail-end-recursion-call in the CIL might be the most prominent example. Efficient tail-end-recursion is a requirement for most functional languages. Values types, automatic boxing and unmanaged code can probably also help to implement other languages for .NET. Still you won't get efficient dynamic languages, no Lisp, no Smalltalk, no Ruby or Python. Fortunatley, computers are probably fast enough to sacrify one order of magnitute of performance for better languages with better development performance (using python for rapid prototyping instead of C for example). > However, from what I've seen, MSIL simply has better performance > characteristics. Today it is because of things like structs and > references (i.e. safe pointers). Tommorow it will be because of CIL > support for Generics. Which means those "workarounds" for non-C#/Java > languages will probably run faster. Here are some references: > > http://www.dcs.ed.ac.uk/home/stg/MRG/comparison/slides.pdf This paper emphazises the fact mentioned above, the CIL is slightly better for supporting other languages - specially stically typed functional languages - probably because that's what most Microsoft research guys love and use. Unfortunately, the (only IMHO of couse) practically more important group of dynamic languages isn't supported well on neither platform. > http://www.citi.qut.edu.au/research/plas/projects/cp_files/virtual_machines.pdf The example they pickec, a Pascal dialekt, is IMHO nearly meanless for all "interesting" modern languages with high level abstraction, object orientation and so on. For fast execution of OO lanuages, it doesn't matter how fast you can add two numbers but how fast GC and method calling works in very dynamic environments where you will reload classes, deal with large amounts of differently sized memory chunks, where you need to run applications for days without failure and so on. bye -- Stefan Matthias Aust // www.3plus4software.de // Inter Deum Et Diabolum Semper Musica Est From sma@3plus4.de Sat Mar 29 12:37:35 2003 From: sma@3plus4.de (Stefan Matthias Aust) Date: Sat, 29 Mar 2003 13:37:35 +0100 Subject: [Mono-list] Mono quotes from a Sun evangelist In-Reply-To: <000101c2f2fc$6076e440$3200a8c0@unity> References: <000101c2f2fc$6076e440$3200a8c0@unity> Message-ID: <3E85938F.20801@3plus4.de> Thong (Tum) Nguyen wrote: > Has there been interest in creating a J2EE style architecture for > C#/.NET? We can make it "better" because we can make the beans self > describing using attributes. No need for XML descriptors :D. Shouldn't be that difficult. Most if not all of the stuff is based on the servlet API and the idea of a standardized application server servlet container plugin-API. The servlet idea a s pretty simple but clever way to interface with web pages which has proven to be easy to learn and quite usable. Based on that, Sun gave us JSPs - the same old idea as PHP where you inject source code into HTML code. JSPs are compiled into servlets, that is bla <% int a = 0; %> is wrapped inside-out print("bla "); int a = 0; ASP works probably quite the same. Of couse, the JSP standard growed with the time and because the older versions never got it right. JSP 2.0 is on the horizont and will come with its own simpler-to-use expression language. Another concept of JPSs are taglibs where you can write pluggable code that gets executed if the JSP engine hits a custom tag like . Based on this foundation, productivity frameworks like struts or all other webapp-frameworks are created. And of course based on XML because everybody seems to think, that large complicated configuration files with XML syntax must be a good idea cause anybody else does it, too. Whatever, this track of J2EE should hide no hidden traps of complexity. For EJBs - if you want them - you basically need something like RMI - .NET remoting should do fine here - and the time and endurance to create an EJB application server. JBoss is an open sourced one. As it worked quite will in pure Java, of course you could port it to C#. You could even have your Java clients talk to that server because the ways the EJB standard is defined. More realistic, it might be possible, you have C# clients to talk to a Java-EJB-Appserver. You need an RMI and/or Corba/IIOP protocol though that also supports Java serialization. Everthing is standardized, you just need to implement it. And - in opposite to Microsoft who even wants to patent the .NET API - you're allowed to do so. My preference would be to have something like servlets as I really like this technology. I don't care much for JSP and at least 80% of all projects don't need the overhead of EJBs. It would be nice to lever existing Java technology knowledge to C#. bye -- Stefan Matthias Aust // www.3plus4software.de // Inter Deum Et Diabolum Semper Musica Est From fjh@cs.mu.OZ.AU Sat Mar 29 13:12:16 2003 From: fjh@cs.mu.OZ.AU (Fergus Henderson) Date: Sun, 30 Mar 2003 00:12:16 +1100 Subject: [Mono-list] lies and microbenmarks (Was: Mono 0.23 windows installer) In-Reply-To: <3E858F34.4040103@3plus4.de> References: <20030311213101.17408.65555.Mailman@headcheese.ximian.com> <1047486309.1330.17.camel@localhost.localdomain> <20030313085756.A22402@mozart> <20030314015518.GA21135@ceres.cs.mu.oz.au> <20030328091511.G22402@mozart> <3E858F34.4040103@3plus4.de> Message-ID: <20030329131216.GA20601@ceres.cs.mu.oz.au> On 29-Mar-2003, Stefan Matthias Aust wrote: > Still you won't get efficient dynamic languages, no Lisp, no Smalltalk, > no Ruby or Python. Fortunatley, computers are probably fast enough to > sacrify one order of magnitute of performance for better languages with > better development performance (using python for rapid prototyping > instead of C for example). What makes you think that it will only be one order of magnitude? -- Fergus Henderson | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: | -- the last words of T. S. Garp. From fjh@cs.mu.OZ.AU Sat Mar 29 13:25:45 2003 From: fjh@cs.mu.OZ.AU (Fergus Henderson) Date: Sun, 30 Mar 2003 00:25:45 +1100 Subject: [Mono-list] New mono community site In-Reply-To: <1048867927.7532.2857.camel@erandi.boston.ximian.com> References: <1048867927.7532.2857.camel@erandi.boston.ximian.com> Message-ID: <20030329132545.GB20601@ceres.cs.mu.oz.au> On 28-Mar-2003, Miguel de Icaza wrote: > Hello, > > > Is the CIL GCC frontend part true? > > There is some research done: > > http://www.cl.cam.ac.uk/~jds31/research/gccnet That's a CIL *backend* for GCC, not a CIL *frontend* for GCC. Also, the approach describe there has some fundamental flaws. According to Gopal V, "It has a huge array which it uses like C uses RAM. Not pretty, fast, stable or useful", and according to Rhys Weatherly, "He's using a similar approach to egcs-jvm. See the pnet FAQ for a description of why this isn't a good way to port gcc to a stack machine", and they are both right. -- Fergus Henderson | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: | -- the last words of T. S. Garp. From fjh@cs.mu.OZ.AU Sat Mar 29 13:31:37 2003 From: fjh@cs.mu.OZ.AU (Fergus Henderson) Date: Sun, 30 Mar 2003 00:31:37 +1100 Subject: [Mono-list] New mono community site In-Reply-To: References: Message-ID: <20030329133137.GC20601@ceres.cs.mu.oz.au> On 28-Mar-2003, Gonia Eric - egonia wrote: > Is the CIL GCC frontend part true? There has been some work by Zoltan Varga on a CIL->C tool, which can then be used in conjunction with GCC's C front-end. It used to be at but that doesn't seem to be working anymore. -- Fergus Henderson | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: | -- the last words of T. S. Garp. From miguel@ximian.com Sat Mar 29 17:08:49 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 29 Mar 2003 12:08:49 -0500 Subject: [Mono-list] C#/.NET Generics update and summary In-Reply-To: <3E858800.5020601@3plus4.de> References: <20030328112817.I22402@mozart> <3E858800.5020601@3plus4.de> Message-ID: <1048957729.6806.3421.camel@erandi.boston.ximian.com> Hello, > > run-time casts. Gyro, a reference implementation of Generic C#/CIL, > > is available as a patch to the Microsoft Shared Source CLI. > > Does Gyro already has the mentioned CLI 2.0 and is there a measurable > performance improvement? My understanding is that Gyro was a research/proof of concept prototype upon which the real product is based. Also Gyro/Rotor have a different JIT compiler than the real product, so it is hard to measure against the real thing. Miguel. From miguel@ximian.com Sat Mar 29 17:13:32 2003 From: miguel@ximian.com (Miguel de Icaza) Date: 29 Mar 2003 12:13:32 -0500 Subject: [Mono-list] New mono community site In-Reply-To: <20030329132545.GB20601@ceres.cs.mu.oz.au> References: <1048867927.7532.2857.camel@erandi.boston.ximian.com> <20030329132545.GB20601@ceres.cs.mu.oz.au> Message-ID: <1048958011.6806.3426.camel@erandi.boston.ximian.com> Hello, > Also, the approach describe there has some fundamental flaws. > According to Gopal V, "It has a huge array which it uses like C uses RAM. > Not pretty, fast, stable or useful", and according to Rhys Weatherly, > "He's using a similar approach to egcs-jvm. See the pnet FAQ for a > description of why this isn't a good way to port gcc to a stack machine", > and they are both right. Still a useful foundation, and good direction to bring plenty of compilers over to .NET. The important bit about this work is the fact that the register-based RTL representation is used to map to CIL code. The other nuisances are technical details. In the "solvable" universe, not in the "impossible" universe. Miguel. From jeske@chat.net Sat Mar 29 17:34:42 2003 From: jeske@chat.net (David Jeske) Date: Sat, 29 Mar 2003 09:34:42 -0800 Subject: [Mono-list] C#/.NET Generics update and summary In-Reply-To: <3E858800.5020601@3plus4.de> References: <20030328112817.I22402@mozart> <3E858800.5020601@3plus4.de> Message-ID: <20030329093442.A4962@mozart> On Sat, Mar 29, 2003 at 12:48:16PM +0100, Stefan Matthias Aust wrote: > For me, improved type safety is the more important point. I have another proposal to handle checked exceptions without the annoyance of Java. However, this would have to be in a C# superset like the Java superset you referred to. http://mozart.chat.net/~jeske/unsolicitedDave/csharp_checked_exception_proposal.html > Smalltalk - I know for sure - has no concept of static types, therefore > no concept for typecasts whatsoever and therfore has no such overhead > and its collections work with every type of object without any runtime > penalty. So I don't think that your comparison works. The performance > is worse because to regain static type-safeness, both Java and C# have > to inject runtime type checks into the getter methods. The conciseness of my review obviously could not cover the detailed issues. In a dynamic typed system like Smalltalk or Python, there are many possible sources of overhead in using collections such as a hashtable: a) dynamic method lookup to call method on key object to get it's hash code b) dynamic method lookup to call hash table methods (get/set) c) overhead of handling basic datatypes such as integers or simple records in a manner which is similar to "objects" for the runtime (i.e. usually involving memory allocations) C# is faster at (a) and (b) by using C++ style static vtable lookups for methods. "really fancy" Smalltalk runtimes like the SELF/Smalltalk runtime which eventually became hotspot can sometimes optimize out this overhead at runtime if a single type appears in the hashtable. Java Hotspot JITs try to do the same thing. I'm not sure if the MS JIT does this, but it could. Generic C# improves (c). Most dynamic languages have some kind of hacks to handle this well, so the object allocation does not happen at the hashtable insertion. For example, Python pre-allocates some number of "integer objects" so it can use and reuse them without allocation. C# and Java must current allocate object to "box" values. This is the biggest reason that integer keyed hash tables are FASTER on Python than C# today. Generics will fix this. > Java furthermore suffers because you have to explicitely box and unbox > primitive types. It might be possible that .NET could provide faster > boxing and unboxing because the VM deals with this issue but I don't > know. It's pretty much the same. It's the memory allocation and value indirection that kills. A C# could have an "integer pool" similar to Python for small integers. That would likely help things, but Generics are a better solution. > > Generics for .NET support runtime specialization into static code, > > eliminating the extra typechecks, and bringing the performance of > > collections closer to that of C/C++. > > Support, but not require. As I understand the specification, it would > be pretty valid to use the same method as generic Java to fulfill the > specification. However, there's an opportunity to generate special > kinds of collections for primitive types. Yes. My words were chosen carefully. Obviously the typesafety benefits come from Generics at the language level, and performance comes from that code specilization at the JIT level. > It's still unclear for me what would be the better approach to spread > the use of generics. The Java way which says we will not change the VM > so that any code written with generic types will still run on old > installations (although not faster than the old non-generic-code) or the > .NET way which says you'll need a new VM (aka VES) but you might get > better performance in exchange. Microsoft will use "Windows Update" and other mechanisms to push out the v2.0 CLI as fast as possible. There are tools which allow you to "convert" Generic CIL to normal CIL. I'm sure VS.NET will let you build "CLI v1.1 compatible" code from your Generic C# and we should too -- even if it merely involves another conversion step. > > 5) How is C# Generics different from Generic Java? > > Isn't the extended type system which is the foundation for C# generics > also more powerful that what Java has because its modeled after the ILX > requirements which shall help to generate more efficient code for > functional languages like F# (Ocaml) or Haskell(.NET)? It is unclear how good ILX is. Obviously the ILX people think it is somewhat useful. This presentation pans ILX pretty bad: http://www.dcs.ed.ac.uk/home/stg/MRG/comparison/slides.pdf > > run-time casts. Gyro, a reference implementation of Generic C#/CIL, > > is available as a patch to the Microsoft Shared Source CLI. > > Does Gyro already has the mentioned CLI 2.0 and is there a measurable > performance improvement? Yes it has CLI changes. It's not clear if it's exactly the same as what will be standardized. You can see their performance results in thei paper. The benefits are as you would expect, removing of the boxing allocations speeds up value type hashtables. http://research.microsoft.com/projects/clrgen/generics.pdf A JIT could specialize further, by inlining a type test and the "gethashcode()" call for the expected base type, resorting to the normal methods when the type tests fail. This would bring the hashtable performance even closer to the C/C++ "theoretical max". -- David Jeske (N9LCA) + http://www.chat.net/~jeske/ + jeske@chat.net From sma@3plus4.de Sat Mar 29 18:22:11 2003 From: sma@3plus4.de (Stefan Matthias Aust) Date: Sat, 29 Mar 2003 19:22:11 +0100 Subject: [Mono-list] Mono quotes from a Sun evangelist In-Reply-To: <1048957826.7536.3423.camel@erandi.boston.ximian.com> References: <000101c2f2fc$6076e440$3200a8c0@unity> <3E85938F.20801@3plus4.de> <1048957826.7536.3423.camel@erandi.boston.ximian.com> Message-ID: <3E85E453.6050305@3plus4.de> Miguel de Icaza wrote: > Since it seems like you know a good deal about J2EE, maybe you could > explain it to some of us which have a limited understanding of it. I'm in no way an expert for the whole set of standards kown as J2EE but I'll try to give you an idea of the basics here. First of all, J2EE (J2 Enterprise Edition) is a marketing name for a large set of standardized APIs based on top of the core of the Java class library which is the so called Java 2 Standard Edition (J2SE). There's also a standard called Micro edition (J2ME) but that doesn't matter here. The J2SE defines the following core technologies: - Applets (if you still care, otherwise useless) - JavaBeans (a component object model) - Serialization (binary short term persistance) - RMI (java-style remote procedure calls) - CORBA (platform and language indendepent RPCs) - JDBC (database connectivity similar to ODBC) - JNDI (naming and directory services, think LDAP) - Security (public/private key, hashes, etc) - XML And a lot of more which isn't important regarding J2EE style application servers. Everything is standardizied by official spefications and you're allowed to implement them. If you want to call your result Java however, you need an okay from Sun. J2EE adds the following core technologies: - Servlets - JSPs - EJBs plus a lot of helpers like Java Mail, Transaction API (JTA), Messaging API (JMS) and so on. Again there're specifications and rules how third parties can provide implementations. Sun only provides a reference implementation which isn't meant to be a competing product. Well known open source products are Tomcat as servlet/JSP container and JBoss as a free EJB application server. Well known commercial EJB servers are BEA's Weblogic or IBM's Websphere. Most Apache Jakarta and Apache XML projects deal with technologies and solutions around J2EE. In addition to the specifications, Sun provides blue prints and tools to help developers to know the "right way" to use these technologies. Many developers are still not conviced however, that these are really helpful for their problems because especially EJB targets very high end solutions for large cooperations but not really the mass of every day web solutions. Perhaps one or the other remembers that strange J2EE vs. .NET Petshop benchmark fiasco. It's an apple and orange comparison because of the different problem domains for ASP/.NET and JSP/EJB. Perhaps it shows that EJBs by the book are too much overhead. This however doesn't mean that J2EE in general is bad. Before I forget, Sun recently added Webservices to J2EE. I don't know details yet. I'd like to concentrate on Servlets and JSP here. A servlet is a plugable tiny little application that can be added to a so called servlet container, an application server framework which does most of the work so that the servlet programmer can concentrate on the "real" work. It's comparable with Applets and Webbrowser - but of course, servlets run inside a server application. Or think of Webservers (Apache httpd) and CGI scripts. A servlet however, is a service that keeps running and waiting to its job. So so don't have to fork away operation system processes as plain GCI requires. It's interface is quite the same. It has a service() method which gets a request and a response object passed and it can analyse the reqeust and prepare a reponse. There're some additional life cycle methods which are used by the servlet container to notify the servlet that is was just startet or that it gets destroyed now. The servlet container also provides the session management for the servlet. While a servlet is a rather abstract entity, the HttpServlet is the most often used concrete implementation. Actually, most people call HttpServlets simply servlets, often not knowing that the mechanism is more general. Servlets require a servlet container, a server program which starts, stops and run them, providing all the specified interfaces and Tomcat is such a server. Actually Tomcat is a full featured HTTP server because serving static web pages is just one special servlet (the default servlet as it is called in Tomcat). Another servlet even provides CGI for compatibility. Servlets are normal classes which extends (inherits from) the Servlet class. A manifest file (XML format) describes the servlet and provides a way to add it so any standard-conforming servlet container. Therefore, no matter whether you'll use Tomcat or Jetty or Websphere or WebLogic, you servlet will (should) run without changes. Quite nice. The typical hello world example class Hello extends HttpServlet { public void doGet(HttpRequest req, HttpResponse res) { res.getWriter().print("Hi!\n"); } } hello Hello hello /*.html However, you could add security realms, filters, parameters etc. I'm pretty sure that .NET has a very similar way to create web application. The big disadvantage IMHO is, that servlets do not support file upload so you need to use third party solutions here (jakarta has one). .NET also features files as form data. The advantage of servlets however is that you can use any container. From my skim of the .NET API, I think Microsoft is pretty vague here and you're suppost to use the Internet Intrusion Server here. So much on servlets. JSPs (Java Server Pages) are based on this technology and compiled down to servlets (which gets then dynamically loaded) on the first usage. You can extend JSPs by taglibs, which can added to a web application using a manifest file again. Recently, Sun eventually defined a standard set of predefined taglibs, the standard tag library (STL) which basically defines a whole programming language in XML so that you don't have to add Java to your JSPs if you don't want. I'm still not a JSP believer, using a template library like Webmacro or velocity is often easier. Or you could use XML and XSLT, the Cocoon project provides a lot of useful stuff here. Perhaps anybody else can pick up here, I'm running out of time. Hope this helps, bye -- Stefan Matthias Aust // www.3plus4software.de // Inter Deum Et Diabolum Semper Musica Est From piersh@friskit.com Sat Mar 29 18:52:09 2003 From: piersh@friskit.com (Piers Haken) Date: Sat, 29 Mar 2003 10:52:09 -0800 Subject: [Mono-list] Mono quotes from a Sun evangelist Message-ID: <9891913C5BFE87429D71E37F08210CB92975A9@zeus.sfhq.friskit.com> > -----Original Message----- > From: Stefan Matthias Aust [mailto:sma@3plus4.de]=20 > Sent: Saturday, March 29, 2003 4:38 AM > To: mono-list@lists.ximian.com > Subject: Re: [Mono-list] Mono quotes from a Sun evangelist > My preference would be to have something like servlets as I=20 > really like=20 > this technology. I don't care much for JSP and at least 80% of all=20 > projects don't need the overhead of EJBs. It would be nice to lever=20 > existing Java technology knowledge to C#. You should take a look, then, at ASP.NET and Mono's XSP project. You should find something like what you're looking for in there... Piers. From jeske@chat.net Sat Mar 29 20:17:36 2003 From: jeske@chat.net (David Jeske) Date: Sat, 29 Mar 2003 12:17:36 -0800 Subject: [Mono-list] J2EE/.NET/WDNA De-mystified In-Reply-To: <3E85E453.6050305@3plus4.de> References: <000101c2f2fc$6076e440$3200a8c0@unity> <3E85938F.20801@3plus4.de> <1048957826.7536.3423.camel@erandi.boston.ximian.com> <3E85E453.6050305@3plus4.de> Message-ID: <20030329121736.B4962@mozart> I'd like to help clear up the Java/C# J2EE/WDNA issue. However, this post is unfortunatlly REALLY long. I'll save most of you the trouble by summarizing first: Q: Should we build a J2EE style architecure for C#/.NET? Even if you released a 100% functional Enterprise environment which beat the pants off J2EE and WDNA/.NET, not a single Enterprise developer would care, because C# is "not yet real" outside Windows, and WDNA/.NET is the way to interoperate on Windows. Lets make Mono/C# sing on every platform on the planet, and then ask this question again. Q: What is J2EE? J2EE people ask "what is open source?" because they don't understand it. Here is one explanation: Open source on Linux (*nix) is unified because almost all the software available compiles with gcc, is unpacked with gzip and tar, and uses GNU configure. Furthermore, we use diff, and usually CVS for change control. We use Internet mailing list for communication. We can all easily contribute to open-source software because every time we download a piece of open-source software, we know exactly how to compile it, exactly how to change it, exactly how to submit patches, and exactly how to talk about those patches. This set of patterns and habits is constantly in flux and being improved by new techniques. Now when you ask "what is J2EE?", I'll offer a similar explanation: J2EE is the same sort of lingua-franca for the Enterprise software and implementation consulting world. When software is developed for J2EE, IT professionals know how to setup machines, how to install the software, how to hook it to other J2EE software they already have, how to plug into it's APIs, how to make it work with their security systems, how to make it scale up as their needs grow, and how to talk about configuration and customizatoin issues. Enterprise developers know how to make their software play nice in this world, and how to talk to IT professionals about what they need. This set of patterns and habits is constantly in flux and being improved by new techniques. Q: No really, what is J2EE? Find a comfortable chair and read on... On Sat, Mar 29, 2003 at 07:22:11PM +0100, Stefan Matthias Aust wrote: > I'd like to concentrate on Servlets and JSP here. I'm not a J2EE programmer, but AFAIK, Servlets and JSP are not the parts of J2EE that supporters would say are "more mature" than .NET. The Servlet API is trivial, and as you mention not all that great. The nicest thing about is that it's the same from server to server. The equivilant on .NET is ISAPI. ISAPI works on (at least) IIS and Apache. JSP is a code-in-template dynamic HTML system. This is very similar to ASP.NET. While these technologies are very popular, they certainly are not the only way to build web-apps. MVC style template systems are gaining popularity such as Java Velocity/Webmacro. JSP is trying to emulate with "struts". The point is, JSP is not the only game in town. Yes, these two pieces are part of J2EE, but J2EE is more about (a) the "advanced services" such as multi-tier, EJB, JTA, JMS, JNDI, and (b) the "whole package" that all these things come together in a way where (theoretically) XYZ Corp can buy a J2EE application and install it on their existing application server of choice, alongside their existing applications, and then use components of J2EE to allow the two applications to talk to eachother. The Windows-world equivilant is known as "Windows DNA" (Windows Internet Applications Architecture). It offers the same concept without the openness. That is, XYZ Corp can buy a WDNA application and install it on their existing WDNA environment. The trick is that there is only one WDNA environment, and it comes from Microsoft. Here is a component for component comparison: http://www.integrantinc.com/whitepapers.htm -- J2EE Goals -- Of course if you don't know J2EE or WDNA, all those words probably didn't answer your question, which is likely: What the heck is J2EE good for anyhow? There are many answers. Here are a few of them: 1. It's a marketing label just like .NET, which focuses industry attention and support. 2. It is a multi-tier scalability model. The J2EE scalability model is not amazing. However, if developers follow the model, it's likely that someone else will be able to get reasonable scalability out of their applications without the original developer thinking about anything more than the J2EE mutli-tier pattern. Having built really-large web services involving hundreds of machines, I don't think J2EE is that great. However, most developers really don't know too much about scalability, and J2EE helps. Really good scalability architects can probably figure out how to map their designs onto J2EE application servers, and then mere-mortals can install and configure that software elsewhere because they understand "application server goes here", "front-end server goes there". 3. It is a philosophy and a set of goals shared by Enterprise Developers and Integrators. The holy-grail is to be able to buy Enterprise Applications, and easily plug them together to do whatever you want. Of course neither J2EE nor .NET actually achieve that goal, because what you can do is always dependent on the details of how each application is implemented. However, people who build applications for J2EE (theoretically) intend them to be good citizens in the J2EE environment. One of the simple built-in examples that they have already figured out is security/login. Any J2EE web-application that your enterprise purchases will share YOUR login and authentication system. Whether it is NIS, NIS+, LDAP, Active Directory, Kerberos, or Jimmy's Password File. There are community JSRs for "continuous availability" (jsr 117), "client provisioning" (jsr 124), "connector architecture 1.5" (jsr 112), "rule engine" (jsr 94), "data mining" (jsr 73). Again, these APIs could exist anywhere (J2EE, .NET, C++, Gnome, C, wherever). J2EE is a focal point for Enterprise Software Developers and Integrators to come to agreement on standards. -- Most developers will read that list and still not understand. That's okay. That just means you're not developing applications which need to be customized and integrated. I'll still try to explain the J2EE components below. Some developers will read that list and argue that J2EE isn't really all that great, and it's alot of overhead. However, you really can't argue with #1. -- Should we develop something like J2EE? -- However, lets go back to the point of this whole thread. Someone said, "lets create a J2EE architecture for C#/.NET". Then much discussion about the merits and capabilities of J2EE vs. .NET ensued. The real question is really: What would be most helpful to the Mono/C# development community? I don't believe (at this time) there is value in trying to fill percieved gaps in .NET vs. J2EE by creating new APIs. Here are my reasons: 1) Most of the benefits of J2EE come from being standardized across several implementations. The focus of the industry is on Microsoft's work with .NET. For there to be a similar industry concensus, it must come from Microsft, just like J2EE came from Sun. Projects to fill out the WDNA architecture on Mono/Linux would be useful. By building ASP.NET, WebForms, and implementations of the .NET API components, we are already moving towards this goal. In other words, even if you released a 100% functional Enterprise environment which beat the pants off J2EE and WDNA, not a single Enterprise developer would care, because C# is "not yet real" outside Windows, and WDNA is the way to go on Windows. 2) IMO, Mono is more about C#/CLI than about WDNA/.NET. gcc/glib implemented an open C/C++ environment with a standard C library. It did not implement MFC. Similarly, Mono is implementing C# and the standard C# library. Much energy is being focused on building out Windows compatible versions of many APIs, such as Windows.Forms. However, it is already more practical to build Mono/C# GUI apps using Gtk# than Windows.Forms. That is because C# (even in Microsoft's mind) is a programming language, while Java is a "cross-platform compatability environment". 3) In order for Enterprise developers to care about a non-J2EE, non-WDNA Enterprise standard on C#, the C#/CLI environment will need to be stable, well supported, and mainstream on platforms other than Windows. Lets focus on this goal.. Mono everywhere! -- No, but really... What is J2EE? -- Frankly, I already told you. If you think that some list of technical descriptions of J2EE is going to help you understand it, I think you're wrong. Like most of us technical folks, you'll look at the pieces, and you'll understand that the J2EE tools are more useful sometimes and less useful others, and you will still be scratching your head. However, if you agree not to argue about whether any of these components is of any use, you can read on. If you are a J2EE wizard, please feel free to clarify (or correct) my explanations: EJB - Enterprise Java Beans Java is a class-based language. There are many things you want to do with objects which are published as "components" which are not easily represented in the class model. For example, you want to export customization properties, and give them nice names, help text, and categories. You also want to save the configuration state and reload it later. Java Beans does this. A "bean" is a "component". Replace every occurance of "Bean" with "Component" and their documents will probably make more sense. C# enables component programming with Properties, Attributes, and Serialization. System.EnterpriseServices is a backward compatible layer for having C# components play nice in the world of COM+ components. Enterprise Java Beans extends the capabilities of Java Beans. It makes the serialization of Bean state part of a database backed transaction environment -- plus a bunch more stuff. C#/.NET handles the transaction part of this with MTS. The gap is the binding of a component to the transaction services. JTA - Java Transaction Architecture This allows several transaction oriented systems to coordinate. If you want to commit a change to three application servers and an oracle database, you do it with JTA. .NET uses Microsoft Transaction Services to do the same thing. JMS - Java Messaging Service Often you need to send messages out from one component, to be received by another component, without knowing where these components live. You do this with JMS. JMS could be implemented with a Java standard like RMI, or with an open standard like Jabber. Microsoft has "Microsoft Message Queueing". I don't know how this works. JNDI - Java Naming and Directory Interface A means to store and retrieve configuration information. The JNDI provider can have a backing store in any number of places. JNDI is often used as an interface to access the Windows Registry. On Windows, applications access the windows registry directly, using a custom API. It's possible that the Active-Directory APIs are closer to JNDI. I'm not sure. ------ Phew, we're done... I hope that was useful. -- David Jeske (N9LCA) + http://www.chat.net/~jeske/ + jeske@chat.net From josh@prismon.com Sat Mar 29 21:04:07 2003 From: josh@prismon.com (Joshua Prismon) Date: Sat, 29 Mar 2003 14:04:07 -0700 Subject: [Mono-list] J2EE/.NET/WDNA De-mystified In-Reply-To: <20030329121736.B4962@mozart> Message-ID: <200303292105.h2TL5XNW005110@technicaldetails.org> The Windows-world equivilant is known as "Windows DNA" (Windows Internet Applications Architecture). It offers the same concept without the openness. That is, XYZ Corp can buy a WDNA application and install it on their existing WDNA environment. The trick is that there is only one WDNA environment, and it comes from Microsoft. Here is a=20 component for component comparison: --------------------------------------- Windows DNA is being completely replaced by .NET/ServicedComponents and = Web services. In the end, the new Microsoft GXA takes it's place (GXA is = just web services and EnterpriseServices on top of XML with WS-Transactions, Security, Identity and Reliable Messaging).=20 C#/.NET handles the transaction part of this with MTS. The gap is the binding of a component to the transaction services. ----------------------------------------------------- That's not completely true. If you don't use cross process .NET, MTS is never used. If you do distributed transactions cross multiple processes = (say oracle/et all) then you do use MTS or a BYOT manager. To bind a = component to be transactional, you simply derive from ServicedComponent and throw a [Transaction] Attribute in front of your class. If you want, you can = even be lazy about it and tell it to interpret a lack of exception as a vote for = a transaction (using a 2 phased commit). Microsoft has "Microsoft Message Queueing". I don't know how this works. --------------------------------------------- MMQ but there is also something called loosely coupled events which does = not require MMQ. From revision17@phreaker.net Sun Mar 30 01:32:41 2003 From: revision17@phreaker.net (revision17) Date: Sat, 29 Mar 2003 20:32:41 -0500 Subject: [Mono-list] Re: Look at this security patch from M$ Corporation *DON'T OPEN THE ATTACHMENT*!!!!!!!!!!!!!!!!!!!!!!!!!! References: <029b01c2f49b$72693180$6401a8c0@shaz> Message-ID: <001d01c2f65c$433731b0$0300a8c0@number17box> My virus scanner detected it as Virus identified I-Worm/Gibe.B ----- Original Message ----- From: "shaz ;-}" To: ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; Sent: Thursday, March 27, 2003 2:59 PM Subject: Look at this security patch from M$ Corporation > > ----- Original message follows ----- > > Microsoft Customer > > this is the latest version of security update, the > "March 2003, Cumulative Patch" update which eliminates all > known security vulnerabilities affecting Internet Explorer, > Outlook and Outlook Express as well as five newly discovered > vulnerabilities. Install now to protect your computer from these > vulnerabilities, the most serious of which could allow an attacker to > run executable on your system. This update includes the functionality > of all previously released patches. > > System requirements: > Win 9x/Me/2000/NT/XP > > This update applies to: > Microsoft Internet Explorer, version 4.01 and later > Microsoft Outlook, version 8.00 and later > Microsoft Outlook Express, version 4.01 and later > > Recommendation: > Customers should install the patch at the earliest opportunity. > > How to install: > Run attached file. Click Yes on displayed dialog box. > > How to use: > You don't need to do anything after installing this item. > > Microsoft Technical Support is available at > http://support.microsoft.com/ > > For security-related information about Microsoft products, > please visit the Microsoft Security Advisor web site at > http://www.microsoft.com/security > > Contact us at > http://www.microsoft.com/isapi/goregwiz.asp?target=/contactus/contactus.asp > > > Please do not reply to this message. It was sent from an unmonitored > e-mail address and we are unable to respond to any replies. > > Thank you for using Microsoft products. > From revision17@phreaker.net Sun Mar 30 01:34:16 2003 From: revision17@phreaker.net (revision17) Date: Sat, 29 Mar 2003 20:34:16 -0500 Subject: [Mono-list] Disregaurd the message above Message-ID: <002f01c2f65c$7b391d80$0300a8c0@number17box> I use this email address exclusively for mono-list. Something must have guessed it and sent that message. I just assumed that it came from mono-list without looking at the sender. Sorry From rafaelteixeirabr@hotmail.com Sun Mar 30 05:02:38 2003 From: rafaelteixeirabr@hotmail.com (A Rafael D Teixeira) Date: Sun, 30 Mar 2003 02:02:38 -0300 Subject: [Mono-list] J2EE/.NET/WDNA De-mystified Message-ID: David Jeske wrote: >JMS - Java Messaging Service > Often you need to send messages out from one component, to be > received by another component, without knowing where these > components live. You do this with JMS.... Well I would like to point that messaging truly important varying dimensions are time and identity so the sentence would be more like: Often you need to send messages out from one component, to be received by another component(s), without knowing WHEN these components will receive them or WHAT components really want those. JMS advantages are: - Support for many 'providers', acessing different queue services backends. System.Messaging only works with MSMQ. Mono.Messaging will add this capability to Mono, and may be proposed to ECMA to retrofit in .NET. - Besides FIFO/Priority Queues (that MSMQ/System.Messaging also have) JMS provides a Publish/Subscribe mechanism around a so called Topic. Again Mono.Messaging and MonoQLE are planned to give Mono this needed API/Implementation. >JNDI - Java Naming and Directory Interface > A means to store and retrieve configuration information. The JNDI > provider can have a backing store in any number of places. JNDI is > often used as an interface to access the Windows Registry. Again JNDI is an API supporting multiple providers. JNDI is a "find me a resource I need" API. You've mentioned the Windows Registry provider, but the LDAP provider is probably a lot more sensible as an example of when and where you use JNDI. For instance: a lot of samples for using JMS start by querying a LDAP database with JNDI, what JMS providers/servers are available, and then what Queues/Topics should be used on them. You also have a DNS provider and a File System provider for JNDI, among others. ============================ Second Part I think the real selling point of J2EE is uniform manageability/ configurability across a large range of system architectures. You deploy and manage a new application always in the same manner. And, for some implementations, that holds true even between very disparate hardware configurations: from a all-in-one appliance box, to a very large farm of scaled-out (identical) servers, to a really distributed (read non-uniform) environment. My uttermost goal in helping Mono, is to give it, and therefore ECMA/.NET, the ability to compete for enterprise developers. Because as cool as C# is as a language and CLI as an infrastructure/runtime/class library, IT managers won't bet on running their business applications on it, unless: 1 - they have choice: of implementation (to a lesser degree) and of platform/operating system (to the highest degree). 2 - they are able to mix things: either to use legacy equipment/ software in brand new solutions, and to judiciously buy the best hardware/server software/infrastructure only when scalability changes demand and to be used where it improves the most the overall solution. 3 - they can easily swap as needed commoditized technology like: databases, queue servers, security mechanisms, etc. 3 - they are able to scale all the way up. And without having to rewrite the application, not even a small part of it. 4 - they feel it can decouple from MS' historical track of security mishaps. And the list can grow endlessly, so I'll stop here. Just an historical note: VB became a success in IT only because it gave RAD features before any other language. You see: the alternative back then was to write hard to debug c/c++ code with the dreaded big switch statement in the window procedure . Then when it was losing its grasp on developers starting to design n-tier solutions and so facing scalabity issues, its integration with MTS/COM+ brought some limited scalability. But again the alternative was to write CORBA applications in some other language, a terrible fate to a VB programmer. Today, while C# and VB.NET, IMHO, surpass Java a bit in features, they are mostly catch up to a true OO environment/language. And most importantly: the .NET framework, as told by others in this thread, currently is tied to COM+ and family (ActiveDirectory/MSMQ/etc..) for most enterprise features, so it is severely limited when competing with J2EE. Worse: VB.NET isn't plain VB anymore, it is OO now, and that scares the hell out of many VB developers; Summary of the opera: I saw many people I know at Microsoft Brazil, struggling during the last two years to sell .NET to many clients (and I tried to help them sometimes...) and receiving a "It's cute, but maybe next year..." message. And, believe me, sometimes the clients where sincere enough to add "... because .NET isn't ready to deal with my current and future demands". Sorry for the long message... Cheers, Rafael Teixeira Brazilian Polymath Mono, MonoQLE Hacker _________________________________________________________________ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 From fjh@cs.mu.OZ.AU Sun Mar 30 08:29:17 2003 From: fjh@cs.mu.OZ.AU (Fergus Henderson) Date: Sun, 30 Mar 2003 18:29:17 +1000 Subject: [Mono-list] New mono community site In-Reply-To: <1048958011.6806.3426.camel@erandi.boston.ximian.com> References: <1048867927.7532.2857.camel@erandi.boston.ximian.com> <20030329132545.GB20601@ceres.cs.mu.oz.au> <1048958011.6806.3426.camel@erandi.boston.ximian.com> Message-ID: <20030330082917.GA31931@ceres.cs.mu.oz.au> On 29-Mar-2003, Miguel de Icaza wrote: > Hello, > > > Also, the approach describe there has some fundamental flaws. > > According to Gopal V, "It has a huge array which it uses like C uses RAM. > > Not pretty, fast, stable or useful", and according to Rhys Weatherly, > > "He's using a similar approach to egcs-jvm. See the pnet FAQ for a > > description of why this isn't a good way to port gcc to a stack machine", > > and they are both right. > > Still a useful foundation, and good direction to bring plenty of > compilers over to .NET. I don't think so. > The important bit about this work is the fact that the register-based > RTL representation is used to map to CIL code. The other nuisances are > technical details. > > In the "solvable" universe, not in the "impossible" universe. Sure, the problem is solvable. But IMHO the approach under discussion is not a useful step toward a solution -- instead, it's just exploring a dead end. -- Fergus Henderson | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: | -- the last words of T. S. Garp. From pour@systinet.com Sun Mar 30 10:11:55 2003 From: pour@systinet.com (Ales Pour) Date: Sun, 30 Mar 2003 12:11:55 +0200 Subject: [Mono-list] Mono quotes from a Sun evangelist References: <000101c2f2fc$6076e440$3200a8c0@unity> <3E85938F.20801@3plus4.de> Message-ID: <0aab01c2f6a4$cb186c00$9500000a@in.idoox.com> > More realistic, it might be possible, you have C# clients to talk to a > Java-EJB-Appserver. You need an RMI and/or Corba/IIOP protocol though > that also supports Java serialization. Everthing is standardized, you > just need to implement it. And - in opposite to Microsoft who even > wants to patent the .NET API - you're allowed to do so. You may find interesting http://remoting-corba.sourceforge.net/ project... Ales Pour From ulysse31@ifrance.com Sun Mar 30 04:32:50 2003 From: ulysse31@ifrance.com (Francois Quoniam) Date: Sun, 30 Mar 2003 05:32:50 +0100 Subject: [Mono-list] C# windows and linux Message-ID: <000801c2f675$6cc5e3f0$20234f51@neo2> This is a multi-part message in MIME format. ------=_NextPart_000_0005_01C2F67D.CDBA78D0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello I would like to know if a C# program build under Visual studio .Net = under windows can work under Linux Red Hat 7.2=20 or if i have to build my program under linux using mono compiler note that this program will not use Windows.Form Regards, Francois ------=_NextPart_000_0005_01C2F67D.CDBA78D0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hello
 
I would like to know if a C# program = build under=20 Visual studio .Net under windows
can work under Linux Red Hat 7.2 =
or if i have to build my program under = linux using=20 mono compiler
note that this program will not = use=20 Windows.Form
 
 
Regards,
 
Francois
------=_NextPart_000_0005_01C2F67D.CDBA78D0-- From tpsoftware@users.sourceforge.net Sun Mar 30 11:19:46 2003 From: tpsoftware@users.sourceforge.net (Timothy Parez) Date: Sun, 30 Mar 2003 13:19:46 +0200 Subject: [Mono-list] C# windows and linux References: <000801c2f675$6cc5e3f0$20234f51@neo2> Message-ID: <000a01c2f6ae$45682230$0a00000a@alfred> This is a multi-part message in MIME format. ------=_NextPart_000_0007_01C2F6BF.08C4B210 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, Yes it can, providing it doesn' t use any classes which aren't finished = in Mono. To try just open a console window and enter: mono nameofyourapp.exe :) Timothy. ----- Original Message -----=20 From: Francois Quoniam=20 To: mono-list@ximian.com=20 Sent: Sunday, March 30, 2003 6:32 AM Subject: [Mono-list] C# windows and linux Hello I would like to know if a C# program build under Visual studio .Net = under windows can work under Linux Red Hat 7.2=20 or if i have to build my program under linux using mono compiler note that this program will not use Windows.Form Regards, Francois --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.465 / Virus Database: 263 - Release Date: 25/03/2003 ------=_NextPart_000_0007_01C2F6BF.08C4B210 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,
Yes it can, providing it doesn' t use = any classes=20 which aren't finished in Mono.
 
To try just open a console window and = enter: mono=20 nameofyourapp.exe :)
 
Timothy.
----- Original Message -----
From:=20 Francois=20 Quoniam
Sent: Sunday, March 30, 2003 = 6:32=20 AM
Subject: [Mono-list] C# windows = and=20 linux

Hello
 
I would like to know if a C# program = build under=20 Visual studio .Net under windows
can work under Linux Red Hat 7.2 =
or if i have to build my program = under linux=20 using mono compiler
note that this program will not = use=20 Windows.Form
 
 
Regards,
 
Francois
 

---
Outgoing mail is certified = Virus=20 Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: = 6.0.465=20 / Virus Database: 263 - Release Date:=20 25/03/2003
------=_NextPart_000_0007_01C2F6BF.08C4B210-- From sma@3plus4.de Sun Mar 30 17:08:54 2003 From: sma@3plus4.de (Stefan Matthias Aust) Date: Sun, 30 Mar 2003 19:08:54 +0200 Subject: [Mono-list] C#/.NET Generics update and summary In-Reply-To: <20030329093442.A4962@mozart> References: <20030328112817.I22402@mozart> <3E858800.5020601@3plus4.de> <20030329093442.A4962@mozart> Message-ID: <3E8724A6.1080406@3plus4.de> David Jeske wrote: > I have another proposal to handle checked exceptions without the > annoyance of Java. However, this would have to be in a C# superset > like the Java superset you referred to. Basically you say, add "throws" only to public methods as these are probably the interface methods other users might care about and where they should and their compilers know about about possible exceptions. That might be a good compromise. But actually, I never found Java's checked exceptions a problem. Well, okay, there's one exception ;-) Let's say you want to create an iterator that implements the java.util.Iterator interface class. Let's say that itertor should iterate some database stuff. Every database operator might throw an SQL exception (a checked exception). But the Iterator interface doesn't allow you to throw exceptions, as potential users of iterators might not deal with them. So you have to wrap your checked exceptions with uncheckt runtime exceptions, working around the too strict default mechanism. That's annoying. Otherwise I don't buy your argument, that adding "throws" declarations is bad. If you're working on something like for example a parser which reads in an InputStream (an operation that might throw an IOException) I've absolutely no problem with the idea that nearly every parser method might have a "throws" declaration. I wouldn't mind if I don't have to add declarations to non-public methods though. However, as especially protected methods ar ment to be overwritten by other users in their subclasses, these methods might also need a throws declaration. I agree with you, that the whole matter could need some thought. Do you know Bruce Eckel's position paper on not using checked exceptions already? > The conciseness of my review obviously could not cover the detailed > issues. > > In a dynamic typed system like Smalltalk or Python, there are many > possible sources of overhead in using collections such as a hashtable: > a) dynamic method lookup to call method on key object to > get it's hash code I don't consider dynamic method lookup an overhead as it must occur in these languages anywhere, not only in collections. > c) overhead of handling basic datatypes such as integers or simple > records in a manner which is similar to "objects" for the runtime > (i.e. usually involving memory allocations) As you already wrote, if you'd have a more clever unification of so called primitive data and objects than Java and C# have, this isn't really a problem. Smalltalk's small integers are typically represented as encoded pointers, a very efficient trick used for centuries in Lisp systems. > C# is faster at (a) and (b) by using C++ style static vtable lookups > for methods. "really fancy" Smalltalk runtimes like the SELF/Smalltalk > runtime which eventually became hotspot can sometimes optimize out > this overhead at runtime if a single type appears in the > hashtable. What you call "really fancy" is actually the norm - not considering simple interpreter like Squeak or Dolphin Smalltalk. This kind of lookup can actually be faster than vtable-style lookup. If you use vtables, then simple cases where you can statically determine the method at compile time as faster for the general call gosub obj->vtable[FOO_METHOD_INDEX]; but without further optimizations, it gets slower because you always need this indirect call with is very harmful to branch prediction and instruction caches. A more dynamic approach is to use polymorphic inline caches (PICs) which basically results in code like this c = getClassOf(obj); if (c == C1) gosub FOO_METHOD_ADDRESS; else if (c == C2) ... else do_general_call(FOO_METHOD); which can be faster - especially if combined with inlining. This also automatically devirtualizes methods - no need to distinguish virtual and non-virtual methods at language level or even make non-virtual methods the default (I really dislike this with C# as I always forget the modifier and it results in method modifer clutter). > Java Hotspot JITs try to do the same thing. I'm not sure if > the MS JIT does this, but it could. I think they don't as IIRC the .NET specification requires the vtable architecture for objects. They still could and I think, Intel's research implemententation uses PICs. Another problem with simple vtables occur with interfaces which IMHO should be the form (or at least not omitted because of performance fears). In this chunk of code I i = ...; i.m(); where interface I { void m(); } class A : I { virtual void n() ... virtual void m() ... } class B : I { virtual void m() ... } you can't do an efficient dispatch based on vtables. For this reason, early Java VMs were much slower on method calls via interface types than on ordinary method calls. I stronly hope that modern VMs don't have any problems anymore. The more dynamic PICs have no penalty here. > Generic C# improves (c). Most dynamic languages have some kind of > hacks to handle this well, so the object allocation does not happen at > the hashtable insertion. Actually, using inlining the SELF way, you'd get the same advantage without generics and everywhere, not only in collections. Some help form the user can however of course simplify and speed up the JIT compiler. > values. This is the biggest reason that integer keyed hash tables are > FASTER on Python than C# today. Generics will fix this. Only if they act like C++-style code generating templates and not like ML-style parametric types... but at least, there's that opportunity. And of course, I'd like a generic Array much better than special StringCollection classes as they exist now. > It's pretty much the same. It's the memory allocation and value > indirection that kills. A C# could have an "integer pool" similar to > Python for small integers. That would likely help things, but Generics > are a better solution. But that was my point. In Java you need to do it yourself. I never use "new Integer()" in my projects if performance matterns, but something like static Integer make(int i) { return i >= -1 && i <= 10 ? ints[i + 1] : new Integer(i); } I'd strongly hope that the .NET VES would internally do the same. I'm afraid it doesn't but there's still hope :-) > Microsoft will use "Windows Update" and other mechanisms to push out > the v2.0 CLI as fast as possible. That's definitely an advantage over Sun. > It is unclear how good ILX is. Obviously the ILX people think it is > somewhat useful. This presentation pans ILX pretty bad: > > http://www.dcs.ed.ac.uk/home/stg/MRG/comparison/slides.pdf Where do you read that. Is it the "but" in the sentence that it uses an unmanaged code modules to implement closures? Or the restriction that ML and Haskell still have semantics (higher order function modules) which cannot directly represented? > [...] This would bring the > hashtable performance even closer to the C/C++ "theoretical max". Assuming that is a goal, yes. I'd love to try it out but higher performacne isn't something I really care about. I'd love to see stuff added to the CLI which would enable efficent dynamic languages like Smalltalk, Lisp or Python or Ruby but unfortunately, that probably will not happen in near (or even far) future I'm afraid. Too bad. Only than I think one could really argue about CLI being able to support multiple *different* kinds of languages. bye -- Stefan Matthias Aust // www.3plus4software.de // Inter Deum Et Diabolum Semper Musica Est From sma@3plus4.de Sun Mar 30 17:23:07 2003 From: sma@3plus4.de (Stefan Matthias Aust) Date: Sun, 30 Mar 2003 19:23:07 +0200 Subject: [Mono-list] lies and microbenmarks (Was: Mono 0.23 windows installer) In-Reply-To: <20030329131216.GA20601@ceres.cs.mu.oz.au> References: <20030311213101.17408.65555.Mailman@headcheese.ximian.com> <1047486309.1330.17.camel@localhost.localdomain> <20030313085756.A22402@mozart> <20030314015518.GA21135@ceres.cs.mu.oz.au> <20030328091511.G22402@mozart> <3E858F34.4040103@3plus4.de> <20030329131216.GA20601@ceres.cs.mu.oz.au> Message-ID: <3E8727FB.7050908@3plus4.de> Fergus Henderson wrote: > On 29-Mar-2003, Stefan Matthias Aust wrote: > >>Still you won't get efficient dynamic languages, no Lisp, no Smalltalk, >>no Ruby or Python. Fortunatley, computers are probably fast enough to >>sacrify one order of magnitute of performance for better languages with >>better development performance (using python for rapid prototyping >>instead of C for example). > > What makes you think that it will only be one order of magnitude? Wild guess. I remember an article by Aubrey Jaffer talking about his scheme interpreter being 10 times to 50 times slower than an equivalent C program. That's an order of magnitude. My tiny smalltalk interpreter was running at 25.000 messages sends per second when a real Smalltalk system was able to do 500.000 message sends per second (on an old P100). Again an order of magnitude comparing an interpreter written in Java to a native code compiling system. For fun, you might also want to look at the "Great Language Shootout" Scrpting languages like Python or Ruby get quite good ratings compared to C or Ocaml. You shouldn't look at something like calculating the Ackermann function though. bye -- Stefan Matthias Aust // www.3plus4software.de // Inter Deum Et Diabolum Semper Musica Est From malekith@pld-linux.org Sun Mar 30 17:49:51 2003 From: malekith@pld-linux.org (Michal Moskal) Date: Sun, 30 Mar 2003 19:49:51 +0200 Subject: [Mono-list] C#/.NET Generics update and summary In-Reply-To: <3E8724A6.1080406@3plus4.de> References: <20030328112817.I22402@mozart> <3E858800.5020601@3plus4.de> <20030329093442.A4962@mozart> <3E8724A6.1080406@3plus4.de> Message-ID: <20030330174951.GA21052@roke.freak> On Sun, Mar 30, 2003 at 07:08:54PM +0200, Stefan Matthias Aust wrote: > >FASTER on Python than C# today. Generics will fix this. > > Only if they act like C++-style code generating templates and not like > ML-style parametric types... but at least, there's that opportunity. > And of course, I'd like a generic Array much better than special > StringCollection classes as they exist now. In .NET VM you can do better then ML-style ,,all types have size of one word so we can have one code for polymorphic function'' or C++ macro expansion err.. templates. You can do C++ like macro expansion on-the-fly using just one CIL code (as in ML). More over you don't need separate Array for Object, String and FooBar as long, as they all are reference types. Anyway consider Don Syme's paper about generics. -- : Michal Moskal ::::: malekith/at/pld-linux.org : GCS {C,UL}++++$ a? !tv : PLD Linux ::::::: Wroclaw University, CS Dept : {E-,w}-- {b++,e}>+++ h From fjh@cs.mu.OZ.AU Mon Mar 31 04:25:38 2003 From: fjh@cs.mu.OZ.AU (Fergus Henderson) Date: Mon, 31 Mar 2003 14:25:38 +1000 Subject: [Mono-list] lies and microbenmarks (Was: Mono 0.23 windows installer) In-Reply-To: <3E8727FB.7050908@3plus4.de> References: <20030311213101.17408.65555.Mailman@headcheese.ximian.com> <1047486309.1330.17.camel@localhost.localdomain> <20030313085756.A22402@mozart> <20030314015518.GA21135@ceres.cs.mu.oz.au> <20030328091511.G22402@mozart> <3E858F34.4040103@3plus4.de> <20030329131216.GA20601@ceres.cs.mu.oz.au> <3E8727FB.7050908@3plus4.de> Message-ID: <20030331042538.GA4819@ceres.cs.mu.oz.au> On 30-Mar-2003, Stefan Matthias Aust wrote: > Fergus Henderson wrote: > >On 29-Mar-2003, Stefan Matthias Aust wrote: > > > >>Still you won't get efficient dynamic languages, no Lisp, no Smalltalk, > >>no Ruby or Python. Fortunatley, computers are probably fast enough to > >>sacrify one order of magnitute of performance for better languages with > >>better development performance (using python for rapid prototyping > >>instead of C for example). > > > >What makes you think that it will only be one order of magnitude? > > Wild guess. I see. > I remember an article by Aubrey Jaffer talking about his > scheme interpreter being 10 times to 50 times slower than an equivalent > C program. That's an order of magnitude. No, that's 1 to 1.7 orders of magnitude. But that's the slow-down for native code. My point really is that the relative slow-down of dynamic languages compared to statically typed languages might be worse for .NET CLR code than than it is for native code. -- Fergus Henderson | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: | -- the last words of T. S. Garp. From jeske@chat.net Mon Mar 31 05:30:50 2003 From: jeske@chat.net (David Jeske) Date: Sun, 30 Mar 2003 21:30:50 -0800 Subject: [Mono-list] limited checked exceptions proposal discussion In-Reply-To: <3E8724A6.1080406@3plus4.de> References: <20030328112817.I22402@mozart> <3E858800.5020601@3plus4.de> <20030329093442.A4962@mozart> <3E8724A6.1080406@3plus4.de> Message-ID: <20030330213050.A19962@mozart> On Sun, Mar 30, 2003 at 07:08:54PM +0200, Stefan Matthias Aust wrote: > Basically you say, add "throws" only to public methods as these are > probably the interface methods other users might care about and where > they should and their compilers know about about possible exceptions. It's not because "these are probably the interface methods other users might care about". I add throws only to public methods because I'm trying to annotate the minimum set of methods and still have checked exceptions. I admit there are some tricky issues with protected methods in subclasses, but no first draft proposal is perfect. > Let's say you want to create an iterator that implements the > java.util.Iterator interface class. Let's say that itertor should > iterate some database stuff. Every database operator might throw an SQL > exception (a checked exception). But the Iterator interface doesn't > allow you to throw exceptions, as potential users of iterators might not > deal with them. So you have to wrap your checked exceptions with > uncheckt runtime exceptions, working around the too strict default > mechanism. That's annoying. That's a really good example. My problems with checked exceptions mostly have to do with them getting in my way for a temporary period of time while I'm starting development on some new code. Your example is actually a case where checked exceptions break language behavior. I'll add that issue to my proposal. > I wouldn't mind if I don't have to add declarations to non-public > methods though. Ahh, so you see the point now. :) > However, as especially protected methods are meant to be overwritten > by other users in their subclasses, these methods might also need a > throws declaration. This certainly is an interesting case to handle. I'll add it to my proposal. > I agree with you, that the whole matter could need some thought. Do > you know Bruce Eckel's position paper on not using checked > exceptions already? Yes, of course. However, I don't agree with him. I agree that Java's "thorough checked exceptions" system is overkill and annoying. However, I find throws declarations in public class methods to be extremely helpful when writing Java code. I just find it annoying to have to add declarations for my code when the compiler could do a fine job. Inferring thrown exceptions is not hard like ML-style type inference -- It's trivial. > [snip...] higher performacne isn't something I really care about. Then I won't bother with any of the performance conversation. Obviously it's important to me. It's also important to a few other people I'm sure. > > C# is faster at (a) and (b) by using C++ style static vtable lookups > > for methods. "really fancy" Smalltalk runtimes like the SELF/Smalltalk > > runtime which eventually became hotspot can sometimes optimize out > > this overhead at runtime if a single type appears in the > > hashtable. > > What you call "really fancy" is actually the norm - not considering > simple interpreter like Squeak or Dolphin Smalltalk. The SELF runtime basically invented polymorphic inline caches. Their Smalltalk->SELF emulation environment for Smalltalk was about 4x faster than Digitalk Smalltalk (from memory). It also took a buttload of memory. Sun's Java Hotspot VM was one of the first commercial runtimes to include polymorphic inline caches. If you have a documented reference to a non-SELF, non-Hotspot VM which does this, I'd like to see it. > Intel's research implemententation uses PICs. Do you have a documented reference you can point me to? AFAIK, non-Hotspot runtimes are limited to simple inlining, they don't really do type-specific, multi-method call "polymorphic inline caches" like SELF does. I've talked with David Ungar about some of the challenges converting SELF's PICs into Hotspot, and it really wasn't a no-brainer. It also isn't a clear win, as Java VMs without it do better in some cases. > Another problem with simple vtables occur with interfaces The C++ multiple inheritence vtable dispatch mechanism is pretty damn fast compared to Java/Smalltalk/Objective-C style dispatch. It's perfectly capable of doing Interfaces. Obviously enough inlining (aside from memory usage, complexity, and compiler pauses) can optimize all of these into something simpler. > Actually, using inlining the SELF way, you'd get the same advantage > without generics and everywhere, not only in collections. Some help > form the user can however of course simplify and speed up the JIT > compiler. I've run the SELF environment and written SELF code and IMO, we are a LONG way from SELF being anywhere near the performance of Java or C#, even with all that fancy stuff, let alone C++. All that stuff is interesting in theory, but the system really took tons of memory and still wasn't fast. The SELF VM was amazing because it took a totally impractical message passing meta-language and made it faster than then-current Smalltalk runtimes. -- David Jeske (N9LCA) + http://www.chat.net/~jeske/ + jeske@chat.net From matterac@libero.it Mon Mar 31 11:40:25 2003 From: matterac@libero.it (=?iso-8859-1?Q?matterac@libero.it?=) Date: Mon, 31 Mar 2003 13:40:25 +0200 Subject: [Mono-list] =?iso-8859-1?Q?installation_help?= Message-ID: Hy, i'm a newbye in MONO & LINUX, =0D=0AI'm trying to install mono on WIN= /CYGWIN.=0D=0AI'm a very newbye :-( so i try with mono-buil script :-), = noway he tell me:=0D=0A=0D=0Aconfigure: error:find libgc but not its head= er file! You may need to install them by hand.=0D=0A=0D=0Alet's go by han= d:=0D=0A=0D=0Aafter many trying finally ./configure go, =0D=0Abut now whe= n I type make he sayd to me:=0D=0A=0D=0Amake[3]: *** [monoburg] Error1=0D= =0Amake[3]: Leaving directory 'cygdrive/d/cygwin/mono/mono/monoburg'=0D=0A= make[2]: *** [all-recursive] Error1=0D=0Amake[2]: Leaving directory 'cygd= rive/d/cygwin/mono/mono'=0D=0Amake[1]: *** [all-recursive] Error1=0D=0Ama= ke[1]: Leaving directory 'cygdrive/d/cygwin/mono'=0D=0Amake: *** [all-rec= ursive-am] Error 2=0D=0A=0D=0A=0D=0Acan you sayd me where i'm in error?=0D= =0Amaybe I need a C# compiler?=0D=0A=0D=0ATHANK'STHANK'STHANK'S From lluis@ideary.com Mon Mar 31 14:26:40 2003 From: lluis@ideary.com (Lluis Sanchez) Date: Mon, 31 Mar 2003 16:26:40 +0200 Subject: [Mono-list] Accessing data members in remote objects References: Message-ID: <013501c2f791$8d2f96a0$01c8a8c0@ATICATACCENTRE> This is now fixed in CVS. ----- Original Message ----- From: "Jamin Philip Gray" To: Sent: Thursday, February 27, 2003 10:09 PM Subject: [Mono-list] Accessing data members in remote objects > > I'm having a problem with remoting. It works great for accessing methods > on the proxy of a remote object, but not on data members. When I access a > data member I get: > > Unhandled Exception: System.NullReferenceException: A null value was found > where an object instance was required > in <0x00126> 00 TestCode.Remoting.SampleClient:Main (string[]) > > I'm Attaching the source code for my SampleObject, SampleServer, and > SampleClient. > > -- > name: Jamin Philip Gray > email: jamin@pubcrawler.org > icq: 1361499 > aim: jamingray47 > yahoo: jamin47 > web: http://pubcrawler.org > > Got Linux? > > From lluis@ideary.com Mon Mar 31 14:28:47 2003 From: lluis@ideary.com (Lluis Sanchez) Date: Mon, 31 Mar 2003 16:28:47 +0200 Subject: [Mono-list] Remoting with interface definition References: <23436D758E4CA54F8EDC2F7DE3B1A28B032211E5@denver.quark.com> Message-ID: <015101c2f791$d7e1e720$01c8a8c0@ATICATACCENTRE> Remoting with interface definitionThis should work now. ----- Original Message ----- From: Urs Muff To: 'mono-list@lists.ximian.com' Sent: Saturday, March 15, 2003 1:35 AM Subject: [Mono-list] Remoting with interface definition Using the following concept is not working on mono, but in the MS .Net framework: Common Lib: intercace IServerObj { string Name { get; } } Client: main() { ChannelServices.RegisterChannel(new TcpChannel(0)); IServerObject server = Activation.GetObject(typeof(IServerObj),"tcp://localhost:8085/Test") as IServerObject; string name = server.Name; } Server: class ServerObject : MarshalByRefObject, IServerObject { public string Name { get { return "Test Server"; } } } main() { ChannelServices.RegisterChannel(new TcpChannel(8085)); RemotingConfiguration.RegisterWellKnownServiceType(typeof(HelloServer),"Test ",WellKnownObjectMode.Singleton); } This is a very important concept, since it allows hiding the implementation from the Client. The crash is in corlib : Remoting.TypeInfo (since it assumes to be derived from object or MarshalByRefObject, which it is not, since it is a pure interface). Fixing that does not help either since it crashes later than, since it still assumes it has to be a MarshalByRefObject (which it eventually should be since it will become a Proxy [right?]). I'm not that familiar with the mono remoting implementation, but that seems like a design problem, unless I'm doing something wrong. - Urs C. Muff Systems Architect - Research Lab From umuff@quark.com Mon Mar 31 17:14:21 2003 From: umuff@quark.com (Urs Muff) Date: Mon, 31 Mar 2003 10:14:21 -0700 Subject: [Mono-list] Remoting with interface definition Message-ID: <23436D758E4CA54F8EDC2F7DE3B1A28B03221A6E@denver.quark.com> This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C2F7A8.F89C1460 Content-Type: text/plain Lluis, Yes, interfaces do work now. Good work! Simple chat client however does not work. Attached you see the exception that is thrown, and all the source and binaries needed. I hope this helps tracking down the problem. [Note this works on the MS.Net runtime, binaries compiled with csc]. - URS C. MUFF > -----Original Message----- > From: Lluis Sanchez [mailto:lluis@ideary.com] > Sent: Monday, March 31, 2003 7:29 AM > To: Urs Muff; mono-list@lists.ximian.com > Subject: Re: [Mono-list] Remoting with interface definition > > Remoting with interface definitionThis should work now. > > ----- Original Message ----- > From: Urs Muff > To: 'mono-list@lists.ximian.com' > Sent: Saturday, March 15, 2003 1:35 AM > Subject: [Mono-list] Remoting with interface definition > > > Using the following concept is not working on mono, but in the MS .Net > framework: > Common Lib: > intercace IServerObj > { > string Name { get; } > } > Client: > main() > { > ChannelServices.RegisterChannel(new TcpChannel(0)); > IServerObject server = > Activation.GetObject(typeof(IServerObj),"tcp://localhost:8085/Test") as > IServerObject; > string name = server.Name; > } > Server: > class ServerObject : MarshalByRefObject, IServerObject > { > public string Name { get { return "Test Server"; } } > } > main() > { > ChannelServices.RegisterChannel(new TcpChannel(8085)); > > RemotingConfiguration.RegisterWellKnownServiceType(typeof(HelloServer),"Te > st > ",WellKnownObjectMode.Singleton); > } > This is a very important concept, since it allows hiding the > implementation > from the Client. > The crash is in corlib : Remoting.TypeInfo (since it assumes to be derived > from object or MarshalByRefObject, which it is not, since it is a pure > interface). Fixing that does not help either since it crashes later than, > since it still assumes it has to be a MarshalByRefObject (which it > eventually should be since it will become a Proxy [right?]). I'm not that > familiar with the mono remoting implementation, but that seems like a > design > problem, unless I'm doing something wrong. > - Urs C. Muff > Systems Architect - Research Lab ------_=_NextPart_000_01C2F7A8.F89C1460 Content-Type: application/octet-stream; name="Chat.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Chat.tar.gz" H4sIAFV2iD4AA+xcaXAcx3V+M7tYHCRAALxlSmxAVLQ4uFzwAgVKMsFDImWBRAjooCiGGuw2gBF3 Z6CZWYAgDZuKFVuJy46SyC6Vwh+SknIUV+xSUipZTknOYZWcH3GiJHIlqbhcSiVSVfQjR5Wr4kop Vt573TM7ewCE7PCIwyHR08fr169fd7/pnm/eHijY0gkyOR8u35UdyGYHs1nI4rV7e3gf4DtFdw7s huzg7p3bs4Pbd+7C/IHtO3YNgsheRpmiq+QHlicElIqlyckl6IpnZizfn8tfCZmu4FXybWdKjM37 gSzubY2nMsdLTmAXZea4LLoB5l+iOHNg2nIcWfCXS5cZz83sbW1tcayi9GesnBQhyZhVnClIv/V8 a/NMaaJg50SugMoXB3iy3m8VSlIMiRHL86etwv7543Ly2MSjMhf0iyOKpLUZqzb7gUdyFLECtdMc MouxSWuaWavQI84zqbiDUnvFQrxKmQz5Eu/mKRnQjePNB1zHdwsy84BnB/Je25HpbtWIQDJxPrvQ 3U+se/YytSeDkudouTC90Mp/3GBlf6etQPNRPZrx7FkrkKE4p62CbfkosFMqUBfLPYwqhh1kyp5Q +GDa9jNRbb7vZSHKLGZdOy9w7NJRJT1uY9KbtXPSxwGdsnGEPZ2fduScwCENk9meHqX15m3bxAFP ktyWmPHcs/MicEUwLYVH4y2Fy4OXoTaOHJaFgktNSE/ksBc57ANG7xDDuYD67nqZu2WghjvN2gzm Z6Q7mY7X7Onnku4gNzO0bVvBzVmFadcPhvZk9+zaNmbNM2k30fQI1EC8qha5zoCSNEKL0y36YtKp YS2nMyMymHbzrJD4XOsel35Ac6gku1E5WKdWP0olhXmRlwU5ZQXWRCFUEDUyMn/AKhQmrNyZAzxD cjpFcwBbqypOqyFG+YS+Wquao0q6JSkmXY+HpcjiYxQ7PO+WxJyFE5AK5CxNRRw8alazmpuWjrAD 4eZyJc8XrsOUPiszI8YxPlaaKNq+b7vOcZmTNo2sbmHOjtgExGairAFuIpJIsdN62EtZnsQy2c/y FdGGhz3z9KRERjk1EUneAuU5mp2t1CZYb5OeW4xLXDWSZdlFn1JxOecQaeOw5eQL0kuHAxGrEQ6F mh5jah2ekfNjASn7DtHdXTkuc9M2jnU68EqyZ0nTMupJHPqsSJ+Tnosz2MmLQ0fHDx2nnh46awdD D3sPO93a2MQaDFkdl1aeOfWwzWhutidFWsmXOeAWZyxPpsNq/d3Z7n7BMok77hBZlqy5eQIn0BnV AE0nUmdsnObsYFqlVadpkHzSSxDIPMuLOZ6yO6zxGpUHZQFENIm1qVxkfLb+VONDpq+VOzPsTfkn s6cEThPqgjKSvBZoutIcLfkyn2mNPRusIDSYI5btaJN78pSwkFVkPuOGmEb/Ps/vVvon9RNp5l7p TKHm7rxDDPREhJaSR5HGngg5dVO9jhn8mLZYWWqDx5Z8b/SgoY5W2xLdYfXo4Q7nXCfADun80NRM lhy0xbTQ3VZlAezcdPxZxXpS443LMDIv2uhHCw2rjruUSxsrXviTuKydnKZEcbSZSLMwtt8f49bD 9a2c51JdR1gzMzgWFsuVd4sotZhwS07e8ub79ZrnfrGtkGfRGuSF0kLNLkK4bD3KalDkfkhaQVuw z9AcKShmLlkmZcHYcNOzyc+IGlWHHI9ra3+wbOw13wmZs3CeKbaLk9l+paixRZhDrbgTNH4shrAd NH9F1hAzxVQGJ4KqXC3gkNjWW6uZXlwdEziPrVwQX1wfbW9S3VQaN14LSxRXbGBwj1a5bRG0UWtW S/fkYjvOEbSX1hTFjjnyAWv+FJH3qgaxT7gnCbB3aJpcVJxn56VazLWm4gjuS9PqKYRqdvLS61dU Sh9kOvTEp2iP4LWvn0z7cR9yRrilQBk/d85RpNxARhON00z1bdr+8gYjHMy8K33huIGYtAv8dHPm cVJjh1rrm++yEJjlYNlECbdOoS2tMeiLPmpOkKhFVp/EfYAvJjzXyucsP8h0xywy7ublIizqSyLU Y6QPd1K+Ne+rJ1aUyXacO5S+deut/WJPticqq8ePFn3EcPmsusvPSbaKC61X+zR25S9lsjPyrLx8 bSx9/h/YnqUyff7fPZil8/8uJLt+/r8C18hDT0EC70n8+/BDgFd1/r5l1L2Af22b/7ANXm7+bter xr3f7WLzheZ0yrOK9AAii4UbJq+ERwRHHDw2JopuXuJjp2WL5jF6COBeIwGvlp68M+T7DrQZK4wU wEpMpFSe04uBCAXbp+KmkhugfGehTBVNcNjO/8v36MbXGuT7gGaZTdTp5CNKjI98oXxNsWQTpg/H 0pkA9wB4D1oULTdi1rB4JOP5Xg60bCgjd7Stkg6z92U8ic8XLesjmldnDd3+ajFHe9X9sK6S7wZ4 qRHAwHhDpP3lX6uzZiSemUaOLWZiAZkle1XZx4B5d3gYzJjnqSSdICqOtvRBqpfp1oY81izQKJvp pGJlKlZIk4SvKZk71vkoaUsaZW15awWyT6P8Ld5mbCCNQ9BSorwW7ySmU+lmokSdt6S8Emb42GrK XcECEGsfq6ZWpBp/nEJFtvj4QGhx24jb55F4Zd9W7wvEleqnV2Gwssn7HmasT+OUatlq9q1KNSk+ bgdm9P1VJSMcjpZeraObgOdnh/f3WL/F/KK9fnvSXPdsS8pPkASNLvY31VulzzULCdbFasWoSk/l MtRTItJTA5TUtOlIumu4o1SmRV7p/WPYob7xG7+wijSVWqcIX0it9zYaMPNCasPmrZtH/bWctzHp ruPIDV4fF34sVrhJ56XXh2omGfaP3bPf4Bml5ufsQCab2TGY3cU5DVDA8CJq7eZP4TpB4V6juHpo 82vpN3B4d2L1m+8bgx+l1Pq9+e77jhzEexMO2IuUxu3VhNYFkhoPrH/BaKbEfxk7aJJQ6+1KD2wX aG2mFC2s1/ekvsf/lElo0dKn4BYcuRYYxbWUgjzHZzHeAn/KOR/Av2C43rgJx6xg3I027BljDsMX MWyBPzGI5i+wNAV/w+F/crjCJD47zH2h9BzSv3Z4EPk2RKkzmGrF7iS4N5/HVAfGU1j2myzjH0Th qCAun93wHNIbUODUe81fQZNgwtOxMhNeVSn4JtyAvIIuSn0ZXse+JeC5rpDyBtTOa13lekl4h1Nv wF/DFrIU2MrXOewh9cNnzHL8SZPW6a+aJjTDADwHfXgnjrfBZmMANnJ8GMO9cAR+H3VkwbvGXfAY GOYIzEOnOc6UD8EJ2Giehi4Q5hZ4HOkl5txjnsHSE+ZjSDlhljDnUfOTGD6G+V3MuQeeNTux9Dl4 CuNf5Xin+WXIwAp4HgbhF+FX4CLKR3r/OqzDGOk3eaHasrUbamz+eWU4y9ZWk+C1JxrDMt02Qxfe PuLmSwV5Z3zXVfRzrlewJ0AdXqD21AXq5kPV63HQL7sh9o5R00L5NA71TmxQdcoCehcNmRzuzGFK BqdnMUV/6rgAeKACerMBVWcdqH9C0l3JHLStKcf1Azvnw0E5UZqaopPrcKA27RJC8dWZAaIzA6hW FznNLZZfgStA+UX0Jemh6sU26lXXrHrDDfEXxTCOh2rQTCmuVAt3y4BSd3luUedEb64henMNyrpR 13NWAOp9cR1tQv23WWDl86fLRRC+0AN9/NPjBPQiYlbGKellEqiTK5RPUjzmsdNZZZrqAdx4AO20 jWvOgQB3JlMYo/t5yMICwN4AcjADQ7AN/xXAxZSF92mM+Ug3hOsii3+7sHQMS+ZxvyGxnChhYw7p LOaW0/wleLT7WTuOMZ9LZplfCdO4oO4exXIq8bEEDwqQhnNcx8UVLpDSQdss4BAchXEMj2M8wDLK OYt9IHla0UZCAk8YjfdhPXzMDJ5AihK3W9S8Le6lgDmMUUsT3IKFvHOcE6ANgQ7BlPMYaq4NHOL1 /M5z3/gHb/M9Xzq5p3T+R+1Hoekb5x6+f+POd37ZTLUlhWG0JQS0JdJAdwOtvHFjW0qYxqbOtQ14 M80GMI22TYlGg6mbiKKzB61950DHrhSYmzoH2pCkbdOmJJa0NSBNZzPV3LSB48P4mGhLQaKprc2k 7La2xsZE59bO9raGRrOtcyXlJYhr241tyUZqXJm423vL9uwXwn13nWu0t14uThzv0FnJ9oKNm5SZ fIGe8RI+vAXEvvrMrl/XwGXwHmmDOkVV5NMjLFsnny46Ozy4D+Dt2PnlbXMnhvfjaj+NIa3BMXy6 H8MVeRrvR+EujNP1evLffhzyiV8f1/dwTxa/DnLe/bjqPORjo12QyNOBSbImeG3hWuNYSpbAx3Ky LjaWOprDS8mdvD8Zw3wPSxxc6bWc2pkmG/3biRaA3kls4t3CAaQpsq0gi0UbVcFtl8tmuP157K3F dKBp+pkmbO8gW5scyzFTIadgnTfFaO9nK+fHaLJog8p/tP9YgfRHIivqsN0sSxC34hm8n9VypVmm ezE1xTWoBzMoO0k1hfY5qJC9TKe0nMd0kcfjDPiR7PtYlmOah61lCfviXFImpctRtrp5tM05LK/W 5U7WTyVNtZZqdUR1htnGk9wT2P48crtUvZ/JS6gz2czQ1Rbk+nU1Ln22uKwfgF3i+6/t2cHy+98d Azv4/e/A9e+/rshV+f1X63K+xYoA3SqQrAJvXz5IRtig5mwTpj9Jrdf7jgsPpOI8fVDFkN9C3Wqx A5qqqz5ZqS9kLJswoHJ3oq+mcrEzUL+oznQ99QGFQv7VNz9HKtB5wpZiglr6KK4R23on87rftamu fCR4M/4VV+258iMMT/j5wiJgqOZQMZ7hh2QRrBr1+38HVtVKPYnjbFsF+xy9VThV9algdfUhEcXr w9X6HuLVy8ezq1pa9tSp/BYvaj5eb2/tt3oxDlrRNR8pVsCi59UXiEJ/c6jbwRUkYph7dUXXq6mn vhFU1f5/IqU/m1f4/Fcn9MtzXQL/zcbx312D/P337t07rj//r8R1reC/85X4bxfjvyFIg9fRW+Gy 4L+AfD+hWV4N/He8UdEy8XLx35ZKun2L4b+1OHEN/pu9Vd1D/Pf72OiWVL03Msu7VqOgzTpuJpIE raYUDmlAY5jPiK/CeW8O89YwShzBvQ1l5NhMatSXeCA/xo8r8eJ4vhnlL407JllNf6dxxz0o0ier cMeXGyqxRsIhqU4N1rj2lRqsMZy6pNNV+LcGGE/ndBxfpHRCl4V5cbzx52AzhgGHFzn8NodvcfjH xtdwnYyb280U5M3NoUSg8UOD3nUc0/jh85h7mt+6GZhDqSmdSsHj2M/PYaoZU9i2aIevYIqQQ/rL G3cRhoghsLSf3fBKJGEC3oTXsHYiTBk/gPXcG5V6H7qj+fBm6w8hrSevwBQY2VhqFaZWhJQNXcbu aN292ZA2bsfJrDFNGDLaWafAYzKCqQ6Y5rInULL9sBo+qSgxtRtTv6dSTb6RhrXwhk49wSnq//cN God/4pff73P8P6riCfiAphtTovZ4jFfGwk5GODdzvM9cnE+ZcgBegSNwG5C8HRwOc7iRQ8ImH4R9 xmochXFsl3S9zWhCOWi0aM58AP0YPm1Q+DyG7bi6TJx1KcYvG5CSvhtowHAVliQvQNX1dg2aua5c GOGU8d1BDVBZKgQ2fQmov0qVi4FVi8GWFWhaHdizLnBZhT3GsEiFXh5xZt0zEo4M+/NO7rj0UUjg eASp7Zd4VNJkh5y8jsVRzyp0rRZF0/BaDWy3NIJXAZHqjXiIsNYAbtWIXEVhvGCZWGuIIatTFqgv q+sggeFX3thr1h17q0D8UAKxIwioY+6iEGt0MgV1Mi3LEz+7lXPRRr82XXjrm985+uq/vj7zu996 9/0yZqaALYWPbWgRyc4OvHeu3cRQV0eIpHGqSaFdHF9J2JqZalOIWpK/6Wg0QqgL0reWp/2d4R6j zpWN6AjfOlgo1MG39v6fx7euTfynalt0Hf9ZEv9ZuST+cwz78CjGcixzBvKMwl8u/GflsvCfxWS6 jv9cgUuovfHo4NUW5Pp1NS61/bqq/v87du2O4T/bd9P7n514SLv+/ucKXNe6/796mx/3Cl/E8b8G +an0zqxwLC/qe+xlvyKOEaX59wAiQnoLH/4mwM3kZOw6lTxHZHFCej4TsCOXDD00Q3dIP4e7XMnu ryWnnA6dHRmpirmVLhu50i2q0wi7acp82Y98Yp6cxbQsmUUdzIrSI+pJ15uzvLwvlC8sOTZq7y+f BC1z0v6Glie1czWNuPbwjDnlcif6he3kCqU8krRqn3FXcqNWXirf0tj5IlMPvVo+Ihf9WkGtM9v5 7ALBS8GQOD+wkOnuj9frr+CsHaNR1FE8C5Hvm3bftp1qvKdf+7+GzsHUAP2oAPmkelOlIqOYysXd ZX2qce3GJXLGRxlcTysQJ08mAtpiyJUUMcfmGM5UqYkaUFJ5BZZHoktN9qXd/faH3n20TjOhix+7 oFq2LxWGpicRTTQ//jMO5Xmg/XaxVepwOGHcSTXRYz/3EEMV01TWL2TZq7Dm1yjqQ6xLDHi43Lne kPodjnAlzOqf49BLGg/CalXr3+HQKGLMnpwcGx8en/aklT/FmPSynL4/4m9m0A9U9CgNhLYQuzVp T5U8dtyN6j+AlucTjjvnaM70yXFa/xJGxQ9hdEc/d9Ef1VE2c4TexI9hCwUZRDP+8vwGgV/z2wfX 8E8RkAQxFWbCZ0C4gESdwtofLdBzrzs+nQk4vdrP++pLy381/T8HKv0/B/n7n127r+//rsR1reB/ 36rn/0nggMb/buqBy4L//Xka1JuofVcH/9vSrGi5r8vF/6oE2rcY/tdeQ1eD/0GPuoX434tdKJP2 /2z8ifw/CTNSl/b/vGBEvogJereoyhRQl2AoMMBOGQrkq0uTrKWht4uRHymSEF6YSPo0abQrZ/96 5QLaGDl3mimX/EG5foduw/s40iTc5ri/YhyrXKOlpzparR3iS8jYJ7/ONPl1vkWQTpq9RCU7g5Jn aN+gNxe2zq6WLSnvj7i0Q7mKbvwUMe5v51vK+zaWsYNo33d6K7FS5ey5HB/KJzSW+e94f7kKy/xt VNDboHwoz1b5UD6J6YtQz4dyXQ2uSS7FCT1X4j6Uq3VeHN8M40v5UNoc/yX2ofxLzvlveF/7UKbg sEGlD7Hf5AX2qvye8RJaBsN8B8MODntNotzG4Zj5DObYHP6WeVPYEwjfYLfDqcifklIz7E+ZQG2v gzmW8CL2MPSd/DS2p3wnBbzX/DtIY8BTOvUKewq+zJTvGX8Gm5DLD3Xqb6Eb21jD/pG/tuEHkEbJ 0ioF70I/pp7uKrfQyNJ1GOVwG+OFt3P8MQ5/w1C+k5+G7XinWreBMPZgmMZwGEaNYTiC+Zs4fhi6 4FFjBJf2WeME55yCn+daJzAkX6sbzCI8BsOmD4/DgnkOaZ41P4PSfdX8HK4M6s1Gpicc8tfRHp+E HIzDF7WX5EWkaWKcsZ1xxuSFaiswAz+pr+QzNb6SsR3KT+MrGQcb4/HQIU+l9H5Og4mLAJpxf7pl QoUh5qkhw0yO+SufyuUBeAqIi7BW3BxPkMffcW5xcYCu1rmyGjfVAKhG8kIcNDrslCVg38Frzylz 2X6YdU9UUOdUBEudssrOlpEPp/K5xOtG5Q0pGFdw2M+QPCQHMC8DsHl/jf+gQp4y/A9uGWP8YVZ7 PxbZw/J/2jt/FQSBOI4bRv/AwIPG4JagBiGLBodaot4jDAoiApt6gqbeoaXnaO892htag+7naXdQ EkF/6ftxEJU7T8HD8+tHx2GuIesJTUv7yp98pg1p6W0gDv7K3LF1f3Myl539dqLyWDPD8pStirkt M1gtdS2JPj8yGmXwKvoLVqYpY5ip2FiUYW4lnU2xCgW40ncMM1olPLZIePTsdk4UZF7R7mlWo57k GsaxqvqWYny/eIuavpDsKxo/n+c+ynfmv/D/nuf/6df3t/h/SW1C/vsGuBxPcO/TDQGfYDh7/T7u 5L/1Bj3zi57/ubTedd0mvv/2Fqb+nDsj7jjiLJDxI0ZXwSBYcOWFcmfGtfdArUJcJEhKeGlTVIJf 3i+gatRQ7sFauvFfCqgW9fEcq3D/AAEAAAAAAAAAAAAAAACAP+QMYY+2eAB4AAA= ------_=_NextPart_000_01C2F7A8.F89C1460 Content-Type: application/octet-stream; name="error.log" Content-Disposition: attachment; filename="error.log" Unhandled Exception: System.Runtime.Remoting.RemotingException: No receiver for uri /80fe8269_8a50_4580_94f3_228a57e96a00/554741679_2in [0x00026] (at /home/umuff/mono/mcs/class/corlib/System.Runtime.Remoting.Proxies/RealProxy.cs:101) 00 System.Runtime.Remoting.Proxies.RealProxy:PrivateInvoke (System.Runtime.Remoting.Proxies.RealProxy,System.Runtime.Remoting.Messaging.IMessage,System.Exception&,object[]&) in (unmanaged) 07 RemotingSamples.AbstractEventHandler:SubmissionCallback (object,RemotingSamples.SubmitEventArgs) in <0x00004> 07 RemotingSamples.AbstractEventHandler:SubmissionCallback (object,RemotingSamples.SubmitEventArgs) in <0x00067> 01 System.MulticastDelegate:invoke_void_object_SubmitEventArgs (object,RemotingSamples.SubmitEventArgs) in <0x0011f> 00 RemotingSamples.HelloServer:Submit (string,string) in (unmanaged) mono [0x80a1e32] in (unmanaged) mono(mono_runtime_invoke+0x27) [0x80c172f] in (unmanaged) mono(mono_runtime_invoke_array+0x1fd) [0x80c236d] in (unmanaged) mono [0x80c7fcb] in [0x00029] (at /home/umuff/mono/mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs:63) 00 System.Runtime.Remoting.RemotingServices:InternalExecuteMessage (System.MarshalByRefObject,System.Runtime.Remoting.Messaging.IMethodCallMessage) Exception rethrown at [1]: in [0x00026] (at /home/umuff/mono/mcs/class/corlib/System.Runtime.Remoting.Proxies/RealProxy.cs:101) 00 System.Runtime.Remoting.Proxies.RealProxy:PrivateInvoke (System.Runtime.Remoting.Proxies.RealProxy,System.Runtime.Remoting.Messaging.IMessage,System.Exception&,object[]&) in (unmanaged) 07 RemotingSamples.IHelloServer:Submit (string,string) in <0x00004> 07 RemotingSamples.IHelloServer:Submit (string,string) in <0x0024c> 00 RemotingSamples.ChatClient:Run () in <0x00074> 00 RemotingSamples.ChatClient:Main (string[]) ------_=_NextPart_000_01C2F7A8.F89C1460-- From pbaena@uol.com.ar Mon Mar 31 15:40:52 2003 From: pbaena@uol.com.ar (Pablo Baena) Date: 31 Mar 2003 15:40:52 +0000 Subject: [Mono-list] Passing structures to pinvoke Message-ID: <1049125251.2673.71.camel@hal> --=-aYnhvDAQUjU1ys8qFTBf Content-Type: multipart/alternative; boundary="=-8qqMy3el1oP4k21jdgjH" --=-8qqMy3el1oP4k21jdgjH Content-Type: text/plain Content-Transfer-Encoding: 7bit Hello! I tried to get help in other places without much luck, so I thought in posting here 'cause I know there're smart people in here, and somehow is mono related :) What I'm trying to do is to pass an object to a unmanaged routine. This more or less works in .NET. /* Unmanaged C */ #include #include typedef struct { int i; } test_arr_t; typedef struct { test_arr_t* arr; int nr_of_arrs; } test_t; __declspec (dllexport) int modify_it (test_t* testme) { test_arr_t* tarr = (test_arr_t *) malloc (2 * sizeof (test_arr_t)); /* This won't work...why oh why? /* testme = (test_t *) malloc ( sizeof(test_t)); */ testme->arr = tarr; tarr++->i = 1; tarr->i = 2; testme->nr_of_arrs = 2; return 0; } With the proper C# proggie: using System; using System.Runtime.InteropServices; namespace teststruct { [ StructLayout( LayoutKind.Sequential )] class test_struct_arr { public int i; } [ StructLayout( LayoutKind.Sequential )] class test_struct { public IntPtr arr; public int nr_of_arrs; } class Class1 { [DllImport ("library")] static extern int modify_it ([In, Out] test_struct inta); [STAThread] static void Main(string[] args) { test_struct testme = new test_struct(); modify_it (testme); test_struct_arr[] tarr = new test_struct_arr[testme.nr_of_arrs]; IntPtr current = testme.arr; Console.WriteLine ("Returned object has {0} elements", testme.nr_of_arrs); for( int i = 0; i < testme.nr_of_arrs; i++ ) { tarr[ i ] = new test_struct_arr(); Marshal.PtrToStructure( current, tarr[ i ]); //Marshal.FreeCoTaskMem( (IntPtr)Marshal.ReadInt32( current )); Marshal.DestroyStructure( current, typeof(test_struct_arr) ); current = (IntPtr)((int)current + Marshal.SizeOf( tarr[ i ] )); Console.WriteLine ("i[{0}] = {1}", i, tarr[i].i); } } } } But it doesn't work on mono!!! And that is where I'm aiming to. Also, I'd rather prefer to have the parameter passed to pinvoke to be an 'out' parameter, but it doesn't work either. These are just sample structures. The actual structures I need to pass are a little more complicated, but I'm trying to get these simpler ones right first. Thank you thank you thank you!!! -- Pablo Baena --=-8qqMy3el1oP4k21jdgjH Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit Hello! I tried to get help in other places without much luck, so I thought in posting here 'cause I know there're smart people in here, and somehow is mono related :)
What I'm trying to do is to pass an object to a unmanaged routine. This more or less works in .NET.

/* Unmanaged C */
#include <windows.h>
#include <stdlib.h>

typedef struct
{
        int i;
} test_arr_t;
 
typedef struct
{
        test_arr_t* arr;
	int nr_of_arrs;
} test_t;

__declspec (dllexport) int modify_it (test_t* testme)
{
	test_arr_t* tarr = (test_arr_t *) malloc (2 * sizeof (test_arr_t));
	/* This won't work...why oh why?
	/* testme = (test_t *) malloc ( sizeof(test_t)); */
	testme->arr = tarr;
	tarr++->i = 1;	
	tarr->i = 2;
	testme->nr_of_arrs = 2;

	return 0;
}
With the proper C# proggie:
using System;
using System.Runtime.InteropServices;

namespace teststruct
{

	[ StructLayout( LayoutKind.Sequential )]
	class test_struct_arr
	{
		public int i;
	}
	
	[ StructLayout( LayoutKind.Sequential )]
	class test_struct
	{
		public IntPtr arr;
		public int nr_of_arrs;
	}

	class Class1
	{
		[DllImport ("library")]
		static extern int modify_it ([In, Out] test_struct inta);
				
		[STAThread]
		static void Main(string[] args)
		{
			test_struct testme = new test_struct();
			modify_it (testme);
			
			test_struct_arr[] tarr = new test_struct_arr[testme.nr_of_arrs];
			IntPtr current = testme.arr;

			Console.WriteLine ("Returned object has {0} elements", testme.nr_of_arrs);

			for( int i = 0; i < testme.nr_of_arrs; i++ )
			{
				tarr[ i ] = new test_struct_arr();
				Marshal.PtrToStructure( current, tarr[ i ]);
				
				//Marshal.FreeCoTaskMem( (IntPtr)Marshal.ReadInt32( current ));
				Marshal.DestroyStructure( current, typeof(test_struct_arr) );

				current = (IntPtr)((int)current + 
					Marshal.SizeOf( tarr[ i ] ));

				Console.WriteLine ("i[{0}] = {1}", i, tarr[i].i);         
			}
		}
	}
}
But it doesn't work on mono!!! And that is where I'm aiming to. Also, I'd rather prefer to have the parameter passed to pinvoke to be an 'out' parameter, but it doesn't work either. These are just sample structures. The actual structures I need to pass are a little more complicated, but I'm trying to get these simpler ones right first.

Thank you thank you thank you!!!
--
Pablo Baena <pbaena@uol.com.ar>
--=-8qqMy3el1oP4k21jdgjH-- --=-aYnhvDAQUjU1ys8qFTBf Content-ID: <1049124390.2625.55.camel@hal> Content-Disposition: attachment; filename=smiley-3.png Content-Type: image/png; name=smiley-3.png Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC+klEQVR42n2TbUjVdxTHP/+H69Xd a2VWlFe69rzthZJUoxeNOWoFGxEhYRRFmZSVW2u9ab2KejWE1qDNBkEQhS82VoiaZkVPmoWaKNM5 mA+opbd771//997//T/+epHBarEPHA6Hc84XDnwP/JcwcBS4AVgzcR04ONN7C+md+pcPCz44dPLA arZs/gg1UABuGkvvp7X1Iad+itE/YtUAle8TuH26sujzqq/LkJQsnOQQVmIASVJQMhehZORiJwc5 d76FH2pf3gY2Aigzy7+eObqmtOqbXbjGGHZqCM+eQpJ9AHhWFCc5CAjWf1KAkppc+qg3vRCol4Fw 0aqcisOVW3HTE7hmBElSKD/5GFkNMhH1KDvegST78CwNSfZxeM88VuYrh4CwAuxqvxL6MnPuWiy9 H1kNUPH9fZofDKPpHn8/z+Z6Yw8JK5stX5VhRO6h+OfiV3WaHxtPVKAwmF+KqXUDMkgqZ0+UoKcE P57/GXOqh46ODqrPXUQfufb6YOGxJOQD2CaHQnnlAJ4zDXggHBYvK6ap6Rau+RIz1k7djd+YHrqM pXUC4KQnWTRPAdiuRqNRkFQG/omRNJOsKVQw408xtS4QDsI10AaqEY6O8Fzq70fJy3XI8gsA5HTa rBdOkvwFKj39EWrr/sJzEnj29OvsphGugfBsLlwbZnjcYN36LxiLuADtMtCUetFAcE4ee8s+pbHV YtOemwhHx3MSaPEY3X9OUnqsk5a2OMeP7KC3t4u+3gRALUC4cEW2eN62Q4ze3SAiz74TDxvOiI+X BcTsoCoyfJKYn6OKmrMbxGRnlXhyJSSqv80Vq0KSAFa+ceKl0wcK9lfsW42TGsE/pxhfcDmKfz6e FUPg4iRH6Ov6g9EJh1t341xusWuAyn9b+c7BrbklJ8oDZGTOQpL9ePY08SmDpCEwbcHwuE370yku Nlj3gM/e90yXliyU9+8sCVJYlEUgU8IwBZruMThm83uzxsAYV4Hd/A9h4BjQBthAFOgDLgDF7w6/ ArI6YJ0eTQeGAAAAAElFTkSuQmCC --=-aYnhvDAQUjU1ys8qFTBf-- From rodrigo@ximian.com Mon Mar 31 20:21:31 2003 From: rodrigo@ximian.com (Rodrigo Moya) Date: 31 Mar 2003 22:21:31 +0200 Subject: [Mono-list] Re: SoapClientFormatterSink.cs ... In-Reply-To: <3E8892C5.9020404@polymtl.ca> References: <3E8892C5.9020404@polymtl.ca> Message-ID: <1049142091.17324.1.camel@azkoyen.gnome-db.org> On Mon, 2003-03-31 at 21:11, Jean-Marc André wrote: > Hello, > > Lluis, told me that there is currently nobody working on the > SoapFormatter so I told him that maybe I could handle it or a part of it. > I'd like to know if you are still working the SoapClientFormatterSink, > SoapClientFormatterSinkProvider.... classes and if I can use and > continue implementing them. > I just did the stubs for those classes, so you can work on them as you wish. > Of course, I'll send you any modified files so you can review them. > ok, cool, but send them best to the list, so that more people can review them. cheers