`
haiouc
  • 浏览: 115189 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

glibc版本信息及安装

阅读更多

 

在高版本的glibc上编译的不能到底版本的glibc机器上运行的


问题:我需要找出我的Linux系统上的GNU C库(glibc)的版本,我怎样才能检查Linux上的glibc版本呢?

 

GNU C库(glibc)是标准C库的GNU实现。glibc是GNU工具链的关键组件,用于和二进制工具和编译器一起使用,为目标架构生成用户空间应用程序。
当从源码进行构建时,一些Linux程序可能需要链接到某个特定版本的glibc。在这种情况下,你可能想要检查已安装的glibc信息以查看是否满足依赖关系。
这里介绍几种简单的方法,方便你检查Linux上的glibc版本。
下面给出了命令行下检查GNU C库的简单命令。


方法一
$ ldd --version


方法二
另一个方法是在命令行“输入”glibc 库的名称(如,libc.so.6),就像命令一样执行。
输出结果会显示更多关于glibc库的详细信息,包括glibc的版本以及使用的GNU编译器,也提供了glibc扩展的信息。glibc变量的位置取决于Linux版本和处理器架构。
在基于Debian的64位系统上:
$ /lib/x86_64-linux-gnu/libc.so.6
在基于Debian的32位系统上:
$ /lib/i386-linux-gnu/libc.so.6
在基于Red Hat的64位系统上:
$ /lib64/libc.so.6
在基于Red Hat的32位系统上:
$ /lib/libc.so.6


在输出信息中有对应的版本号信息:

server:/lib/libc.so.6
GNU C Library stable release version 2.5, by Roland McGrath et al.
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.1.2 20080704 (Red Hat 4.1.2-46).
Compiled on a Linux 2.6.9 system on 2010-03-10.
Available extensions:
        The C stubs add-on version 2.1.2.
        crypt add-on version 2.1 by Michael Glad and others
        GNU Libidn by Simon Josefsson
        GNU libio by Per Bothner
        NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
        Native POSIX Threads Library by Ulrich Drepper et al
        BIND-8.2.3-T5B
        RT using linux kernel aio
Thread-local storage support included.
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.


===========================================================================================
===========================================================================================
===========================================================================================


glibc的安装编译


有些软件可能要求系统的 Glibc 高于某个版本才可以正常运行。如果您的 Glibc 低于要求的版本,为了运行这些软件,您就不得不升级您的 Glibc 了 。您可以寻找已经编译好的 rpm 包或者使用源代码的方式升级 Glibc。

下载glibc
wget <http://ftp.gnu.org/gnu/glibc/glibc-2.7.tar.gz>

下载glibc-linuxthreads
wget <http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.5.tar.bz2>

 
解压
#tar -zxvf glibc-2.7.tar.gz
#cd glibc-2.7
#tar -zxvf ../glibc-linuxthreads-2.3.6.tar.gz
#cd ..
#export CFLAGS="-g -O2 -march=i486"
#./glibc-2.7/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin --disable-sanity-checks

#make
#make install


安装编译过程中需要注意三点:
1、要将glibc-linuxthreads解压到glibc目录下。
2、不能在glibc当前目录下运行configure。
3、加上优化开关,export CFLAGS="-g -O2 -march=i486",否则会出现错误
'#error "glibc cannot be compiled without optimization"'


网上有些地方加优化开关 -O2 时(大写字母O),写的是 -02 (数字零),所以拷贝过来仍然出现3中的错误,所以请注意。

安装完后,可以查看ls -l /lib/libc.so.6已升级

lrwxrwxrwx 1 root root 11 Nov 12 09:24 /lib/libc.so.6 -> libc-2.7.so

 

 

分享到:
评论

相关推荐

    操作系统安全:chkrootkit及rkhunter使用.docx

    Usage: ./chkrootkit [options] [test ...] Options: -h 显示帮助信息 -V 显示版本信息 -l 显示测试内容 -d debug模式,显示检测过程的相关指令程序 -q 安静模式,只显示有问题部分, -x 高级模式,显示所有检测...

    java读取安卓的apk包基本信息

    如果linux是64位系统的,需要注意系统里面还要安装3个包(glibc.i686,zlib.i686,libstdc++.i686),不然64位系统不支持32位的aapt运行。http://blog.csdn.net/nongming127326/article/details/27185567 该网址说的...

    基于BERT+PyTorch实现的文本纠错模型Python源码+数据集+模型

    如果出现报错 GLIBC 版本过低的问题(GLIBC 的版本更迭容易出事故,不推荐更新),openCC 改为安装 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传...

    Gbase8a MPP安装错误

    安装从group : yum install libcgroup cgroup服务的启动和停止:service cgconfig start|stop 二、由于linux文件版本过低,造成启动节点服务失败 这个问题搞了我好久,后来从网上查到了gbase故障处理手册,使用...

    Redhat linux RHEL5最新功能

    Server系统版本信息: [root@rhel5 Server]# cat /etc/issue Red Hat Enterprise Linux Server release 5 (Tikanga) Server Kernel内核版本: [root@rhel5 Server]# uname -a Linux rhel5.xxx.xxx.xxx 2.6.18-8.el5...

    malt:MALT是MALloc Tracker,用于查找在CC ++ Fortran应用程序中在何处以及如何进行内存分配

    它还为您提供有关内存使用情况的一些统计信息,并帮助您查找内存泄漏。 依存关系 MALT取决于是否存在: binutils(nm和add2line)提取符号。 测试的版本是2.24。 它视情况取决于: nodejs( )以运行webview GUI...

    option_trading:基于策略的期权交易

    linux-gnueabihf/libc.so.6:未找到版本“ GLIBC_2.28” 解决了:pip install numpy --global-option =“-mfloat-abi = hard” --force-reinstall现在可以通过将树莓派版本从9更新到10(Buster)来解决安装Chrome ...

    worldwindjava源码-opendatacon:灵活、高度可配置、模块化、高性能、异步、免费、开源数据集中器

    OS_ver:目标平台详细信息 - 这不必与您的系统完全匹配,因为大多数依赖项都是捆绑的。 el6:适用于具有较旧系统库 (glibc) 的 Linux 系统,例如 RHEL/CentOS/OEL 6 rpi: 树莓派 linux OSX 和 Windows 系统/SDK 的...

    node-murmurhash-native:MurmurHash节点的本机绑定

    节点的MurmurHash绑定 该库以几种不同的方式提供了Austin Appleby的非加密“ MurmurHash”哈希算法功能。 主要特征: 阻塞和异步api接口 ... 如果由于某种原因(例如,不兼容的GLIBC),您可能要强

    中标麒麟服务器操作系统介绍.pdf

    Aide高级入侵检测环境 安全增强模块 可以实现三权分立、强制访问控制、审计、强口令等安全 特性功能 中标麒麟服务器操作系统技术指标 管理工具 数据库辅助安装工具 提供(包含国内和国外的主流产品) 中间件辅助安装...

    iputils:iputils软件包是一组用于Linux网络的小实用工具

    iputils软件包是一组用于Linux网络的小型实用工具。 这些工具包含在iputils中 Arping Clockdiff 信息 ping 拉尔普 光盘 ftpd ... 此版本还完全支持glibc,uClibc和musl-libc。 本地化托管在。

    nginx(1-9-8).syno.tar官方镜像

    要以只读模式运行nginx,您需要将Docker卷安装到nginx写入信息的每个位置。默认的nginx配置需要对/var/cache和的写权限/var/run。可以通过如下运行nginx轻松地完成此操作: $ docker run -d -p 80:80 --read-only...

    监视程序:Atom Filesystem监视程序

    Atom文件系统监视程序 Linux 视窗 苹果系统 @ atom / watcher是Node.js的文件系统监视... @ atom / watcher支持 (&gt; = MacOS 10.7) , (&gt; = Windows XP,&gt; = Windows Server 2003)和 (内核&gt; = 2.6.27,glibc&gt; = 2

    Linux FTP服务搭建

    确认系统中vsFTPd的安装和版本情况: [root@localhost ~]#rpm –q vsftpd 安装vsFTPd命令: [root@localhost Server]#rpm –ivh vsftpd-2.0.5-12.el5.i386.rpm 在vsftpd.conf文件中配置匿名访问: anonymous_...

    操作系统(内存管理)

    这样,每个进程都获得了自己可以使用的地址空间,可以访问比您物理上安装的内存更多的内存。 在 32-位 x86 系统上,每一个进程可以访问 4 GB 内存。现在,大部分人的系统上并没有 4 GB 内存,即使您将 swap 也算上...

    uboott移植实验手册及技术文档

    实验三 移植U-Boot-1.3.1 实验 【实验目的】 了解 U-Boot-1.3.1 的代码结构,掌握其移植方法。 【实验环境】 1、Ubuntu 7.0.4发行版 2、u-boot-1.3.1 3、FS2410平台 4、交叉编译器 arm-softfloat-linux-gnu-...

    LINUX系统开发技术详解---基于ARM

    9 2.1.2 ARM处理器体系结构........................................................................................ 10 2.1.3 Linux 与ARM处理器...............................................................

Global site tag (gtag.js) - Google Analytics