raisimTech / raisimLib

Visit www.raisim.com
http://www.raisim.com
Other
341 stars 91 forks source link

RaisimUnity Assimp fails on ubuntu 24.04 #598

Closed gmmyung closed 2 months ago

gmmyung commented 2 months ago

Description

When running RaisimUnity on Ubuntu 24.04, Assimp fails to create a mesh due to an issue with libdl.so. This appears to be related to the dynamic loading of libraries on the new Ubuntu version.

Error Log

System.Exception: Cannot create mesh: libdl.so assembly:<unknown assembly> type:<unknown type> member:(null)
libdl.so assembly:<unknown assembly> type:<unknown type> member:(null)
at (wrapper managed-to-native) Assimp.Unmanaged.UnmanagedLibrary+UnmanagedLinuxLibraryImplementation.dlopen(string,int)
at Assimp.Unmanaged.UnmanagedLibrary+UnmanagedLinuxLibraryImplementation.NativeLoadLibrary (System.String path) [0x00000] in <d40f2b0ad6814d4c8094142d8473733f>:0
at Assimp.Unmanaged.UnmanagedLibrary+UnmanagedLibraryImplementation.LoadLibrary (System.String path) [0x00008] in <d40f2b0ad6814d4c8094142d8473733f>:0
at Assimp.Unmanaged.UnmanagedLibrary.LoadLibrary (System.String libPath) [0x0002d] in <d40f2b0ad6814d4c8094142d8473733f>:0
at Assimp.Unmanaged.UnmanagedLibrary.LoadLibrary () [0x00012] in <d40f2b0ad6814d4c8094142d8473733f>:0
at Assimp.Unmanaged.UnmanagedLibrary.LoadIfNotLoaded () [0x00023] in <d40f2b0ad6814d4c8094142d8473733f>:0
at Assimp.Unmanaged.AssimpLibrary.CreatePropertyStore () [0x00000] in <d40f2b0ad6814d4c8094142d8473733f>:0
at Assimp.AssimpContext.CreateConfigs () [0x00006] in <d40f2b0ad6814d4c8094142d8473733f>:0
at Assimp.AssimpContext.PrepareImport () [0x00000] in <d40f2b0ad6814d4c8094142d8473733f>:0
at Assimp.AssimpContext.ImportFile (System.String file, Assimp.PostProcessSteps postProcessFlags) [0x00044] in <d40f2b0ad6814d4c8094142d8473733f>:0
at Assimp.AssimpContext.ImportFile (System.String file) [0x00000] in <d40f2b0ad6814d4c8094142d8473733f>:0
at UnityMeshImporter.MeshImporter.Load (System.String meshPath, System.Single scaleX, System.Single scaleY, System.Single scaleZ) [0x00027] in <32276e3517064497be7978d9072aba9e>:0
at raisimUnity.ObjectController.CreateMesh (UnityEngine.GameObject root, System.String meshFile, System.Single sx, System.Single sy, System.Single sz) [0x00047] in <a4ce354f25604525bdceb454ac3e586f>:0
at raisimUnity.RsObject.ProcessVisuals (raisimUnity.RsUnityRemote parent, System.Boolean initialized, System.Boolean isInstanced, System.Int32 count) [0x003d9] in <a4ce354f25604525bdceb454ac3e586f>:0
at raisimUnity.RsuException..ctor (System.Exception ex, System.String message) [0x00037] in <a4ce354f25604525bdceb454ac3e586f>:0
at raisimUnity.RsObject.ProcessVisuals (raisimUnity.RsUnityRemote parent, System.Boolean initialized, System.Boolean isInstanced, System.Int32 count) [0x0040e] in <a4ce354f25604525bdceb454ac3e586f>:0
at raisimUnity.RsUnityRemote.Update () [0x00151] in <a4ce354f25604525bdceb454ac3e586f>:0

Workaround

This can be solved by sudo ln -s /usr/lib/x86_64-linux-gnu/libdl.so.2 /usr/lib/x86_x64-linux-gnu/libdl.so, while it is not desirable to manually modify system installed shared libraries

Related Issues

This issue appears to be similar to a problem encountered in the URDF-Importer project: https://github.com/Unity-Technologies/URDF-Importer/issues/209 https://github.com/Unity-Technologies/URDF-Importer/issues/224 Here is a maintained fork version of URDF-Importer https://github.com/P3TE/URDF-Importer

gmmyung commented 2 months ago

Resolved by https://raisim.com/sections/Installation.html