Euflorium: The Eufloria Community
Eufloria => Eufloria Classic => Eufloria Classic Support => Topic started by: kybalion on June 22, 2009, 08:43:48 AM
-
xxxxx@#####:~/Software/dyson120-linux> mono Dyson.exe
Unhandled Exception: System.DllNotFoundException: libSDL_gfx.so.4
at (wrapper managed-to-native) Tao.Sdl.SdlGfx:zoomSurface (intptr,double,double,int)
at SdlDotNet.Graphics.Surface.Clone (Boolean doDeepCopy) [0x00000]
at SdlDotNet.Graphics.Surface.Clone () [0x00000]
at SdlDotNet.Graphics.Surface.CreateStretchedSurface (Size destinationSize) [0x00000]
at SdlDotNet.Graphics.Surface.CreateResizedSurfaceInternal (Size destinationSize) [0x00000]
at SdlDotNet.Graphics.Surface.CreateResizedSurface (Size destinationSize) [0x00000]
at SdlDotNet.Graphics.Surface.CreateResizedSurface () [0x00000]
at Wuwei.Drawing.GLSurface.TransformSurface (Boolean flipSurface) [0x00000]
at Wuwei.Drawing.GLSurface.Refresh (SdlDotNet.Graphics.Surface surface, Boolean flipSurface) [0x00000]
at Wuwei.Drawing.GLSprite.Refresh (SdlDotNet.Graphics.Surface surface, Boolean flipSurface) [0x00000]
at Wuwei.Drawing.GLSurface.Refresh () [0x00000]
at Wuwei.Drawing.GLSurface.Check () [0x00000]
at Wuwei.Drawing.Blitter.Draw (Wuwei.Maths.Vector3f[] verts, Wuwei.Maths.Vector2f[] texcoords, ColorF color) [0x00000]
at Wuwei.Drawing.BitmapFont.DrawLineOfText (System.String text, Single scale, Vector3f drawPos, Vector2f bounds, Single lineWidth, Int32 numWords, HorizontalJustification hjustify, Boolean batch, Wuwei.Drawing.FormattingInfo formatInfoAtStartOfLine, Int32 startCharacter, Int32 finalCharacter) [0x00000]
at Wuwei.Drawing.BitmapFont.DrawProcessText (System.String text, RectangleF bounds, HorizontalJustification hjustify, Single lineHeight, Single z, Single scale, Wuwei.Maths.Vector2f& cursorPosition, System.Int32& numLines, Boolean draw, Boolean batch) [0x00000]
at Wuwei.Drawing.BitmapFont.Draw (System.String text, RectangleF bounds, HorizontalJustification hjustify, VerticalJustification vjustify, Single z, ColorF colour, Single scale, Boolean batch) [0x00000]
at Wuwei.Drawing.BitmapFont.PrintString (System.String text, Int32 x, Int32 y, Color color, Boolean dropShadow, Single zoom, Boolean batcher) [0x00000]
at Dyson.Game.DrawLoadingScreen () [0x00000]
at Dyson.Game.Go () [0x00000]
at Dyson.Game.Main () [0x00000]
I already have installed sdl gfx 2.0.17-1.108; running on opensuse 11.1 with an intel 945gm video card with some-kind of shared memory wich I don't understand. Any idea? I will try to run the windows version on wine.
-
Try changing the manifest to libSDL_gfx.so.0. I will update the archive
-
How do I do that?
-
It's in Tao.sdl.dll.config.
I've attached a fixed version.
-
Fixed version is great, but there are some weird libSDL_gfx packages, that, for example, do not create libSDL_gfx.so.0, but libSDL_gfx.so instead.
It is impossible to cover all maintainers' quirks so, I think, it's better to add into system requirements for Linux version something like:
"If you have Unhandled Exception: System.DllNotFoundException: libSDL_gfx.so.0 error, and you are sure that libSDL_gfx package is installed, please, look for libSDL_gfx.so in /usr/lib/ and as a superuser execute <i>ln -s /usr/lib/libSDL_gfx.so /usr/lib/libSDL_gfx.so.0</i>"
-
Linux is a pain :-\
-
Well, as I looked in it, why won't you supply SDL libraries for Linux with the game?
Just as you do with SDL libs Windows.
I've checked, they are 1,2M unpacked and 450K packed, so it won't be a burden.
-
Yep, sounds like a plan. ATM I just stuff the whole windows build into a zip, it's incredibly unprofessional.
-
It's in Tao.sdl.dll.config.
I've attached a fixed version.
It works, but the audio sounds with some weird noises. Thanks anyway
-
Just to let you know, you're kinda doing it wrong with the manifests.
Using the full versioned binary name is destined for trouble like this, it's much easier and cleaner to just use the short binary name in your config files. For example.
<configuration>
<dllmap dll="SDL.dll">
<dllentry os="linux" dll="SDL"/>
<dllentry os="windows" dll="SDL.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/SDL.framework/SDL" />
</dllmap>
<dllmap dll="SDL_image.dll">
<dllentry os="linux" dll="SDL_image" />
<dllentry os="windows" dll="SDL_image.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/SDL_image.framework/SDL_image" />
</dllmap>
<dllmap dll="SDL_mixer.dll">
<dllentry os="linux" dll="SDL_mixer" />
<dllentry os="windows" dll="SDL_mixer.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/SDL_mixer.framework/SDL_mixer" />
</dllmap>
<dllmap dll="SDL_ttf.dll">
<dllentry os="linux" dll="SDL_ttf" />
<dllentry os="windows" dll="SDL_ttf.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/SDL_ttf.framework/SDL_ttf" />
</dllmap>
<dllmap dll="SDL_net.dll">
<dllentry os="linux" dll="SDL_net" />
<dllentry os="windows" dll="SDL_net.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/SDL_net.framework/SDL_net" />
</dllmap>
<dllmap dll="smpeg.dll">
<dllentry os="linux" dll="smpeg" />
<dllentry os="windows" dll="smpeg.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/smpeg.framework/smpeg" />
</dllmap>
<dllmap dll="SDL_gfx.dll">
<dllentry os="linux" dll="SDL_gfx" />
<dllentry os="windows" dll="SDL_gfx.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/SDL_gfx.framework/SDL_gfx" />
</dllmap>
</configuration>
If your Tao.Sdl.dll.config file looks like that, mono will have much better luck picking up various versions of the binaries which various distributions might provide. Otherwise you will be fighting a war you cannot win.
Hope this helps.
-
Thanks! ;D
-
Anything to help games on linux. :D