cnr-isti-vclab / PyMeshLab

The open source mesh processing python library
GNU General Public License v3.0
770 stars 62 forks source link

Unable to load libio_e57.so warning when importing pymeshlab #293

Open Cindy0725 opened 1 year ago

Cindy0725 commented 1 year ago

I am running my script on a remote server, the system info is as following: NAME="Ubuntu" VERSION="20.04.6 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.6 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal

I activated a Conda environment with python 3.9 and use pip to install pymeshlab. But when I run "import pymeshlab" in python, there is a warning: Warning: Unable to load the following plugins:

    libio_e57.so: libio_e57.so does not seem to be a Qt Plugin.

Cannot load library /home/zhangyicindy/anaconda3/envs/myenv/lib/python3.8/site-packages/pymeshlab/lib/plugins/libio_e57.so: (/lib/x86_64-linux-gnu/libp11-kit.so.0: undefined symbol: ffi_type_pointer, version LIBFFI_BASE_7.0)

I want to run the following code, I can load the mesh and compute the normals successfully but I will stuck at the ms.generate_surface_reconstruction_screened_poisson function. Is it because the warning I get when importing pymeshlab?

import pymeshlab mesh_file_path = "output/after_generation.ply" ms = pymeshlab.MeshSet() ms.load_new_mesh(mesh_file_path) ms.compute_normal_for_point_clouds() print("computed normals") ms.generate_surface_reconstruction_screened_poisson(depth=8)

Thank you!

Cindy0725 commented 1 year ago

Btw, I also tried to run the code above on my MacBook Pro, it works fine and fast. I didn't get such warning when importing pymeshlab on my Mac, and the ms.generate_surface_reconstruction_screened_poisson(depth=8) finished in less than 20 seconds.

alemuntoni commented 1 year ago

Could you check if you get the same errors also outside a conda environment, just installing the pymeshlab package trough pip? pymeshlab does not work well on conda and we don't support it.

jaswanthbjk commented 1 year ago

I think the recent pymeshlab release (2022.2.post4) is broken in the case of e57 files. Please install as

pip install pymeshlab==2022.2.post2

It should work.

It's weird that it affected working with ply files.

alemuntoni commented 1 year ago

@jaswanthbjk could you please elaborate? Why is 2022.2.post4 broken for e57?

jaswanthbjk commented 1 year ago

@alemuntoni I found the issue today.

I haven't debugged it yet.

But I knew pymeshlab supported e57 files. So I found the above solution.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. The resources of the VCLab team are limited, and so we are asking for your help. If this is a bug and you can still reproduce this error on the last release of PyMeshLab, please reply with all of the information you have about it in order to keep the issue open. If this is a feature request, and you feel that it is still relevant and valuable, please tell us why. This issue will automatically be closed in the near future if no further activity occurs. Thank you for all your contributions.

Salieri0515 commented 2 weeks ago

I met just the same problem as @Cindy0725 with installed pymeshlab in conda environment. But if I import it out of conda, there won't be any warning and bugs.