[Mono-dev] On what platform|cpu-arch|mono-version does full AOT actually work?

2009-02-12 Thread mobbe

I downloaded a openSUSE 11.0 image with Mono 2.2 and tried the following in a
terminal window... 

sudo mono --aot=full /usr/lib/1.0/mscorlib.dll

The end result is that an assert in the code triggers a halt. The specific
assert message is:

** ERROR: (mini-x86.c:5314): mono_arch_get_patch_offset: code should not be
reached. 

I have been working with enabling AOT on the Mac and I get the same message
there... looks like it doesn't recognize certain opcodes and then the assert
halts the program. 

Anyone know on what platform/cpu combination and Mono version the full AOT
actually works? I have been trying to debug the code and see if I could
figure out what was wrong but as I said..it just looks like certain opcodes
that Mono generates don't sit well with the code generator. 

If it is not the code but rather that I am not invoking the tools correctly
then please let me know as well...

Thanks

-- 
View this message in context: 
http://www.nabble.com/On-what-platform%7Ccpu-arch%7Cmono-version-does-full-AOT-actually-work--tp21988583p21988583.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Generic Variance

2009-02-12 Thread Scott Peterson
This patch syncs with SVN.
Index: mono/metadata/ChangeLog
===
--- mono/metadata/ChangeLog	(revision 126792)
+++ mono/metadata/ChangeLog	(working copy)
@@ -1,3 +1,17 @@
+2009-02-13  Scott Peterson  
+
+	This adds runtime generic variance support for reference types.
+	This patch is contributed under the MIT/X11 license.
+
+	* class.c: Added mono_class_has_variant_generic_params which determins
+	if a generic class has a variant type parameter. Added
+	mono_class_is_variant_of which determins if the first class is a legal
+	variant of the second. Added mono_class_interface_offset_with_variance
+	to look for interfaces in a variance-aware fashion. Modified
+	mono_class_is_assignable_from to use the two new methods.
+
+	* class-internals.h: Added mono_class_interface_offset_with_variance.
+
 2009-02-13  Zoltan Varga  
 
 	* cominterop.c icall-def.h: Fix the DISABLE_COM build.
Index: mono/metadata/class-internals.h
===
--- mono/metadata/class-internals.h	(revision 126792)
+++ mono/metadata/class-internals.h	(working copy)
@@ -407,6 +407,7 @@
 
 #define MONO_CLASS_IMPLEMENTS_INTERFACE(k,uiid) (((uiid) <= (k)->max_interface_id) && ((k)->interface_bitmap [(uiid) >> 3] & (1 << ((uiid)&7
 int mono_class_interface_offset (MonoClass *klass, MonoClass *itf);
+int mono_class_interface_offset_with_variance (MonoClass *klass, MonoClass *itf) MONO_INTERNAL;
 
 typedef gpointer MonoRuntimeGenericContext;
 
Index: mono/metadata/class.c
===
--- mono/metadata/class.c	(revision 126792)
+++ mono/metadata/class.c	(working copy)
@@ -67,6 +67,7 @@
 static void setup_generic_array_ifaces (MonoClass *class, MonoClass *iface, MonoMethod **methods, int pos);
 
 static MonoMethod* mono_class_get_virtual_methods (MonoClass* klass, gpointer *iter);
+static gboolean mono_class_has_variant_generic_params (MonoClass *klass);
 
 void (*mono_debugger_class_init_func) (MonoClass *klass) = NULL;
 void (*mono_debugger_class_loaded_methods_func) (MonoClass *klass) = NULL;
@@ -2128,6 +2129,36 @@
 	return (key->interface_id - element->interface_id);
 }
 
+static gboolean
+mono_class_is_variant_of (MonoClass *klass, MonoClass *vklass) {
+	int i;
+	MonoClass *generic = klass->generic_class->container_class;
+	MonoClass *vgeneric = vklass->generic_class->container_class;
+	MonoGenericContainer *container = vgeneric->generic_container;
+
+	if (generic != vgeneric)
+		return FALSE;
+
+	for (i = 0; i < container->type_argc; i++) {
+		MonoClass *param_class = mono_class_from_mono_type (klass->generic_class->context.class_inst->type_argv [i]);
+		MonoClass *vparam_class = mono_class_from_mono_type (vklass->generic_class->context.class_inst->type_argv [i]);
+
+		// FIXME this is incorrect
+		if (param_class->valuetype || vparam_class->valuetype)
+			return FALSE;
+
+		if (container->type_params [i].flags & GENERIC_PARAMETER_ATTRIBUTE_VARIANCE_MASK) {
+			if ((container->type_params [i].flags & GENERIC_PARAMETER_ATTRIBUTE_CONTRAVARIANT) && !mono_class_is_assignable_from (param_class, vparam_class))
+return FALSE;
+			if ((container->type_params [i].flags & GENERIC_PARAMETER_ATTRIBUTE_COVARIANT) && !mono_class_is_assignable_from (vparam_class, param_class))
+return FALSE;
+		} else if (param_class != vparam_class)
+			return FALSE;
+	}
+
+	return TRUE;
+}
+
 int
 mono_class_interface_offset (MonoClass *klass, MonoClass *itf) {
 	MonoClass **result = bsearch (
@@ -2143,6 +2174,21 @@
 	}
 }
 
+int
+mono_class_interface_offset_with_variance (MonoClass *klass, MonoClass *itf) {
+	int i = mono_class_interface_offset (klass, itf);
+	if (i >= 0) {
+		return i;
+	} else if (mono_class_has_variant_generic_params (itf)) {
+		for (i = 0; i < klass->interface_offsets_count; i++) {
+			if (mono_class_is_variant_of (klass->interfaces_packed[i], itf)) {
+return klass->interface_offsets_packed [i];
+			}
+		}
+	}
+	return -1;
+}
+
 static void
 print_implemented_interfaces (MonoClass *klass) {
 	GPtrArray *ifaces = NULL;
@@ -5952,38 +5998,8 @@
 	if ((container_class2->interfaces_packed [i] == container_class1) || (container_class2->interfaces_packed [i]->generic_class && (container_class2->interfaces_packed [i]->generic_class->container_class == container_class1)))
 		match = TRUE;
 
-if (match) {
-	MonoGenericContainer *container;
-
-	container = klass->generic_class->container_class->generic_container;
-
-	match = TRUE;
-	for (i = 0; i < container->type_argc; ++i) {
-		MonoClass *param1_class = mono_class_from_mono_type (klass->generic_class->context.class_inst->type_argv [i]);
-		MonoClass *param2_class = mono_class_from_mono_type (oklass->generic_class->context.class_inst->type_argv [i]);
-
-		if (param1_class->valuetype != param2_class->valuetype) {
-			match = FALSE;
-			break;
-		}
-		/*
-		 * The _VARIANT

Re: [Mono-dev] Developing using Mono/Gtk# Vs Mono.WinForms (Windows & Linux)

2009-02-12 Thread Tom Opgenorth
2009/2/12 Daniel Espinosa :
> The GUI must works on Linux/Windows among other OSs and both libraries will
> be free software.
>
> What could be better to use Gtk# or Winforms?
The rule of thumb would use:  if the majority of users are Windows,
use WinForms.  If Linux, use GTK#.  Of course, this is assuming that
you're equally skilled in both.

-- 
http://www.opgenorth.net
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] System.Data.DbType adds DateTime2 and DateTimeOffset in 3.5 and OracleException derives from System.Data.Common.DbException in 2.0

2009-02-12 Thread Jay R. Wren
Ok, but I am not a committer. Can someone commit this for me?

--
Jay


From: Nagappan A 
Sent: Thursday, February 12, 2009 2:51 PM
To: Jay R. Wren 
Cc: mono-devel-list@lists.ximian.com 
Subject: Re: [Mono-dev] System.Data.DbType adds DateTime2 and DateTimeOffset in 
3.5 and OracleException derives from System.Data.Common.DbException in 2.0


Hello Wren,

I think

+#if NET_2_0
+: System.Data.Common.DbException
+#elif NET_1_1
+: SystemException
+#elif NET_1_0
+: SystemException
+#endif

the above can be

+#if NET_2_0
+: System.Data.Common.DbException
+#else
+: SystemException
+#endif

The patch is ok to commit.

Thanks
Nagappan


2009/2/12 Jay R. Wren 

  System.Data.DbType adds DateTime2 and DateTimeOffset in 3.5 and 
OracleException derives from System.Data.Common.DbException in 2.0

  This is required to build NHibernate using mono gmcs.

  This patch is built from Revision: 126355
  --
  Jay R. Wren 
  ___
  Mono-devel-list mailing list
  Mono-devel-list@lists.ximian.com
  http://lists.ximian.com/mailman/listinfo/mono-devel-list





-- 
Linux Desktop (GUI Application) Testing Project - http://ldtp.freedesktop.org
http://nagappanal.blogspot.com
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Developing using Mono/Gtk# Vs Mono.WinForms (Windows & Linux)

2009-02-12 Thread Alan McGovern
2009/2/12 Daniel Espinosa 

> We are working on a project using Mono/C# for a GUI independent library,
> but in parallel one library to use GUI objects (the presentation layer)
> witch will use the first library as a data provider.
>
> The GUI must works on Linux/Windows among other OSs and both libraries will
> be free software.
>
> What could be better to use Gtk# or Winforms?

I'd personally prefer GTK#, though it can look out of place on windows.
Similarly Winforms definitely looks out of place on linux. It's a tradeoff.
The ideal option would be for you to create a UI using both toolkits so it
looks native on both platforms, but this may not be an option due to limited
resources etc.


> How to allow other users to contribute to the project if they will work on
> Windows and others (me) on Linux?
>

On windows, use VS/SharpDevelop. On linux use MonoDevelop.

>
> I know projects' format diferencies between MS Visual Studio, SharpDevelop
> and MonoDevelop. How help this IEDs to work with the same project and code
> base?


All three IDEs support the Visual Studio project format, so just use that.

Alan.
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] RootContext.cs

2009-02-12 Thread Mudit Vaidya
The AddField method is called from cs-parser.cs class twice. But for 
some reason, nothing gets printed on the console when I use 
Console.WriteLine() in AddField.

Also, I am using VS 2008. How can I debug the code because when I try to 
use the debug feature,  I get the following on output window

'mcs.vshost.exe' (Managed): Loaded 
'C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll', 
Skipped loading symbols. Module is optimized and the debugger option 
'Just My Code' is enabled.
'mcs.vshost.exe' (Managed): Loaded 
'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll',
 
Skipped loading symbols. Module is optimized and the debugger option 
'Just My Code' is enabled.
'mcs.vshost.exe' (Managed): Loaded 
'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll',
 
Skipped loading symbols. Module is optimized and the debugger option 
'Just My Code' is enabled.
'mcs.vshost.exe' (Managed): Loaded 
'C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll', 
Skipped loading symbols. Module is optimized and the debugger option 
'Just My Code' is enabled.
'mcs.vshost.exe' (Managed): Loaded 
'C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll',
 
Skipped loading symbols. Module is optimized and the debugger option 
'Just My Code' is enabled.
'mcs.vshost.exe' (Managed): Loaded 
'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll',
 
Skipped loading symbols. Module is optimized and the debugger option 
'Just My Code' is enabled.
'mcs.vshost.exe' (Managed): Loaded 
'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll',
 
Skipped loading symbols. Module is optimized and the debugger option 
'Just My Code' is enabled.
'mcs.vshost.exe' (Managed): Loaded 
'C:\Users\MICROSOFT\Desktop\mono-2.0.1\mono-2.0.1\mcs\mcs\mcs.vshost.exe', 
Skipped loading symbols. Module is optimized and the debugger option 
'Just My Code' is enabled.
'mcs.vshost.exe' (Managed): Loaded 
'C:\Windows\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll',
 
Skipped loading symbols. Module is optimized and the debugger option 
'Just My Code' is enabled.
'mcs.vshost.exe' (Managed): Loaded 
'C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll',
 
Skipped loading symbols. Module is optimized and the debugger option 
'Just My Code' is enabled.
The thread 0xc0c has exited with code 0 (0x0).
The thread 0x13b4 has exited with code 0 (0x0).
'mcs.vshost.exe' (Managed): Loaded 
'C:\Users\MICROSOFT\Desktop\mono-2.0.1\mono-2.0.1\mcs\mcs\mcs.exe', 
Symbols loaded.
The thread 0x1680 has exited with code 0 (0x0).
The thread 0x1704 has exited with code 0 (0x0).
The thread 0x11b4 has exited with code 0 (0x0).
The program '[2952] mcs.vshost.exe: Managed' has exited with code 0 (0x0).

Any help appreciated
Thanks




Mudit Vaidya wrote:
> I could find the AddField method in class.cs. I just put a simple 
> "hello" output statement in the AddField method but that was not 
> printed on the console.
> Who calls the AddField method ?
>
>
>
> Marek Safar wrote:
>> Hi,
>>> I am using the following code to access the variables of class 
>>> compiled by mcs but I get no output on the console.
>>>
>>>   
>> It depends when you are accessing those fields, but they should be 
>> available for most of compilation time.
>>
>> Look how it works in TypeContainer::AddField (FieldBase field)
>>
>>> ArrayList ad = new ArrayList();
>>>ad.Add(tc.Fields);
>>> String[] ia = (String[])ad.ToArray(typeof(String));
>>> Console.WriteLine(ia[0]);
>>> for (int k = 0; k < ia.Length; k++)
>>>Console.WriteLine("ia.count"+ia.Length+ia.GetValue(k));
>>>
>>> what is the reason for tc.Fields not having any values ?
>>>   
>> This code does not make a sense. TypeContainer::Fields returns a 
>> collection and you are adding this collection into another collection 
>> and then expecting to get string values, isn't that strange?
>>
>> Marek
>>
>>> Marek Safar wrote:
>>>  
 Hi,
   
> I am trying to find out what variables were contained in the c# 
> file parsed by mcs. I am looking in RootContext.cs where the whole 
> structure is created but I am unable to access the variables of 
> the class.
> Any help appreciated.
>
> 
 I don't know what information you need but type fields are stored 
 in TypeContainer::Fields

 Marek

 
>>> ___
>>> Mono-devel-list mailing list
>>> Mono-devel-list@lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>>
>>>   
>>
>>
>
__

[Mono-dev] Developing using Mono/Gtk# Vs Mono.WinForms (Windows & Linux)

2009-02-12 Thread Daniel Espinosa
We are working on a project using Mono/C# for a GUI independent library, but
in parallel one library to use GUI objects (the presentation layer) witch
will use the first library as a data provider.

The GUI must works on Linux/Windows among other OSs and both libraries will
be free software.

What could be better to use Gtk# or Winforms?

How to allow other users to contribute to the project if they will work on
Windows and others (me) on Linux?

I know projects' format diferencies between MS Visual Studio, SharpDevelop
and MonoDevelop. How help this IEDs to work with the same project and code
base?

-- 
Trabajar, la mejor arma para tu superación
"de grano en grano, se hace la arena" (R) (en trámite, pero para los cuates:
LIBRE)
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] cruisecontrol.net on mono.

2009-02-12 Thread Lucas Meijer
Hey,

I mentioned to Miguel that we're running cruisecontrol.net on mono on 
osx, to produce Unity3D generated builds
of our game. Miguel insisted I write to mono-devel and tell a bit more 
about it. Unsure why, as I'd rather talk about how nice it is that
I can run mono in Unity3D in a browser, and have it communicate with a 
server built on mono on the backend,
how we can use visualstudio to write & debug c#, how we get to use 
continuations, and how the switch to mono
has been such a breath of fresh air for us.

But none of that :-), Cruisecontrol.net.   This what often gets referred 
to as a Continous Integration server. Which is
fancy talk for something that builds your project on every commit, and 
maybe or maybe not does something with the results.
Usually people use it to check up on themselves and teammembers to make 
sure nobody broke any unit tests, makes
sure the project still builds on all the platforms it is supposed to 
build on, etc. (you'd have a seperate CI server per platform
for that scenario in most cases).

Anyway, CruiseControl.net is written in c#. I just tried to run it on 
mono, and it ran out of the box. The parts we've tried
work as advertised. I haven't used the webinterface part of the tool. We 
use CCNet.Tray to control it. It's a windows only
system tray application that you can use to make it start a build, and 
that turns red if something is wrong with a build.

We're happy with how it works. It's mono running cruisecontrol.net, 
which is running mono to run gmcs, which is compiling
our c# code to CIL. then it runs mono to run nunit on our unit tests. it 
tells unity3d to make a build, and uses a custom rsync
setup to distribute the results in an easy way for our teammembers to 
quickly get the results of the build.

Ironically enough, if you google for stackTraceString, the #3 thing you 
find is somebody who was unable to run cc.net on mono because
of the stackTraceString thing. . It got properly fixed 
upstream. :-)

Bye, Lucas

-- Lucas Meijer | GameDev & Unity3D Consulting 
-- Blog: http://lucasmeijer.com/blog
-- twitter: lucasmeijer

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Miguel de Icaza
Hello,

   I added some comments to the bug, we can apply Robert's patch and
encourage developers in the meantime to use the graceful fallback setup
for now as it will be needed for anyone trying to run the software on
any Mono versions pre-2.6 (as this fix wont make it into Mono until Mono
2.6)

Miguel.

> Hey Miguel,
> > It seems to me that talking to upstream developers and get them to 
> > provide a more robust implementation from the get-go would be a much 
> > better outcome.   Have them probe for .NET version, fall back to Mono 
> > and if none of those are available, gracefully degrade the functionality.
> This should defenitely happen, and we're talking to the upstream 
> developers to deal with this situation in a better way.
> 
> The main theme of my message is not how to get these 3 projects from 
> running on mono, but if we can make the N others
> that we do not know about run on mono as well.
> 
> I'm not advocating for _not_ implementing more proper behaviour upstream.
> > I did not get the feeling (or maybe it is part of my lost email) that 
> > I have heard the "againsts" yet.
> So far I think it can be summarized as:
> 
> 1)  It takes nonzero time, and there are a zillion more important things 
> to do.
> 2)  It could break projects that are mono-only and rely on the same hack.
> 3)  In the original comment on the bugzilla issue, it was noted that the 
> "field is shared with the runtime", and that
>  that would make a fix ugly.
> 
> I actually think #1 is a good argument against,  #2 is not very likely, 
> but not totally impossible either, and to what extent #3 is a problem,
> I don't know.
> 
> Bye, Lucas
> 
> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Stifu

For what it's worth, you could argue that devs who added hacks to target .NET
or Mono are more likely to react and update their app to match a new Mono
behavior... Which, on the other hand, means that'd make like harder for
people who actually care about targeting Mono (but then, they're relying on
unreliable hacks in the first place).


StApostol wrote:
> 
> #2 is more likely than you think.
> 
-- 
View this message in context: 
http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21985364.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] UnixGroupInfo patch

2009-02-12 Thread Jonathan Pryor
On Mon, 2009-02-09 at 17:16 +0100, Daniel Peñalba wrote
> Attached is a patch file. Please confirm if this patch can be included
> to the next Mono release.

This patch has been applied to svn-trunk.  Alas, it won't make it into
Mono 2.4, but instead will land in Mono 2.6.

Thanks,
 - Jon


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono and IBM

2009-02-12 Thread Carlos Ruiz Diaz
Thank you!
I'll test it ASAP.

On Thu, Feb 12, 2009 at 4:17 PM, Bill Seurer  wrote:

> Carlos Ruiz Diaz  wrote on 02/12/2009 11:49:55
> AM:
>
> > Oh, that is great!
> >
> > > We had a
> > > multi-CPU system with two partitions (Linux and iSeries) and was
> running
> > > Mono on both.
> >
> > Could you please talk more about that?
> > We have here two AS400 running OS400 v5r4. Do you think it will work?
> >
> > Thanks in advance.
>
> I really don't know how the systems we used were configured as someone else
> set them up.  I think we were on v6r1 but I know we have v5r4 partitions
> now so I don't see any fundamental problem.  You can set up Linux however
> you want on its partition(s).
>
> Here's a reference about it.
>
>
> http://publib.boulder.ibm.com/infocenter/systems/scope/i5os/index.jsp?topic=/rzahc/rzahcblade5osvirtualpartitionsoverview.htm&tocNode=toc:rzahg/i5os/7/0/
>
> Yeek, I hope that is usable.
> --
> Bill Seurer
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono and IBM

2009-02-12 Thread Bill Seurer
Carlos Ruiz Diaz  wrote on 02/12/2009 11:49:55
AM:

> Oh, that is great!
>
> > We had a
> > multi-CPU system with two partitions (Linux and iSeries) and was
running
> > Mono on both.
>
> Could you please talk more about that?
> We have here two AS400 running OS400 v5r4. Do you think it will work?
>
> Thanks in advance.

I really don't know how the systems we used were configured as someone else
set them up.  I think we were on v6r1 but I know we have v5r4 partitions
now so I don't see any fundamental problem.  You can set up Linux however
you want on its partition(s).

Here's a reference about it.

http://publib.boulder.ibm.com/infocenter/systems/scope/i5os/index.jsp?topic=/rzahc/rzahcblade5osvirtualpartitionsoverview.htm&tocNode=toc:rzahg/i5os/7/0/

Yeek, I hope that is usable.
--
Bill Seurer

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono: Link error on shm_unlink and shm_open

2009-02-12 Thread Robert Jordan
FirstName LastName wrote:
> Anybody has any idea why this is happening?  If someone can help me, it would 
> be appreciated.

This is fixed in SVN.

Robert


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] System.Data.DbType adds DateTime2 and DateTimeOffset in 3.5 and OracleException derives from System.Data.Common.DbException in 2.0

2009-02-12 Thread Nagappan A
Hello Wren,

I think

+#if NET_2_0
+: System.Data.Common.DbException
+#elif NET_1_1
+: SystemException
+#elif NET_1_0
+: SystemException
+#endif

the above can be

+#if NET_2_0
+: System.Data.Common.DbException
+#else
+: SystemException
+#endif

The patch is ok to commit.

Thanks
Nagappan

2009/2/12 Jay R. Wren 

> System.Data.DbType adds DateTime2 and DateTimeOffset in 3.5 and
> OracleException derives from System.Data.Common.DbException in 2.0
>
> This is required to build NHibernate using mono gmcs.
>
> This patch is built from Revision: 126355
> --
> Jay R. Wren
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>


-- 
Linux Desktop (GUI Application) Testing Project -
http://ldtp.freedesktop.org
http://nagappanal.blogspot.com
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono: Link error on shm_unlink and shm_open

2009-02-12 Thread FirstName LastName

Anybody has any idea why this is happening?  If someone can help me, it would 
be appreciated.

From: mousse_...@hotmail.comto: mono-devel-l...@lists.ximian.comdate: Wed, 11 
Feb 2009 22:55:06 +Subject: [Mono-dev] Mono: Link error on shm_unlink and 
shm_open

Hi, I'm cross compiling mono 2.2 for the ARM.  I'm getting linker errors: 
../utils/.libs/libmonoutils.a(mono-mmap.o): In function 
`mono_shared_area_remove':/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:486:
 undefined reference to `shm_unlink'../utils/.libs/libmonoutils.a(mono-mmap.o): 
In function 
`mono_shared_area_for_pid':/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:502:
 undefined reference to `shm_open'../utils/.libs/libmonoutils.a(mono-mmap.o): 
In function 
`mono_shared_area_instances_helper':/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:425:
 undefined reference to `shm_unlink'../utils/.libs/libmonoutils.a(mono-mmap.o): 
In function 
`mono_shared_area':/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:448:
 undefined reference to 
`shm_open'/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:460: 
undefined reference to 
`shm_unlink'/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:465: 
undefined reference to 
`shm_unlink'/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:451: 
undefined reference to 
`shm_unlink'/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:452: 
undefined reference to `shm_open'collect2: ld returned 1 exit statusmake[3]: 
*** [pedump] Error 1make[3]: Leaving directory 
`/home/ubuntu/Install/cross-arm-mono-2.2/mono/metadata' It seems that it 
expects to find those functions are in librt.so.  However, in my case, they are 
not implemented. Question===If I don't have these functions, what can I do 
to make mono compile. Thanks. 

The new Windows Live Messenger. You don’t want to miss this.
_
So many new options, so little time. Windows Live Messenger.
http://www.microsoft.com/windows/windowslive/products/messenger.aspx___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono: Link error on shm_unlink and shm_open

2009-02-12 Thread FirstName LastName

Anybody has any idea why this is happening?  If someone can help me, it would 
be appreciated.

From: mousse_...@hotmail.comto: mono-devel-l...@lists.ximian.comdate: Wed, 11 
Feb 2009 22:55:06 +Subject: [Mono-dev] Mono: Link error on shm_unlink and 
shm_open

Hi, I'm cross compiling mono 2.2 for the ARM.  I'm getting linker errors: 
../utils/.libs/libmonoutils.a(mono-mmap.o): In function 
`mono_shared_area_remove':/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:486:
 undefined reference to `shm_unlink'../utils/.libs/libmonoutils.a(mono-mmap.o): 
In function 
`mono_shared_area_for_pid':/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:502:
 undefined reference to `shm_open'../utils/.libs/libmonoutils.a(mono-mmap.o): 
In function 
`mono_shared_area_instances_helper':/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:425:
 undefined reference to `shm_unlink'../utils/.libs/libmonoutils.a(mono-mmap.o): 
In function 
`mono_shared_area':/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:448:
 undefined reference to 
`shm_open'/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:460: 
undefined reference to 
`shm_unlink'/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:465: 
undefined reference to 
`shm_unlink'/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:451: 
undefined reference to 
`shm_unlink'/home/ubuntu/Install/cross-arm-mono-2.2/mono/utils/mono-mmap.c:452: 
undefined reference to `shm_open'collect2: ld returned 1 exit statusmake[3]: 
*** [pedump] Error 1make[3]: Leaving directory 
`/home/ubuntu/Install/cross-arm-mono-2.2/mono/metadata' It seems that it 
expects to find those functions are in librt.so.  However, in my case, they are 
not implemented. Question===If I don't have these functions, what can I do 
to make mono compile. Thanks. 

The new Windows Live Messenger. You don’t want to miss this.
_
Twice the fun—Share photos while you chat with Windows Live Messenger.
http://www.microsoft.com/windows/windowslive/products/messenger.aspx___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread StApostol
On Thu, Feb 12, 2009 at 7:40 PM, Lucas Meijer  wrote:

>
> I'm not advocating for _not_ implementing more proper behaviour upstream.
> > I did not get the feeling (or maybe it is part of my lost email) that
> > I have heard the "againsts" yet.
> So far I think it can be summarized as:
>
> 1)  It takes nonzero time, and there are a zillion more important things
> to do.
> 2)  It could break projects that are mono-only and rely on the same hack.
> 3)  In the original comment on the bugzilla issue, it was noted that the
> "field is shared with the runtime", and that
> that would make a fix ugly.
>
> I actually think #1 is a good argument against,  #2 is not very likely,
> but not totally impossible either, and to what extent #3 is a problem,
> I don't know.
>
> Bye, Lucas
>
>

#2 is more likely than you think. There are applications out there that
employ such hacks with proper safeguards. Such a change would make 2-3
improperly coded applications work, but it would risk breaking n other
applications that are correctly written to check for .Net and Mono! (though
"correctly" is a bit stretched when talking about such hacks).

Another issue is that such a change invites the wrong mentality: "My
application relies on undocumented .Net internals and does not run on Mono.
I blame Mono." This is just plain wrong.

A fifth issue is that undocumented .Net behavior may change at any time. If
Mono is patched, these applications will remain open to future breakage. If
the applications are patched, no such danger exists.

This bug should be taken to the developers of the original application.
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono and IBM

2009-02-12 Thread Carlos Ruiz Diaz
Oh, that is great!

> We had a
> multi-CPU system with two partitions (Linux and iSeries) and was running
> Mono on both.

Could you please talk more about that?
We have here two AS400 running OS400 v5r4. Do you think it will work?

Thanks in advance.

On Thu, Feb 12, 2009 at 12:23 PM, Bill Seurer  wrote:

> Carlos Ruiz Diaz  wrote on 02/12/2009 08:19:15
> AM:
> >
> > I was talking about running mono in a  non-x86 platform. I'll have
> > performance issues for sure but I don't know if it will be
> > catastrophic or ignorable.
>
> > On Wed, Feb 11, 2009 at 6:24 PM, Bill Seurer  wrote:
> > mono-devel-list-boun...@lists.ximian.com wrote on 01/31/2009 07:43:09
> AM:
> >
> > > What do you guys think about performance penalization installing the
> > > Linux OS in a specially formatted partition inside the AS?
>
> > What sort of performance penalty are you worried about?  One on the
> overall
> > system on one on the specific partition?  I believe you can divvy up
> > partitions using just fractions of CPUs now.
> > --
> > Bill Seurer
>
> It was a couple of years ago but it ran well when we tried it.  We had a
> multi-CPU system with two partitions (Linux and iSeries) and was running
> Mono on both.
>
> We didn't get to performance testing, though, so I can't say for sure.
> --
> Bill Seurer
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Lucas Meijer
Hey Miguel,
> It seems to me that talking to upstream developers and get them to 
> provide a more robust implementation from the get-go would be a much 
> better outcome.   Have them probe for .NET version, fall back to Mono 
> and if none of those are available, gracefully degrade the functionality.
This should defenitely happen, and we're talking to the upstream 
developers to deal with this situation in a better way.

The main theme of my message is not how to get these 3 projects from 
running on mono, but if we can make the N others
that we do not know about run on mono as well.

I'm not advocating for _not_ implementing more proper behaviour upstream.
> I did not get the feeling (or maybe it is part of my lost email) that 
> I have heard the "againsts" yet.
So far I think it can be summarized as:

1)  It takes nonzero time, and there are a zillion more important things 
to do.
2)  It could break projects that are mono-only and rely on the same hack.
3)  In the original comment on the bugzilla issue, it was noted that the 
"field is shared with the runtime", and that
 that would make a fix ugly.

I actually think #1 is a good argument against,  #2 is not very likely, 
but not totally impossible either, and to what extent #3 is a problem,
I don't know.

Bye, Lucas


-- 


-- Game Development Blog: http://lucasmeijer.com/blog

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Miguel De Icaza
Hello,

> It depends on what the mono team sees as the goal of mono.
> If it is to provide a nice programming environment for linux  
> programmers
> to make linux applications,  then no reason to change.
> If it also is to make it easy for .net applications to run on linux,  
> and
> to have windows .net developers try mono, and adopt mono as one of  
> their
> platforms,
> then it would make sense to cahnge.

It is a bit of both.  We have made concessions in the past for this  
sort of thing, and I do not see why this would be any different.

Now, this is a horrid hack that nobody should be using.   And I am  
surprised about the kind of projects using this hack, as it seems that  
them of all people would have written some robust features into it to  
future proof the code against changes in the framework, into different  
editions of the framework (Mono, CF, XNA, Micro) and would not depend  
on this sort of hacks.

I have not researched this problem in particular, and I do not know  
what negative impact it might have on Mono so I do not have a strong  
position against changing it, but I do not know enough about it to  
just OK the change.

It seems to me that talking to upstream developers and get them to  
provide a more robust implementation from the get-go would be a much  
better outcome.   Have them probe for .NET version, fall back to Mono  
and if none of those are available, gracefully degrade the  
functionality.
>

> They are all opensource, and I have submitted patches (except for  
> xunit,
> upcomig). The reason I bring this up is not to make my life easier.  
> I can
> make all these tools work for me and move on.  I bring it up because I
> feel mono is a really great project, and I would love to make it  
> work more
> out of the box, even for programs that sometimes cross the line of  
> what
> they "are allowed" to be doing.

I agree, it is a worthy goal, and we are willing to make some changes,  
even something as gross as this.   I just need more information myself.

> Anyway, I think most arguments for and against have been made, and  
> from
> this point the mono team should just do what it
> feels is right.

I did not get the feeling (or maybe it is part of my lost email) that  
I have heard the "againsts" yet.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] IBM.Data.DB2.DB2Exception: Unable to allocate statement handle

2009-02-12 Thread Bartolomeo Nicolotti


Hi,

I don't know If I'm saying something with sense, but in the source tree of
mono 2.2 there's a folder called 

mcs/Classes/IBM.Data.DB2, 

If you install db2 express c you get a folder with the file libcdb2.so:

/opt/ibm/.../lib32/libcdb2.so

and if you edit 

sudo vim /usr/local/etc/mono/config

adding this line: ...  ... 

the "links" sould be ok, and you sould have the same as in IBM.Data.DB2.dll,
am I right?



Daniel Morgan-3 wrote:
> 
> IBM does not provide an IBM.Data.DB2.dll assembly for Linux.  IBM only
> provides IBM.Data.DB2.dll for Windows.  This goes the same with other
> proprietary database management systems out there, such as, Oracle and
> Sybase.  These companies only support Microsoft .net framework - they do
> not even acknowledge Mono.
> 
> Mono provides a homemade IBM.Data.DB2.dll assembly, but it is not
> maintained.
> 
> I cannot see what is available on Linux right now, but I can see what the
> Mono Windows installer installs.  Mono only installs IBM.Data.DB2.dll for
> the 1.0 profile.  The assembly is not built for the 2.0 profile.
> 
> I suggest using System.Data.Odbc instead.  Novell does maintain
> System.Data.Odbc, and IBM does have an ODBC driver for DB2 on Linux.
> 
> --- On Thu, 2/12/09, Carlos Ruiz Diaz  wrote:
> 
>> From: Carlos Ruiz Diaz 
>> Subject: Re: [Mono-dev] IBM.Data.DB2.DB2Exception: Unable to allocate
>> statement handle
>> To: "Bartolomeo Nicolotti" 
>> Cc: mono-devel-list@lists.ximian.com
>> Date: Thursday, February 12, 2009, 10:46 AM
>> After failing trying to connect with the native driver I
>> switched to
>> unixODBC and it works fine for me. It is stable and I
>> currently have a large
>> program using ODBC as its connector.
>> I use openSuse as my major OS. I installed the db2 express
>> C but I was
>> unable to find the required library to make IBM.DB2 dll to
>> work. Bad for me.
>> 
>> 
>> 
>> 
>> On Thu, Feb 12, 2009 at 4:20 AM, Bartolomeo Nicolotti
>> wrote:
>> 
>> >
>> > I'd like to use the webservice "As is"
>> so that we can switch easyly...
>> >
>> > if I won't be able to do it with IBM.Data.DB2 in a
>> few days I'll consider
>> > using other way to connect.
>> >
>> > Do you know if with these providers you can connecto
>> to AS/400?
>> >
>> > Many thanks
>> >
>> > Best regards
>> >
>> >
>> >
>> > Bartolomeo Nicolotti wrote:
>> > >
>> > > Da:   Daniel Morgan 
>> > >
>> > > Have you considered using ODBC provider instead?
>> > >
>> > > System.Data.Odbc namespace is included in
>> System.Data assembly.
>> > >
>> > > You can use iodbc or unixodbc on linux. 
>> There's commercial odbc
>> > solutions
>> > > for linux too.
>> > >
>> > > http://mono-project.com/ODBC
>> > >
>> > > http://www.unixodbc.com/doc/db2.html
>> > >
>> > > Novell maintains System.Data.Odbc; however, I do
>> not think anyone is
>> > > maintaining IBM.Data.DB2 in Mono.
>> > >
>> > >
>> > > --- On Wed, 2/11/09, Bartolomeo Nicolotti
>>  wrote:
>> > >
>> > >
>> > >
>> > > Bartolomeo Nicolotti wrote:
>> > >>
>> > >> IBM.Data.DB2.DB2Exception: Unable to allocate
>> statement handle
>> > >>
>> > >> by Bartolomeo Nicolotti :: Rate this Message:
>> > >>
>> > >> Reply | Reply to Author | View Threaded |
>> Show Only this Message
>> > >> Hello,
>> > >>
>> > >> I've installed mono, and xsp (not yet
>> mod_mono) on ubuntu following the
>> > >> instruction here:
>> > >>
>> > >>
>> http://ubuntuforums.org/showthread.php?t=803743
>> > >>
>> > >> in view of using mod_mono together with php
>> on ubuntu server 8.04, to
>> > >> migrate a web service that access a db2/as400
>> database.
>> > >>
>> > >> I've also installed db2exc from ubuntu
>> repository as said here:
>> > >>
>> > >> http://www.ubuntu.com/partners/ibm/db2
>> > >>
>> > >> I can compile a test program that does a
>> query to the db:
>> > >>
>> > >> 
>> http://www.nabble.com/file/p21953488/helloDB2.cs helloDB2.cs
>> > >>
>> > >> s...@lxpc54:~/src/test$ gmcs
>> -r:/usr/lib/mono/1.0/IBM.Data.DB2.dll
>> > >> -r:/usr/lib/mono/2.0/System.Data.dll
>> helloDB2.cs
>> > >>
>> > >> but when I execute it:
>> > >>
>> > >> s...@lxpc54:~/src/test$ sudo
>> MONO_LOG_LEVEL=debug mono helloDB2.exe
>> > bart
>> > >>
>> > >> 
>> > >>
>> > >> Mono-INFO: Assembly Ref addref System.Data
>> 0x8362e10 -> System.Xml
>> > >> 0x83719d8: 2
>> > >>
>> > >> Hello, bart
>> > >> Mono-INFO: DllImport attempting to load:
>> 'libdb2'.
>> > >> Mono-INFO: DllImport loading location:
>> 'libdb2.so'.
>> > >> Mono-INFO: Searching for
>> 'SQLAllocHandle'.
>> > >> Mono-INFO: Probing 'SQLAllocHandle'.
>> > >> Mono-INFO: Found as 'SQLAllocHandle'.
>> > >> Mono-INFO: DllImport attempting to load:
>> 'libdb2'.
>> > >> Mono-INFO: DllImport loading location:
>> 'libdb2.so'.
>> > >> Mono-INFO: Searching for
>> 'SQLAllocHandle'.
>> > >> Mono-INFO: Probing 'SQLAllocHandle'.
>> > >> Mono-INFO: Found as 'SQLAllocHandle'.
>> > >> Bart
>> > >> not useLibCli
>> > >> Bart
>> > >> not useLibCli
>> > >> Mono-INFO: DllImport attempting to load:
>> 'libdb2'.
>> > >> Mono-INFO: DllImport l

Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Andrés G. Aragoneses

I'm talking about bugs opened *against* the frameworks, not against
Mono, because it's not a Mono bug.

Andrés

Stifu wrote:
> Hm yeah, he gave the link to the bug report (in the message you quoted), and
> it's obvious it's not been closed by mistake. And it's not about removing
> workarounds or hacks from Mono, the hacks would be in the programs working
> around the difference between .NET and Mono. :|
> 
> 
> knocte wrote:
>>
>> Have you opened bugs on their bug tracking systems? If yes, this
>> discussion should be placed there. If not, you should open them, and
>> provide patches (maybe they didn't do it on purpose, and would be very
>> grateful of someone trying to remove workarounds/hacks from their code).
>>
>> Regards,
>>
>>  Andrés
>>
> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] RootContext.cs

2009-02-12 Thread Mudit Vaidya
I could find the AddField method in class.cs. I just put a simple 
"hello" output statement in the AddField method but that was not printed 
on the console.
Who calls the AddField method ? 




Marek Safar wrote:
> Hi,
>> I am using the following code to access the variables of class 
>> compiled by mcs but I get no output on the console.
>>
>>   
> It depends when you are accessing those fields, but they should be 
> available for most of compilation time.
>
> Look how it works in TypeContainer::AddField (FieldBase field)
>
>> ArrayList ad = new ArrayList();
>>ad.Add(tc.Fields);
>> String[] ia = (String[])ad.ToArray(typeof(String));
>> Console.WriteLine(ia[0]);
>> for (int k = 0; k < ia.Length; k++)
>>Console.WriteLine("ia.count"+ia.Length+ia.GetValue(k));
>>
>> what is the reason for tc.Fields not having any values ?
>>   
> This code does not make a sense. TypeContainer::Fields returns a 
> collection and you are adding this collection into another collection 
> and then expecting to get string values, isn't that strange?
>
> Marek
>
>> Marek Safar wrote:
>>  
>>> Hi,
>>>
 I am trying to find out what variables were contained in the c# 
 file parsed by mcs. I am looking in RootContext.cs where the whole 
 structure is created but I am unable to access the variables of the 
 class.
 Any help appreciated.

 
>>> I don't know what information you need but type fields are stored in 
>>> TypeContainer::Fields
>>>
>>> Marek
>>>
>>> 
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>>   
>
>
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] IBM.Data.DB2.DB2Exception: Unable to allocate statement handle

2009-02-12 Thread Daniel Morgan
IBM does not provide an IBM.Data.DB2.dll assembly for Linux.  IBM only provides 
IBM.Data.DB2.dll for Windows.  This goes the same with other proprietary 
database management systems out there, such as, Oracle and Sybase.  These 
companies only support Microsoft .net framework - they do not even acknowledge 
Mono.

Mono provides a homemade IBM.Data.DB2.dll assembly, but it is not maintained.

I cannot see what is available on Linux right now, but I can see what the Mono 
Windows installer installs.  Mono only installs IBM.Data.DB2.dll for the 1.0 
profile.  The assembly is not built for the 2.0 profile.

I suggest using System.Data.Odbc instead.  Novell does maintain 
System.Data.Odbc, and IBM does have an ODBC driver for DB2 on Linux.

--- On Thu, 2/12/09, Carlos Ruiz Diaz  wrote:

> From: Carlos Ruiz Diaz 
> Subject: Re: [Mono-dev] IBM.Data.DB2.DB2Exception: Unable to allocate 
> statement handle
> To: "Bartolomeo Nicolotti" 
> Cc: mono-devel-list@lists.ximian.com
> Date: Thursday, February 12, 2009, 10:46 AM
> After failing trying to connect with the native driver I
> switched to
> unixODBC and it works fine for me. It is stable and I
> currently have a large
> program using ODBC as its connector.
> I use openSuse as my major OS. I installed the db2 express
> C but I was
> unable to find the required library to make IBM.DB2 dll to
> work. Bad for me.
> 
> 
> 
> 
> On Thu, Feb 12, 2009 at 4:20 AM, Bartolomeo Nicolotti
> wrote:
> 
> >
> > I'd like to use the webservice "As is"
> so that we can switch easyly...
> >
> > if I won't be able to do it with IBM.Data.DB2 in a
> few days I'll consider
> > using other way to connect.
> >
> > Do you know if with these providers you can connecto
> to AS/400?
> >
> > Many thanks
> >
> > Best regards
> >
> >
> >
> > Bartolomeo Nicolotti wrote:
> > >
> > > Da:   Daniel Morgan 
> > >
> > > Have you considered using ODBC provider instead?
> > >
> > > System.Data.Odbc namespace is included in
> System.Data assembly.
> > >
> > > You can use iodbc or unixodbc on linux. 
> There's commercial odbc
> > solutions
> > > for linux too.
> > >
> > > http://mono-project.com/ODBC
> > >
> > > http://www.unixodbc.com/doc/db2.html
> > >
> > > Novell maintains System.Data.Odbc; however, I do
> not think anyone is
> > > maintaining IBM.Data.DB2 in Mono.
> > >
> > >
> > > --- On Wed, 2/11/09, Bartolomeo Nicolotti
>  wrote:
> > >
> > >
> > >
> > > Bartolomeo Nicolotti wrote:
> > >>
> > >> IBM.Data.DB2.DB2Exception: Unable to allocate
> statement handle
> > >>
> > >> by Bartolomeo Nicolotti :: Rate this Message:
> > >>
> > >> Reply | Reply to Author | View Threaded |
> Show Only this Message
> > >> Hello,
> > >>
> > >> I've installed mono, and xsp (not yet
> mod_mono) on ubuntu following the
> > >> instruction here:
> > >>
> > >>
> http://ubuntuforums.org/showthread.php?t=803743
> > >>
> > >> in view of using mod_mono together with php
> on ubuntu server 8.04, to
> > >> migrate a web service that access a db2/as400
> database.
> > >>
> > >> I've also installed db2exc from ubuntu
> repository as said here:
> > >>
> > >> http://www.ubuntu.com/partners/ibm/db2
> > >>
> > >> I can compile a test program that does a
> query to the db:
> > >>
> > >> 
> http://www.nabble.com/file/p21953488/helloDB2.cs helloDB2.cs
> > >>
> > >> s...@lxpc54:~/src/test$ gmcs
> -r:/usr/lib/mono/1.0/IBM.Data.DB2.dll
> > >> -r:/usr/lib/mono/2.0/System.Data.dll
> helloDB2.cs
> > >>
> > >> but when I execute it:
> > >>
> > >> s...@lxpc54:~/src/test$ sudo
> MONO_LOG_LEVEL=debug mono helloDB2.exe
> > bart
> > >>
> > >> 
> > >>
> > >> Mono-INFO: Assembly Ref addref System.Data
> 0x8362e10 -> System.Xml
> > >> 0x83719d8: 2
> > >>
> > >> Hello, bart
> > >> Mono-INFO: DllImport attempting to load:
> 'libdb2'.
> > >> Mono-INFO: DllImport loading location:
> 'libdb2.so'.
> > >> Mono-INFO: Searching for
> 'SQLAllocHandle'.
> > >> Mono-INFO: Probing 'SQLAllocHandle'.
> > >> Mono-INFO: Found as 'SQLAllocHandle'.
> > >> Mono-INFO: DllImport attempting to load:
> 'libdb2'.
> > >> Mono-INFO: DllImport loading location:
> 'libdb2.so'.
> > >> Mono-INFO: Searching for
> 'SQLAllocHandle'.
> > >> Mono-INFO: Probing 'SQLAllocHandle'.
> > >> Mono-INFO: Found as 'SQLAllocHandle'.
> > >> Bart
> > >> not useLibCli
> > >> Bart
> > >> not useLibCli
> > >> Mono-INFO: DllImport attempting to load:
> 'libdb2'.
> > >> Mono-INFO: DllImport loading location:
> 'libdb2.so'.
> > >> Mono-INFO: Searching for
> 'SQLDriverConnectW'.
> > >> Mono-INFO: Probing
> 'SQLDriverConnectWW'.
> > >> Mono-INFO: Probing
> 'SQLDriverConnectWW'.
> > >> Mono-INFO: Probing
> 'SQLDriverConnectW'.
> > >> Mono-INFO: Found as
> 'SQLDriverConnectW'.
> > >> Mono-INFO: DllImport attempting to load:
> 'libdb2'.
> > >> Mono-INFO: DllImport loading location:
> 'libdb2.so'.
> > >> Mono-INFO: Searching for
> 'SQLDriverConnectW'.
> > >> Mono-INFO: Probing
> 'SQLDriverConnectWW'.
> > >> Mono-INFO: Probing
> 'SQLDriverConnectWW'.
> > >> Mono-INFO: Probing
> 'SQLDriverConnectW'.
> > >> Mon

Re: [Mono-dev] Qt anyone?

2009-02-12 Thread Arno Rehn
On Wednesday 11 February 2009 23:12:52 you wrote:
> Hi Arno,
>
> I think Qyoto is a really great initiative and a really strong point to
> make Mono shine.
>
> But I wonder if you have plans (and resources) to:
>
> - Relaunch a website with information/tutorials/downloads. It doesn't
> matter how good Qyoto is if no one can easily find it.
We will definitely put up stuff on techbase.kde.org, but I don't know if we'll 
relaunch a full blown website. Maybe something on sourceforge, we'll see.

> - Publish builds on the different OSs. IMHO what makes Qyoto rock is
> being able to create native GUIs for Solaris/Linux/Windows/Mac with a
> single codebase and minor tweaks. If we only have Linux, then sticking
> to WinForms or GTK# is still better, if only Mac I guess monoobjc is the
> right solution, and so on.
Yes, we'll do that once we have time to build it on windows and os x.

> I think monoobjc is the perfect example: they've a solid website, full
> of samples, which gives a very good feeling when you enter it. You
> immediately think "hey, this is a solid solution".
>
> Regards,
>
> pablo
>
> Arno Rehn escribió:
> > On Linux it's pretty straight forward. Download a recent kde-bindings
> > tarball and extract it somewhere. Build it as every other KDE module with
> > cmake. Create a build directory, do "cd build-dir; ccmake src-dir".
> > Disable the stuff you don't want/don't need, like Soprano or Nepomuk
> > bindings. Then just "make; make install" as usual.
> > We haven't tried building on Solaris yet. On OS X someone got it working,
> > but there seem to be issues with header files not being correctly found.
> > You might have to play a bit to get it working there.
> >
> > On Friday 06 February 2009 20:36:29 pablosantosl...@terra.es wrote:
> >> are there tutorials to build on Mac/Linux/Solaris?
> >>
> >> Daniel Morgan escribió:
> >>> Qyoto / Kimono Project
> >>> http://ekarchive.elikirk.com/david/qyoto/
> >>>
> >>> Here is a different project with a similar goal of creating CLR
> >>> bindings for qt - qt4dotnet http://code.google.com/p/qt4dotnet/
> >>>
> >>> If you google, you might be able to find ancient C# bindings to qt
> >>> called qt# - but it has been abandoned.
> >>>
> >>> On a different subject, I wonder if someone would dare replace the glib
> >>> and other dependencies in mono with qt.  Then create clr bindings to
> >>> qt. With these bindings, you could re-write mono using the clr bindings
> >>> to qt.  Now, that would be interesting.
> >>>
> >>> Please note, I am not saying anything is wrong with glib and its
> >>> dependencies, I just think it would be neat to re-write mono using qt
> >>> instead of glib.  This way, you could write mono in C++ and have its
> >>> internals OOP.
> >>>
> >>> Changing subject again, I think its good that there are many GUIs you
> >>> can choose to use on top of mono: qyoto/kimono, asp.net, gtk#, swf,
> >>> etc...
> >>>
> >>> --- On Fri, 2/6/09, pablosantosl...@terra.es 
> >
> > wrote:
>  From: pablosantosl...@terra.es 
>  Subject: Re: [Mono-dev] Qt anyone?
>  To: "SE1" 
>  Cc: mono-devel-list@lists.ximian.com
>  Date: Friday, February 6, 2009, 6:51 AM
>  Ok, great. The problem is exactly what you mentioned: with
>  no website
>  and no info... there's no way developers can get
>  interested on it.
> 
>  SE1 escribió:
> > pablosantosl...@terra.es wrote:
> >>   Hi there,
> >>
> >>   After reading:
> 
>  http://tech.slashdot.org/article.pl?sid=09/02/05/2138228,
> 
> >>   and after the announce of the LGPL Qt release, I
> 
>  think it's quite clear
> 
> >>   there's a lot to gain from a *solid* Qt
> 
>  binding for Mono.
> 
> >>   I mean, the Qyoto doesn't look like an alive
> 
>  project anymore (not at
> 
> >>   least a couple of weeks ago) and if I remember
> 
>  correctly it is
> 
> >>   restricted to Linux (true cross-platform is
> 
>  needed).
> 
> >>   And... apps! I'd be eager to port plastic
> 
>  GUI to Qt/C#, and maybe we
> 
> >>   could start from the Qyoto stuff, but not sure
> 
>  about the status.
> 
> >>   pablo
> >>
> >> ___
> >> Mono-devel-list mailing list
> >> Mono-devel-list@lists.ximian.com
> 
>  http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 
> > Someone brought the same questions up recently. If you
> 
>  read the thread at
> 
>  http://www.nabble.com/Qyoto-project-dead---ts21427284.html
>  you'll see that
> 
> > although the Qyoto website is down, the project is
> 
>  still very much alive. It
> 
> > also works cross-platform, just lacks the building
> 
>  support at the moment.
> 
> > Ilmar
> 
>  ___
>  Mono-devel-list mailing list
>  Mono-devel-list@l

Re: [Mono-dev] [PATCH] Marshaling bools native->managed

2009-02-12 Thread Zoltan Varga
Hi,

  Looks good.

  Zoltan

On Thu, Feb 12, 2009 at 5:13 PM, Bill Holmes  wrote:
> Hi,
>
> After discussing this patch with Zoltan last night on IRC we decided
> to make two variations of this patch.  One for the trunk and one for
> the 2.4 branch.  The reasoning being that we should not change the
> default behavior of marshaling bools from native to managed this close
> to the branch release.  For the trunk patch we will now marshal bools
> as 32-bit integers by default and for the branch we will continue to
> marshal bools as bytes as it has been done in the past.  In both
> patches if a MarshalAs attribute is specified it will now be
> processed.
>
> This patch does affect all calls from native to managed that include
> bool arguments and is not exclusive to COM.
>
> -bill
>
> trunk:
> 2009-02-13  Bill Holmes  
>
>        * object-internals.h : Fixing a typo in the
>          MonoReflectionComVisibleAttribute struct.
>
>        * marshal.c (cominterop_com_visible): Check the implemented
>          interfaces for ComImport.
>
>        * marshal.c (cominterop_get_native_wrapper_adjusted): For COM calls
>          assume that bools should be treated as VARIANTBOOLs.
>
>        * marshal.c (emit_marshal_boolean): Adding cases for
>          MARSHAL_ACTION_MANAGED_CONV_IN and MARSHAL_ACTION_MANAGED_CONV_OUT.
>
>        * marshal.c (mono_marshal_emit_managed_wrapper): Adding calls to
>          emit_marshal MARSHAL_ACTION_MANAGED_CONV_IN and OUT for bools.
>
>        * marshal.c (cominterop_get_ccw): For COM calls assume that bools
>          should be treated as VARIANTBOOLs.
>
>        Code is contributed under MIT/X11 license.
>
> branch:
> 2009-02-13  Bill Holmes  
>
>        Backport of r(fill in later).  This is a safer variant of the
>          trunk for the 2.4 branch. The default in emit_marshal_boolean
>          for this version is I1.
>
>        * object-internals.h : Fixing a typo in the
>          MonoReflectionComVisibleAttribute struct.
>
>        * marshal.c (cominterop_com_visible): Check the implemented
>          interfaces for ComImport.
>
>        * marshal.c (cominterop_get_native_wrapper_adjusted): For COM calls
>          assume that bools should be treated as VARIANTBOOLs.
>
>        * marshal.c (emit_marshal_boolean): Adding cases for
>          MARSHAL_ACTION_MANAGED_CONV_IN and MARSHAL_ACTION_MANAGED_CONV_OUT.
>
>        * marshal.c (mono_marshal_emit_managed_wrapper): Adding calls to
>          emit_marshal MARSHAL_ACTION_MANAGED_CONV_IN and OUT for bools.
>
>        * marshal.c (cominterop_get_ccw): For COM calls assume that bools
>          should be treated as VARIANTBOOLs.
>
>        Code is contributed under MIT/X11 license.
>
> On Wed, Feb 11, 2009 at 7:29 PM, Zoltan Varga  wrote:
>> Hi,
>>
>>  This looks ok, I'm just concerned that the new code will be run even
>> in non-com situations,
>> and it might cause problems, like it uses CEE_LDIND_I4 to load a bool value.
>>
>>                   Zoltan
>>
>> 2009/2/12 Bill Holmes :
>>> Hi,
>>>
>>> The attached patch fixes some problems we are seeing with marshaling
>>> bools and IDspatch types in Native code.
>>>
>>> I can split the patch separating the bool changes form the dispatch
>>> changes if needed.  I would like to apply this to the 2.4 branch as
>>> well.
>>>
>>> -bill
>>>
>>> 2009-02-12  Bill Holmes  
>>>
>>>        * object-internals.h : Fixing a typo in the
>>>          MonoReflectionComVisibleAttribute struct.
>>>
>>>        * marshal.c (cominterop_com_visible): Check the implemented
>>>          interfaces for ComImport.
>>>
>>>        * marshal.c (cominterop_get_native_wrapper_adjusted): For COM calls
>>>          assume that bools should be treated as VARIANTBOOLs.
>>>
>>>        * marshal.c (emit_marshal_boolean): Adding cases for
>>>          MARSHAL_ACTION_MANAGED_CONV_IN and MARSHAL_ACTION_MANAGED_CONV_OUT.
>>>
>>>        * marshal.c (mono_marshal_emit_managed_wrapper): Adding calls to
>>>          emit_marshal MARSHAL_ACTION_MANAGED_CONV_IN and OUT for bools.
>>>
>>>        * marshal.c (cominterop_get_ccw): For COM calls assume that bools
>>>          should be treated as VARIANTBOOLs.
>>>
>>>        Code is contributed under MIT/X11 license.
>>>
>>> ___
>>> Mono-devel-list mailing list
>>> Mono-devel-list@lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>>
>>>
>>
>
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono and IBM

2009-02-12 Thread Bill Seurer
Carlos Ruiz Diaz  wrote on 02/12/2009 08:19:15
AM:
>
> I was talking about running mono in a  non-x86 platform. I'll have
> performance issues for sure but I don't know if it will be
> catastrophic or ignorable.

> On Wed, Feb 11, 2009 at 6:24 PM, Bill Seurer  wrote:
> mono-devel-list-boun...@lists.ximian.com wrote on 01/31/2009 07:43:09 AM:
>
> > What do you guys think about performance penalization installing the
> > Linux OS in a specially formatted partition inside the AS?

> What sort of performance penalty are you worried about?  One on the
overall
> system on one on the specific partition?  I believe you can divvy up
> partitions using just fractions of CPUs now.
> --
> Bill Seurer

It was a couple of years ago but it ran well when we tried it.  We had a
multi-CPU system with two partitions (Linux and iSeries) and was running
Mono on both.

We didn't get to performance testing, though, so I can't say for sure.
--
Bill Seurer

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] [PATCH] Marshaling bools native->managed

2009-02-12 Thread Bill Holmes
Hi,

After discussing this patch with Zoltan last night on IRC we decided
to make two variations of this patch.  One for the trunk and one for
the 2.4 branch.  The reasoning being that we should not change the
default behavior of marshaling bools from native to managed this close
to the branch release.  For the trunk patch we will now marshal bools
as 32-bit integers by default and for the branch we will continue to
marshal bools as bytes as it has been done in the past.  In both
patches if a MarshalAs attribute is specified it will now be
processed.

This patch does affect all calls from native to managed that include
bool arguments and is not exclusive to COM.

-bill

trunk:
2009-02-13  Bill Holmes  

* object-internals.h : Fixing a typo in the
  MonoReflectionComVisibleAttribute struct.

* marshal.c (cominterop_com_visible): Check the implemented
  interfaces for ComImport.

* marshal.c (cominterop_get_native_wrapper_adjusted): For COM calls
  assume that bools should be treated as VARIANTBOOLs.

* marshal.c (emit_marshal_boolean): Adding cases for
  MARSHAL_ACTION_MANAGED_CONV_IN and MARSHAL_ACTION_MANAGED_CONV_OUT.

* marshal.c (mono_marshal_emit_managed_wrapper): Adding calls to
  emit_marshal MARSHAL_ACTION_MANAGED_CONV_IN and OUT for bools.

* marshal.c (cominterop_get_ccw): For COM calls assume that bools
  should be treated as VARIANTBOOLs.

Code is contributed under MIT/X11 license.

branch:
2009-02-13  Bill Holmes  

Backport of r(fill in later).  This is a safer variant of the
  trunk for the 2.4 branch. The default in emit_marshal_boolean
  for this version is I1.

* object-internals.h : Fixing a typo in the
  MonoReflectionComVisibleAttribute struct.

* marshal.c (cominterop_com_visible): Check the implemented
  interfaces for ComImport.

* marshal.c (cominterop_get_native_wrapper_adjusted): For COM calls
  assume that bools should be treated as VARIANTBOOLs.

* marshal.c (emit_marshal_boolean): Adding cases for
  MARSHAL_ACTION_MANAGED_CONV_IN and MARSHAL_ACTION_MANAGED_CONV_OUT.

* marshal.c (mono_marshal_emit_managed_wrapper): Adding calls to
  emit_marshal MARSHAL_ACTION_MANAGED_CONV_IN and OUT for bools.

* marshal.c (cominterop_get_ccw): For COM calls assume that bools
  should be treated as VARIANTBOOLs.

Code is contributed under MIT/X11 license.

On Wed, Feb 11, 2009 at 7:29 PM, Zoltan Varga  wrote:
> Hi,
>
>  This looks ok, I'm just concerned that the new code will be run even
> in non-com situations,
> and it might cause problems, like it uses CEE_LDIND_I4 to load a bool value.
>
>   Zoltan
>
> 2009/2/12 Bill Holmes :
>> Hi,
>>
>> The attached patch fixes some problems we are seeing with marshaling
>> bools and IDspatch types in Native code.
>>
>> I can split the patch separating the bool changes form the dispatch
>> changes if needed.  I would like to apply this to the 2.4 branch as
>> well.
>>
>> -bill
>>
>> 2009-02-12  Bill Holmes  
>>
>>* object-internals.h : Fixing a typo in the
>>  MonoReflectionComVisibleAttribute struct.
>>
>>* marshal.c (cominterop_com_visible): Check the implemented
>>  interfaces for ComImport.
>>
>>* marshal.c (cominterop_get_native_wrapper_adjusted): For COM calls
>>  assume that bools should be treated as VARIANTBOOLs.
>>
>>* marshal.c (emit_marshal_boolean): Adding cases for
>>  MARSHAL_ACTION_MANAGED_CONV_IN and MARSHAL_ACTION_MANAGED_CONV_OUT.
>>
>>* marshal.c (mono_marshal_emit_managed_wrapper): Adding calls to
>>  emit_marshal MARSHAL_ACTION_MANAGED_CONV_IN and OUT for bools.
>>
>>* marshal.c (cominterop_get_ccw): For COM calls assume that bools
>>  should be treated as VARIANTBOOLs.
>>
>>Code is contributed under MIT/X11 license.
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>>
>
Index: mono/metadata/ChangeLog
===
--- mono/metadata/ChangeLog	(revision 126719)
+++ mono/metadata/ChangeLog	(working copy)
@@ -1,3 +1,25 @@
+2009-02-13  Bill Holmes  
+
+	* object-internals.h : Fixing a typo in the 
+	  MonoReflectionComVisibleAttribute struct.
+
+	* marshal.c (cominterop_com_visible): Check the implemented 
+	  interfaces for ComImport.
+
+	* marshal.c (cominterop_get_native_wrapper_adjusted): For COM calls 
+	  assume that bools should be treated as VARIANTBOOLs.
+
+	* marshal.c (emit_marshal_boolean): Adding cases for 
+	  MARSHAL_ACTION_MANAGED_CONV_IN and MARSHAL_ACTION_MANAGED_CONV_OUT.
+
+	* marshal.c (mono_marshal_emit_managed_wrapper): Adding calls to 
+	  emit_marshal MARSHAL_ACTION_MANAGE

Re: [Mono-dev] IBM.Data.DB2.DB2Exception: Unable to allocate statement handle

2009-02-12 Thread Bartolomeo Nicolotti

Hi,

I think I've the same problem:

s...@lxpc54:~/src/test$ gmcs -r:/usr/lib/mono/1.0/IBM.Data.DB2.dll
-r:/usr/lib/mono/2.0/System.Data.dll helloDB2.cs
s...@lxpc54:~/src/test$ mono helloDB2.exe
You must tell me your name!
s...@lxpc54:~/src/test$ mono helloDB2.exe bart
Hello, bart

Unhandled Exception: System.DllNotFoundException: db2_36
  at (wrapper managed-to-native)
IBM.Data.DB2.DB2CLIWrapper/StaticWrapper36:SQLAllocHandle
(int16,intptr,intptr&)
  at IBM.Data.DB2.DB2CLIWrapper.SQLAllocHandle (Int16 handleType, IntPtr
inputHandle, System.IntPtr& outputHandle) [0x0]
  at IBM.Data.DB2.DB2CLIWrapper.Initialize (System.IntPtr& pEnvHandle)
[0x0]
  at IBM.Data.DB2.DB2Environment..ctor () [0x0]
  at IBM.Data.DB2.DB2Environment.get_Instance () [0x0]
  at IBM.Data.DB2.DB2ConnectionPool.FindConnectionPool (System.String
connectionString) [0x0]
  at IBM.Data.DB2.DB2ConnectionSettings.GetConnectionSettings (System.String
connectionString) [0x0]
  at IBM.Data.DB2.DB2Connection.SetConnectionString (System.String
connectionString) [0x0]
  at IBM.Data.DB2.DB2Connection..ctor (System.String conString) [0x0]
  at (wrapper remoting-invoke-with-check) IBM.Data.DB2.DB2Connection:.ctor
(string)
  at HelloWorldDb2.Main (System.String[] args) [0x0]


Then I've tried to edit /etc/mono/config:

sudo vim /etc/mono/config




adding this line (not target="libdb2.so", because the mono loader adds the
.so extension itself):



and it Loaded the right library, as you can see from below, but then I
realized that the ADO.net namespace we use is:

IBM.Data.DB2.iSeries

so we have to use unixODBC, because this namespace is not implemented in
Mono, is it?

For the connection and the data could you please tell me which namespace are
you using in you application?

Many thanks

Best regards



castord wrote:
> 
> After failing trying to connect with the native driver I switched to
> unixODBC and it works fine for me. It is stable and I currently have a
> large
> program using ODBC as its connector.
> I use openSuse as my major OS. I installed the db2 express C but I was
> unable to find the required library to make IBM.DB2 dll to work. Bad for
> me.
> 
> 
> 
> 
> On Thu, Feb 12, 2009 at 4:20 AM, Bartolomeo Nicolotti
> wrote:
> 
>>
>> I'd like to use the webservice "As is" so that we can switch easyly...
>>
>> if I won't be able to do it with IBM.Data.DB2 in a few days I'll consider
>> using other way to connect.
>>
>> Do you know if with these providers you can connecto to AS/400?
>>
>> Many thanks
>>
>> Best regards
>>
>>
>>
>> Bartolomeo Nicolotti wrote:
>> >
>> > Da:   Daniel Morgan 
>> >
>> > Have you considered using ODBC provider instead?
>> >
>> > System.Data.Odbc namespace is included in System.Data assembly.
>> >
>> > You can use iodbc or unixodbc on linux.  There's commercial odbc
>> solutions
>> > for linux too.
>> >
>> > http://mono-project.com/ODBC
>> >
>> > http://www.unixodbc.com/doc/db2.html
>> >
>> > Novell maintains System.Data.Odbc; however, I do not think anyone is
>> > maintaining IBM.Data.DB2 in Mono.
>> >
>> >
>> > --- On Wed, 2/11/09, Bartolomeo Nicolotti  wrote:
>> >
>> >
>> >
>> > Bartolomeo Nicolotti wrote:
>> >>
>> >> IBM.Data.DB2.DB2Exception: Unable to allocate statement handle
>> >>
>> >> by Bartolomeo Nicolotti :: Rate this Message:
>> >>
>> >> Reply | Reply to Author | View Threaded | Show Only this Message
>> >> Hello,
>> >>
>> >> I've installed mono, and xsp (not yet mod_mono) on ubuntu following
>> the
>> >> instruction here:
>> >>
>> >> http://ubuntuforums.org/showthread.php?t=803743
>> >>
>> >> in view of using mod_mono together with php on ubuntu server 8.04, to
>> >> migrate a web service that access a db2/as400 database.
>> >>
>> >> I've also installed db2exc from ubuntu repository as said here:
>> >>
>> >> http://www.ubuntu.com/partners/ibm/db2
>> >>
>> >> I can compile a test program that does a query to the db:
>> >>
>> >>  http://www.nabble.com/file/p21953488/helloDB2.cs helloDB2.cs
>> >>
>> >> s...@lxpc54:~/src/test$ gmcs -r:/usr/lib/mono/1.0/IBM.Data.DB2.dll
>> >> -r:/usr/lib/mono/2.0/System.Data.dll helloDB2.cs
>> >>
>> >> but when I execute it:
>> >>
>> >> s...@lxpc54:~/src/test$ sudo MONO_LOG_LEVEL=debug mono helloDB2.exe
>> bart
>> >>
>> >> 
>> >>
>> >> Mono-INFO: Assembly Ref addref System.Data 0x8362e10 -> System.Xml
>> >> 0x83719d8: 2
>> >>
>> >> Hello, bart
>> >> Mono-INFO: DllImport attempting to load: 'libdb2'.
>> >> Mono-INFO: DllImport loading location: 'libdb2.so'.
>> >> Mono-INFO: Searching for 'SQLAllocHandle'.
>> >> Mono-INFO: Probing 'SQLAllocHandle'.
>> >> Mono-INFO: Found as 'SQLAllocHandle'.
>> >> Mono-INFO: DllImport attempting to load: 'libdb2'.
>> >> Mono-INFO: DllImport loading location: 'libdb2.so'.
>> >> Mono-INFO: Searching for 'SQLAllocHandle'.
>> >> Mono-INFO: Probing 'SQLAllocHandle'.
>> >> Mono-INFO: Found as 'SQLAllocHandle'.
>> >> Bart
>> >> not useLibCli
>> >> Bart
>> >> not useLibCli
>> >> Mono-IN

Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Stifu

Hm yeah, he gave the link to the bug report (in the message you quoted), and
it's obvious it's not been closed by mistake. And it's not about removing
workarounds or hacks from Mono, the hacks would be in the programs working
around the difference between .NET and Mono. :|


knocte wrote:
> 
> 
> Have you opened bugs on their bug tracking systems? If yes, this
> discussion should be placed there. If not, you should open them, and
> provide patches (maybe they didn't do it on purpose, and would be very
> grateful of someone trying to remove workarounds/hacks from their code).
> 
> Regards,
> 
>   Andrés
> 

-- 
View this message in context: 
http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21978879.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] IBM.Data.DB2.DB2Exception: Unable to allocate statement handle

2009-02-12 Thread Carlos Ruiz Diaz
After failing trying to connect with the native driver I switched to
unixODBC and it works fine for me. It is stable and I currently have a large
program using ODBC as its connector.
I use openSuse as my major OS. I installed the db2 express C but I was
unable to find the required library to make IBM.DB2 dll to work. Bad for me.




On Thu, Feb 12, 2009 at 4:20 AM, Bartolomeo Nicolotti
wrote:

>
> I'd like to use the webservice "As is" so that we can switch easyly...
>
> if I won't be able to do it with IBM.Data.DB2 in a few days I'll consider
> using other way to connect.
>
> Do you know if with these providers you can connecto to AS/400?
>
> Many thanks
>
> Best regards
>
>
>
> Bartolomeo Nicolotti wrote:
> >
> > Da:   Daniel Morgan 
> >
> > Have you considered using ODBC provider instead?
> >
> > System.Data.Odbc namespace is included in System.Data assembly.
> >
> > You can use iodbc or unixodbc on linux.  There's commercial odbc
> solutions
> > for linux too.
> >
> > http://mono-project.com/ODBC
> >
> > http://www.unixodbc.com/doc/db2.html
> >
> > Novell maintains System.Data.Odbc; however, I do not think anyone is
> > maintaining IBM.Data.DB2 in Mono.
> >
> >
> > --- On Wed, 2/11/09, Bartolomeo Nicolotti  wrote:
> >
> >
> >
> > Bartolomeo Nicolotti wrote:
> >>
> >> IBM.Data.DB2.DB2Exception: Unable to allocate statement handle
> >>
> >> by Bartolomeo Nicolotti :: Rate this Message:
> >>
> >> Reply | Reply to Author | View Threaded | Show Only this Message
> >> Hello,
> >>
> >> I've installed mono, and xsp (not yet mod_mono) on ubuntu following the
> >> instruction here:
> >>
> >> http://ubuntuforums.org/showthread.php?t=803743
> >>
> >> in view of using mod_mono together with php on ubuntu server 8.04, to
> >> migrate a web service that access a db2/as400 database.
> >>
> >> I've also installed db2exc from ubuntu repository as said here:
> >>
> >> http://www.ubuntu.com/partners/ibm/db2
> >>
> >> I can compile a test program that does a query to the db:
> >>
> >>  http://www.nabble.com/file/p21953488/helloDB2.cs helloDB2.cs
> >>
> >> s...@lxpc54:~/src/test$ gmcs -r:/usr/lib/mono/1.0/IBM.Data.DB2.dll
> >> -r:/usr/lib/mono/2.0/System.Data.dll helloDB2.cs
> >>
> >> but when I execute it:
> >>
> >> s...@lxpc54:~/src/test$ sudo MONO_LOG_LEVEL=debug mono helloDB2.exe
> bart
> >>
> >> 
> >>
> >> Mono-INFO: Assembly Ref addref System.Data 0x8362e10 -> System.Xml
> >> 0x83719d8: 2
> >>
> >> Hello, bart
> >> Mono-INFO: DllImport attempting to load: 'libdb2'.
> >> Mono-INFO: DllImport loading location: 'libdb2.so'.
> >> Mono-INFO: Searching for 'SQLAllocHandle'.
> >> Mono-INFO: Probing 'SQLAllocHandle'.
> >> Mono-INFO: Found as 'SQLAllocHandle'.
> >> Mono-INFO: DllImport attempting to load: 'libdb2'.
> >> Mono-INFO: DllImport loading location: 'libdb2.so'.
> >> Mono-INFO: Searching for 'SQLAllocHandle'.
> >> Mono-INFO: Probing 'SQLAllocHandle'.
> >> Mono-INFO: Found as 'SQLAllocHandle'.
> >> Bart
> >> not useLibCli
> >> Bart
> >> not useLibCli
> >> Mono-INFO: DllImport attempting to load: 'libdb2'.
> >> Mono-INFO: DllImport loading location: 'libdb2.so'.
> >> Mono-INFO: Searching for 'SQLDriverConnectW'.
> >> Mono-INFO: Probing 'SQLDriverConnectWW'.
> >> Mono-INFO: Probing 'SQLDriverConnectWW'.
> >> Mono-INFO: Probing 'SQLDriverConnectW'.
> >> Mono-INFO: Found as 'SQLDriverConnectW'.
> >> Mono-INFO: DllImport attempting to load: 'libdb2'.
> >> Mono-INFO: DllImport loading location: 'libdb2.so'.
> >> Mono-INFO: Searching for 'SQLDriverConnectW'.
> >> Mono-INFO: Probing 'SQLDriverConnectWW'.
> >> Mono-INFO: Probing 'SQLDriverConnectWW'.
> >> Mono-INFO: Probing 'SQLDriverConnectW'.
> >> Mono-INFO: Found as 'SQLDriverConnectW'.
> >> Mono-INFO: DllImport attempting to load: 'libdb2'.
> >> Mono-INFO: DllImport loading location: 'libdb2.so'.
> >> Mono-INFO: Searching for 'SQLGetInfoW'.
> >> Mono-INFO: Probing 'SQLGetInfoWW'.
> >> Mono-INFO: Probing 'SQLGetInfoWW'.
> >> Mono-INFO: Probing 'SQLGetInfoW'.
> >> Mono-INFO: Found as 'SQLGetInfoW'.
> >> Mono-INFO: DllImport attempting to load: 'libdb2'.
> >> Mono-INFO: DllImport loading location: 'libdb2.so'.
> >> Mono-INFO: Searching for 'SQLGetInfoW'.
> >> Mono-INFO: Probing 'SQLGetInfoWW'.
> >> Mono-INFO: Probing 'SQLGetInfoWW'.
> >> Mono-INFO: Probing 'SQLGetInfoW'.
> >> Mono-INFO: Found as 'SQLGetInfoW'.
> >> Mono-INFO: DllImport attempting to load: 'libdb2'.
> >> Mono-INFO: DllImport loading location: 'libdb2.so'.
> >> Mono-INFO: Searching for 'SQLGetDiagRec'.
> >> Mono-INFO: Probing 'SQLGetDiagRec'.
> >> Mono-INFO: Found as 'SQLGetDiagRec'.
> >> Mono-INFO: DllImport attempting to load: 'libdb2'.
> >> Mono-INFO: DllImport loading location: 'libdb2.so'.
> >> Mono-INFO: Searching for 'SQLGetDiagRec'.
> >> Mono-INFO: Probing 'SQLGetDiagRec'.
> >> Mono-INFO: Found as 'SQLGetDiagRec'.
> >> Bart
> >> not useLibCli
> >>
> >> Unhandled Exception: IBM.Data.DB2.DB2Exception: ERROR [08003] [IBM][CLI
> >> Driver] CLI0106E  Connection is closed. SQLSTATE=08003
> >> InternalExecu

Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Andrés G. Aragoneses

Have you opened bugs on their bug tracking systems? If yes, this
discussion should be placed there. If not, you should open them, and
provide patches (maybe they didn't do it on purpose, and would be very
grateful of someone trying to remove workarounds/hacks from their code).

Regards,

Andrés

Lucas Meijer wrote:
> Hey,
> 
> Our team has been busy porting some unit testing related frameworks to mono.
> porting is probably not the right word, it's mostly creating repro cases 
> of mono bugs,
> reporting them, and waiting for them to be fixed. (Which happens fast by 
> the way. Thanks!)
> 
> So far we're looking at NInject, Moq and xUnit.
> 
> There are / have been bugs in mono that prevent all of these projects 
> from running.
> Most of them are valid mono bugs, nothing special here.
> 
> In addition to real mono bugs, there's also the fact that many of these 
> frameworks, use this
> commonly used "trick":
> 
> FieldInfo remoteStackTraceString = 
> typeof(Exception).GetField("_remoteStackTraceString", 
> BindingFlags.Instance | BindingFlags.NonPublic);
> 
> This doesn't work on mono, since in mono the private field storing the 
> stacktrace is called "remote_stack_trace".
> 
> This issue has been reported before as issue 425512 ( 
> https://bugzilla.novell.com/show_bug.cgi?id=425512 )
> 
> One could argue, and the reason for the wontfix status of the issue does 
> so,  that these folks rely on undocumented internals.
> They shouldn't do it, and Mono shouldn't rename it's own private field 
> to match that of the CLR.
> 
> However, in the real world(tm),  this prevents many projects from 
> running on Mono unmodified.
> 
> I would like to argue that in this specific case, where the (percieved 
> by me, maybe incorrectly) amount of work for mono to change it's private 
> fieldname to
> match that of the CLR, is a reasonable cost for enabling this quite 
> frequently found in the wild trick of grabbing the internal stack trace 
> of an exception.
> 
> Maybe I'm underestimating the amount of work to rename the mono 
> fieldname to match the clr one. If that's the case, please consider this 
> message
> as another datapoint of three useful .net frameworks unable to run on 
> mono unmodified.
> 
> Here's a bit more info on the trick:
> 
> Here is a bit more background on the trick:
> http://www.dotnetjunkies.com/WebLog/chris.taylor/archive/2004/03/03/8353.aspx
> 
> Bye, Lucas

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] RootContext.cs

2009-02-12 Thread Marek Safar
Hi,
> I am using the following code to access the variables of class compiled 
> by mcs but I get no output on the console.
>
>   
It depends when you are accessing those fields, but they should be 
available for most of compilation time.

Look how it works in TypeContainer::AddField (FieldBase field)

> ArrayList ad = new ArrayList();
>
> ad.Add(tc.Fields);
> String[] ia = (String[])ad.ToArray(typeof(String));
> Console.WriteLine(ia[0]);
> for (int k = 0; k < ia.Length; k++)
>Console.WriteLine("ia.count"+ia.Length+ia.GetValue(k));
>
> what is the reason for tc.Fields not having any values ? 
>
>   
This code does not make a sense. TypeContainer::Fields returns a 
collection and you are adding this collection into another collection 
and then expecting to get string values, isn't that strange?

Marek

> Marek Safar wrote:
>   
>> Hi,
>> 
>>> I am trying to find out what variables were contained in the c# file 
>>> parsed by mcs. I am looking in RootContext.cs where the whole 
>>> structure is created but I am unable to access the variables of the 
>>> class.
>>> Any help appreciated.
>>>
>>>   
>>>   
>> I don't know what information you need but type fields are stored in 
>> TypeContainer::Fields
>>
>> Marek
>>
>> 
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>   

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Lucas Meijer
Hey.
> Take the reverse situation, why would Mono devs care on supporting 
> application X because some users would like to run X on Mono ?
It depends on what the mono team sees as the goal of mono.
If it is to provide a nice programming environment for linux programmers 
to make linux applications,  then no reason to change.
If it also is to make it easy for .net applications to run on linux, and 
to have windows .net developers try mono, and adopt mono as one of their 
platforms,
then it would make sense to cahnge.

> Also, all of the applications cited are open-source AND free software 
> which allow you to patch them freely.
They are all opensource, and I have submitted patches (except for xunit, 
upcomig). The reason I bring this up is not to make my life easier. I can
make all these tools work for me and move on.  I bring it up because I 
feel mono is a really great project, and I would love to make it work more
out of the box, even for programs that sometimes cross the line of what 
they "are allowed" to be doing.

You could also say that from the 3 projects I would like to use on 
mono,  100% of them didn't work because of this.
That means there are probably a lot of  other projects out there using 
this as well, that don't know about mono, and didn't receive
a patch for me to provide mono compatibility.

Anyway, I think most arguments for and against have been made, and from 
this point the mono team should just do what it
feels is right.

Bye, Lucas
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] RootContext.cs

2009-02-12 Thread Mudit Vaidya
I am using the following code to access the variables of class compiled 
by mcs but I get no output on the console.

ArrayList ad = new ArrayList();
   
ad.Add(tc.Fields);
String[] ia = (String[])ad.ToArray(typeof(String));
Console.WriteLine(ia[0]);
for (int k = 0; k < ia.Length; k++)
   Console.WriteLine("ia.count"+ia.Length+ia.GetValue(k));

what is the reason for tc.Fields not having any values ? 


Marek Safar wrote:
> Hi,
>> I am trying to find out what variables were contained in the c# file 
>> parsed by mcs. I am looking in RootContext.cs where the whole 
>> structure is created but I am unable to access the variables of the 
>> class.
>> Any help appreciated.
>>
>>   
> I don't know what information you need but type fields are stored in 
> TypeContainer::Fields
>
> Marek
>
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Stifu

About taking developer time: point taken. No matter how small the change is,
if there are 50 such demands, things get different quickly. Unless, of
course, the patch is submitted by a 3rd party, in which case the it's only
reviewing time, which in most cases should be negligible.

And although forking is possible and a good point of FOSS, I have to
reiterate that I think it's a bad idea in such a case. Forking a certain
little app to fit your needs or to do new things is usually good, but if
it's a whole framework, it's really a different thing to me. Deployment just
wouldn't work. I can't see myself telling my users "Please install my 100 KB
app, but also my own 400 MB version of the framework"... Assuming the user
is okay with that, that'd be like opening the gates of hell (big download,
possible incompatibilities with other Mono apps, or installing Mono twice,
etc... I can't imagine that).
The only way it could possibly work, I think, is if it was a slimmed down
version of the framework (as is possible easily enough, from what I read),
or a static compilation of the classes I need or something like that... and
then again, updating your own framework as new Mono versions come out may be
an annoyance, and not something you want to do, especially for a tiny change
you wanted on Mono... and your users wouldn't be able to update the Mono
version themselves without breaking your app, and so on. Just not worth it,
no matter how I look at it. I'd rather just do if(IsMono()) { DoThat(); }
and go on with life.


Jérémie LAVAL wrote:
> 
> Take the reverse situation, why would Mono devs care on supporting
> application X because some users would like to run X on Mono ?
> 
> The only difference here is that, in your case, the developer has to take
> care of one platform with minimal change involved where Mono would get ton
> of request preventing them to focus on coding real things.
> 
> Also, all of the applications cited are open-source AND free software
> which
> allow you to patch them freely. Then if the main developer is stubborn
> enough to refuse your patch, just make it available or fork the project,
> that's one of the advantage of FOSS.
> 
> --
> Jérémie Laval
> jeremie.la...@gmail.com
> http://garuma.wordpress.com
> 
> 
> On Thu, Feb 12, 2009 at 3:23 PM, Stifu  wrote:
> 
>>
>> What about developers who don't care about Mono, but some of their users
>> being interested in running their app in Mono?
>> Sure, they could contact the devs to insist on supporting Mono, but then,
>> first, the app must still be under development, which is not obviously
>> the
>> case, and second, the devs must be willing to listen and act... It'd just
>> be
>> much easier and more convenient if it just worked right away, if there is
>> no
>> downside involved.
>>
>>
>> Jérémie LAVAL wrote:
>> >
>> > There is a difference between implementing a public API used by lot of
>> > people and implementing low-level internals that 1/ you aren't supposed
>> to
>> > know in the first place, 2/ are used by 2-3 projects that could fix the
>> > bug
>> > with a two lines change if they cared about Mono.
>> >
>> > --
>> > Jérémie Laval
>> > jeremie.la...@gmail.com
>> > http://garuma.wordpress.com
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21977064.html
>> Sent from the Mono - Dev mailing list archive at Nabble.com.
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
> 
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21977704.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] System.Data.DbType adds DateTime2 and DateTimeOffset in 3.5 and OracleException derives from System.Data.Common.DbException in 2.0

2009-02-12 Thread Jay R. Wren
System.Data.DbType adds DateTime2 and DateTimeOffset in 3.5 and 
OracleException derives from System.Data.Common.DbException in 2.0


This is required to build NHibernate using mono gmcs.

This patch is built from Revision: 126355
--
Jay R. Wren 

DbType3.5andOracleException2.0.patch
Description: Binary data
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] signal.c cross-thread access

2009-02-12 Thread tim.jenks
Hi Jon,

Here's the changes you suggested. I'm now using poll() rather than
select() as discussed on Tuesday. The test reproducing multiple select()
on the same fd for the same operation that's working under poll is
included in mcs.diff.

This is contributed under MIT/X11

Cheers
-Tim

> -Original Message-
> From: Jonathan Pryor [mailto:jonpr...@vt.edu]
> Sent: 09 February 2009 14:08
> To: Tim Jenks
> Subject: RE: [Mono-dev] signal.c cross-thread access
> 
> On Mon, 2009-02-09 at 12:31 +, tim.je...@realtimeworlds.com wrote:
> > Here we can see one select is returning after the first char is sent
> to
> > the pipe (and reads 1 byte). The second char is then sent to the
> pipe,
> > but the second select() call does not unblock.
> >
> > I am assuming this is undefined behaviour when multiple threads
> select()
> > on the same fd for the same operation, although I cannot find any
> > documentation proving this.
> >
> > Having looked at epoll, this appears to be addressed.
> 
> Is there any other mechanism?  epoll(2) doesn't seem to be supported
on
> Mac OS X (at least, it's not listed at [0]).  Would poll(2) work?
> 
>  - Jon
> 
> [0]
http://developer.apple.com/documentation/Darwin/Reference/ManPages/
> 
> 
> 
> 
> This email has been scanned by the MessageLabs Email Security System


DISCLAIMER

This message and any attachments contain privileged and confidential 
information intended for the use of the addressee named above. If you are not 
the intended recipient of this message, you are hereby notified that any use, 
dissemination, distribution or reproduction of this message is prohibited. 
Please note that we cannot guarantee that this message or any attachment is 
virus free or that it has not been intercepted and amended. The views of the 
author may not necessarily reflect those of Realtime Worlds Ltd.

 

Realtime Worlds Ltd is registered in Scotland, number 225628. Registered 
Office: 152 West Marketgait, Dundee, DD1 1NJ.

mcs.diff
Description: mcs.diff


signal.c.diff
Description: signal.c.diff
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] libgdiplus pango patch

2009-02-12 Thread Jonathan Anderson

Sebastien Pouliot wrote:
There are a couple of issues that I've fixed since the patch I submitted 
as well (fixed a problem with vertical text and another difference with 
how MS GDI+ handles the NoWrap flag).  Should I do another patch with 
everything again, or just a patch on the patched version for those?


You can issue a new, complete patch.



Here's the new patch.  Fixes from the previous one:
* vertical latin text is now drawn with characters in the correct direction
* NoWrap will still wrap on newline now (MS GDI+ does this)

Jonathan Anderson
Index: src/text-pango-private.h
===
--- src/text-pango-private.h(revision 126715)
+++ src/text-pango-private.h(working copy)
@@ -36,17 +36,18 @@
 #include "graphics-private.h"
 #include "stringformat-private.h"
 
+#define PANGO_MAX (G_MAXINT / PANGO_SCALE)
+#define MAKE_SAFE_FOR_PANGO(x) ((x) > G_MAXINT/PANGO_SCALE ? 
G_MAXINT/PANGO_SCALE : ((x) < G_MININT/PANGO_SCALE ? G_MININT/PANGO_SCALE : 
(x)))
 
 #defineGDIP_WINDOWS_ACCELERATOR'&'
-#define GDIP_PANGOHACK_ACCELERATOR ((char)1)
 
 #define text_DrawStringpango_DrawString
 #define text_MeasureString pango_MeasureString
 #define text_MeasureCharacterRangespango_MeasureCharacterRanges
 
 
-PangoLayout* gdip_pango_setup_layout (cairo_t *ct, GDIPCONST WCHAR 
*stringUnicode, int length, GDIPCONST GpFont *font, 
-   GDIPCONST RectF *rc, RectF *box, GDIPCONST GpStringFormat *format);
+PangoLayout* gdip_pango_setup_layout (GpGraphics *graphics, GDIPCONST WCHAR 
*stringUnicode, int length, GDIPCONST GpFont *font, 
+   GDIPCONST RectF *rc, RectF *box, GDIPCONST GpStringFormat *format, int 
**charsRemoved);
 
 GpStatus pango_DrawString (GpGraphics *graphics, GDIPCONST WCHAR 
*stringUnicode, int length, GDIPCONST GpFont *font, 
GDIPCONST RectF *rc, GDIPCONST GpStringFormat *format, GpBrush *brush) 
GDIP_INTERNAL;
Index: src/text-pango.c
===
--- src/text-pango.c(revision 126715)
+++ src/text-pango.c(working copy)
@@ -46,45 +46,151 @@
return list;
 }
 
-static void
-gdip_process_accelerators (gchar *text, int length, PangoAttrList *list)
+void
+gdip_set_array_values (int *array, int value, int num)
 {
int i;
-   for (i = 0; i < length; i++) {
-   if (*(text + i) == GDIP_WINDOWS_ACCELERATOR) {
-   /* don't show the prefix character */
-   *(text + i) = GDIP_PANGOHACK_ACCELERATOR;
-   /* if the next character is an accelerator then skip 
over it (&& == &) */
-   if ((i < length - 1) && (*(text + i + 1) == 
GDIP_WINDOWS_ACCELERATOR)) {
-   i++;
-   } else if (list) {
-   /* add an attribute on the next character */
+   for (i = 0; i < num; i++)
+   array [i] = value;
+}
+
+static GString *
+gdip_process_string (gchar *text, int length, int removeAccelerators, int 
trimSpace, PangoAttrList *list, int **charsRemoved)
+{
+   int i, j;
+   int nonws = 0;
+   gchar *iter;
+   gchar *iter2;
+   gunichar ch;
+GString *res = g_string_sized_new (length);
+
+   /* fast version: just check for final newline and remove */
+   if (!removeAccelerators && !trimSpace) {
+   j = length;
+   if (j > 0 && text [j-1] == '\n') {
+   j--;
+   if (j > 0 && text [j-1] == '\r')
+   j--;
+   }
+   g_string_append_len (res, text, j);
+   if (j == 0 && length > 0) {
+   g_string_append_c (res, ' ');
+   j++;
+   }
+   if (charsRemoved && *charsRemoved) {
+   int prevj = (g_utf8_prev_char (res->str + j) - 
res->str);
+   gdip_set_array_values (*charsRemoved + prevj, length - 
j, j - prevj);
+   }
+   return res;
+   }
+
+   iter = text;
+   i = 0;
+   j = 0;
+   while (iter - text < length) {
+   ch = g_utf8_get_char (iter);
+   if (ch == GDIP_WINDOWS_ACCELERATOR && removeAccelerators && 
(iter - text < length - 1)) {
+   nonws = 1;
+   iter2 = g_utf8_next_char (iter);
+   i += iter2 - iter;
+   iter = iter2;
+   ch = g_utf8_get_char (iter);
+   /* add an attribute on the next character */
+   if (list && (iter - text < length) && (ch != 
GDIP_WINDOWS_ACCELERATOR)) {
PangoAttribute *attr = pango_attr_underline_new 
(PANGO_UNDERLINE_LOW);
-   attr->start_index = i + 1;
-   attr->end_in

Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Jérémie Laval
Take the reverse situation, why would Mono devs care on supporting
application X because some users would like to run X on Mono ?

The only difference here is that, in your case, the developer has to take
care of one platform with minimal change involved where Mono would get ton
of request preventing them to focus on coding real things.

Also, all of the applications cited are open-source AND free software which
allow you to patch them freely. Then if the main developer is stubborn
enough to refuse your patch, just make it available or fork the project,
that's one of the advantage of FOSS.

--
Jérémie Laval
jeremie.la...@gmail.com
http://garuma.wordpress.com


On Thu, Feb 12, 2009 at 3:23 PM, Stifu  wrote:

>
> What about developers who don't care about Mono, but some of their users
> being interested in running their app in Mono?
> Sure, they could contact the devs to insist on supporting Mono, but then,
> first, the app must still be under development, which is not obviously the
> case, and second, the devs must be willing to listen and act... It'd just
> be
> much easier and more convenient if it just worked right away, if there is
> no
> downside involved.
>
>
> Jérémie LAVAL wrote:
> >
> > There is a difference between implementing a public API used by lot of
> > people and implementing low-level internals that 1/ you aren't supposed
> to
> > know in the first place, 2/ are used by 2-3 projects that could fix the
> > bug
> > with a two lines change if they cared about Mono.
> >
> > --
> > Jérémie Laval
> > jeremie.la...@gmail.com
> > http://garuma.wordpress.com
> >
>
> --
> View this message in context:
> http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21977064.html
> Sent from the Mono - Dev mailing list archive at Nabble.com.
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] libgdiplus pango patch

2009-02-12 Thread Jonathan Anderson
Stifu wrote:
> Considering how complex the whole thing looks, I think it'd be great if you
> could turn your test app into automated tests, to make them public, prevent
> regressions and make the landing of that patch safer.


Thanks for the input!

Yeah, I need to make some automated tests for some of that.  The problem 
is that the measurements will depend on the fonts available, the system 
dpi, system-wide font hinting settings, etc., so it's a bit hard to make 
any of those tests repeatable on someone else's system.  Also it's hard 
to tell things like if it really did draw the alignment, clipping, 
character direction, etc. correctly without looking at it.  Any ideas on 
how to do any of that in a reliable sort of way for automatic testing 
would be greatly appreciated.

Jonathan Anderson
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Stifu

What about developers who don't care about Mono, but some of their users
being interested in running their app in Mono?
Sure, they could contact the devs to insist on supporting Mono, but then,
first, the app must still be under development, which is not obviously the
case, and second, the devs must be willing to listen and act... It'd just be
much easier and more convenient if it just worked right away, if there is no
downside involved.


Jérémie LAVAL wrote:
> 
> There is a difference between implementing a public API used by lot of
> people and implementing low-level internals that 1/ you aren't supposed to
> know in the first place, 2/ are used by 2-3 projects that could fix the
> bug
> with a two lines change if they cared about Mono.
> 
> --
> Jérémie Laval
> jeremie.la...@gmail.com
> http://garuma.wordpress.com
> 

-- 
View this message in context: 
http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21977064.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono and IBM

2009-02-12 Thread Carlos Ruiz Diaz
I was talking about running mono in a  non-x86 platform. I'll have
performance issues for sure but I don't know if it will be catastrophic or
ignorable.

On Wed, Feb 11, 2009 at 6:24 PM, Bill Seurer  wrote:

> mono-devel-list-boun...@lists.ximian.com wrote on 01/31/2009 07:43:09 AM:
>
> > What do you guys think about performance penalization installing the
> > Linux OS in a specially formatted partition inside the AS?
>
> What sort of performance penalty are you worried about?  One on the overall
> system on one on the specific partition?  I believe you can divvy up
> partitions using just fractions of CPUs now.
> --
> Bill Seurer
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Robert Jordan
Stifu wrote:
> Your opinion makes sense, but then, why bother with Windows.Forms (or other
> things like pseudo-Windows registry support), for example? The Mono team

You're missing the point. WinForms, Registry are publicly documented
APIs.

Robert

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Jérémie Laval
There is a difference between implementing a public API used by lot of
people and implementing low-level internals that 1/ you aren't supposed to
know in the first place, 2/ are used by 2-3 projects that could fix the bug
with a two lines change if they cared about Mono.

--
Jérémie Laval
jeremie.la...@gmail.com
http://garuma.wordpress.com


On Thu, Feb 12, 2009 at 2:56 PM, Stifu  wrote:

>
> Your opinion makes sense, but then, why bother with Windows.Forms (or other
> things like pseudo-Windows registry support), for example? The Mono team
> seems a bit torn between adding "hacky" stuff for the sake of compatibility
> (note: I'm not bashing, I rely on the Windows.Forms support of Mono
> myself),
> and not trying to match .NET when easily possible (like this post from
> yesterday shows: http://www.go-mono.com/forums/).
>
>
> Jérémie LAVAL wrote:
> >
> > However,  I think Mono isn't meant to be a *reimplementation* of .NET,
> > it's
> > an implementation of the *specifications* defined at ECMA/ISO.
> >
> > Now, if developers are using implementation specific details they are
> > shooting themselves in the foot and should go fix their mess themselves,
> > not
> > blame Mono for it.
> >
> > Again, just my humble opinion.
> >
> > --
> > Jérémie Laval
> > jeremie.la...@gmail.com
> > http://garuma.wordpress.com
> >
>
> --
> View this message in context:
> http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21976573.html
> Sent from the Mono - Dev mailing list archive at Nabble.com.
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Stifu

PS: to clear things up, I got the wrong URL at the end of my post...
I meant to paste this one: http://go-mono.com/forums/#nabble-td21954562


Paige Thompson wrote:
> 
> All I'm saying is, if "hacky" stuff does not satisfy the business need
> then
> it's a useless effort. We (well not me I'm not writing for mono yet) have
> to
> consider who's ultimately going to be using it and what their needs are.
> 
-- 
View this message in context: 
http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21976707.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Paige Thompson
All I'm saying is, if "hacky" stuff does not satisfy the business need then
it's a useless effort. We (well not me I'm not writing for mono yet) have to
consider who's ultimately going to be using it and what their needs are.

On Thu, Feb 12, 2009 at 5:56 AM, Stifu  wrote:

>
> Your opinion makes sense, but then, why bother with Windows.Forms (or other
> things like pseudo-Windows registry support), for example? The Mono team
> seems a bit torn between adding "hacky" stuff for the sake of compatibility
> (note: I'm not bashing, I rely on the Windows.Forms support of Mono
> myself),
> and not trying to match .NET when easily possible (like this post from
> yesterday shows: http://www.go-mono.com/forums/).
>
>
> Jérémie LAVAL wrote:
> >
> > However,  I think Mono isn't meant to be a *reimplementation* of .NET,
> > it's
> > an implementation of the *specifications* defined at ECMA/ISO.
> >
> > Now, if developers are using implementation specific details they are
> > shooting themselves in the foot and should go fix their mess themselves,
> > not
> > blame Mono for it.
> >
> > Again, just my humble opinion.
> >
> > --
> > Jérémie Laval
> > jeremie.la...@gmail.com
> > http://garuma.wordpress.com
> >
>
> --
> View this message in context:
> http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21976573.html
> Sent from the Mono - Dev mailing list archive at Nabble.com.
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Lucas Meijer
Alan McGovern wrote:
> But it's the hacks that you added to your program which are causing 
> the issue in the first place ;) You want a hack to make your hack 
> work. What you really need is another hack which will work in all 
> cases. Unfortunately I can't think of a way which will work in all cases.
I didn't add these hacks to a program.

Consider a new user trying out mono. 
He tries mono with some useful tool that he uses in .NET
Turns out it doesn't work.

Yes, maybe it's the tools fault.  But the end result is that it doesn't 
work, and the user thinks
"arg, apparenlty mono doesn't run my .net stuff, I'm sticking to clr 
thank you very much".

Bye, Lucas

PS Please note that there is no "official" way to do what these programs 
are doing trough their "hack".
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Stifu

Your opinion makes sense, but then, why bother with Windows.Forms (or other
things like pseudo-Windows registry support), for example? The Mono team
seems a bit torn between adding "hacky" stuff for the sake of compatibility
(note: I'm not bashing, I rely on the Windows.Forms support of Mono myself),
and not trying to match .NET when easily possible (like this post from
yesterday shows: http://www.go-mono.com/forums/).


Jérémie LAVAL wrote:
> 
> However,  I think Mono isn't meant to be a *reimplementation* of .NET,
> it's
> an implementation of the *specifications* defined at ECMA/ISO.
> 
> Now, if developers are using implementation specific details they are
> shooting themselves in the foot and should go fix their mess themselves,
> not
> blame Mono for it.
> 
> Again, just my humble opinion.
> 
> --
> Jérémie Laval
> jeremie.la...@gmail.com
> http://garuma.wordpress.com
> 

-- 
View this message in context: 
http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21976573.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Robert Jordan
Lucas Meijer wrote:
> However, in the real world(tm),  this prevents many projects from 
> running on Mono unmodified.

How about if, for a change, those projects were finally starting
to perceive mono as a platform with its own internals?

It's a no brainer to add a `if (Type.GetType("Mono.Runtime") != null)'
branch to the already existing hack.

There are chances that some projects are already using a platform
check what will fail after renaming the field. Some mono-only
projects might fail after renaming this field as well, making
a more elaborate patch necessary. Just because of the ignorance of
some library developers...

Robert

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Alan McGovern
But it's the hacks that you added to your program which are causing the
issue in the first place ;) You want a hack to make your hack work. What you
really need is another hack which will work in all cases. Unfortunately I
can't think of a way which will work in all cases.

Alan.

(p.s. i'm not arguing for or against the change, just pointing out the
above)

On Thu, Feb 12, 2009 at 1:45 PM, Stifu  wrote:

>
> I think that'd be a quite bad solution, because it'd add a lot of
> confusion,
> and possibly divide the user base. I can already imagine debugging user
> problems, like "Are you using Mono standard edition or the Mono modded by
> SomeRandomGuy?"
> I'd rather add hacks in the program than having more frameworks to worry
> about.
>
>
> Paige Thompson wrote:
> >
> > maybe field names should be driven off of an XML file at compile time or
> > something instead of hard coded. I mean yeah that dances on the line of
> > still having to modify mono but at least in that case it wouldn't be hard
> > coded. Then everybody could be happy. I guess what I'm trying to say is,
> > perhaps rather than arguing about who's is better and more worth efforts
> > rather have a compatibility layer for the inorite way and the tried and
> > true.
> >
> > -Adele
> >
> > On Thu, Feb 12, 2009 at 5:13 AM, Stifu  wrote:
> >
> >>
> >> I have to agree.
> >>
> >> Reverse-engineering complicated algorithms for the sake of matching MS
> >> .NET
> >> perfectly is one thing, and may not be worth the time and efforts, but
> >> simply changing a string to improve compatibility is an easy win.
> >>
> >> Many things in the past of Mono have been done to improve compatibility
> >> with
> >> existing .NET apps and get Windows developers interested (such as
> >> Windows.Forms support, for example). Simply put, it doesn't make much
> >> sense
> >> to me to try that hard to catch high-hanging fruits if you're going to
> >> ignore low-hanging ones.
> >>
> >>
> >> Lucas Meijer-4 wrote:
> >> >
> >> > Hey,
> >> >
> >> > Our team has been busy porting some unit testing related frameworks to
> >> > mono.
> >> > porting is probably not the right word, it's mostly creating repro
> >> cases
> >> > of mono bugs,
> >> > reporting them, and waiting for them to be fixed. (Which happens fast
> >> by
> >> > the way. Thanks!)
> >> >
> >> > So far we're looking at NInject, Moq and xUnit.
> >> >
> >> > There are / have been bugs in mono that prevent all of these projects
> >> > from running.
> >> > Most of them are valid mono bugs, nothing special here.
> >> >
> >> > In addition to real mono bugs, there's also the fact that many of
> these
> >> > frameworks, use this
> >> > commonly used "trick":
> >> >
> >> > FieldInfo remoteStackTraceString =
> >> > typeof(Exception).GetField("_remoteStackTraceString",
> >> > BindingFlags.Instance | BindingFlags.NonPublic);
> >> >
> >> > This doesn't work on mono, since in mono the private field storing the
> >> > stacktrace is called "remote_stack_trace".
> >> >
> >> > This issue has been reported before as issue 425512 (
> >> > https://bugzilla.novell.com/show_bug.cgi?id=425512 )
> >> >
> >> > One could argue, and the reason for the wontfix status of the issue
> >> does
> >> > so,  that these folks rely on undocumented internals.
> >> > They shouldn't do it, and Mono shouldn't rename it's own private field
> >> > to match that of the CLR.
> >> >
> >> > However, in the real world(tm),  this prevents many projects from
> >> > running on Mono unmodified.
> >> >
> >> > I would like to argue that in this specific case, where the (percieved
> >> > by me, maybe incorrectly) amount of work for mono to change it's
> >> private
> >> > fieldname to
> >> > match that of the CLR, is a reasonable cost for enabling this quite
> >> > frequently found in the wild trick of grabbing the internal stack
> trace
> >> > of an exception.
> >> >
> >> > Maybe I'm underestimating the amount of work to rename the mono
> >> > fieldname to match the clr one. If that's the case, please consider
> >> this
> >> > message
> >> > as another datapoint of three useful .net frameworks unable to run on
> >> > mono unmodified.
> >> >
> >> > Here's a bit more info on the trick:
> >> >
> >> > Here is a bit more background on the trick:
> >> >
> >>
> http://www.dotnetjunkies.com/WebLog/chris.taylor/archive/2004/03/03/8353.aspx
> >> >
> >> > Bye, Lucas
> >> > ___
> >> > Mono-devel-list mailing list
> >> > Mono-devel-list@lists.ximian.com
> >> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21975728.html
> >> Sent from the Mono - Dev mailing list archive at Nabble.com.
> >>
> >> ___
> >> Mono-devel-list mailing list
> >> Mono-devel-list@lists.ximian.com
> >> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >>

Re: [Mono-dev] libgdiplus pango patch

2009-02-12 Thread Sebastien Pouliot
Hello Jonathan,

On Thu, 2009-02-12 at 18:46 +0700, Jonathan Anderson wrote:
> Sebastien,
> 
> Thanks for the reply.
> 
> Sebastien Pouliot wrote:
> > Hello Jonathan,
> > 
> > On Tue, 2009-02-10 at 13:53 +0700, Jonathan Anderson wrote:
> >> Hi all,
> >>
> >> I was wondering if anyone has had a chance to look at my patch submitted 
> >> last week yet.  Any and all feedback is appreciated, and if I need to do 
> >> some more work to get this accepted, I just need to know what to do. 
> > 
> > I only had a quick look last week, but will look at it more carefully
> > soon.
> > 
> > A quick comment: it needs a ChangeLog ;-)
> 
> I should have done that.  Here's a list of what my changes do:
> 
> * improve accelerator handling
> * improve end-of-line whitespace trimming (still needs some work, but it 
> should be about the same as the cairo renderer now)
> * vertical text support (needs more work)
> * clipping more consistent with MS GDI+
> * better bidi text support
> * string trimming closer to MS GDI+
> * tab stops (untested)
> * better bounding boxes returned (taking into account ink and logical space)
> * support for codepointsFitted in MeasureString
> * better linesFilled support in MeasureString

Great :)

> >> Should I create a bug in the tracker to help track the work on complex 
> >> script support?
> > 
> > Yes, that would be useful - which brings me to a "long term" comment:
> > libgdiplus can't switch to pango output until it becomes a superset of
> > the features that it currently (custom text renderer) support - i.e.
> > complex script support is awesome but not enough as many people depends
> > on other features not yet available in the pango renderer.
> 
> 
> Yes, I understand that.  I mainly want to get some code out there for 
> complex script support that works better than what's there now.  Of 

we understand each other perfectly :)

> course I'd like it to be the default some day, but I know there needs to 
> be more work and testing done before that can be the case.  Even if it 
> doesn't get to be the default, having a good option for non-roman 
> scripts when needed is great.
> 
> There are a couple of issues that I've fixed since the patch I submitted 
> as well (fixed a problem with vertical text and another difference with 
> how MS GDI+ handles the NoWrap flag).  Should I do another patch with 
> everything again, or just a patch on the patched version for those?

You can issue a new, complete patch.

> Here's what I know isn't supported and/or needs more work:
> * Need to test the tab stop support
> * There are a few small differences with the MS GDI+ in string trimming 
> and wrapping that will be hard to fix unless I use the lower-level pango 
> API instead of the pango_layout calls.  

That was my original conclusion too. The high-level pango API is not
able to give us everything needed to support the options already present
in the custom renderer. The "right" (complete) solution is to use the
low level API.

> The cairo renderer also has some 
> differences in these areas as well.

Yes, there are a few (4-5) bugs open on some specific cases. Most of
them requires *big* changes to the custom renderer (things that was not
part of its design) which are unlikely to occur soon*

* in fact my original idea was, once the pango version was
complete enough to replace the current renderer, to detect the
pango library at build time and use it (and the system cairo) if
possible - falling back to the old renderer on older systems.

> * digit substitution is not implemented
> * the DisplayFormatControl flag is not implemented
> * MeasureString is significantly slower than the cairo renderer 
> (DrawString is a little slower, but not that much)

That's also what I noticed a while ago - but the output also looked
better (e.g. kerning).

> I don't think the digit substitution or DisplayFormatControl flag are 
> implemented in the cairo renderer either.  I've built myself a test app 
> to help see differences between MS GDI+, the cairo renderer, and the 
> pango renderer, so that's helping a lot in working things out.

Yes, I had such a (crude) tool when I looked at "all" the options (which
made me realize we were doing very badly on the, thankfully, uncommon
StringFormat options). This is something that needs to be turned into
"real" tests at some stage.

>  From a MWF perspective, the only control that I think needs a bit of 
> work is the TextBox and derivatives.  To be able to support non-roman 
> scripts, it needs to think of text in terms of paragraphs instead of 
> lines.  I have some ideas that I'll be playing with to push down some 
> more of the rendering/placement functionality into the 
> TextBoxTextRenderer.  I should be able to take the existing code and 
> abstract it in a way that would allow the TextBox to swap rendering 
> back-ends using the current code, uniscribe, or pango.

Sounds good (even if this is not parts I'm involved with ;-)

Thanks!

Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Stifu

I think that'd be a quite bad solution, because it'd add a lot of confusion,
and possibly divide the user base. I can already imagine debugging user
problems, like "Are you using Mono standard edition or the Mono modded by
SomeRandomGuy?"
I'd rather add hacks in the program than having more frameworks to worry
about.


Paige Thompson wrote:
> 
> maybe field names should be driven off of an XML file at compile time or
> something instead of hard coded. I mean yeah that dances on the line of
> still having to modify mono but at least in that case it wouldn't be hard
> coded. Then everybody could be happy. I guess what I'm trying to say is,
> perhaps rather than arguing about who's is better and more worth efforts
> rather have a compatibility layer for the inorite way and the tried and
> true.
> 
> -Adele
> 
> On Thu, Feb 12, 2009 at 5:13 AM, Stifu  wrote:
> 
>>
>> I have to agree.
>>
>> Reverse-engineering complicated algorithms for the sake of matching MS
>> .NET
>> perfectly is one thing, and may not be worth the time and efforts, but
>> simply changing a string to improve compatibility is an easy win.
>>
>> Many things in the past of Mono have been done to improve compatibility
>> with
>> existing .NET apps and get Windows developers interested (such as
>> Windows.Forms support, for example). Simply put, it doesn't make much
>> sense
>> to me to try that hard to catch high-hanging fruits if you're going to
>> ignore low-hanging ones.
>>
>>
>> Lucas Meijer-4 wrote:
>> >
>> > Hey,
>> >
>> > Our team has been busy porting some unit testing related frameworks to
>> > mono.
>> > porting is probably not the right word, it's mostly creating repro
>> cases
>> > of mono bugs,
>> > reporting them, and waiting for them to be fixed. (Which happens fast
>> by
>> > the way. Thanks!)
>> >
>> > So far we're looking at NInject, Moq and xUnit.
>> >
>> > There are / have been bugs in mono that prevent all of these projects
>> > from running.
>> > Most of them are valid mono bugs, nothing special here.
>> >
>> > In addition to real mono bugs, there's also the fact that many of these
>> > frameworks, use this
>> > commonly used "trick":
>> >
>> > FieldInfo remoteStackTraceString =
>> > typeof(Exception).GetField("_remoteStackTraceString",
>> > BindingFlags.Instance | BindingFlags.NonPublic);
>> >
>> > This doesn't work on mono, since in mono the private field storing the
>> > stacktrace is called "remote_stack_trace".
>> >
>> > This issue has been reported before as issue 425512 (
>> > https://bugzilla.novell.com/show_bug.cgi?id=425512 )
>> >
>> > One could argue, and the reason for the wontfix status of the issue
>> does
>> > so,  that these folks rely on undocumented internals.
>> > They shouldn't do it, and Mono shouldn't rename it's own private field
>> > to match that of the CLR.
>> >
>> > However, in the real world(tm),  this prevents many projects from
>> > running on Mono unmodified.
>> >
>> > I would like to argue that in this specific case, where the (percieved
>> > by me, maybe incorrectly) amount of work for mono to change it's
>> private
>> > fieldname to
>> > match that of the CLR, is a reasonable cost for enabling this quite
>> > frequently found in the wild trick of grabbing the internal stack trace
>> > of an exception.
>> >
>> > Maybe I'm underestimating the amount of work to rename the mono
>> > fieldname to match the clr one. If that's the case, please consider
>> this
>> > message
>> > as another datapoint of three useful .net frameworks unable to run on
>> > mono unmodified.
>> >
>> > Here's a bit more info on the trick:
>> >
>> > Here is a bit more background on the trick:
>> >
>> http://www.dotnetjunkies.com/WebLog/chris.taylor/archive/2004/03/03/8353.aspx
>> >
>> > Bye, Lucas
>> > ___
>> > Mono-devel-list mailing list
>> > Mono-devel-list@lists.ximian.com
>> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21975728.html
>> Sent from the Mono - Dev mailing list archive at Nabble.com.
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
> 
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21976367.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Jérémie Laval
However,  I think Mono isn't meant to be a *reimplementation* of .NET, it's
an implementation of the *specifications* defined at ECMA/ISO.

Now, if developers are using implementation specific details they are
shooting themselves in the foot and should go fix their mess themselves, not
blame Mono for it.

Again, just my humble opinion.

--
Jérémie Laval
jeremie.la...@gmail.com
http://garuma.wordpress.com


On Thu, Feb 12, 2009 at 2:13 PM, Stifu  wrote:

>
> I have to agree.
>
> Reverse-engineering complicated algorithms for the sake of matching MS .NET
> perfectly is one thing, and may not be worth the time and efforts, but
> simply changing a string to improve compatibility is an easy win.
>
> Many things in the past of Mono have been done to improve compatibility
> with
> existing .NET apps and get Windows developers interested (such as
> Windows.Forms support, for example). Simply put, it doesn't make much sense
> to me to try that hard to catch high-hanging fruits if you're going to
> ignore low-hanging ones.
>
>
> Lucas Meijer-4 wrote:
> >
> > Hey,
> >
> > Our team has been busy porting some unit testing related frameworks to
> > mono.
> > porting is probably not the right word, it's mostly creating repro cases
> > of mono bugs,
> > reporting them, and waiting for them to be fixed. (Which happens fast by
> > the way. Thanks!)
> >
> > So far we're looking at NInject, Moq and xUnit.
> >
> > There are / have been bugs in mono that prevent all of these projects
> > from running.
> > Most of them are valid mono bugs, nothing special here.
> >
> > In addition to real mono bugs, there's also the fact that many of these
> > frameworks, use this
> > commonly used "trick":
> >
> > FieldInfo remoteStackTraceString =
> > typeof(Exception).GetField("_remoteStackTraceString",
> > BindingFlags.Instance | BindingFlags.NonPublic);
> >
> > This doesn't work on mono, since in mono the private field storing the
> > stacktrace is called "remote_stack_trace".
> >
> > This issue has been reported before as issue 425512 (
> > https://bugzilla.novell.com/show_bug.cgi?id=425512 )
> >
> > One could argue, and the reason for the wontfix status of the issue does
> > so,  that these folks rely on undocumented internals.
> > They shouldn't do it, and Mono shouldn't rename it's own private field
> > to match that of the CLR.
> >
> > However, in the real world(tm),  this prevents many projects from
> > running on Mono unmodified.
> >
> > I would like to argue that in this specific case, where the (percieved
> > by me, maybe incorrectly) amount of work for mono to change it's private
> > fieldname to
> > match that of the CLR, is a reasonable cost for enabling this quite
> > frequently found in the wild trick of grabbing the internal stack trace
> > of an exception.
> >
> > Maybe I'm underestimating the amount of work to rename the mono
> > fieldname to match the clr one. If that's the case, please consider this
> > message
> > as another datapoint of three useful .net frameworks unable to run on
> > mono unmodified.
> >
> > Here's a bit more info on the trick:
> >
> > Here is a bit more background on the trick:
> >
> http://www.dotnetjunkies.com/WebLog/chris.taylor/archive/2004/03/03/8353.aspx
> >
> > Bye, Lucas
> > ___
> > Mono-devel-list mailing list
> > Mono-devel-list@lists.ximian.com
> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21975728.html
> Sent from the Mono - Dev mailing list archive at Nabble.com.
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Paige Thompson
maybe field names should be driven off of an XML file at compile time or
something instead of hard coded. I mean yeah that dances on the line of
still having to modify mono but at least in that case it wouldn't be hard
coded. Then everybody could be happy. I guess what I'm trying to say is,
perhaps rather than arguing about who's is better and more worth efforts
rather have a compatibility layer for the inorite way and the tried and
true.

-Adele

On Thu, Feb 12, 2009 at 5:13 AM, Stifu  wrote:

>
> I have to agree.
>
> Reverse-engineering complicated algorithms for the sake of matching MS .NET
> perfectly is one thing, and may not be worth the time and efforts, but
> simply changing a string to improve compatibility is an easy win.
>
> Many things in the past of Mono have been done to improve compatibility
> with
> existing .NET apps and get Windows developers interested (such as
> Windows.Forms support, for example). Simply put, it doesn't make much sense
> to me to try that hard to catch high-hanging fruits if you're going to
> ignore low-hanging ones.
>
>
> Lucas Meijer-4 wrote:
> >
> > Hey,
> >
> > Our team has been busy porting some unit testing related frameworks to
> > mono.
> > porting is probably not the right word, it's mostly creating repro cases
> > of mono bugs,
> > reporting them, and waiting for them to be fixed. (Which happens fast by
> > the way. Thanks!)
> >
> > So far we're looking at NInject, Moq and xUnit.
> >
> > There are / have been bugs in mono that prevent all of these projects
> > from running.
> > Most of them are valid mono bugs, nothing special here.
> >
> > In addition to real mono bugs, there's also the fact that many of these
> > frameworks, use this
> > commonly used "trick":
> >
> > FieldInfo remoteStackTraceString =
> > typeof(Exception).GetField("_remoteStackTraceString",
> > BindingFlags.Instance | BindingFlags.NonPublic);
> >
> > This doesn't work on mono, since in mono the private field storing the
> > stacktrace is called "remote_stack_trace".
> >
> > This issue has been reported before as issue 425512 (
> > https://bugzilla.novell.com/show_bug.cgi?id=425512 )
> >
> > One could argue, and the reason for the wontfix status of the issue does
> > so,  that these folks rely on undocumented internals.
> > They shouldn't do it, and Mono shouldn't rename it's own private field
> > to match that of the CLR.
> >
> > However, in the real world(tm),  this prevents many projects from
> > running on Mono unmodified.
> >
> > I would like to argue that in this specific case, where the (percieved
> > by me, maybe incorrectly) amount of work for mono to change it's private
> > fieldname to
> > match that of the CLR, is a reasonable cost for enabling this quite
> > frequently found in the wild trick of grabbing the internal stack trace
> > of an exception.
> >
> > Maybe I'm underestimating the amount of work to rename the mono
> > fieldname to match the clr one. If that's the case, please consider this
> > message
> > as another datapoint of three useful .net frameworks unable to run on
> > mono unmodified.
> >
> > Here's a bit more info on the trick:
> >
> > Here is a bit more background on the trick:
> >
> http://www.dotnetjunkies.com/WebLog/chris.taylor/archive/2004/03/03/8353.aspx
> >
> > Bye, Lucas
> > ___
> > Mono-devel-list mailing list
> > Mono-devel-list@lists.ximian.com
> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21975728.html
> Sent from the Mono - Dev mailing list archive at Nabble.com.
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Stifu

I have to agree.

Reverse-engineering complicated algorithms for the sake of matching MS .NET
perfectly is one thing, and may not be worth the time and efforts, but
simply changing a string to improve compatibility is an easy win.

Many things in the past of Mono have been done to improve compatibility with
existing .NET apps and get Windows developers interested (such as
Windows.Forms support, for example). Simply put, it doesn't make much sense
to me to try that hard to catch high-hanging fruits if you're going to
ignore low-hanging ones.


Lucas Meijer-4 wrote:
> 
> Hey,
> 
> Our team has been busy porting some unit testing related frameworks to
> mono.
> porting is probably not the right word, it's mostly creating repro cases 
> of mono bugs,
> reporting them, and waiting for them to be fixed. (Which happens fast by 
> the way. Thanks!)
> 
> So far we're looking at NInject, Moq and xUnit.
> 
> There are / have been bugs in mono that prevent all of these projects 
> from running.
> Most of them are valid mono bugs, nothing special here.
> 
> In addition to real mono bugs, there's also the fact that many of these 
> frameworks, use this
> commonly used "trick":
> 
> FieldInfo remoteStackTraceString = 
> typeof(Exception).GetField("_remoteStackTraceString", 
> BindingFlags.Instance | BindingFlags.NonPublic);
> 
> This doesn't work on mono, since in mono the private field storing the 
> stacktrace is called "remote_stack_trace".
> 
> This issue has been reported before as issue 425512 ( 
> https://bugzilla.novell.com/show_bug.cgi?id=425512 )
> 
> One could argue, and the reason for the wontfix status of the issue does 
> so,  that these folks rely on undocumented internals.
> They shouldn't do it, and Mono shouldn't rename it's own private field 
> to match that of the CLR.
> 
> However, in the real world(tm),  this prevents many projects from 
> running on Mono unmodified.
> 
> I would like to argue that in this specific case, where the (percieved 
> by me, maybe incorrectly) amount of work for mono to change it's private 
> fieldname to
> match that of the CLR, is a reasonable cost for enabling this quite 
> frequently found in the wild trick of grabbing the internal stack trace 
> of an exception.
> 
> Maybe I'm underestimating the amount of work to rename the mono 
> fieldname to match the clr one. If that's the case, please consider this 
> message
> as another datapoint of three useful .net frameworks unable to run on 
> mono unmodified.
> 
> Here's a bit more info on the trick:
> 
> Here is a bit more background on the trick:
> http://www.dotnetjunkies.com/WebLog/chris.taylor/archive/2004/03/03/8353.aspx
> 
> Bye, Lucas
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Arguing-for-reconsideration-of-WONTFIX-status-of-425512-tp21975511p21975728.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Arguing for reconsideration of WONTFIX status of 425512

2009-02-12 Thread Lucas Meijer
Hey,

Our team has been busy porting some unit testing related frameworks to mono.
porting is probably not the right word, it's mostly creating repro cases 
of mono bugs,
reporting them, and waiting for them to be fixed. (Which happens fast by 
the way. Thanks!)

So far we're looking at NInject, Moq and xUnit.

There are / have been bugs in mono that prevent all of these projects 
from running.
Most of them are valid mono bugs, nothing special here.

In addition to real mono bugs, there's also the fact that many of these 
frameworks, use this
commonly used "trick":

FieldInfo remoteStackTraceString = 
typeof(Exception).GetField("_remoteStackTraceString", 
BindingFlags.Instance | BindingFlags.NonPublic);

This doesn't work on mono, since in mono the private field storing the 
stacktrace is called "remote_stack_trace".

This issue has been reported before as issue 425512 ( 
https://bugzilla.novell.com/show_bug.cgi?id=425512 )

One could argue, and the reason for the wontfix status of the issue does 
so,  that these folks rely on undocumented internals.
They shouldn't do it, and Mono shouldn't rename it's own private field 
to match that of the CLR.

However, in the real world(tm),  this prevents many projects from 
running on Mono unmodified.

I would like to argue that in this specific case, where the (percieved 
by me, maybe incorrectly) amount of work for mono to change it's private 
fieldname to
match that of the CLR, is a reasonable cost for enabling this quite 
frequently found in the wild trick of grabbing the internal stack trace 
of an exception.

Maybe I'm underestimating the amount of work to rename the mono 
fieldname to match the clr one. If that's the case, please consider this 
message
as another datapoint of three useful .net frameworks unable to run on 
mono unmodified.

Here's a bit more info on the trick:

Here is a bit more background on the trick:
http://www.dotnetjunkies.com/WebLog/chris.taylor/archive/2004/03/03/8353.aspx

Bye, Lucas
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] libgdiplus pango patch

2009-02-12 Thread Stifu

Jonathan: I'm no expert or reviewer, but I thought I'd throw in my 2 cents.

About this: "I've built myself a test app to help see differences between MS
GDI+, the cairo renderer, and the pango renderer, so that's helping a lot in
working things out."

Considering how complex the whole thing looks, I think it'd be great if you
could turn your test app into automated tests, to make them public, prevent
regressions and make the landing of that patch safer.
-- 
View this message in context: 
http://www.nabble.com/libgdiplus-pango-patch-tp21829307p21974545.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] libgdiplus pango patch

2009-02-12 Thread Jonathan Anderson
Sebastien,

Thanks for the reply.

Sebastien Pouliot wrote:
> Hello Jonathan,
> 
> On Tue, 2009-02-10 at 13:53 +0700, Jonathan Anderson wrote:
>> Hi all,
>>
>> I was wondering if anyone has had a chance to look at my patch submitted 
>> last week yet.  Any and all feedback is appreciated, and if I need to do 
>> some more work to get this accepted, I just need to know what to do. 
> 
> I only had a quick look last week, but will look at it more carefully
> soon.
> 
> A quick comment: it needs a ChangeLog ;-)

I should have done that.  Here's a list of what my changes do:

* improve accelerator handling
* improve end-of-line whitespace trimming (still needs some work, but it 
should be about the same as the cairo renderer now)
* vertical text support (needs more work)
* clipping more consistent with MS GDI+
* better bidi text support
* string trimming closer to MS GDI+
* tab stops (untested)
* better bounding boxes returned (taking into account ink and logical space)
* support for codepointsFitted in MeasureString
* better linesFilled support in MeasureString


>> Should I create a bug in the tracker to help track the work on complex 
>> script support?
> 
> Yes, that would be useful - which brings me to a "long term" comment:
> libgdiplus can't switch to pango output until it becomes a superset of
> the features that it currently (custom text renderer) support - i.e.
> complex script support is awesome but not enough as many people depends
> on other features not yet available in the pango renderer.


Yes, I understand that.  I mainly want to get some code out there for 
complex script support that works better than what's there now.  Of 
course I'd like it to be the default some day, but I know there needs to 
be more work and testing done before that can be the case.  Even if it 
doesn't get to be the default, having a good option for non-roman 
scripts when needed is great.

There are a couple of issues that I've fixed since the patch I submitted 
as well (fixed a problem with vertical text and another difference with 
how MS GDI+ handles the NoWrap flag).  Should I do another patch with 
everything again, or just a patch on the patched version for those?

Here's what I know isn't supported and/or needs more work:
* Need to test the tab stop support
* There are a few small differences with the MS GDI+ in string trimming 
and wrapping that will be hard to fix unless I use the lower-level pango 
API instead of the pango_layout calls.  The cairo renderer also has some 
differences in these areas as well.
* digit substitution is not implemented
* the DisplayFormatControl flag is not implemented
* MeasureString is significantly slower than the cairo renderer 
(DrawString is a little slower, but not that much)

I don't think the digit substitution or DisplayFormatControl flag are 
implemented in the cairo renderer either.  I've built myself a test app 
to help see differences between MS GDI+, the cairo renderer, and the 
pango renderer, so that's helping a lot in working things out.

 From a MWF perspective, the only control that I think needs a bit of 
work is the TextBox and derivatives.  To be able to support non-roman 
scripts, it needs to think of text in terms of paragraphs instead of 
lines.  I have some ideas that I'll be playing with to push down some 
more of the rendering/placement functionality into the 
TextBoxTextRenderer.  I should be able to take the existing code and 
abstract it in a way that would allow the TextBox to swap rendering 
back-ends using the current code, uniscribe, or pango.

Jonathan Anderson
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Oracle Data Client issue

2009-02-12 Thread SuperCiccio

Hi,
I don't know whether this is an option for you, but we use Oracle ODP 
libraries (Oracle.DataAccess.Client) instead of Microsoft ones 
(System.Data.OracleClient) and we have no problem with 
Spring.NET/NHibernate.


Best regards


All,

 

I have encountered a problem with the Oracle Data Client when porting 
an application over from Windows, basically we are using NHibernate as 
a frontend to the database and we have recently moved the backend from 
MySQL (for development) to Oracle (for deployment) and we encountered 
a problem with the System.Data.OracleClient basically not handling the 
OciDataType.Float and OciDataType.Integer.


 

I have checked with our resident Database experts and they assure me 
that this is the way it should be,  can someone who knows the inner 
workings of this code please take a look and verify that my patch 
(which seems to work, for our purposes) is the correct way to go.


 


All contributions under the MIT X11 license.

 


Regards

 


Russell



___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] IBM.Data.DB2.DB2Exception: Unable to allocate statement handle

2009-02-12 Thread Bartolomeo Nicolotti

I'd like to use the webservice "As is" so that we can switch easyly...

if I won't be able to do it with IBM.Data.DB2 in a few days I'll consider
using other way to connect.

Do you know if with these providers you can connecto to AS/400?

Many thanks 

Best regards



Bartolomeo Nicolotti wrote:
> 
> Da:   Daniel Morgan 
> 
> Have you considered using ODBC provider instead?
> 
> System.Data.Odbc namespace is included in System.Data assembly.
> 
> You can use iodbc or unixodbc on linux.  There's commercial odbc solutions
> for linux too.
> 
> http://mono-project.com/ODBC
> 
> http://www.unixodbc.com/doc/db2.html
> 
> Novell maintains System.Data.Odbc; however, I do not think anyone is
> maintaining IBM.Data.DB2 in Mono.
> 
> 
> --- On Wed, 2/11/09, Bartolomeo Nicolotti  wrote:
> 
> 
> 
> Bartolomeo Nicolotti wrote:
>> 
>> IBM.Data.DB2.DB2Exception: Unable to allocate statement handle
>> 
>> by Bartolomeo Nicolotti :: Rate this Message:
>> 
>> Reply | Reply to Author | View Threaded | Show Only this Message
>> Hello,
>> 
>> I've installed mono, and xsp (not yet mod_mono) on ubuntu following the
>> instruction here:
>> 
>> http://ubuntuforums.org/showthread.php?t=803743
>> 
>> in view of using mod_mono together with php on ubuntu server 8.04, to
>> migrate a web service that access a db2/as400 database.
>> 
>> I've also installed db2exc from ubuntu repository as said here:
>> 
>> http://www.ubuntu.com/partners/ibm/db2
>> 
>> I can compile a test program that does a query to the db:
>> 
>>  http://www.nabble.com/file/p21953488/helloDB2.cs helloDB2.cs 
>> 
>> s...@lxpc54:~/src/test$ gmcs -r:/usr/lib/mono/1.0/IBM.Data.DB2.dll
>> -r:/usr/lib/mono/2.0/System.Data.dll helloDB2.cs
>> 
>> but when I execute it:
>> 
>> s...@lxpc54:~/src/test$ sudo MONO_LOG_LEVEL=debug mono helloDB2.exe bart
>> 
>> 
>> 
>> Mono-INFO: Assembly Ref addref System.Data 0x8362e10 -> System.Xml
>> 0x83719d8: 2
>> 
>> Hello, bart
>> Mono-INFO: DllImport attempting to load: 'libdb2'.
>> Mono-INFO: DllImport loading location: 'libdb2.so'.
>> Mono-INFO: Searching for 'SQLAllocHandle'.
>> Mono-INFO: Probing 'SQLAllocHandle'.
>> Mono-INFO: Found as 'SQLAllocHandle'.
>> Mono-INFO: DllImport attempting to load: 'libdb2'.
>> Mono-INFO: DllImport loading location: 'libdb2.so'.
>> Mono-INFO: Searching for 'SQLAllocHandle'.
>> Mono-INFO: Probing 'SQLAllocHandle'.
>> Mono-INFO: Found as 'SQLAllocHandle'.
>> Bart
>> not useLibCli
>> Bart
>> not useLibCli
>> Mono-INFO: DllImport attempting to load: 'libdb2'.
>> Mono-INFO: DllImport loading location: 'libdb2.so'.
>> Mono-INFO: Searching for 'SQLDriverConnectW'.
>> Mono-INFO: Probing 'SQLDriverConnectWW'.
>> Mono-INFO: Probing 'SQLDriverConnectWW'.
>> Mono-INFO: Probing 'SQLDriverConnectW'.
>> Mono-INFO: Found as 'SQLDriverConnectW'.
>> Mono-INFO: DllImport attempting to load: 'libdb2'.
>> Mono-INFO: DllImport loading location: 'libdb2.so'.
>> Mono-INFO: Searching for 'SQLDriverConnectW'.
>> Mono-INFO: Probing 'SQLDriverConnectWW'.
>> Mono-INFO: Probing 'SQLDriverConnectWW'.
>> Mono-INFO: Probing 'SQLDriverConnectW'.
>> Mono-INFO: Found as 'SQLDriverConnectW'.
>> Mono-INFO: DllImport attempting to load: 'libdb2'.
>> Mono-INFO: DllImport loading location: 'libdb2.so'.
>> Mono-INFO: Searching for 'SQLGetInfoW'.
>> Mono-INFO: Probing 'SQLGetInfoWW'.
>> Mono-INFO: Probing 'SQLGetInfoWW'.
>> Mono-INFO: Probing 'SQLGetInfoW'.
>> Mono-INFO: Found as 'SQLGetInfoW'.
>> Mono-INFO: DllImport attempting to load: 'libdb2'.
>> Mono-INFO: DllImport loading location: 'libdb2.so'.
>> Mono-INFO: Searching for 'SQLGetInfoW'.
>> Mono-INFO: Probing 'SQLGetInfoWW'.
>> Mono-INFO: Probing 'SQLGetInfoWW'.
>> Mono-INFO: Probing 'SQLGetInfoW'.
>> Mono-INFO: Found as 'SQLGetInfoW'.
>> Mono-INFO: DllImport attempting to load: 'libdb2'.
>> Mono-INFO: DllImport loading location: 'libdb2.so'.
>> Mono-INFO: Searching for 'SQLGetDiagRec'.
>> Mono-INFO: Probing 'SQLGetDiagRec'.
>> Mono-INFO: Found as 'SQLGetDiagRec'.
>> Mono-INFO: DllImport attempting to load: 'libdb2'.
>> Mono-INFO: DllImport loading location: 'libdb2.so'.
>> Mono-INFO: Searching for 'SQLGetDiagRec'.
>> Mono-INFO: Probing 'SQLGetDiagRec'.
>> Mono-INFO: Found as 'SQLGetDiagRec'.
>> Bart
>> not useLibCli
>> 
>> Unhandled Exception: IBM.Data.DB2.DB2Exception: ERROR [08003] [IBM][CLI
>> Driver] CLI0106E  Connection is closed. SQLSTATE=08003
>> InternalExecuteNonQuery: Unable to allocate statement handle.
>>   at IBM.Data.DB2.DB2Command.AllocateStatement (System.String location)
>> [0x0]
>>   at IBM.Data.DB2.DB2Command.ExecuteNonQueryInternal (CommandBehavior
>> behavior) [0x0]
>>   at IBM.Data.DB2.DB2Command.ExecuteReader (CommandBehavior behavior)
>> [0x0]
>>   at IBM.Data.DB2.DB2Command.ExecuteReader () [0x0]
>>   at (wrapper remoting-invoke-with-check)
>> IBM.Data.DB2.DB2Command:ExecuteReader ()
>>   at HelloWorldDb2.Main (System.String[] args) [0x0] 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/IBM.Data.DB2.DB2Exception%3A-Una

Re: [Mono-dev] IBM.Data.DB2.DB2Exception: Unable to allocate statement handle

2009-02-12 Thread Bartolomeo Nicolotti

Da: Daniel Morgan 

Have you considered using ODBC provider instead?

System.Data.Odbc namespace is included in System.Data assembly.

You can use iodbc or unixodbc on linux.  There's commercial odbc solutions
for linux too.

http://mono-project.com/ODBC

http://www.unixodbc.com/doc/db2.html

Novell maintains System.Data.Odbc; however, I do not think anyone is
maintaining IBM.Data.DB2 in Mono.


--- On Wed, 2/11/09, Bartolomeo Nicolotti  wrote:



Bartolomeo Nicolotti wrote:
> 
> IBM.Data.DB2.DB2Exception: Unable to allocate statement handle
> 
> by Bartolomeo Nicolotti :: Rate this Message:
> 
> Reply | Reply to Author | View Threaded | Show Only this Message
> Hello,
> 
> I've installed mono, and xsp (not yet mod_mono) on ubuntu following the
> instruction here:
> 
> http://ubuntuforums.org/showthread.php?t=803743
> 
> in view of using mod_mono together with php on ubuntu server 8.04, to
> migrate a web service that access a db2/as400 database.
> 
> I've also installed db2exc from ubuntu repository as said here:
> 
> http://www.ubuntu.com/partners/ibm/db2
> 
> I can compile a test program that does a query to the db:
> 
>  http://www.nabble.com/file/p21953488/helloDB2.cs helloDB2.cs 
> 
> s...@lxpc54:~/src/test$ gmcs -r:/usr/lib/mono/1.0/IBM.Data.DB2.dll
> -r:/usr/lib/mono/2.0/System.Data.dll helloDB2.cs
> 
> but when I execute it:
> 
> s...@lxpc54:~/src/test$ sudo MONO_LOG_LEVEL=debug mono helloDB2.exe bart
> 
> 
> 
> Mono-INFO: Assembly Ref addref System.Data 0x8362e10 -> System.Xml
> 0x83719d8: 2
> 
> Hello, bart
> Mono-INFO: DllImport attempting to load: 'libdb2'.
> Mono-INFO: DllImport loading location: 'libdb2.so'.
> Mono-INFO: Searching for 'SQLAllocHandle'.
> Mono-INFO: Probing 'SQLAllocHandle'.
> Mono-INFO: Found as 'SQLAllocHandle'.
> Mono-INFO: DllImport attempting to load: 'libdb2'.
> Mono-INFO: DllImport loading location: 'libdb2.so'.
> Mono-INFO: Searching for 'SQLAllocHandle'.
> Mono-INFO: Probing 'SQLAllocHandle'.
> Mono-INFO: Found as 'SQLAllocHandle'.
> Bart
> not useLibCli
> Bart
> not useLibCli
> Mono-INFO: DllImport attempting to load: 'libdb2'.
> Mono-INFO: DllImport loading location: 'libdb2.so'.
> Mono-INFO: Searching for 'SQLDriverConnectW'.
> Mono-INFO: Probing 'SQLDriverConnectWW'.
> Mono-INFO: Probing 'SQLDriverConnectWW'.
> Mono-INFO: Probing 'SQLDriverConnectW'.
> Mono-INFO: Found as 'SQLDriverConnectW'.
> Mono-INFO: DllImport attempting to load: 'libdb2'.
> Mono-INFO: DllImport loading location: 'libdb2.so'.
> Mono-INFO: Searching for 'SQLDriverConnectW'.
> Mono-INFO: Probing 'SQLDriverConnectWW'.
> Mono-INFO: Probing 'SQLDriverConnectWW'.
> Mono-INFO: Probing 'SQLDriverConnectW'.
> Mono-INFO: Found as 'SQLDriverConnectW'.
> Mono-INFO: DllImport attempting to load: 'libdb2'.
> Mono-INFO: DllImport loading location: 'libdb2.so'.
> Mono-INFO: Searching for 'SQLGetInfoW'.
> Mono-INFO: Probing 'SQLGetInfoWW'.
> Mono-INFO: Probing 'SQLGetInfoWW'.
> Mono-INFO: Probing 'SQLGetInfoW'.
> Mono-INFO: Found as 'SQLGetInfoW'.
> Mono-INFO: DllImport attempting to load: 'libdb2'.
> Mono-INFO: DllImport loading location: 'libdb2.so'.
> Mono-INFO: Searching for 'SQLGetInfoW'.
> Mono-INFO: Probing 'SQLGetInfoWW'.
> Mono-INFO: Probing 'SQLGetInfoWW'.
> Mono-INFO: Probing 'SQLGetInfoW'.
> Mono-INFO: Found as 'SQLGetInfoW'.
> Mono-INFO: DllImport attempting to load: 'libdb2'.
> Mono-INFO: DllImport loading location: 'libdb2.so'.
> Mono-INFO: Searching for 'SQLGetDiagRec'.
> Mono-INFO: Probing 'SQLGetDiagRec'.
> Mono-INFO: Found as 'SQLGetDiagRec'.
> Mono-INFO: DllImport attempting to load: 'libdb2'.
> Mono-INFO: DllImport loading location: 'libdb2.so'.
> Mono-INFO: Searching for 'SQLGetDiagRec'.
> Mono-INFO: Probing 'SQLGetDiagRec'.
> Mono-INFO: Found as 'SQLGetDiagRec'.
> Bart
> not useLibCli
> 
> Unhandled Exception: IBM.Data.DB2.DB2Exception: ERROR [08003] [IBM][CLI
> Driver] CLI0106E  Connection is closed. SQLSTATE=08003
> InternalExecuteNonQuery: Unable to allocate statement handle.
>   at IBM.Data.DB2.DB2Command.AllocateStatement (System.String location)
> [0x0]
>   at IBM.Data.DB2.DB2Command.ExecuteNonQueryInternal (CommandBehavior
> behavior) [0x0]
>   at IBM.Data.DB2.DB2Command.ExecuteReader (CommandBehavior behavior)
> [0x0]
>   at IBM.Data.DB2.DB2Command.ExecuteReader () [0x0]
>   at (wrapper remoting-invoke-with-check)
> IBM.Data.DB2.DB2Command:ExecuteReader ()
>   at HelloWorldDb2.Main (System.String[] args) [0x0] 
> 

-- 
View this message in context: 
http://www.nabble.com/IBM.Data.DB2.DB2Exception%3A-Unable-to-allocate-statement-handle-tp21953488p21971654.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list