Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSError: ("/home/jeonguk/miniconda3/envs/text_to_3dportrait/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /lib/x86_64-linux-gnu/libLLVM-15.so.1)", 'libOSMesa.so.8', 'libOSMesa.so.8') #6

Closed
Rietchie0119 opened this issue Jun 1, 2024 · 17 comments

Comments

@Rietchie0119
Copy link

Hello when I run the following command

python run_trigrid_gen.py  \
    --network=./models/model_512.pkl \
    --inversion_name=final_inversion

I get these errors:

Loading networks from "./models/model_512.pkl"...
Traceback (most recent call last):
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/OpenGL/platform/osmesa.py", line 22, in GL
    return ctypesloader.loadLibrary(
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/OpenGL/platform/ctypesloader.py", line 45, in loadLibrary
    return dllType( name, mode )
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/ctypes/__init__.py", line 381, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: ("/home/jeonguk/miniconda3/envs/text_to_3dportrait/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /lib/x86_64-linux-gnu/libLLVM-15.so.1)", 'libOSMesa.so.8', 'libOSMesa.so.8')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "run_trigrid_gen.py", line 262, in <module>
    generate_images() # pylint: disable=no-value-for-parameter
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "run_trigrid_gen.py", line 212, in generate_images
    G = legacy.load_network_pkl(f)['G_ema'].to(device) # type: ignore
  File "/home/jeonguk/Portrait3D/3DPortraitGAN_pyramid/legacy.py", line 25, in load_network_pkl
    data = _LegacyUnpickler(f).load()
  File "/home/jeonguk/Portrait3D/3DPortraitGAN_pyramid/legacy.py", line 71, in find_class
    return super().find_class(module, name)
  File "/home/jeonguk/Portrait3D/3DPortraitGAN_pyramid/training/volumetric_rendering/renderer.py", line 22, in <module>
    from training.aligned_smpl import AlignedSMPL
  File "/home/jeonguk/Portrait3D/3DPortraitGAN_pyramid/training/aligned_smpl.py", line 19, in <module>
    import pyrender
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/pyrender/__init__.py", line 3, in <module>
    from .light import Light, PointLight, DirectionalLight, SpotLight
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/pyrender/light.py", line 10, in <module>
    from OpenGL.GL import *
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/OpenGL/GL/__init__.py", line 3, in <module>
    from OpenGL import error as _error
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/OpenGL/error.py", line 12, in <module>
    from OpenGL import platform, _configflags
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/OpenGL/platform/__init__.py", line 35, in <module>
    _load()
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/OpenGL/platform/__init__.py", line 32, in _load
    plugin.install(globals())
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 92, in install
    namespace[ name ] = getattr(self,name,None)
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 14, in __get__
    value = self.fget( obj )
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/OpenGL/platform/osmesa.py", line 66, in GetCurrentContext
    function = self.OSMesa.OSMesaGetCurrentContext
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 14, in __get__
    value = self.fget( obj )
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/OpenGL/platform/osmesa.py", line 60, in OSMesa
    def OSMesa( self ): return self.GL
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 14, in __get__
    value = self.fget( obj )
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/OpenGL/platform/osmesa.py", line 28, in GL
    raise ImportError("Unable to load OpenGL library", *err.args)
ImportError: ('Unable to load OpenGL library', "/home/jeonguk/miniconda3/envs/text_to_3dportrait/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /lib/x86_64-linux-gnu/libLLVM-15.so.1)", 'libOSMesa.so.8', 'libOSMesa.so.8')

How do I solve this issue?

@oneThousand1000
Copy link
Owner

Have you installed OSMesa?

sudo apt install  libosmesa6  libosmesa6-dev

@Rietchie0119
Copy link
Author

Yes I have

dpkg -l | grep libosmesa
ii  libosmesa6:amd64                           23.2.1-1ubuntu3.1~22.04.2               amd64        Mesa Off-screen rendering extension
ii  libosmesa6-dev:amd64                       23.2.1-1ubuntu3.1~22.04.2               amd64        Mesa Off-screen rendering extension -- development files

@Rietchie0119
Copy link
Author

I installed gcc 12.1.0 and I don't get previous error.

conda install -c conda-forge gcc=12.1.0

But now I am getting numpy errors?

Traceback (most recent call last):                                                                                                                                                                                 
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/numpy/core/__init__.py", line 23, in <module>                                                                                 
    from . import multiarray                                                                                                                                                                                       
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/numpy/core/multiarray.py", line 10, in <module>                                                                               
    from . import overrides                                                                                                                                                                                        
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/numpy/core/overrides.py", line 6, in <module>                                                                                 
    from numpy.core._multiarray_umath import (                                                                                                                                                                     
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/jeonguk/Portrait3D/3DPortraitGAN_pyramid/run_trigrid_gen.py", line 18, in <module>
    import dnnlib
  File "/home/jeonguk/Portrait3D/3DPortraitGAN_pyramid/dnnlib/__init__.py", line 11, in <module>
    from .util import EasyDict, make_cache_dir_path
  File "/home/jeonguk/Portrait3D/3DPortraitGAN_pyramid/dnnlib/util.py", line 17, in <module>
    import numpy as np
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/numpy/__init__.py", line 144, in <module>
    from . import core
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/numpy/core/__init__.py", line 49, in <module>
    raise ImportError(msg)
ImportError: 

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.

We have compiled some common reasons and troubleshooting tips at:

    https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

  * The Python version is: Python3.8 from "/home/jeonguk/miniconda3/envs/text_to_3dportrait/bin/python"
  * The NumPy version is: "1.22.4"

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: No module named 'numpy.core._multiarray_umath'

@oneThousand1000
Copy link
Owner

Could you please try solutions in numpy/numpy#21678 ?

@Rietchie0119
Copy link
Author

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
transformers 4.35.0 requires numpy>=1.17, but you have numpy 1.16.4 which is incompatible.
torchmetrics 0.7.0 requires numpy>=1.17.2, but you have numpy 1.16.4 which is incompatible.
torch-fidelity 0.3.0 requires scipy==1.3.1, but you have scipy 1.9.1 which is incompatible.
test-tube 0.7.5 requires pandas==0.25.0, but you have pandas 1.3.5 which is incompatible.
streamlit 1.35.0 requires numpy<2,>=1.19.3, but you have numpy 1.16.4 which is incompatible.
scipy 1.9.1 requires numpy<1.25.0,>=1.18.5, but you have numpy 1.16.4 which is incompatible.
scikit-learn 1.3.1 requires numpy<2.0,>=1.17.3, but you have numpy 1.16.4 which is incompatible.
scikit-image 0.20.0 requires numpy>=1.21.1, but you have numpy 1.16.4 which is incompatible.
pywavelets 1.4.1 requires numpy>=1.17.3, but you have numpy 1.16.4 which is incompatible.
pytorch-lightning 1.4.2 requires numpy>=1.17.2, but you have numpy 1.16.4 which is incompatible.
pyrender 0.1.45 requires scipy==1.3.1, but you have scipy 1.9.1 which is incompatible.
pymcubes 0.1.4 requires scipy==1.3.1, but you have scipy 1.9.1 which is incompatible.
pyarrow 16.1.0 requires numpy>=1.16.6, but you have numpy 1.16.4 which is incompatible.
pandas 1.3.5 requires numpy>=1.17.3; platform_machine != "aarch64" and platform_machine != "arm64" and python_version < "3.10", but you have numpy 1.16.4 which is incompatible.
opencv-python 4.1.2.30 requires numpy>=1.17.3, but you have numpy 1.16.4 which is incompatible.
opencv-python-headless 4.9.0.80 requires numpy>=1.17.0; python_version >= "3.7", but you have numpy 1.16.4 which is incompatible.
opencv-python-headless 4.9.0.80 requires numpy>=1.17.3; python_version >= "3.8", but you have numpy 1.16.4 which is incompatible.
matplotlib 3.7.1 requires numpy>=1.20, but you have numpy 1.16.4 which is incompatible.
kaolin 0.13.0 requires scipy==1.3.1, but you have scipy 1.9.1 which is incompatible.
invisible-watermark 0.2.0 requires numpy>=1.17.0, but you have numpy 1.16.4 which is incompatible.
imgaug 0.2.6 requires scipy==1.3.1, but you have scipy 1.9.1 which is incompatible.
chumpy 0.70 requires scipy==1.3.1, but you have scipy 1.9.1 which is incompatible.
altair 5.3.0 requires pandas==0.25.0, but you have pandas 1.3.5 which is incompatible.
albumentations 0.4.3 requires scipy==1.3.1, but you have scipy 1.9.1 which is incompatible.
accelerate 0.20.3 requires numpy>=1.17, but you have numpy 1.16.4 which is incompatible.

I reinstalled numpy as shown in numpy/numpy#21678 but now I am having dependency problems.
Plus, I tried to run the code and I'm getting

Traceback (most recent call last):
  File "/home/jeonguk/Portrait3D/3DPortraitGAN_pyramid/run_trigrid_gen.py", line 19, in <module>
    import imageio
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/jvm/graalvm-189e927686-java17-22.3.0/languages/python/lib/python3.8/site-packages/imageio/__init__.py", line 38, in <module>
    from . import plugins
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/jvm/graalvm-189e927686-java17-22.3.0/languages/python/lib/python3.8/site-packages/imageio/plugins/__init__.py", line 87, in <module>
    from . import freeimage
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/jvm/graalvm-189e927686-java17-22.3.0/languages/python/lib/python3.8/site-packages/imageio/plugins/freeimage.py", line 13, in <module>
    from ._freeimage import fi, download, IO_FLAGS, FNAME_PER_PLATFORM  # noqa
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/jvm/graalvm-189e927686-java17-22.3.0/languages/python/lib/python3.8/site-packages/imageio/plugins/_freeimage.py", line 1332, in <module>
    fi = Freeimage()
  File "/home/jeonguk/miniconda3/envs/text_to_3dportrait/lib/python3.8/site-packages/imageio/plugins/_freeimage.py", line 428, in __init__
    def error_handler(fif, message):
NotImplementedError: callbacks aren't supported yet.

@oneThousand1000
Copy link
Owner

It looks like you installed numpy 1.16.4. You should reinstall numpy 1.22.4, I think, it's compatible with other packages.

And try to reinstall imageio 2.9.0 and imageio-ffmpeg 0.4.2?

@Rietchie0119
Copy link
Author

I have tried reinstalling higher versions of numpy (including v.1.22.4) but they are all giving me errors.
I think I will give it a try other day.
Thanks for helping me out tho! :)

@oneThousand1000
Copy link
Owner

BTW, my gcc version is 10.5.0. Maybe this can help you.

@zhouhengamerica
Copy link

I get the same error. Have you resolved this issue?

@oneThousand1000
Copy link
Owner

oneThousand1000 commented Jun 4, 2024

@Rietchie0119 @zhouhengamerica Hi there, could you please try

strings {the path of your environment}/lib/libstdc++.so.6 | grep GLIBCXX

and

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

and check if the outputs contains GLIBCXX_3.4.30?

@oneThousand1000
Copy link
Owner

oneThousand1000 commented Jun 4, 2024

@zhouhengamerica
Copy link

Hi, thank u for your reply. I tried it and the outputs contain GLIBCXX_3.4.30. Then I also tried the methods from the two links below, but unfortunately, it still didn't work.

@oneThousand1000
Copy link
Owner

oneThousand1000 commented Jun 4, 2024

Hi, thank u for your reply. I tried it and the outputs contain GLIBCXX_3.4.30. Then I also tried the methods from the two links below, but unfortunately, it still didn't work.

It's weird...

Please check all the /usr/lib/x86_64-linux-gnu/libstdc++.so.6 by

ls /usr/lib/x86_64-linux-gnu/libstdc++.so.6*

And if you do have the latest versionlibstdc++.so.6.0.30 like me, could you please try this?

ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30 {the path of your environment}/bin/../lib/libstdc++.so.6

@zhouhengamerica
Copy link

Hi, I tried it. The terminal provided me this feedback.
root@giant-DGX-Station:~/hz# ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30 /root/anaconda3/bin/../lib/libstdc++.so.6
ln: failed to create symbolic link '/root/anaconda3/bin/../lib/libstdc++.so.6': File exists

@oneThousand1000
Copy link
Owner

oneThousand1000 commented Jun 4, 2024

@zhouhengamerica

Do you use a virtual environment? /root/anaconda3/bin/../lib/libstdc++.so.6 seems the root dir of anaconda3, not the virtual enrivonment :)
If you do use a virtual environment, the path might be sth like /root/anaconda3/envs/text_to_3dportrait/bin/../lib/libstdc++.so.6

If you try ln -s and libstdc++.so.6 still exists

try

ls -l  /root/anaconda3/envs/text_to_3dportrait/bin/../lib/libstdc++.so.6

to check if the file is a link.

It's exactly a soft link, just remove it, then try ln -s again

@zhouhengamerica
Copy link

zhouhengamerica commented Jun 5, 2024

Thanks to the author's help, I have resolved the issue. The steps to resolve the problem are as follows:

First, need to check
ls /usr/lib/x86_64-linux-gnu/libstdc++.so.6*

Then, we need to find the path to the virtual environment, and then locate the libstdc++.so.6 file. Its path might be:
/root/hz/anaconda3/envs/text_to_portrait3d/lib/libstdc++.so.6.

Finally, we need to delete the libstdc++.so.6 in virtual environment and symlink libstdc++.so.6.0.30 to libstdc++.so.6 in the virtual environment. try:
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30 {the path of your environment}/bin/../lib/libstdc++.so.6

@oneThousand1000
Copy link
Owner

Thanks @zhouhengamerica for summarizing the solution.
I will close this issue, if anyone has further problems, please feel free to re-open it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants