python numpy包调用core dumped、Linux VDSO机制

1、问题描述:

centos 4.3系统,调用 numpy 发生 core dumped,而 centos 6.3正常

Lib/python/python-2.7.3/bin/python
Python 2.7.3 (default, Oct 30 2012, 19:16:39) 
[GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Floating point exception (core dumped)

centOS 4.3下  查看动态调用库

ldd /Lib/python/python-2.7.3/bin/python
        libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000003f0b900000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003f0b300000)
        libutil.so.1 => /lib64/libutil.so.1 (0x0000003f0db00000)
        libm.so.6 => /lib64/tls/libm.so.6 (0x0000003f0b500000)
        libc.so.6 => /lib64/tls/libc.so.6 (0x0000003f0b000000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003f0ae00000)

 centOS 6.3下  查看动态调用库,比centOS 4.3下多linux-vdso.so.1,可以看到linux-vdso.so.1,没有与任何实际的文件相对应。这个就是linux用于支持新型系统调用的“虚拟”共享库,

 

ldd Lib/python/python-2.7.3/bin/python
        linux-vdso.so.1 =>  (0x00007fff265ff000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x000000318b200000)
        libdl.so.2 => /lib64/libdl.so.2 (0x000000318aa00000)
        libutil.so.1 => /lib64/libutil.so.1 (0x000000318de00000)
        libm.so.6 => /lib64/libm.so.6 (0x000000318b600000)
        libc.so.6 => /lib64/libc.so.6 (0x000000318ae00000)
        /lib64/ld-linux-x86-64.so.2 (0x000000318a600000)

2、原因:numpy包是在  centOS 6.3 下编译安装的,导致在 centos4.3下找不到对应的链接库。

3、VDSO机制

linux-vdso.so.1并不存在实际的文件,它只是操作系统生成的一个虚拟动态共享库(Virtual Dynamic Shared Library,VDSO)。因为该共享库不是以一个文件的格式(属于elf文件格式)存在于文件系统中,而是由内核提供的,对用户进程而言是虚拟的。

查看内核版本:

cat /proc/version 
Linux version 2.6.32_1-16-0-0 (yuanlinsi@dbl-sat-dev01.dbl01.baidu.com) (gcc version 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC) ) #2 SMP Tue Aug 4 10:59:02 CST 2015

 

 

转载于:https://my.oschina.net/u/347414/blog/869748

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值