/usr/lib/x86_64-linux-gnu/libstdc++.so.6 : 버전 CXXABI_1.3.8 '을 찾을 수 없습니다.
나는 최근에 도움을 요청했습니다 https://stackoverflow.com/questions/20253515/no-idea-as-to-usr-lib-x86-64-linux-gnu-libstdc-so-6-version-cxxabi-1-3 -8 그리고 그것은 비추천되고 닫혔습니다 (이유를 모르겠습니다)
"make install"- "install-target-libstdc ++ v3"대상을 설치하고 암시하는 make 대상은 실제로 사용할 준비가되었음을 의미하지 않습니다.
나는 그런 make target이 나를 위해 그것을 할 것이라고 생각했기 때문에 내가 뭘 잘못하고 있는지 궁금해했다.
이 답변이 적어도 한 사람에게 도움이되기를 바랍니다.
비슷한 문제가있는 모든 사람들에 대해 다음을 실행하십시오.
LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
GCC를 컴파일하고 설치할 때 여기에 라이브러리를 배치하지만 그게 전부입니다. FAQ에 나와 있듯이 ( http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_paths ) 추가해야합니다.
"동적으로 연결된 라이브러리를 찾을 수 있는지 어떻게 확인합니까?"는 "찾을 수 없습니다.이 작업을 수행해야합니다"가 아니라 "항상 찾을 수 있는지 확인하는 방법"을 의미한다고 가정했습니다.
접두사 설정을 신경 쓰지 않는 사람들은 / usr / local / lib64입니다.
make 출력을 읽으면 gcc를 설치할 때 간략하게 언급 된 내용을 찾을 수 있습니다.
Libraries have been installed in:
/usr/local/lib/../lib32
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
간단했습니다! 또한 "설치된 라이브러리에 대해 링크하려는 경우"-진지하게?
TopTracker를 설치하려고 할 때 Ubuntu 14.04에서 동일한 문제가 발생했습니다. 다음과 같은 오류가 있습니다.
/ usr / share / toptracker / bin / TopTracker : /usr/lib/x86_64-linux-gnu/libstdc++.so.6 : 버전 'CXXABI_1.3.8'을 찾을 수 없음 (/ usr / share / toptracker / bin / TopTracker에 필요) / usr / share / toptracker / bin / TopTracker : /usr/lib/x86_64-linux-gnu/libstdc++.so.6 : 버전 'GLIBCXX_3.4.21'을 찾을 수 없음 (/ usr / share / toptracker / bin / TopTracker에 필요) / usr / share / toptracker / bin / TopTracker : /usr/lib/x86_64-linux-gnu/libstdc++.so.6 : 버전 'CXXABI_1.3.9'를 찾을 수 없음 (/ usr / share / toptracker / bin / TopTracker에 필요)
하지만 그런 다음 gcc 4.9 버전을 설치하고 문제가 사라졌습니다.
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9
gcc-4.9 를 올바르게 설치하고 기본 gcc 버전 사용 으로 설정하는 가장 좋은 방법은 다음 과 같습니다.
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
--slave (g ++ 포함)는 g ++가 gcc와 함께 동일한 버전으로 전환되도록합니다. 그러나이 시점에서 gcc-4.9는 update-alternatives에서 구성된 유일한 버전이므로 update-alternatives에 4.8을 추가하므로 실제로 다음을 사용하여 대안이 있습니다.
sudo apt-get install gcc-4.8 g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
그런 다음 어떤 것이 설정되어 있는지 확인하고 다음을 사용하여 앞뒤로 변경할 수 있습니다.
sudo update-alternatives --config gcc
참고 : PPA 저장소 설치를 건너 뛰고 /usr/bin/gcc-4.9-base 만 사용할 수 있지만 새로 업데이트 된 도구 모음을 사용하는 것이 좋습니다.
이 솔루션은 우분투 16.04, VirtualBox 2.7.2 및 genymotion 2.7.2를 사용하고 있습니다. 내 시스템에 동일한 오류가 발생하여 간단한 단계를 수행했으며 문제가 해결되었습니다.
1. $ LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
2. $ export LD_LIBRARY_PATH
3. $ sudo apt-add-repository ppa:ubuntu-toolchain-r/test
4. $ sudo apt-get update
5. $ sudo apt-get install gcc-4.9 g++-4.9
나는 이것이 당신을 위해 일하기를 바랍니다
gcc-4.8 (CXXABI_1.3.7)을 사용하여 Ubuntu 14.04 64 비트에 PhantomJS를 설치할 때 동일한 오류가 발생했습니다.
Upgrading to gcc-4.9 (CXXABI_1.3.8) fixed the issue. HOWTO: https://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-4-9-on-ubuntu-14-04
What the other answers suggest will work for the program in question, but it has the potential to cause breakage in other programs and unknown dependence elsewhere. It's better to make a tiny wrapper script:
#!/bin/sh
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
program_needing_different_run_time_library_path
This mostly avoids the problem described in Why LD_LIBRARY_PATH is bad by confining the effects to the program which needs them.
Note that despite the names LD_RUN_PATH works at link-time and is non-evil, while LD_LIBRARY_PATH works at both link and run time (and is evil :).
In my case it was gcc 6 the one missing
sudo apt-get install gcc-6 g++-6 -y
I ran into this issue on my Ubuntu-64 system when attempting to import fst within python as such:
Python 3.4.3 |Continuum Analytics, Inc.| (default, Jun 4 2015, 15:29:08)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import fst
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/ogi/miniconda3/lib/python3.4/site-packages/pyfst-0.2.3.dev0-py3.4-linux-x86_64.egg/fst/__init__.py", line 1, in <module>
from fst._fst import EPSILON, EPSILON_ID, SymbolTable,\
ImportError: /home/ogi/miniconda3/lib/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/local/lib/libfst.so.1)
I then ran:
ogi@ubuntu:~/miniconda3/lib$ find ~/ -name "libstdc++.so.6"
/home/ogi/miniconda3/lib/libstdc++.so.6
/home/ogi/miniconda3/pkgs/libgcc-5-5.2.0-2/lib/libstdc++.so.6
/home/ogi/miniconda3/pkgs/libgcc-4.8.5-1/lib/libstdc++.so.6
find: `/home/ogi/.local/share/jupyter/runtime': Permission denied
ogi@ubuntu:~/miniconda3/lib$
mv /home/ogi/miniconda3/lib/libstdc++.so.6 /home/ogi/miniconda3/libstdc++.so.6.old
cp /home/ogi/miniconda3/libgcc-5-5.2.0-2/lib/libstdc++.so.6 /home/ogi/miniconda3/lib/
At which point I was then able to load the library
ogi@ubuntu:~/miniconda3/lib$ python
Python 3.4.3 |Continuum Analytics, Inc.| (default, Jun 4 2015, 15:29:08)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import fst
>>> exit()
'code' 카테고리의 다른 글
이메일 주소에 아포스트로피가있을 수 있습니까? (0) | 2020.11.25 |
---|---|
깨지지 않는 공간 처리 : (0) | 2020.11.25 |
Gradle : 클래스 경로와 컴파일 종속성의 차이점은 무엇입니까? (0) | 2020.11.25 |
커플 링, 응집력 및 데메테르의 법칙 (0) | 2020.11.25 |
Java 및 일반적으로 로그인 : 모범 사례? (0) | 2020.11.25 |