为xgboost搭建环境,升级glibc,gcc,和解决升级glibc之后的中文乱码问题
来源:互联网 发布:农村 剩女 心态 知乎 编辑:程序博客网 时间:2024/05/29 06:58
一:将xgboost源码包编译好之后,在spark上运行报错:…/lib64/libc.so.6: version `GLIBC_2.14’ not found
解决办法:升级glibc,我选择的是升级到2.14
- 下载glibc-2.14.tar.xz:下载地址
- 解压:tar -xvf glibc-2.14.tar.xz
进入解压之后的目录并安装:
[root@test hadoop]# cd glibc-2.14
[root@test glibc-2.14]# mkdir build
[root@test glibc-2.14]# cd build
[root@test build]# ../configure --prefix=/opt/glibc-2.14
[root@test build]# make&&make install查看新安装的glibc是否有需要的 GLIBC_2.14:
[root@test lib]# pwd
/opt/glibc-2.14/lib
[root@test lib]# ll | grep libc
-rwxr-xr-x 1 root root 9711489 Dec 20 08:15 libc-2.14.so
-rw-r--r-- 1 root root 22029786 Dec 20 08:14 libc.a
-rwxr-xr-x 1 root root 275528 Dec 20 08:15 libcidn-2.14.so
lrwxrwxrwx 1 root root 12 Dec 20 08:15 libcidn.so -> libcidn.so.1
lrwxrwxrwx 1 root root 15 Dec 20 08:15 libcidn.so.1 -> libcidn-2.14.so
-rw-r--r-- 1 root root 71462 Dec 20 08:14 libc_nonshared.a
-rwxr-xr-x 1 root root 131926 Dec 20 08:15 libcrypt-2.14.so
-rw-r--r-- 1 root root 214372 Dec 20 08:15 libcrypt.a
lrwxrwxrwx 1 root root 13 Dec 20 08:15 libcrypt.so -> libcrypt.so.1
lrwxrwxrwx 1 root root 16 Dec 20 08:15 libcrypt.so.1 -> libcrypt-2.14.so
-rw-r--r-- 1 root root 288 Dec 20 08:15 libc.so
lrwxrwxrwx 1 root root 12 Dec 20 08:15 libc.so.6 -> libc-2.14.so
[root@test lib]# strings libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_PRIVATE
[root@test lib]#- 经验证发现GLIBC_2.14已经存在了,因为报错信息时/lib64/libc.so.6下找不到,接下来进行验证一下,是否是真的不存在:
[hadoop@master ~]$ strings /lib64/libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE
[hadoop@master ~]$
我是换了一台服务器,经验证确实不存在GLIBC_2.14 修改软连接指定到新的glibc库(这一步切记谨慎操作,危险动作,有可能会导致整个系统挂掉):
- 在修改软连接之前做好充分的准备工作:用root账号打开ftp
- 将/opt/glibc-2.14/lib/libc-2.14.so 复制到 /lib64/:
[root@test lib]# pwd
/opt/glibc-2.14/lib
[root@test lib]# cp ./libc-2.14.so /lib64/ - 修改/lib64/libc.so.6软连接,让libc.so.6指向libc-2.14.so:
[root@test lib64]$ mv libc.so.6 libc.so.6.bak&&ln -s libc-2.14.so libc.so.6
切记目录一定不要搞错,不要删除原来的软连接,改个名字,两个命令要同时执行。如果万一出现了问题第一种解决办法:通过ftp把libc.so.6.bak 改回原来的libc.so.6;第二种:输入命令 export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH 增加临时变量,路径一定是你自己安装目录 - 软连接修改好以后检查一下:
[hadoop@test lib64]$ strings libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_PRIVATE
[hadoop@test lib64]$
到此为止glibc升级已经完成
二:再次运行代码报错:…/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18’ not found
解决办法:升级gcc到 4.8.1
- 下载gcc-4.8.1.tar.gz:下载地址
- 具体的安装参考博客
[root@init ~]# tar gcc-4.8.1.tar.gz
[root@test ~]# cd gcc-4.8.1
[root@test gcc-4.8.1]# ./contrib/download_prerequisites
[root@test gcc-4.8.1]# mkdir gcc-build-4.8.1
[root@test gcc-4.8.1]# cd gcc-build-4.8.1
[root@test gcc-4.8.1]# ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
[root@test gcc-4.8.1]# make -j4
[root@test gcc-4.8.1]# make install
[root@test gcc-4.8.1]# reboot
[root@test gcc-4.8.1]# gcc -v
三:再次运行代码没有问题了,但是发现服务器上中文乱码
详细解决办法:博客地址
[root@test lib]# mkdir locale[root@test gcc-4.8.1]# cp /usr/lib/locale/locale-archive /opt/glibc-2.14/lib/locale/locale-archive
- 为xgboost搭建环境,升级glibc,gcc,和解决升级glibc之后的中文乱码问题
- glibc 升级&&gcc升级
- Debian7升级glibc和gcc
- 升级gcc,glibc库途中遇到的各种问题
- 关于gcc、glibc和binutils模块之间的关系,连同在现有系统上升级glibc
- 对于gcc glibc和binutils升级的次序问题分析与思考
- 升级glibc
- 升级glibc
- glibc升级
- glibc 2.5升级2.7问题
- 升级gcc后glibc报错
- 升级glibc到glibc-2.14 解决version `GLIBC_2.14' not found 问题
- arch完美升级glibc
- RedHat4 升级glibc
- centos下升级glibc
- Ubuntu10.04升级glibc
- redhad6.0升级glibc
- 升级glibc库
- ARC068E
- VMware虚拟机设置centos固定ip地址
- Window下查看dll, lib文件是32位还是64位
- 简单的动态规划——装箱问题
- 调试工具:OzCode
- 为xgboost搭建环境,升级glibc,gcc,和解决升级glibc之后的中文乱码问题
- JSON解析,null变成了"null"
- python学习总结---列表、元组、字符串、字典中一些常用函数
- json转对象数组
- 给Android标题栏加上返回按钮
- 收入
- 非web java项目部署到linux总结(非打包成jar,配置文件可以随时修改)
- Apache mina 入门(四) —— 客户端长连接方式实现断线重连监听
- 画画一样开发软件 中文版开发工具的配置及开发准备