[Mono-devel-list] mono SDL linux/win32 SDL.DLL - my brain hurts!
I am the maintainer of SDL.NET and Tao.Sdl. The easiest course of action to get you up and running (and the method I used to produce the Linux screenshots) is to put Tao.Sdl.dll, SdlDotNet.dll in your path and make sure that Tao.Sdl.dll.config lists the correct filenames (either for Linux or MacOSX). I hope to get rid of the config file and set the lib name at runtime for Tao.Sdl, but I have not implemented that yet. Any advice on the best way to do that would be greatly appreciated. Dave -- Message: 4 Date: Thu, 21 Jul 2005 00:50:56 -0400 From: ted leslie [EMAIL PROTECTED] Subject: Re: [Mono-devel-list] mono SDL linux/win32 SDL.DLL - my brain hurts! To: mono-devel-list@lists.ximian.com Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii I got it working on the really old SDL.NET package that had Make/Build support for Mono, I needed to put up the SDL-Dev libs too !! arggh!!! :( But still, i'd love to be able to get a recent (this year) build for SDL.NET working, as it looks really different (the new one) then the older one. Also if anyone could write a small, or point to a resource talking to the: How you write a wrapper in C#/Mono/Linux to wrap a standard libraryin linux that would be appreciated. and if someone could build the latest SDL.NET and post it somewhere that would be very much appreciated as well. -tl On Thu, Jul 21, 2005 at 03:36:48PM +1200, David Mitchell wrote: Try this: http://prdownloads.sourceforge.net/cs-sdl/SdlDotNet-3.1.2-1.zip?download Looks like the latest linux version to me. David ted leslie wrote: (After my preamble, I am essentially asking .. how does a wrapper to .Net/Mono work .) There must not be to many people writting cross platform apps that need sound? Searching for sound (audio, mp3, sound) on mono-project.com via mail list, etc returns almost nothing. Anyways I came across SDL on the Resources page wow!!! this will solve my problems! I go to cs-sdl.sourceforge.net and check it out, It has SDL.NET for Win32 and Linux (mono is supported, it says) So i download the support libraries for SDL.NET which are the traditional SDL libs .. put them on Win32 and updated my ones on my Suse box. I ran the Examples just fine on Win32 Now on to Linux and Mono ... First off the latest SDL.NET downloads on sourceforge seem to be for Win32 only (as an aside they have a nice installer that does everything for you on the Win32 side of things) So i dig back a COUPLE years and get a gz file (of SDL.NET) that has linux support (incidently i see screen caps in SDL.NET project page of SDL apps running on linux so even thought the linux support in the project seems old, it infact looks like it run and works) I build the SDL.NET on Linux (using latest stable release Mono), but there is an error in the Makefile, the pathing slash is of the windows variety (hm...?), so i fix that and Makefile the SDL.NET DLL's and the examples. The Examples compile/build fine but the give a Mono runtime error that they can't find System DLL:SDL.dll --An exception was thrown by the type initializer for SdlDotNet.Music --- System.DllNotFoundException: SDL.dll So this is were I hit a dead end because I don't know anything about .Net/C# wrappers to traditional C based libraries on Linux. I looked at the gtk-sharp wrapper (cause i know it works), I see a mixer of C and CS files and traditional gcc references in makefiles, but basically it looks like a big job to figure out gtk-sharp's process of a wrapper. On that note, is there a doucmentation section somewhere on that - i.e. building wrappers? To me, I am thinking in the end SDL.NET has to get hold of the routines in the SDL .so file right? how does that happen? I know how it happens in a traditional C/gcc compile, link, create a .so file, and compile your apps with dynamic support againt the .so what bit of magic get Mono to see/do that (with its wrapper)? I check around the SDL.NET code and see in the Natives.cs file this: const string SDL_DLL = SDL; const string MIX_DLL = SDL_mixer; // General [DllImport(SDL_DLL, CallingConvention=CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] public static extern int SDL_Init(int flags); which I am thinking is pretty key to the process ... but why reference SDL.DLL ... I don't have that on Linux, thats on Win32. Anyone shed light? Also, would it be a hard job making the same wrapper to the SDL lib on MAC-OSX to complete a good cross-platfrom SDL.NET class for Mono ? -tl ___ Mono-devel-list mailing list Mono
Re: [Mono-devel-list] mono SDL linux/win32 SDL.DLL - my brain hurts!
Hi Ted, Did you forget to copy the *.dll.config files that tell mono how to link against native non-windows libraries? See http://www.mono-project.com/Interop_with_Native_Libraries for details. rant This is the authoritative summary on the subject and I can't think of a good reason for some people missing it on Mono's site. trying-to-be-funny Should we have a prominent page on the site for a Quick Course on Wiki Navigation or Googling the Web? /trying-to-be-funny /rant Sorry for the rant, possibly I'm not thinking straight today. Lets cheer up, :) On 7/21/05, ted leslie [EMAIL PROTECTED] wrote: This version (of SDL.NET) has a script directory that you run to make a project for sharpdev or monodev i made for monodev (all though i have never used it, use slick-edit for dev), the script assumed the exe would run right away, so i needed to add mono in front of it as i dont have my kernel mod'd to run a mono.exe right away. Then when i started monodevelop and loaded in the project it made for me for monodevelop .. it still has windows pathing in it that caused errors, Really seems to me this SDL.NET project is very Windows flavoured! I don't know monodevelop .. Can someone build a workable SDL.NET (for/on linux) for me and send it or post it up somewhere? Having said that, I can't help but think that even this newer version, if i was to sucessfully build it, wouldn't it too still want to find/link to something other then SDL.dll ? I dont see all the DllImport attributes in this newer version either ... making me think this isn't destin to be built using mono to target linux, but for mono to target .Net on Win32 OS? Just to be sure here - there is a SDL.NET build FOR Mono on Linux right, if anyone is using it ... can they please come forward :) ? -tl On Thu, Jul 21, 2005 at 03:36:48PM +1200, David Mitchell wrote: Try this: http://prdownloads.sourceforge.net/cs-sdl/SdlDotNet-3.1.2-1.zip?download Looks like the latest linux version to me. David ted leslie wrote: (After my preamble, I am essentially asking .. how does a wrapper to .Net/Mono work .) There must not be to many people writting cross platform apps that need sound? Searching for sound (audio, mp3, sound) on mono-project.com via mail list, etc returns almost nothing. Anyways I came across SDL on the Resources page wow!!! this will solve my problems! I go to cs-sdl.sourceforge.net and check it out, It has SDL.NET for Win32 and Linux (mono is supported, it says) So i download the support libraries for SDL.NET which are the traditional SDL libs .. put them on Win32 and updated my ones on my Suse box. I ran the Examples just fine on Win32 Now on to Linux and Mono ... First off the latest SDL.NET downloads on sourceforge seem to be for Win32 only (as an aside they have a nice installer that does everything for you on the Win32 side of things) So i dig back a COUPLE years and get a gz file (of SDL.NET) that has linux support (incidently i see screen caps in SDL.NET project page of SDL apps running on linux so even thought the linux support in the project seems old, it infact looks like it run and works) I build the SDL.NET on Linux (using latest stable release Mono), but there is an error in the Makefile, the pathing slash is of the windows variety (hm...?), so i fix that and Makefile the SDL.NET DLL's and the examples. The Examples compile/build fine but the give a Mono runtime error that they can't find System DLL:SDL.dll --An exception was thrown by the type initializer for SdlDotNet.Music --- System.DllNotFoundException: SDL.dll So this is were I hit a dead end because I don't know anything about .Net/C# wrappers to traditional C based libraries on Linux. I looked at the gtk-sharp wrapper (cause i know it works), I see a mixer of C and CS files and traditional gcc references in makefiles, but basically it looks like a big job to figure out gtk-sharp's process of a wrapper. On that note, is there a doucmentation section somewhere on that - i.e. building wrappers? To me, I am thinking in the end SDL.NET has to get hold of the routines in the SDL .so file right? how does that happen? I know how it happens in a traditional C/gcc compile, link, create a .so file, and compile your apps with dynamic support againt the .so what bit of magic get Mono to see/do that (with its wrapper)? I check around the SDL.NET code and see in the Natives.cs file this: const string SDL_DLL = SDL; const string MIX_DLL = SDL_mixer; // General [DllImport(SDL_DLL, CallingConvention=CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] public static extern int
[Mono-devel-list] mono SDL linux/win32 SDL.DLL - my brain hurts!
(After my preamble, I am essentially asking .. how does a wrapper to .Net/Mono work .) There must not be to many people writting cross platform apps that need sound? Searching for sound (audio, mp3, sound) on mono-project.com via mail list, etc returns almost nothing. Anyways I came across SDL on the Resources page wow!!! this will solve my problems! I go to cs-sdl.sourceforge.net and check it out, It has SDL.NET for Win32 and Linux (mono is supported, it says) So i download the support libraries for SDL.NET which are the traditional SDL libs .. put them on Win32 and updated my ones on my Suse box. I ran the Examples just fine on Win32 Now on to Linux and Mono ... First off the latest SDL.NET downloads on sourceforge seem to be for Win32 only (as an aside they have a nice installer that does everything for you on the Win32 side of things) So i dig back a COUPLE years and get a gz file (of SDL.NET) that has linux support (incidently i see screen caps in SDL.NET project page of SDL apps running on linux so even thought the linux support in the project seems old, it infact looks like it run and works) I build the SDL.NET on Linux (using latest stable release Mono), but there is an error in the Makefile, the pathing slash is of the windows variety (hm...?), so i fix that and Makefile the SDL.NET DLL's and the examples. The Examples compile/build fine but the give a Mono runtime error that they can't find System DLL:SDL.dll --An exception was thrown by the type initializer for SdlDotNet.Music --- System.DllNotFoundException: SDL.dll So this is were I hit a dead end because I don't know anything about .Net/C# wrappers to traditional C based libraries on Linux. I looked at the gtk-sharp wrapper (cause i know it works), I see a mixer of C and CS files and traditional gcc references in makefiles, but basically it looks like a big job to figure out gtk-sharp's process of a wrapper. On that note, is there a doucmentation section somewhere on that - i.e. building wrappers? To me, I am thinking in the end SDL.NET has to get hold of the routines in the SDL .so file right? how does that happen? I know how it happens in a traditional C/gcc compile, link, create a .so file, and compile your apps with dynamic support againt the .so what bit of magic get Mono to see/do that (with its wrapper)? I check around the SDL.NET code and see in the Natives.cs file this: const string SDL_DLL = SDL; const string MIX_DLL = SDL_mixer; // General [DllImport(SDL_DLL, CallingConvention=CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] public static extern int SDL_Init(int flags); which I am thinking is pretty key to the process ... but why reference SDL.DLL ... I don't have that on Linux, thats on Win32. Anyone shed light? Also, would it be a hard job making the same wrapper to the SDL lib on MAC-OSX to complete a good cross-platfrom SDL.NET class for Mono ? -tl ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-devel-list] mono SDL linux/win32 SDL.DLL - my brain hurts!
Oh, and you'll also want to make sure SDL (http://www.libsdl.org) is installed on your machine. David David Mitchell wrote: Try this: http://prdownloads.sourceforge.net/cs-sdl/SdlDotNet-3.1.2-1.zip?download Looks like the latest linux version to me. David ted leslie wrote: (After my preamble, I am essentially asking .. how does a wrapper to .Net/Mono work .) There must not be to many people writting cross platform apps that need sound? Searching for sound (audio, mp3, sound) on mono-project.com via mail list, etc returns almost nothing. Anyways I came across SDL on the Resources page wow!!! this will solve my problems! I go to cs-sdl.sourceforge.net and check it out, It has SDL.NET for Win32 and Linux (mono is supported, it says) So i download the support libraries for SDL.NET which are the traditional SDL libs .. put them on Win32 and updated my ones on my Suse box. I ran the Examples just fine on Win32 Now on to Linux and Mono ... First off the latest SDL.NET downloads on sourceforge seem to be for Win32 only (as an aside they have a nice installer that does everything for you on the Win32 side of things) So i dig back a COUPLE years and get a gz file (of SDL.NET) that has linux support (incidently i see screen caps in SDL.NET project page of SDL apps running on linux so even thought the linux support in the project seems old, it infact looks like it run and works) I build the SDL.NET on Linux (using latest stable release Mono), but there is an error in the Makefile, the pathing slash is of the windows variety (hm...?), so i fix that and Makefile the SDL.NET DLL's and the examples. The Examples compile/build fine but the give a Mono runtime error that they can't find System DLL:SDL.dll --An exception was thrown by the type initializer for SdlDotNet.Music --- System.DllNotFoundException: SDL.dll So this is were I hit a dead end because I don't know anything about .Net/C# wrappers to traditional C based libraries on Linux. I looked at the gtk-sharp wrapper (cause i know it works), I see a mixer of C and CS files and traditional gcc references in makefiles, but basically it looks like a big job to figure out gtk-sharp's process of a wrapper. On that note, is there a doucmentation section somewhere on that - i.e. building wrappers? To me, I am thinking in the end SDL.NET has to get hold of the routines in the SDL .so file right? how does that happen? I know how it happens in a traditional C/gcc compile, link, create a .so file, and compile your apps with dynamic support againt the .so what bit of magic get Mono to see/do that (with its wrapper)? I check around the SDL.NET code and see in the Natives.cs file this: const string SDL_DLL = SDL; const string MIX_DLL = SDL_mixer; // General [DllImport(SDL_DLL, CallingConvention=CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] public static extern int SDL_Init(int flags); which I am thinking is pretty key to the process ... but why reference SDL.DLL ... I don't have that on Linux, thats on Win32. Anyone shed light? Also, would it be a hard job making the same wrapper to the SDL lib on MAC-OSX to complete a good cross-platfrom SDL.NET class for Mono ? -tl ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list -- David Mitchell Software Engineer Telogis ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-devel-list] mono SDL linux/win32 SDL.DLL - my brain hurts!
This version (of SDL.NET) has a script directory that you run to make a project for sharpdev or monodev i made for monodev (all though i have never used it, use slick-edit for dev), the script assumed the exe would run right away, so i needed to add mono in front of it as i dont have my kernel mod'd to run a mono.exe right away. Then when i started monodevelop and loaded in the project it made for me for monodevelop .. it still has windows pathing in it that caused errors, Really seems to me this SDL.NET project is very Windows flavoured! I don't know monodevelop .. Can someone build a workable SDL.NET (for/on linux) for me and send it or post it up somewhere? Having said that, I can't help but think that even this newer version, if i was to sucessfully build it, wouldn't it too still want to find/link to something other then SDL.dll ? I dont see all the DllImport attributes in this newer version either ... making me think this isn't destin to be built using mono to target linux, but for mono to target .Net on Win32 OS? Just to be sure here - there is a SDL.NET build FOR Mono on Linux right, if anyone is using it ... can they please come forward :) ? -tl On Thu, Jul 21, 2005 at 03:36:48PM +1200, David Mitchell wrote: Try this: http://prdownloads.sourceforge.net/cs-sdl/SdlDotNet-3.1.2-1.zip?download Looks like the latest linux version to me. David ted leslie wrote: (After my preamble, I am essentially asking .. how does a wrapper to .Net/Mono work .) There must not be to many people writting cross platform apps that need sound? Searching for sound (audio, mp3, sound) on mono-project.com via mail list, etc returns almost nothing. Anyways I came across SDL on the Resources page wow!!! this will solve my problems! I go to cs-sdl.sourceforge.net and check it out, It has SDL.NET for Win32 and Linux (mono is supported, it says) So i download the support libraries for SDL.NET which are the traditional SDL libs .. put them on Win32 and updated my ones on my Suse box. I ran the Examples just fine on Win32 Now on to Linux and Mono ... First off the latest SDL.NET downloads on sourceforge seem to be for Win32 only (as an aside they have a nice installer that does everything for you on the Win32 side of things) So i dig back a COUPLE years and get a gz file (of SDL.NET) that has linux support (incidently i see screen caps in SDL.NET project page of SDL apps running on linux so even thought the linux support in the project seems old, it infact looks like it run and works) I build the SDL.NET on Linux (using latest stable release Mono), but there is an error in the Makefile, the pathing slash is of the windows variety (hm...?), so i fix that and Makefile the SDL.NET DLL's and the examples. The Examples compile/build fine but the give a Mono runtime error that they can't find System DLL:SDL.dll --An exception was thrown by the type initializer for SdlDotNet.Music --- System.DllNotFoundException: SDL.dll So this is were I hit a dead end because I don't know anything about .Net/C# wrappers to traditional C based libraries on Linux. I looked at the gtk-sharp wrapper (cause i know it works), I see a mixer of C and CS files and traditional gcc references in makefiles, but basically it looks like a big job to figure out gtk-sharp's process of a wrapper. On that note, is there a doucmentation section somewhere on that - i.e. building wrappers? To me, I am thinking in the end SDL.NET has to get hold of the routines in the SDL .so file right? how does that happen? I know how it happens in a traditional C/gcc compile, link, create a .so file, and compile your apps with dynamic support againt the .so what bit of magic get Mono to see/do that (with its wrapper)? I check around the SDL.NET code and see in the Natives.cs file this: const string SDL_DLL = SDL; const string MIX_DLL = SDL_mixer; // General [DllImport(SDL_DLL, CallingConvention=CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] public static extern int SDL_Init(int flags); which I am thinking is pretty key to the process ... but why reference SDL.DLL ... I don't have that on Linux, thats on Win32. Anyone shed light? Also, would it be a hard job making the same wrapper to the SDL lib on MAC-OSX to complete a good cross-platfrom SDL.NET class for Mono ? -tl ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list -- David Mitchell Software Engineer Telogis ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com
Re: [Mono-devel-list] mono SDL linux/win32 SDL.DLL - my brain hurts!
I got it working on the really old SDL.NET package that had Make/Build support for Mono, I needed to put up the SDL-Dev libs too !! arggh!!! :( But still, i'd love to be able to get a recent (this year) build for SDL.NET working, as it looks really different (the new one) then the older one. Also if anyone could write a small, or point to a resource talking to the: How you write a wrapper in C#/Mono/Linux to wrap a standard library in linux that would be appreciated. and if someone could build the latest SDL.NET and post it somewhere that would be very much appreciated as well. -tl On Thu, Jul 21, 2005 at 03:36:48PM +1200, David Mitchell wrote: Try this: http://prdownloads.sourceforge.net/cs-sdl/SdlDotNet-3.1.2-1.zip?download Looks like the latest linux version to me. David ted leslie wrote: (After my preamble, I am essentially asking .. how does a wrapper to .Net/Mono work .) There must not be to many people writting cross platform apps that need sound? Searching for sound (audio, mp3, sound) on mono-project.com via mail list, etc returns almost nothing. Anyways I came across SDL on the Resources page wow!!! this will solve my problems! I go to cs-sdl.sourceforge.net and check it out, It has SDL.NET for Win32 and Linux (mono is supported, it says) So i download the support libraries for SDL.NET which are the traditional SDL libs .. put them on Win32 and updated my ones on my Suse box. I ran the Examples just fine on Win32 Now on to Linux and Mono ... First off the latest SDL.NET downloads on sourceforge seem to be for Win32 only (as an aside they have a nice installer that does everything for you on the Win32 side of things) So i dig back a COUPLE years and get a gz file (of SDL.NET) that has linux support (incidently i see screen caps in SDL.NET project page of SDL apps running on linux so even thought the linux support in the project seems old, it infact looks like it run and works) I build the SDL.NET on Linux (using latest stable release Mono), but there is an error in the Makefile, the pathing slash is of the windows variety (hm...?), so i fix that and Makefile the SDL.NET DLL's and the examples. The Examples compile/build fine but the give a Mono runtime error that they can't find System DLL:SDL.dll --An exception was thrown by the type initializer for SdlDotNet.Music --- System.DllNotFoundException: SDL.dll So this is were I hit a dead end because I don't know anything about .Net/C# wrappers to traditional C based libraries on Linux. I looked at the gtk-sharp wrapper (cause i know it works), I see a mixer of C and CS files and traditional gcc references in makefiles, but basically it looks like a big job to figure out gtk-sharp's process of a wrapper. On that note, is there a doucmentation section somewhere on that - i.e. building wrappers? To me, I am thinking in the end SDL.NET has to get hold of the routines in the SDL .so file right? how does that happen? I know how it happens in a traditional C/gcc compile, link, create a .so file, and compile your apps with dynamic support againt the .so what bit of magic get Mono to see/do that (with its wrapper)? I check around the SDL.NET code and see in the Natives.cs file this: const string SDL_DLL = SDL; const string MIX_DLL = SDL_mixer; // General [DllImport(SDL_DLL, CallingConvention=CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] public static extern int SDL_Init(int flags); which I am thinking is pretty key to the process ... but why reference SDL.DLL ... I don't have that on Linux, thats on Win32. Anyone shed light? Also, would it be a hard job making the same wrapper to the SDL lib on MAC-OSX to complete a good cross-platfrom SDL.NET class for Mono ? -tl ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list -- David Mitchell Software Engineer Telogis ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list