Volumes Of Fun
http://www.volumesoffun.com/phpBB3/

Trying to get a unity3d-cubiquity app on linux to work...
http://www.volumesoffun.com/phpBB3/viewtopic.php?f=23&t=699
Page 1 of 1

Author:  Wannabe [ Sat May 20, 2017 10:41 pm ]
Post subject:  Trying to get a unity3d-cubiquity app on linux to work...

Hey,
i have exported my unity3d project for linux. I also put already a copy of libCubiquityC.so into "C:\...\project_Data\Mono\x86_64\"

But when i start my app it crashes. Unity3d Player.log says:
Quote:
Fallback handler could not load library /home/UnityServer/test_Data/Mono/x86_64/CubiquityC
Fallback handler could not load library /home/UnityServer/test_Data/Mono/x86_64/CubiquityC
Fallback handler could not load library /home/UnityServer/test_Data/Mono/x86_64/CubiquityC
Fallback handler could not load library /home/UnityServer/test_Data/Mono/x86_64/CubiquityC
Fallback handler could not load library /home/UnityServer/test_Data/Mono/x86_64/CubiquityC
Fallback handler could not load library /home/UnityServer/test_Data/Mono/x86_64/CubiquityC
Fallback handler could not load library /home/UnityServer/test_Data/Mono/x86_64/CubiquityC
Fallback handler could not load library /home/UnityServer/test_Data/Mono/x86_64/CubiquityC
Fallback handler could not load library /home/UnityServer/test_Data/Mono/x86_64/CubiquityC
Fallback handler could not load library /home/UnityServer/test_Data/Mono/x86_64/CubiquityC
Fallback handler could not load library /home/UnityServer/test_Data/Mono/x86_64/CubiquityC


Before i put the libCubiquityC.so file there as written on top, it also tolds:
Quote:
Fallback handler could not load library /home/UnityServer/test_Data/Mono/x86_64/libCubiquityC.so


But i have no file called CubiquityC. What can i do?
regards.

Author:  David Williams [ Sat May 20, 2017 11:02 pm ]
Post subject:  Re: Trying to get a unity3d-cubiquity app on linux to work..

Hi, unfortunately I can't help you here. I'm not sure what the cause of the problem is, and I can't easily investigate because this version of Cubiquity is no longer under development and is being replaced by a new system in the future. I am in the process of removing it from the Asset Store at the moment. Sorry for the inconvenience.

Edit: Updated with a slightly more helpful reply below...

Author:  David Williams [ Sun May 21, 2017 6:53 am ]
Post subject:  Re: Trying to get a unity3d-cubiquity app on linux to work..

Hi, it was a little late when I wrote the above so apologies that it wasn't very helpful. Although I really don't know the cause I can tell you that 'CubiquityC' should not be required and that 'libCubiquityC.so' should be all you need. I think it works like the GCC linker, for example, whereby you specify the base name ('CubiquityC') and it is supposed to deduce the correct name for your platform or environment (CubiquityC.dll, libCubiquityC.so, etc). This is mostly internal Unity/Mono behaviour though, rather than my own code.

This stuff did cause me a lot of trouble when developing Cubiquity as there we many issues I encountered, but unfortunately I don't remember them all. I don't have a Linux machine set up any more for testing so I can't help further with this. If you want to debug further then you probably need to start with 'Assets\Cubiquity\Scripts\Impl\CubiquityDLL.cs', but I don't know what the problem would be. Otherwise try just making a symlink from CubiquityC to libCubiquityC.so? It's hacky but maybe it works.

Sorry I can't be of more help.

Author:  Wannabe [ Sun May 21, 2017 2:51 pm ]
Post subject:  Re: Trying to get a unity3d-cubiquity app on linux to work..

Ok thank you.

First i did the "hacky-way":
ln -s /.../Mono/x86_64/libCubiquityC.so /.../Mono/x86_64/libCubiquityC

And it was fixed.

Then i looked into CubiquityDLL.cs:
I thought i will find something like
Quote:
if(linux) x=libCubiquityC.so
if(windows) x=CubiquityC.dll


But i found only:
Quote:
private const string dllToImport = "CubiquityC";

Changed to:
Quote:
private const string dllToImport = "libCubiquityC.so";


It works without a symlink.
In fact that linux tryes to load libCubiquityC.so and CubiquityC, i wonder why i didnt find a reference to libCubiquityC.so anywhere in CubiquityDLL.cs.

--------------------------------------------------

When there will be informations about Cubiquity2? Will it have proper unity3d and linux support? My project relies on Cubiquity. I need to know if its a good idea to settle with. I dont need a free thing, i need a good one.

Another question: Im running unity3d on my vps in batchmode with nographics(that means there is no graphic device). Is cubiquity using any gpu stuff or will it work with only a cpu and applys this to Cubiquity2 too? (sorry its hard for me to ask this question because i dont know much about this topic currently, maybe you?)

--------------------------------------------------

Thanks for fixing.
regards.

Author:  Wannabe [ Mon May 22, 2017 10:46 am ]
Post subject:  Re: Trying to get a unity3d-cubiquity app on linux to work..

Ok im happy. I get all to work.

All i did is changing the CubiquityDLL.cs as described by you and me above.

Then i build my unity3d project for linux, with the headless checkbox checked and put the lib file to ..._Data/Mono/x86_64/libCubiquityC.so

Uploaded to my linux v-server and startet with ./project.x86_64 all works fine(no -batchmode etc. needed because headless build). I can proof collision detection etc. is working because remote clients collide with walls and ground and collision is only handeld on server.

I forgot to say that it not runs right at my first attempt. But then i add following to my unity projetct and all works fine:
Quote:
Application.targetFrameRate = 30;

I dont know why i have to limit the app on my v-server so it can run fine. But it works.

No errors in logs, all fine.
Just for sharing purposes :)
Regards.

Author:  David Williams [ Tue May 23, 2017 11:06 pm ]
Post subject:  Re: Trying to get a unity3d-cubiquity app on linux to work..

I'm glad you got it working!

Wannabe wrote:
In fact that linux tryes to load libCubiquityC.so and CubiquityC, i wonder why i didnt find a reference to libCubiquityC.so anywhere in CubiquityDLL.cs.


Yes, it's a little strange, but I think Mono takes care of changing the name as appropriate for the platform. You also see this when using e.g. the GCC linker; you can pass -lSomeLibrary and it links against libSomeLibrary.so. I'm afraid I don't know why it is behaving strangely in your case but I'm glad you have a solution.

Wannabe wrote:
When there will be informations about Cubiquity2? Will it have proper unity3d and linux support? My project relies on Cubiquity. I need to know if its a good idea to settle with. I dont need a free thing, i need a good one.


I'm sorry, but Cubiquity 2 is probably going in the wrong direction for you. Cubiquity was not a commercial success (even though I personally believe it is one of the better-designed voxel engines for Unity) as it was simply too much work to justify the relatively small amount of money it was generating. Cubiquity 2 will be a smaller project with less features, less integration, less support and much more research-oriented. I will close down the whole 'Volumes of Fun' branding and just run it as a personal project on GitHub. It's also going slower than I would like as I don't have as much time as I used to :-(

Make sure you read this blog post: http://www.volumesoffun.com/reflections ... h-forward/

Wannabe wrote:
Another question: Im running unity3d on my vps in batchmode with nographics(that means there is no graphic device). Is cubiquity using any gpu stuff or will it work with only a cpu and applys this to Cubiquity2 too?


Cubiquity only uses the CPU for generating the mesh (but obviously uses the GPU for rendering it). For Cubiquity 2 it is not really decided as I'm still experimenting with the various algorithms and data structures.

Author:  Wannabe [ Wed May 24, 2017 10:24 am ]
Post subject:  Re: Trying to get a unity3d-cubiquity app on linux to work..

This article makes me very sad. Its completely against that what i wish your project is.

That means i have to leave my cubiquity ideas. And try other (not existing(i tryed)) solutions.

But anyway, you did a great job. Even in supporting me. I respect you for that.
Regards.

Author:  David Williams [ Thu May 25, 2017 5:27 am ]
Post subject:  Re: Trying to get a unity3d-cubiquity app on linux to work..

Yes, the article was sad to write as well. I had big dreams for Cubiquity, but it became something of an obsession, and it was simply too big a project to complete in my spare time. I was coming dangerously close to burn-out.

Turning it into a non-commercial project and reducing people expectations removes a lot of the pressure. I hope I can eventually deliver something which is still interesting while having more fun doing it.

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/