CRC不匹配会导致与libnetcdff.so.6相关的错误吗?

时间:2015-03-03 14:50:03

标签: gdb ubuntu-14.04 gfortran crc netcdf

当我在Ubuntu 14.04操作系统下运行我的Fortran代码时,出现以下错误:error while loading shared libraries: libnetcdff.so.6: cannot open shared object file: No such file or directory。我看到ldd KiD_SC_2D.exe的ld路径,但似乎找到了libnetcdff

beata@beata-HP-Z420-Workstation:~/Downloads/kid_a_setup/bin$ ldd KiD_SC_2D.exe
  linux-vdso.so.1 =>  (0x00007fffd83a4000)
  libnetcdff.so.6 => /home/beata/netcdf/lib/libnetcdff.so.6 (0x00007f3849432000)
  libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f3849101000)
  libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3848dfa000)
  libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3848be4000)
  libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f384881f000)
  libnetcdf.so.7 => /home/beata/netcdf/lib/libnetcdf.so.7 (0x00007f3848533000)
  libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f38482f7000)
  /lib64/ld-linux-x86-64.so.2 (0x00007f3849694000)

当我跑gdb时,我收到以下警告:

warning: the debug information found in "/lib64/ld-2.19.so" does not match "/lib64/ld-linux-x86-64.so.2" (CRC mismatch)

此警告是否可能导致libnetcdff.so.6问题?那么如何解决这种CRC不匹配问题呢?

1 个答案:

答案 0 :(得分:1)

  

这个警告是否可能引起libnetcdff.so.6的问题?

不,这完全不相关。

  

我如何解决这种CRC不匹配问题?

不匹配表示libc6libc6-dbg软件包的已安装版本不匹配。更新libc6-dbg以匹配已安装的libc6,警告应该消失。

至于找不到libnetcdff.so.6的原因,你并没有告诉我们整个故事。显然ldd确实找到了它,并且还应该运行KiD_SC_2D.exe。要调试它,您可能希望像这样运行它:

cd ~/Downloads/kid_a_setup/bin
env LD_DEBUG=files,libs ./KiD_SC_2D.exe

这应该告诉您动态链接器在哪里寻找libnetcdff