[Mono-list] building after checkout

2011-01-10 Thread Eric Slosser
I'm building Mono on MacOSX from source that I get via 'git'.  

Imagine there are two commits, A and B, both reachable from the branch I'm on, 
and historically in that order (B is younger).  I've built A.  When I say 
'built', I mean:

./autogen.sh --prefix=/usr/monotip
make clean; make; make install

If I use 'git checkout' to move to commit B, then what's the minimum I need do 
to build it?  

When I just do 'git checkout B; make', I am told that eglib can't be built 
because aclocal.m4 doesn't exist.  I can repeat the commands I used to build A, 
but I hope there's a better way.
___
Mono-list maillist  -  Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list


[Mono-list] tag or branch for 2.8.2?

2011-01-10 Thread Eric Slosser
I see 2.8.2 on www.go-mono.com/mono-downloads/download.html, but neither 'git 
branch -r' or 'git tag -l' suggests what files went in it.

Am I looking in the wrong place?
___
Mono-list maillist  -  Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list


Re: [Mono-list] why does gmcs let me assign null to a value type?

2011-01-06 Thread Eric Slosser
On Jan 5, 2011, at 3:45 PM, Miguel de Icaza wrote:
 I hate this behavior, and I believe it was introduced around c# 3

I'm not sure what you're saying.  That this is csharp standard behavior?  Can 
you point me to a reference or discussion of this?

Further poking finds that 'Field' just needs to be in a referenced assembly.  
Field's assembly doesn't need to be compiled by VisStudio, it can be compiled 
by gmcs.

The problem is that downstream of 'f = null', we have code that does 'f == 
null' and 'f != null', which does one thing under .NET and another under Mono.  
That's no fun.

If that code is compiled by gmcs, we get a compile-time warning (CS0472) and 
can fix it.  But many of the assemblies are intended to be compiled only by 
VisStudio.  Some of the assemblies CAN ONLY be compiled by VisStudio because 
their projects rely on VisStudio plugins.  

So all we have is unexpected runtime behavior, which we have to search for at 
runtime. Is there some way to inspect the VisStudio-produced assemblies and 
find all instances of these compare struct to null?

Another solution would be to teach VisStudio to not allow 'Field f = null' or 
'f == null', then everyone working on .NET alone would have to write code that 
conforms to Mono's behavior.  Is that possible?


 On Wednesday, January 5, 2011, Eric Slosser eric.slos...@v-fx.com wrote:
 csharp newbie
 
 I have a C# struct that's defined as
 
public struct Field : IComparable, IComparableField, 
 IEquatableField
{
}
 
 When I do this:
 
Field f = null;
 
 I'd expect error CS0037 (can't convert null to 'Field' because it is a value 
 type.
 
 But when Field is defined in an assembly that was compiled by VisStudio,
 gmcs (v2.8.1.0) is happy to let me assign null to it.
 



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


Re: [Mono-list] why does gmcs let me assign null to a value type?

2011-01-06 Thread Eric Slosser
Dan, did you use one project/assembly or two?  You need two for 'f = null' to 
be allowed.

On Jan 6, 2011, at 10:58 AM, Daniel Soto wrote:

 Hmmm, I though that it's because of a behaviour of .NET 3.x, but I compiled 
 your code in Visual Studio 2010 using .NET 3.0, 3.5 and 4.0 and csc compiler 
 launches an error that you say.
 
 2011/1/5 Miguel de Icaza mig...@novell.com
 I hate this behavior, and I believe it was introduced around c# 3
 
 On Wednesday, January 5, 2011, Eric Slosser eric.slos...@v-fx.com wrote:
  csharp newbie
 
  I have a C# struct that's defined as
 
  public struct Field : IComparable, IComparableField, 
  IEquatableField
  {
  }
 
  When I do this:
 
  Field f = null;
 
  I'd expect error CS0037 (can't convert null to 'Field' because it is a 
  value type.
 
  But when Field is defined in an assembly that was compiled by VisStudio, 
  gmcs (v2.8.1.0) is happy to let me assign null to it.
 
  Why?
 
 
  ___
  Mono-list maillist  -  Mono-list@lists.ximian.com
  http://lists.ximian.com/mailman/listinfo/mono-list
 
 ___
 Mono-list maillist  -  Mono-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-list
 

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


Re: [Mono-list] why does gmcs let me assign null to a value type?

2011-01-06 Thread Eric Slosser
On Jan 6, 2011, at 10:55 AM, Eric Slosser wrote:

 The problem is that downstream of 'f = null', we have code that does 'f == 
 null' and 'f != null', which does one thing under .NET and another under 
 Mono.  That's no fun.

I am happy to say I was wrong about the above.  Given this code:

Field f = null;
Console.WriteLine({0} {1}, f==null, f!=null );

When compiled by Mono, the output is false true. 
When compiled by VisStudio, the output is true false.

It doesn't matter whether the compiled code is run under .Net or Mono, just who 
did the compiling.

So I can use the assemblies produced by VisStudio and get the 'expected' 
behavior.  

My only problem with that approach is that I've never been able to get 
MonoDevelop to step through code that it didn't compile.  Is that possible?
___
Mono-list maillist  -  Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list


Re: [Mono-list] [OSX][WinForms] DllNotFoundException on libgdiplus.dylib, but library installed

2011-01-06 Thread Eric Slosser
I'm not sure, but perhaps your problem is that MacPorts doesn't install xterm 
libraries where they're expected to be found.  I used Apple's installer.  I see 
the following are loaded by my WinForms app running on Snow Leopard.

/usr/X11R6/lib/libSM.6.dylib
/usr/X11R6/lib/libXrender.1.dylib
/usr/X11R6/lib/libfontconfig.1.dylib
/usr/X11R6/lib/libICE.6.dylib
/usr/X11/lib/libXau.6.dylib
/usr/X11R6/lib/libfreetype.6.dylib
/usr/X11R6/lib/libX11.6.dylib
/usr/X11/lib/libXdmcp.6.dylib


On Jan 6, 2011, at 12:12 PM, Tarnyko wrote:

 I'm trying to run my WinForms executable on Mac OS X Leopard, using official
 Mono Framework 2.8.1 . 
 
 It crashes and I'm always getting this message : 
 An exception was thrown by the type initializer for System.Drawing.GDIPlus
 --- System.DllNotFoundException:
 /Library/Frameworks/Mono.framework/Versions/2.8.1/lib/libgdiplus.dylibI
 turned on debug to have more details : 
 Mono: DllImport loading location:
 '/Library/Frameworks/Mono.framework/Versions/2.8.1/lib/libgdiplus.dylib' 
 Mono: DllImport error loading library: '(null)'.
 
 I've read the FAQ, which says this file may be missing, but I'm pretty sure
 it's here : 
 # pwd 
 /Library/Frameworks/Mono.framework/Versions/2.8.1/lib 
 # ls libgdi* 
 libgdiplus.0.dylib   libgdiplus.dylib
 
 I also thought it may be due to a missing Xorg dependency. So I downloaded
 and installed it using MacPorts : 
 # port install xorg-server
 
 I ran the program from a xterm, but same message here... 
 I have no problems running it on Linux with Mono. 
 Can somebody help me ?

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


[Mono-list] why does gmcs let me assign null to a value type?

2011-01-05 Thread Eric Slosser
csharp newbie

I have a C# struct that's defined as

public struct Field : IComparable, IComparableField, 
IEquatableField 
{
}

When I do this:

Field f = null;

I'd expect error CS0037 (can't convert null to 'Field' because it is a value 
type.

But when Field is defined in an assembly that was compiled by VisStudio, gmcs 
(v2.8.1.0) is happy to let me assign null to it.  

Why?


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


[Mono-list] why is mono looking for this resource dll?

2010-09-14 Thread Eric Slosser
I'm trying to configure my Mac app to include Mono inside it so I can run on a 
machine that doesn't have Mono installed.

I'm launching it from the Terminal, with 'pwd' as 
/MyApp.app/Contents/MacOS.  I've got MONO_PATH and DYLD_LIBRARY_PATH set so 
assemblies and libraries are found.  My entry point is in a C-based executable 
that calls mono_main().   Mono v. 2.6.4.

When I launch using my executable on a machine that doesn't have Mono 
installed, eventually my Foo.dll  calls:

ResourceManager rMgr = new ResourceManager( Foo.FooText, 
Assembly.GetAssembly( typeof(Foo) ) );
rMgr.GetString(FOO_STRINGS);

... and mscorlib tells me:

Looking for assembly /Contents/Runtime/Satellite/Foo.resources.dll
Main: Exception: Could not find any resources appropriate for the specified 
culture or the neutral culture.  Make sure Foo.FooText.resources was 
correctly embedded or linked into assembly Foo at compile time, or that all 
the satellite assemblies required are loadable and fully signed. by mscorlib
  at System.Resources.ResourceManager.AssemblyResourceMissing (System.String 
fileName) [0x0] in filename unknown:0 
  at System.Resources.ResourceManager.InternalGetResourceSet 
(System.Globalization.CultureInfo culture, Boolean createIfNotExists, Boolean 
tryParents) [0x0] in filename unknown:0 
  at System.Resources.ResourceManager.InternalGetResourceSet 
(System.Globalization.CultureInfo culture, Boolean createIfNotExists, Boolean 
tryParents) [0x0] in filename unknown:0 
  at System.Resources.ResourceManager.InternalGetResourceSet 
(System.Globalization.CultureInfo culture, Boolean createIfNotExists, Boolean 
tryParents) [0x0] in filename unknown:0 
  at System.Resources.ResourceManager.GetString (System.String name, 
System.Globalization.CultureInfo culture) [0x0] in filename unknown:0 
  at System.Resources.ResourceManager.GetString (System.String name) [0x0] 
in filename unknown:0 

This bundle works fine when I launch it using an installed Mono, or if I launch 
it using my executable on a machine that has Mono installed, so I'm guessing 
that I've failed to copy some bit of Mono into my bundle, or that I've failed 
to alter some configuration string.  

All pearls appreciated.

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


Re: [Mono-list] why is mono looking for this resource dll?

2010-09-14 Thread Eric Slosser
Maybe I should have mentioned that the resources were defined in FooText.resx.  
Using Reflector, I discovered that the resources were embedded in the namespace 
Foo.SomeFolder.FooText.resources.

In VisStudio, I moved FooText.resx up one level, which fixes things.   

Seems like a bug in my code, I constructed rMgr with the wrong 1st parameter.  
But this worked under .NET, and under installed-Mono, so maybe it's a Mono bug. 
 If someone closer to the innards wants a bug report, I'll write it up.


On Sep 14, 2010, at 11:02 AM, Eric Slosser wrote:

 I'm trying to configure my Mac app to include Mono inside it so I can run on 
 a machine that doesn't have Mono installed.
 
 I'm launching it from the Terminal, with 'pwd' as 
 /MyApp.app/Contents/MacOS.  I've got MONO_PATH and DYLD_LIBRARY_PATH set 
 so assemblies and libraries are found.  My entry point is in a C-based 
 executable that calls mono_main().   Mono v. 2.6.4.
 
 When I launch using my executable on a machine that doesn't have Mono 
 installed, eventually my Foo.dll  calls:
 
 ResourceManager rMgr = new ResourceManager( Foo.FooText, 
 Assembly.GetAssembly( typeof(Foo) ) );
 rMgr.GetString(FOO_STRINGS);
 
 ... and mscorlib tells me:
 
 Looking for assembly /Contents/Runtime/Satellite/Foo.resources.dll
 Main: Exception: Could not find any resources appropriate for the specified 
 culture or the neutral culture.  Make sure Foo.FooText.resources was 
 correctly embedded or linked into assembly Foo at compile time, or that all 
 the satellite assemblies required are loadable and fully signed. by mscorlib
   at System.Resources.ResourceManager.AssemblyResourceMissing (System.String 
 fileName) [0x0] in filename unknown:0 
   at System.Resources.ResourceManager.InternalGetResourceSet 
 (System.Globalization.CultureInfo culture, Boolean createIfNotExists, Boolean 
 tryParents) [0x0] in filename unknown:0 
   at System.Resources.ResourceManager.InternalGetResourceSet 
 (System.Globalization.CultureInfo culture, Boolean createIfNotExists, Boolean 
 tryParents) [0x0] in filename unknown:0 
   at System.Resources.ResourceManager.InternalGetResourceSet 
 (System.Globalization.CultureInfo culture, Boolean createIfNotExists, Boolean 
 tryParents) [0x0] in filename unknown:0 
   at System.Resources.ResourceManager.GetString (System.String name, 
 System.Globalization.CultureInfo culture) [0x0] in filename unknown:0 
   at System.Resources.ResourceManager.GetString (System.String name) 
 [0x0] in filename unknown:0 
 
 This bundle works fine when I launch it using an installed Mono, or if I 
 launch it using my executable on a machine that has Mono installed, so I'm 
 guessing that I've failed to copy some bit of Mono into my bundle, or that 
 I've failed to alter some configuration string.  
 
 All pearls appreciated.
 
 ___
 Mono-list maillist  -  Mono-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-list

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