程序使用libstdc++库文件偏低及解决方案

./svict -i sim.75.sorted.bam -r /data/ref_data/GATK_bundle/hg38/hg38.fasta -o out

运行svict报错
[me@node1 svict]./svict/svict -i sim.75.sorted.bam -r /data/ref_data/GATK_bundle/hg38/hg38.fasta -o out ./svict/svict: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./svict/svict) ./svict/svict: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ./svict/svict) ./svict/svict: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./svict/svict) 这个错误是目前的libstdc++.so.6没有对应的GLBCXX造成的。可以通过如下命令查看: [me@node1 svict] strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
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
可以看到,最高版本为3.4.19,没有对应的3.4.20。

通过查看libstdc++.so.6可以看到它链接到了另外一个库
[me@node1 svict]$ ll /usr/lib64/libstdc++.so.6
lrwxrwxrwx. 1 root root 19 3? 10 11:43 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.19

接下来看看系统还有没有更高版本的lib库
[root@node1 svict]# find / -name libstdc++.so.6*
/var/lib/docker/overlay2/7b61b7ad097d20ac5d08455f2e62eee6c6e16dd63038a3f87ab319c9d939a0eb/merged/root/miniconda3/lib/libstdc++.so.6
.......................................................................................................................................
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/root/miniconda3/lib/libstdc++.so.6
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/root/miniconda3/lib/libstdc++.so.6.0.21
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/root/miniconda3/lib/libstdc++.so.6.0.25
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/root/miniconda3/pkgs/libgcc-5.2.0-0/lib/libstdc++.so.6
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/root/miniconda3/pkgs/libgcc-5.2.0-0/lib/libstdc++.so.6.0.21
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/root/miniconda3/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/lib/libstdc++.so.6
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/root/miniconda3/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/lib/libstdc++.so.6.0.25
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/root/miniconda3/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/root/miniconda3/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.25
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/root/miniconda3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/root/miniconda3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.25
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
/var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25-gdb.py
/var/lib/docker/overlay2/85d54ce70190ff55e91ebb9a475e0b8c85a7f4a2a3332031af0150f581d060ad/merged/root/miniconda3/lib/libstdc++.so.6
...............................................................................................................................................................................
/var/lib/docker/overlay2/ec35b09a82464f25f4ab295049d151441ff302ab501bf0cd2ed5207f4de25406/diff/root/miniconda3/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6
/var/lib/docker/overlay2/ec35b09a82464f25f4ab295049d151441ff302ab501bf0cd2ed5207f4de25406/diff/root/miniconda3/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.25
/var/lib/docker/overlay2/ec35b09a82464f25f4ab295049d151441ff302ab501bf0cd2ed5207f4de25406/diff/root/miniconda3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6
/var/lib/docker/overlay2/ec35b09a82464f25f4ab295049d151441ff302ab501bf0cd2ed5207f4de25406/diff/root/miniconda3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.25
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.19
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo

重新做链接
[root@node1 svict]# cp /var/lib/docker/overlay2/9706424968a7deb718cda8d2aa7e6282a8c614ffee0347d973ea6316aba6e862/merged/root/miniconda3/lib/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6.0.21
[root@node1 svict]# ln -s /usr/lib64/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6
ln: 无法创建符号链接"/usr/lib64/libstdc++.so.6": 文件已存在

备份原有文件:
[root@node1 svict]# cp /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bk
删除:
[root@node1 svict]# rm /usr/lib64/libstdc++.so.6
rm:是否删除符号链接 "/usr/lib64/libstdc++.so.6"?y
[root@node1 svict]# ln -s /usr/lib64/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6
[me@node1 svict]$ ./svict/svict -i sim.75.sorted.bam -r /data/ref_data/GATK_bundle/hg38/hg38.fasta -o out
完美解决!

你可能感兴趣的:(程序使用libstdc++库文件偏低及解决方案)