错误./vpdetection:/gpfs/apps/x86_64-rhel5/matlab/R2012a/sys/os/glnxa64/libstdc++.so.6:未找到版本'GLIBCXX_3.4.14' [英] Error ./vpdetection: /gpfs/apps/x86_64-rhel5/matlab/R2012a/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found

查看:172
本文介绍了错误./vpdetection:/gpfs/apps/x86_64-rhel5/matlab/R2012a/sys/os/glnxa64/libstdc++.so.6:未找到版本'GLIBCXX_3.4.14'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




  • Linux版本是红帽企业Linux服务器版本5.9(Tikanga )。
  • gcc版本为4.1.2。

  • MALTAB版本为R2012b。



MALTAB中导致问题的语句是:
$ b $ pre $ [status,result] = system ('./vpdetection lines.tmp lines.out');

我遇到如下错误:


./ vpdetection:/gpfs/apps/x86_64-rhel5/matlab/R2012a/sys/os/glnxa64/libstdc++.so.6:版本'GLIBCXX_3.4.14'找不到


我搜索了几个解决方案,但都需要编辑系统文件。
由于我在服务器上运行的代码中没有 sudo 编辑系统文件的权限。






我试过<$ c

有没有其他的解决方法不需要编辑系统文件? $ c> ldd 命令。结果如下:

  [sxh415 @ cyberstar vpdetection] $ ldd matlab / vpdetection 
matlab / vpdetection:/ usr / lib64 / libstdc ++。so.6:未找到'GLIBCXX_3.4.9'版本(matlab / vpdetection要求)
matlab / vpdetection:/usr/lib64/libstdc++.so.6:version'GLIBCXX_3.4.14'未找到(需要matlab / vpdetection)
matlab / vpdetection:/usr/lib64/libstdc++.so.6:找不到版本'GLIBCXX_3.4.11'(需要matlab / vpdetection)
linux-vdso .so.1 => (0x00007ffff7ff8000)
libstdc ++。so.6 => /usr/lib64/libstdc++.so.6(0x0000003845400000)
libm.so.6 => /lib64/libm.so.6(0x0000003840400000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1(0x0000003844c00000)
libc.so.6 => /lib64/libc.so.6(0x0000003840000000)
/lib64/ld-linux-x86-64.so.2(0x000000383fc00000)


解决方案在您的可执行文件内部MATLAB和外部系统shell上运行 ldd



Shell



  $ ldd ./vpdetection 
code>



MATLAB



 > > !ldd ./vpdetection 

要解决任何依赖冲突,请尝试使用 LD_PRELOAD 启动MATLAB本身或可执行文件时:

  $ LD_PRELOAD = / path / to / libstdc ++。so matlab 

 >>系统('LD_PRELOAD = / path / to / libstdc ++。so ./vpdetection lines.tmp lines.out')


I am now trying to run some MATLAB code in Linux environment:

  • Linux version is Red Hat Enterprise Linux Server release 5.9 (Tikanga).
  • gcc version is 4.1.2.
  • MALTAB version is R2012b.

The statement in MALTAB that causes the problem is:

[status, result] = system('./vpdetection lines.tmp lines.out');

I got an error as follows:

./vpdetection: /gpfs/apps/x86_64-rhel5/matlab/R2012a/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found

I have googled several solutions but they all require editing system files. Since I am running the code on server where I don't have sudo right to edit system files.

Are there any other workarounds that don't need to edit system files?


I have tried ldd command. The result is as follows:

[sxh415@cyberstar vpdetection]$ ldd matlab/vpdetection
matlab/vpdetection: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by matlab/vpdetection)
matlab/vpdetection: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by matlab/vpdetection)
matlab/vpdetection: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by matlab/vpdetection)
    linux-vdso.so.1 =>  (0x00007ffff7ff8000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003845400000)
    libm.so.6 => /lib64/libm.so.6 (0x0000003840400000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003844c00000)
    libc.so.6 => /lib64/libc.so.6 (0x0000003840000000)
    /lib64/ld-linux-x86-64.so.2 (0x000000383fc00000)

解决方案

Run ldd on your executable both inside MATLAB and outside on the system shell:

Shell

$ ldd ./vpdetection

MATLAB

>> !ldd ./vpdetection

To solve any dependency conflicts, try using LD_PRELOAD when launching either MATLAB itself or the executable:

$ LD_PRELOAD=/path/to/libstdc++.so matlab

or

>> system('LD_PRELOAD=/path/to/libstdc++.so ./vpdetection lines.tmp lines.out')

这篇关于错误./vpdetection:/gpfs/apps/x86_64-rhel5/matlab/R2012a/sys/os/glnxa64/libstdc++.so.6:未找到版本'GLIBCXX_3.4.14'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆