ImportError: /lib64/libm.so.6: version `CXXAB_1.3.8.' not found (required by /usr/local/python37/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so)
问题背景
使用在AI项目中,由于需要用到tensorflow,scipy,sklearn等这些库,所以需要libstdc++库。
问题原因
这个问题的出现与写的代码无关,只与操作系统的libstdc++配置相关,由于Linux内核不支持,gcc版本太低。
解决方案
百度查询稀里糊涂的就解决了
解决过程
- 查看系统gcc版本
gcc --version
strings /usr/lib64/libstdc++.so.6 | grep 'CXXABI'
# Anaconda
strings ~/anaconda3/lib/libstdc++.so.6 | grep 'CXXABI'
- GCC 4.8.5 不支持 C++11,在升级gcc的时候使用yum是无效的,只能下载源码、编译。
- 下载和解压
cd /home
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.gz
tar zxvf gcc-6.3.0.tar.gz
cd gcc-6.3.0
- 编译前的准备工作
#安装C和C++的静态库
yum install -y glibc-static libstdc++-static
#安装旧版本的gcc、c++编译器
yum install gcc gcc-c++
- 安装gcc需要下载诸如gmp、mpfr、mpc等依赖文件,执行download_prerequisites将会自动完成这项工作,但是由于一些原因可能需要需要我们手动操作,步骤是:1 下载,2 解压, 3 建立软帘
MPFR=mpfr-3.1.4
GMP=gmp-6.1.0
MPC=mpc-1.0.3
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPFR.tar.bz2
tar xjf $MPFR.tar.bz2
ln -sf $MPFR mpfr
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$GMP.tar.bz2
tar xjf $GMP.tar.bz2
ln -sf $GMP gmp
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPC.tar.gz
tar xzf $MPC.tar.gz
ln -sf $MPC mpc
rm -f $MPFR.tar.bz2 $GMP.tar.bz2 $MPC.tar.gz
- 编译安装gcc
#调用gcc源程序的configure(后面的参数选项可根据需要自行修改),用于配置gcc
./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
#编译gcc源程序
make # 这一步需要花费 两个小时的时间
#安装gcc
make install
- 使用locate命令定位到libstdc++.so的位置,然后复制,建立软链
# 需要注意路径与权限问题
locate libstdc++.so
rm -rf libstdc++.so.6
ln -sf libstdc++.so.6.0.24 libstdc++.so.6
Idconfig
ImportError: /lib64/libm.so.6: version `CXXAB_1.3.8.' not found (required by /usr/local/python37/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so)的更多相关文章
- ImportError: /lib64/libm.so.6: version `GLIBC_2.23' not found (required by /usr/local/python37/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so)
一 问题背景 这个错误的出现往往与我前面的一篇文章 ImportError: /lib64/libm.so.6: version `CXXAB_1.3.8.' not found (required ...
- 报错信息ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by............)
报错信息ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by............) L ...
- 通过离线安装包解决了 from cryptography.hazmat.bindings._openssl import ffi, lib ImportError: /usr/local/python36/lib/python3.6/site-packages/cryptography-2.2.2-py3.6-linux-x86_64.egg/cryptography/hazmat/binding
场景:内网服务器不能上外网(代理也不通!), 之前安装了PYTHON的几个安装包,但不是知道为什么无法使用PARAMIKO这个模块 在导入 from cryptography.hazmat.bindi ...
- ImportError: /lib64/libc.so.6: version `GLIBC_2.17' 问题解决
安装最新的TensorFlow(>=1.10)后,载入TensorFlow时提示Glibc版本过低,需要升级到指定版本. ImportError: /lib64/libc.so.6: versi ...
- ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found
问题背景描述: 在做图片验证码识别安装 tensorflow 启动程序报错: ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' no ...
- assistant: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by
[oracle@oracledb button]$ assistantassistant: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' no ...
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found,解压rpm包
如果是64位系统报错信息如下: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by 原因是没有GLIB ...
- (转)解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题
转自:https://itbilu.com/linux/management/NymXRUieg.html 源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/l ...
- ERR:/usr/local/lib/libcrypto.so.1.0.0: no version information available
解决方法: locate libssl.so.1.0.0 sudo rm /usr/local/lib/libssl.so.1.0.0 sudo ln -s /lib/x86_64-linux ...
随机推荐
- JavaScript基础Javascript中的循环(003)
1.普通循环JavaScript中一般的循环写法是这样的: // sub-optimal loop for (var i = 0; i < myarray.length; i++) { // d ...
- [NLP] REFORMER: THE EFFICIENT TRANSFORMER
1.现状 (1) 模型层数加深 (2) 模型参数量变大 (3) 难以训练 (4) 难以fine-tune 2. 单层参数量和占用内存分析 层 参数设置 参数量与占用内存 1 layer 0.5Bill ...
- python字符串与文本操作(一)
1.一个字符串分割为多个字段,但是分隔符 (还有周围的空格) 并不是固定的 #string 对象的split()方法只适应于非常简单的字符串分割情形,它并不允许有 多个分隔符或者是分隔符周围不确定的空 ...
- [Python] list vs tupple
前言 列表(list)和 元组(tupple) 是 Python 中常见的两种数据结构.这两者使用方法有一定的相似,俩者都是 Python 内置类型,都可以保存数据集合,都可以保存复合数据,我们同样可 ...
- css图片居中,通过纯css实现图片居中的多种实现方法
在网页布局中,图文排版是我们常用的,那么经常会遇到如何让图片居中显示呢,这篇文章将总结常用css实现图片居中的方法总结: html结构: <div class="demo" ...
- Java实现上传文件到指定服务器指定目录(ChannelSftp实现文件上传下载)
package com.tianyang.task.utils; import java.io.File;import java.io.FileInputStream;import java.io.I ...
- ES6入门(二)
目录 ES6入门(二) es6之解构赋值 数组的解构赋值 对象的解构赋值 字符串的解构赋值 数值和布尔值的解构赋值 函数参数的解构赋值 圆括号问题 ES6入门(二) es6之解构赋值 数组的解构赋值 ...
- Spring IoC 公共注解详解
前言 本系列全部基于 Spring 5.2.2.BUILD-SNAPSHOT 版本.因为 Spring 整个体系太过于庞大,所以只会进行关键部分的源码解析. 什么是公共注解?公共注解就是常见的Java ...
- day28 作业
import uuid import pickle import os # 学校类 class School: #校区的名字:如"老男孩上海校区" #校区的地址:如"上海 ...
- 技术干货丨通过wrap malloc定位C/C++的内存泄漏问题
摘要:用C/C++开发的程序执行效率很高,但却经常受到内存泄漏的困扰.本文提供一种通过wrap malloc查找memory leak的思路. 用C/C++开发的程序执行效率很高,但却经常受到内存泄漏 ...