1. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

[Python] Anaconda ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found

Discussão em 'Python' iniciado por Stack, Outubro 5, 2024 às 18:22.

  1. Stack

    Stack Membro Participativo

    I am getting the following import error when I am trying to run a Python script in a conda environment

    (squad) azada@scholar-fe00:~/Desktop/Toy-Problem-Team-2 $ python3 train.py
    Traceback (most recent call last):
    File "train.py", line 21, in <module>
    from tensorboardX import SummaryWriter
    File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/__init__.py", line 5, in <module>
    from .torchvis import TorchVis
    File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/torchvis.py", line 11, in <module>
    from .writer import SummaryWriter
    File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/writer.py", line 15, in <module>
    from .event_file_writer import EventFileWriter
    File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/event_file_writer.py", line 28, in <module>
    from .proto import event_pb2
    File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/proto/event_pb2.py", line 7, in <module>
    from google.protobuf import descriptor as _descriptor
    File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/google/protobuf/descriptor.py", line 47, in <module>
    from google.protobuf.pyext import _message
    ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/google/protobuf/pyext/_message.cpython-36m-x86_64-linux-gnu.so)


    Writing the strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX command has the following output

    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_3.4.13
    GLIBCXX_3.4.14
    GLIBCXX_3.4.15
    GLIBCXX_3.4.16
    GLIBCXX_3.4.17
    GLIBCXX_3.4.18
    GLIBCXX_3.4.19
    GLIBCXX_DEBUG_MESSAGE_LENGTH


    As you can see the required libgcc version is not present. But I am unable to understand why python is looking for GLIBCXX in the /usr directory?

    Running the same command on the libstdc++.so.6 of my anaconda environment shows that the required version is present in the file.

    I am using my university's computing cluster so I don't have the admin rights.

    Is there any way that I can make Python use the libstdc++ of my conda environment instead of the one in the /usr directory?

    Continue reading...

Compartilhe esta Página