SFML community forums
Bindings - other languages => DotNet => Topic started by: Richy19 on February 01, 2013, 02:27:40 am
-
Im trying to get SFML.Net running o mono, I havejust recompiles SFML, CSFML and SFML.Net, however when trying to run the shader example that comes with SFML.Net I get:
Unhandled Exception: System.DllNotFoundException: libcsfml-graphics.so
at (wrapper managed-to-native) SFML.Graphics.RenderWindow:sfRenderWindow_create (SFML.Window.VideoMode,string,SFML.Window.Styles,SFML.Window.ContextSettings&)
at SFML.Graphics.RenderWindow..ctor (VideoMode mode, System.String title, Styles style, ContextSettings settings) [0x00000] in <filename unknown>:0
at SFML.Graphics.RenderWindow..ctor (VideoMode mode, System.String title) [0x00000] in <filename unknown>:0
at shader.Program.Main () [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.DllNotFoundException: libcsfml-graphics.so
at (wrapper managed-to-native) SFML.Graphics.RenderWindow:sfRenderWindow_create (SFML.Window.VideoMode,string,SFML.Window.Styles,SFML.Window.ContextSettings&)
at SFML.Graphics.RenderWindow..ctor (VideoMode mode, System.String title, Styles style, ContextSettings settings) [0x00000] in <filename unknown>:0
at SFML.Graphics.RenderWindow..ctor (VideoMode mode, System.String title) [0x00000] in <filename unknown>:0
at shader.Program.Main () [0x00000] in <filename unknown>:0
The application was terminated by a signal: SIGHUP
Im using the sfmlnet-xxx-2.dll.config files to remap the windows fdll's to linux .so
as so:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<dllmap dll="csfml-audio-2" target="libcsfml-audio.so" />
</configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<dllmap dll="csfml-graphics-2" target="libcsfml-graphics.so" />
</configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<dllmap dll="csfml-window-2" target="libcsfml-window.so" />
</configuration>
and the csfml files are in usr/local/lib:
richy@linux-nc18:/usr/local/lib> ls
Box2D libcsfml-network.so.2 libsfml-audio-d.so.2.0 libsfml-network.so.2
libBox2D.a libcsfml-network.so.2.0 libsfml-audio-s.a libsfml-network.so.2.0
libBox2D.so libcsfml-system-d.so libsfml-audio-s-d.a libsfml-system-d.so
libBox2D.so.2.1.0 libcsfml-system-d.so.2 libsfml-audio.so libsfml-system-d.so.2
libBulletCollision.a libcsfml-system-d.so.2.0 libsfml-audio.so.1.6 libsfml-system-d.so.2.0
libBulletDynamics.a libcsfml-system.so libsfml-audio.so.2 libsfml-system-s.a
libBulletSoftBody.a libcsfml-system.so.2 libsfml-audio.so.2.0 libsfml-system-s-d.a
libcsfml-audio-d.so libcsfml-system.so.2.0 libsfml-graphics-d.so libsfml-system.so
libcsfml-audio-d.so.2 libcsfml-window-d.so libsfml-graphics-d.so.2 libsfml-system.so.1.6
libcsfml-audio-d.so.2.0 libcsfml-window-d.so.2 libsfml-graphics-d.so.2.0 libsfml-system.so.2
libcsfml-audio.so libcsfml-window-d.so.2.0 libsfml-graphics-s.a libsfml-system.so.2.0
libcsfml-audio.so.2 libcsfml-window.so libsfml-graphics-s-d.a libsfml-window-d.so
libcsfml-audio.so.2.0 libcsfml-window.so.2 libsfml-graphics.so libsfml-window-d.so.2
libcsfml-graphics-d.so libcsfml-window.so.2.0 libsfml-graphics.so.1.6 libsfml-window-d.so.2.0
libcsfml-graphics-d.so.2 libglfw.a libsfml-graphics.so.2 libsfml-window-s.a
libcsfml-graphics-d.so.2.0 libglfw.so libsfml-graphics.so.2.0 libsfml-window-s-d.a
libcsfml-graphics.so libLinearMath.a libsfml-network-d.so libsfml-window.so
libcsfml-graphics.so.2 libluajit-5.1.a libsfml-network-d.so.2 libsfml-window.so.1.6
libcsfml-graphics.so.2.0 libluajit-5.1.so libsfml-network-d.so.2.0 libsfml-window.so.2
libcsfml-network-d.so libluajit-5.1.so.2 libsfml-network-s.a libsfml-window.so.2.0
libcsfml-network-d.so.2 libluajit-5.1.so.2.0.0 libsfml-network-s-d.a lua
libcsfml-network-d.so.2.0 libsfml-audio-d.so libsfml-network.so pkgconfig
libcsfml-network.so libsfml-audio-d.so.2 libsfml-network.so.1.6
Whats even more weird is a project I had that included SFML.Net is now using the newly compiled SFML.Net DLL's and its complaining becuse window.isOpen() doesnt exist, it wants the method to be IsOpen(). However im sure you changd the naming convention for the SFML.Net and CSFML a long time ago.
Anyone know whats going on?
-
Are you sure that /usr/local/lib is in ld's search paths?
I didn't change the naming convention of SFML.Net, since UpperCamelCase is the standard for .Net.
-
Are you sure that /usr/local/lib is in ld's search paths?
I didn't change the naming convention of SFML.Net, since UpperCamelCase is the standard for .Net.
Yea this is the output of ldconfig -v
/usr/local/lib:
libcsfml-audio-d.so.2 -> libcsfml-audio-d.so.2.0
libcsfml-graphics-d.so.2 -> libcsfml-graphics-d.so.2.0
libcsfml-network-d.so.2 -> libcsfml-network-d.so.2.0
libcsfml-window-d.so.2 -> libcsfml-window-d.so.2.0
libcsfml-system-d.so.2 -> libcsfml-system-d.so.2.0
libcsfml-audio.so.2 -> libcsfml-audio.so.2.0
libcsfml-graphics.so.2 -> libcsfml-graphics.so.2.0
libcsfml-network.so.2 -> libcsfml-network.so.2.0
libcsfml-window.so.2 -> libcsfml-window.so.2.0
libcsfml-system.so.2 -> libcsfml-system.so.2.0
libBox2D.so.2.1.0 -> libBox2D.so.2.1.0
libsfml-audio.so.1.6 -> libsfml-audio.so.1.6
libsfml-graphics.so.1.6 -> libsfml-graphics.so.1.6
libsfml-network.so.1.6 -> libsfml-network.so.1.6
libsfml-window.so.1.6 -> libsfml-window.so.1.6
libsfml-system.so.1.6 -> libsfml-system.so.1.6
libluajit-5.1.so.2 -> libluajit-5.1.so.2.0.0
libglfw.so -> libglfw.so
libsfml-audio-d.so.2 -> libsfml-audio-d.so.2.0
libsfml-graphics-d.so.2 -> libsfml-graphics-d.so.2.0
libsfml-network-d.so.2 -> libsfml-network-d.so.2.0
libsfml-window-d.so.2 -> libsfml-window-d.so.2.0
libsfml-system-d.so.2 -> libsfml-system-d.so.2.0
libsfml-audio.so.2 -> libsfml-audio.so.2.0
libsfml-graphics.so.2 -> libsfml-graphics.so.2.0
libsfml-network.so.2 -> libsfml-network.so.2.0
libsfml-window.so.2 -> libsfml-window.so.2.0
libsfml-system.so.2 -> libsfml-system.so.2.0
/usr/lib/xorg/modules:
...
/usr/lib/graphviz:
...
/opt/kde3/lib:
...
/usr/lib/wx-2.8-stl:
...
/lib:
...
/usr/lib:
...
/lib/i686: (hwcap: 0x0008000000000000)
-
I can see the libcsfml-xxx.so.2 -> libcsfml-xxx.so.2.0 symlinks, but do the libcsfml-xxx.so -> libcsfml-xxx.so.2 symlinks exist as well?
-
I can see the libcsfml-xxx.so.2 -> libcsfml-xxx.so.2.0 symlinks, but do the libcsfml-xxx.so -> libcsfml-xxx.so.2 symlinks exist as well?
They should, the files are in there and all I have done is installed it via make install
... just tried changing the config files to
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<dllmap dll="csfml-xxx-2" target="libcsfml-xxx.so.2" />
</configuration>
and it works, so no idea why the symlinks arent there, how do I go about creating them?
-
Hmm no the symlinks are there
lrwxrwxrwx 1 root root 21 Feb 1 01:12 libcsfml-audio-d.so -> libcsfml-audio-d.so.2
lrwxrwxrwx 1 root root 23 Feb 1 01:12 libcsfml-audio-d.so.2 -> libcsfml-audio-d.so.2.0
-rwxr-xr-x 1 root root 214336 Feb 1 01:12 libcsfml-audio-d.so.2.0
lrwxrwxrwx 1 root root 19 Feb 1 00:53 libcsfml-audio.so -> libcsfml-audio.so.2
lrwxrwxrwx 1 root root 21 Feb 1 00:53 libcsfml-audio.so.2 -> libcsfml-audio.so.2.0
-rwxr-xr-x 1 root root 46547 Feb 1 01:12 libcsfml-audio.so.2.0
lrwxrwxrwx 1 root root 24 Feb 1 01:12 libcsfml-graphics-d.so -> libcsfml-graphics-d.so.2
lrwxrwxrwx 1 root root 26 Feb 1 01:12 libcsfml-graphics-d.so.2 -> libcsfml-graphics-d.so.2.0
-rwxr-xr-x 1 root root 1093485 Feb 1 01:12 libcsfml-graphics-d.so.2.0
lrwxrwxrwx 1 root root 22 Feb 1 00:53 libcsfml-graphics.so -> libcsfml-graphics.so.2
lrwxrwxrwx 1 root root 24 Feb 1 00:53 libcsfml-graphics.so.2 -> libcsfml-graphics.so.2.0
-rwxr-xr-x 1 root root 162372 Feb 1 01:12 libcsfml-graphics.so.2.0
For some reason it doesnt want to use those ones. either way it seems to be working now