13-05-2019, 05:23 AM
I'm running into problems using Obi Ropes / Obi Fluids in the Unity Linux Editor
At first, I was just getting errors about "DllNotFoundException: libOni". After some googling and troubleshooting, I tried a few things, one of which had an interesting effect. If I edit the definition of LIBNAME in Oni.cs so that it equals "Oni" instead of "libOni", matching the value used for other Linux platforms, then I first get warning about undefined symbols in libOni.so, followed by a bunch of similar DllNotFoundExceptions.
After some more troubleshooting, though, I'm nto having luck getting any further. Could I please get some help getting this to work in the Linux Unity editor?
OS: Ubuntu 16.04.4
Unity version: Tried with two versions: 2018.4.0f1 and 2018.3.0f2 with similar results
Obi assets: Obi Ropes and Obi Fluids, both downloaded today from the Asset Store (version 4.1)
Error messages when opening Unity (to the Electric Wires sample scene, though other sample scenes have similar result)
About 56 of the following warning, coming from various places:
Plugins: Couldn't open Assets/Obi/Plugins/x86_64/libOni.so, error: Assets/Obi/Plugins/x86_64/libOni.so: undefined symbol: _ZN3Oni23FrictionConstraintGroupC1EPNS_24CollisionConstraintGroupEPNS_6SolverE
Obi.ObiBatchedConstraints:Enable() (at Assets/Obi/Scripts/Constraints/ObiBatchedConstraints.cs:71)
Obi.ObiBatchedConstraints:OnEnable() (at Assets/Obi/Scripts/Constraints/ObiBatchedConstraints.cs:127)
UnityEngine.GUIUtilityrocessEvent(Int32, IntPtr)
About 137 of the following error, coming from various places:
DllNotFoundException: Oni
Obi.ObiConstraintBatch.Enable () (at Assets/Obi/Scripts/Constraints/ConstraintBatches/ObiConstraintBatch.cs:132)
Obi.ObiBatchedConstraints.Enable () (at Assets/Obi/Scripts/Constraints/ObiBatchedConstraints.cs:71)
Obi.ObiBatchedConstraints.OnEnable () (at Assets/Obi/Scripts/Constraints/ObiBatchedConstraints.cs:127)
UnityEngine.GUIUtilityrocessEvent(Int32, IntPtr)
Some things I've tried so far:
- Confirmed it works as expect on my Windows machine
- Tried using a fresh project with nothing but Obi Ropes imported, got same warning and errors
- Tried setting LIBNAME in Oni.cs to be "Oni" (#if UNITY_EDITOR_LINUX). Without this, LIBNAME was libOni, and I only got the DllNotFoundException errors; when set to "Oni", I get a combination of the warnings and errors.
- After seeing this thread: http://obi.virtualmethodstudio.com/forum...nux+editor
I tried moving libOni.so to the folder described (changing only for my installed Unity Editor version), but that didn't seem to have an effect
- Tried editing my .bashrc to extend LD_LIBRARY_PATH with the path of my project/Assets/Obi/Plugins/x86_64, this may have been part of getting to the warnings above, not sure
At first, I was just getting errors about "DllNotFoundException: libOni". After some googling and troubleshooting, I tried a few things, one of which had an interesting effect. If I edit the definition of LIBNAME in Oni.cs so that it equals "Oni" instead of "libOni", matching the value used for other Linux platforms, then I first get warning about undefined symbols in libOni.so, followed by a bunch of similar DllNotFoundExceptions.
After some more troubleshooting, though, I'm nto having luck getting any further. Could I please get some help getting this to work in the Linux Unity editor?
OS: Ubuntu 16.04.4
Unity version: Tried with two versions: 2018.4.0f1 and 2018.3.0f2 with similar results
Obi assets: Obi Ropes and Obi Fluids, both downloaded today from the Asset Store (version 4.1)
Error messages when opening Unity (to the Electric Wires sample scene, though other sample scenes have similar result)
About 56 of the following warning, coming from various places:
Plugins: Couldn't open Assets/Obi/Plugins/x86_64/libOni.so, error: Assets/Obi/Plugins/x86_64/libOni.so: undefined symbol: _ZN3Oni23FrictionConstraintGroupC1EPNS_24CollisionConstraintGroupEPNS_6SolverE
Obi.ObiBatchedConstraints:Enable() (at Assets/Obi/Scripts/Constraints/ObiBatchedConstraints.cs:71)
Obi.ObiBatchedConstraints:OnEnable() (at Assets/Obi/Scripts/Constraints/ObiBatchedConstraints.cs:127)
UnityEngine.GUIUtilityrocessEvent(Int32, IntPtr)
About 137 of the following error, coming from various places:
DllNotFoundException: Oni
Obi.ObiConstraintBatch.Enable () (at Assets/Obi/Scripts/Constraints/ConstraintBatches/ObiConstraintBatch.cs:132)
Obi.ObiBatchedConstraints.Enable () (at Assets/Obi/Scripts/Constraints/ObiBatchedConstraints.cs:71)
Obi.ObiBatchedConstraints.OnEnable () (at Assets/Obi/Scripts/Constraints/ObiBatchedConstraints.cs:127)
UnityEngine.GUIUtilityrocessEvent(Int32, IntPtr)
Some things I've tried so far:
- Confirmed it works as expect on my Windows machine
- Tried using a fresh project with nothing but Obi Ropes imported, got same warning and errors
- Tried setting LIBNAME in Oni.cs to be "Oni" (#if UNITY_EDITOR_LINUX). Without this, LIBNAME was libOni, and I only got the DllNotFoundException errors; when set to "Oni", I get a combination of the warnings and errors.
- After seeing this thread: http://obi.virtualmethodstudio.com/forum...nux+editor
I tried moving libOni.so to the folder described (changing only for my installed Unity Editor version), but that didn't seem to have an effect
- Tried editing my .bashrc to extend LD_LIBRARY_PATH with the path of my project/Assets/Obi/Plugins/x86_64, this may have been part of getting to the warnings above, not sure