lzzcd001/MeshDiffusion

What are the correct versions of pytorch3d and pymeshlab

Closed this issue · 2 comments

Hi.
I'm facing few issues. one solution leads to another problem.

  1. I installed pytorch3d v 0.7.4 using conda install pytorch3d -c pytorch3d. This lead to this error
 python -c "import pytorch3d.ops"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "~miniconda3x86/envs/mesh/lib/python3.8/site-packages/pytorch3d/ops/__init__.py", line 7, in <module>
    from .ball_query import ball_query
  File "~/miniconda3x86/envs/mesh/lib/python3.8/site-packages/pytorch3d/ops/ball_query.py", line 10, in <module>
    from pytorch3d import _C
ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ~/envs/mesh/lib/python3.8/site-packages/pytorch3d/_C.cpython-38-x86_64-linux-gnu.so)

I solved the GLIBCXX_3.4.26 not found error by exporting a recent version of lib64/libstdc++.so.6 (export LD_LIBRARY_PATH=~/miniconda3x86/lib see.
python -c "import pytorch3d.ops" now works.

  1. I then install pymeshlab v 2022.2.post3, I chose version 2022.2.post3 because other versions lead to this issue #27.
    After the installation of pymeshlab, I get this error
python -c "import pymeshlab as p; ms = p.MeshSet(); ms.meshing_isotropic_explicit_remeshing()"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "~/miniconda3x86/envs/mesh/lib/python3.8/site-packages/pymeshlab/__init__.py", line 11, in <module>
    from .pmeshlab import *
ImportError: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by ~/miniconda3x86/envs/mesh/lib/python3.8/site-packages/pymeshlab/lib/libpython3.8.so.1.0)

I solved this by exporting export LD_LIBRARY_PATH=/lib64, (i.e., the old libstdc++.so.6).

I can combine the two LD_LIBRARY_PATH paths, but one libstdc++.so.6 will simply override the previous one.

Can someone point me to the right versions of pymeshlab and pytorch3d to use?
Thanks.

Install both pymeshlab and pytorch3d, and run

python -c "import pytorch3d.ops"
python -c "import pymeshlab as p; ms = p.MeshSet(); ms.meshing_isotropic_explicit_remeshing()"

You may try installing gcc via conda: conda install gxx_linux-64==YOUR_VERSION (probably google the error and find the appropriate version).

In the worst case, you can always save the raw meshes and do post-processing later (pymeshlab is only used for post-processing).