Я столкнулся с несколько общим "GLIBXX_3.4.15 not found"
ошибка. В моем случае, хотя я вижу что-то действительно странное.
Обычно ошибка появляется что-то вроде этого:
/usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.15' not found
Мой похож на это хотя:
/opt/smrtanalysis/current/analysis/lib/libstdc++.so.6: version 'GLIBCXX_3.4.15' not found
Много решений (здесь, здесь, или здесь) предлагает попробовать что-то как apt-get -f install
исправлять его (или переустанавливающий через apt-get
), но я получаю ту ошибку, когда я пытаюсь работать склонный.
Я добавил /usr/lib
, /usr/local/lib
, /usr/lib/x86_64-linux-gnu
, и /usr/lib/i386-linux-gnu
к моему LD_LIBRARY_PATH
и тем не менее никакие не идут.
В конечном счете я нашел, что предложение попыталось использовать dpkg --remove libstdc++6
и установите его вручную, который дал мне эту ошибку:
dpkg: dependency problems prevent removal of libstdc++6:
...
insert long list of programs that depend on libstdc++6
...
dpkg: error processing libstdc++6 (--remove):
dependency problems - not removing
Errors were encountered while processing:
libstdc++6
Таким образом, я пытался переустановить от .deb, думая, возможно, что он переделает проблему соединения каналом, и я добрался:
Preparing to replace libstdc++6 4.6.3-1ubuntu5 (using libstdc++6_4.6.3-1ubuntu5_amd64.deb) ...
Unpacking replacement libstdc++6 ...
dpkg: error processing libstdc++6 (--install):
libstdc++6:amd64 4.6.3-1ubuntu5 cannot be configured because libstdc++6:i386 is in a different version (4.8.1-2ubuntu1~12.04)
Errors were encountered while processing:
libstdc++6
Таким образом, я разочаровался в той идее, вместо этого я использовал locate libstdc++.so
сделать новую ссылку на /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16
и скопированный это в /opt/smrtanalysis/current/analysis/lib/
заменять неправильное libstdc++.so.6
ссылка (сохраняющий старую, jsut в случае, если). Теперь apt-get -f install
говорит мне:
The following extra packages will be installed:
libstdc++6
The following packages will be upgraded:
libstdc++6
1 upgraded, 0 newly installed, 0 to remove and 111 not upgraded.
2 not fully installed or removed.
Need to get 0 B/326 kB of archives.
After this operation, 21.5 kB of additional disk space will be used.
Do you want to continue [Y/n]?
Который походил на прогресс, но высказывание y
дал следующее:
/usr/bin/perl: symbol lookup error: /opt/smrtanalysis/current/miscdeps/basesys/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/auto/IO/IO.so: undefined symbol: Perl_Tstack_sp_ptr
(Reading database ... 210954 files and directories currently installed.)
Preparing to replace libstdc++6 4.6.3-1ubuntu5 (using .../libstdc++6_4.8.1-2ubuntu1~12.04_amd64.deb) ...
Unpacking replacement libstdc++6 ...
dpkg: error processing /var/cache/apt/archives/libstdc++6_4.8.1-2ubuntu1~12.04_amd64.deb (--unpack):
'./usr/share/doc/libstdc++6' is different from the same file on the system
Errors were encountered while processing:
/var/cache/apt/archives/libstdc++6_4.8.1-2ubuntu1~12.04_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Я понятия не имею, что сделал smrtanalysis, когда он установил для унавоживания с соединением каналом так, ни как сделать способный взгляд на usr/libs
. Предложения?
Прослеживание зависимостей показало мне следующее:
ldd /usr/bin/apt-get
linux-vdso.so.1 => (0x00007fff65c38000)
libapt-pkg.so.4.12 => /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12 (0x00007fce5b5a6000)
libstdc++.so.6 => /opt/smrtanalysis/current/analysis/lib/libstdc++.so.6 (0x00007fce5b2a2000)
libgcc_s.so.1 => /opt/smrtanalysis/current/analysis/lib/libgcc_s.so.1 (0x00007fce5b08c000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fce5acae000)
libutil.so.1 => /opt/smrtanalysis/current/misclibs/sys-root/lib/libutil.so.1 (0x00007fce5aaab000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fce5a8a7000)
libz.so.1 => /opt/smrtanalysis/current/common/lib/libz.so.1 (0x00007fce5a688000)
libm.so.6 => /opt/smrtanalysis/current/misclibs/sys-root/lib/libm.so.6 (0x00007fce5a405000)
/lib64/ld-linux-x86-64.so.2 (0x00007fce5b8d1000)
и для Perl
ldd /usr/bin/perl
linux-vdso.so.1 => (0x00007fff707ff000)
libperl.so.5.14 => /usr/lib/libperl.so.5.14 (0x00007fbc3b501000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbc3b142000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbc3af3e000)
libm.so.6 => /opt/smrtanalysis/current/misclibs/sys-root/lib/libm.so.6 (0x00007fbc3acba000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbc3aa9d000)
libcrypt.so.1 => /opt/smrtanalysis/current/misclibs/sys-root/lib/libcrypt.so.1 (0x00007fbc3a865000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbc3b89f000)
Какие-либо идеи о том, как отменить изменения зависимости?
Я закончил тем, что рыл до /etc/bash.bashrc
и прокомментировал любые записи с /opt/smrtanalysis/...
, и все работает снова.