glibc

误删除libc.so.6 恢复

被刻印的时光 ゝ 提交于 2020-03-07 22:05:41
一、我是怎样一步一步毁掉系统的 最近在centos 7上进行开发。由于需要使用高版本linux内核的特性,需要将linux内核升级。按照教程: centos 7升级内核 进行升级的时候发现在安装elrepo的yum源时遇到问题说elrepo-release-7.0-2.el7.elrepo.noarch.rpm 需要glibc-2.17。 使用 ldd --version 发现系统的glibc版本为 glibc-2.22,当时没有想到更好的方法,就尝试将系统的glibc版本修改为glibc-2.17. 于是按照stackoverflow上的 教程 You cannot update glibc on Centos 6 safely. However you can install 2.14 alongside 2.12 easily, then use it to compile projects etc. Here is how: mkdir ~/glibc_install; cd ~/glibc_install wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz tar zxvf glibc-2.14.tar.gz cd glibc-2.14 mkdir build cd build ../configure --prefix

How to install GLIBC_2.14 without admin right

不想你离开。 提交于 2020-03-02 11:25:24
问题 I want to use gdc-client, however, after I download it and run it. the system reported as: ./gdc-client: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /tmp/_MEI5oSpPi/libz.so.1) It is our University Server, I don't have any admin right. Do you know how to install GLIBC_2.14 without admin right? [shg047@tscc-login2 software]$ lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64

How to install GLIBC_2.14 without admin right

不想你离开。 提交于 2020-03-02 11:25:21
问题 I want to use gdc-client, however, after I download it and run it. the system reported as: ./gdc-client: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /tmp/_MEI5oSpPi/libz.so.1) It is our University Server, I don't have any admin right. Do you know how to install GLIBC_2.14 without admin right? [shg047@tscc-login2 software]$ lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64

gcc/glibc/binutils模块简介

▼魔方 西西 提交于 2020-03-01 23:07:37
一、关于gcc、glibc和binutils模块之间的关系   1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的运行库的支持,如libgcc_s.so、libstdc++.so等。   2、binutils提供了一系列用来创建、管理和维护二进制目标文件的工具程序,如汇编(as)、连接(ld)、静态库归档(ar)、反汇编(objdump)、elf结构分析工具(readelf)、无效调试信息和符号的工具(strip)等。通常,binutils与gcc是紧密相集成的,没有binutils的话,gcc是不能正常工作的。   3、glibc是gnu发布的libc库,也即c运行库。glibc是linux系统中最底层的api(应用程序开发接口),几乎其它任何的运行库都会倚赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现,主要的如下:   (1)string,字符串处理   (2)signal,信号处理   (3)dlfcn,管理共享库的动态加载   (4)direct,文件目录操作   (5)elf,共享库的动态加载器,也即interpreter   (6)iconv,不同字符集的编码转换   (7)inet

FW: printf()详解之终极无惑

倖福魔咒の 提交于 2020-03-01 16:36:49
printf()详解之终极无惑 2016年08月24日 20:01:53 Dablelv 阅读数:53819更多 所属专栏: C/C++基础知识点 版权声明:感谢您对博文的关注!校招与社招,有需要内推腾讯的可以QQ(1589276509)or 微信(louislvlv)联系我哈,期待您的加入。 https://blog.csdn.net/K346K346/article/details/52252626 1.printf()简介 printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h。 函数原型: int printf ( const char * format, ... ); 1 返回值: 正确返回输出的字符总数,错误返回负值。与此同时,输入输出流错误标志将被置值,可由指示器函数ferror(FILE *stream)来检查输入输出流的错误标志,如果ferror()返回一个非零值,表示出错。 调用格式: printf()函数的调用格式为: printf("格式化字符串",输出表列) 。 格式化字符串包含三种对象,分别为: (1)字符串常量; (2)格式控制字符串; (3)转义字符。 字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项

关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结(转)

不羁岁月 提交于 2020-03-01 07:40:24
一、关于gcc、glibc和binutils模块之间的关系 1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的运行库的支持,如libgcc_s.so、libstdc++.so等。 2、binutils提供了一系列用来创建、管理和维护二进制目标文件的工具程序,如汇编(as)、连接(ld)、静态库归档(ar)、反汇编(objdump)、elf结构分析工具(readelf)、无效调试信息和符号的工具(strip)等。通常,binutils与gcc是紧密相集成的,没有binutils的话,gcc是不能正常工作的。 3、glibc是gnu发布的libc库,也即c运行库。glibc是linux系统中最底层的api(应用程序开发接口),几乎其它任何的运行库都会倚赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现,主要的如下: (1)string,字符串处理 (2)signal,信号处理 (3)dlfcn,管理共享库的动态加载 (4)direct,文件目录操作 (5)elf,共享库的动态加载器,也即interpreter (6)iconv,不同字符集的编码转换 (7)inet,socket接口的实现 (8)intl,国际化

关于gcc、glibc和binutils模块之间的关系

心已入冬 提交于 2020-03-01 07:21:39
转 http://www.mike.org.cn/articles/linux-about-gcc-glibc-and-binutils-the-relationship-between-modules/ 一、关于gcc、glibc和binutils模块之间的关系   1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的运行库的支持,如libgcc_s.so、libstdc++.so等。   2、binutils提供了一系列用来创建、管理和维护二进制目标文件的工具程序,如汇编(as)、连接(ld)、静态库归档(ar)、反汇编 (objdump)、elf结构分析工具(readelf)、无效调试信息和符号的工具(strip)等。通常,binutils与gcc是紧密相集成 的,没有binutils的话,gcc是不能正常工作的。   3、glibc是gnu发布的libc库,也即c运行库。glibc是linux系统中最底层的api(应用程序开发接口),几乎其它任何的运 行库都会倚赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现,主要的如下:   (1)string,字符串处理   (2)signal,信号处理   (3)dlfcn

glibc下的内存管理

白昼怎懂夜的黑 提交于 2020-03-01 03:59:03
glibc下的内存管理 几周前我曾提到,我被项目组分配去做了一些探究linux下内存管理机制的活儿。因为我们的产品遇到了一些与之相关的“诡异”问题。这些问题以及相关情况可以概括如下: 先介绍一下相关的背景。由于我们是3D软件,所以用户经常会有“导入/导出”各种geometry的需求。而一个存储这些数据的文件,可能含有不止一个geometry,而且每个geometry中也可能存在着成千上万个面片/多边形等各种基本元素。这些元素本身都不大,但数量很多。 第一次导入geometry时,会占据大量内存(比如说吧,有1.5G)以上;在不关闭软件而进行各种“清理”操作后,内存却基本不释放;接着再次导入相同的geometry时,内存也没有明显增加;然而如果再进行一次导入操作的话,内存又会被大量占用(约1G以上)。 将以上试验,换成先导入geometry1, 然后清理场景, 再导入geometry2,此时geometry2的内存占用量,要比单独首次导入geometry2时所占用的内存量要小。 valgrind是一款在linux下经常使用检查各种内存管理问题的工具集合。我们用valgrind的memcheck组件进行过专门的内存泄露测试,并未发现明显的泄露情况。 我们的产品在mac平台上也有相应的版本。拿到mac os x上做实验,发现同样的代码,表现并不相同。其中每次清理场景后,都会有可观的内存

用brk实现sbrk,关于brk的返回值

好久不见. 提交于 2020-03-01 03:58:32
首先我们已经知道linux下,malloc最后调用的是sbrk函数,而sbrk是对brk的简单封装。 用sbrk模仿malloc很简单,sbrk(0)得到当前breakpoint,再调用sbrk(size)即可。(PS:breakpoint表示堆结束地址) 一直以来让我困惑的是,怎么用brk去实现sbrk,换句话说,就是只有brk系统调用,如何能得知当前的breakpoint...难道就没有人想过这个问题嘛?搜索了各种关键字,来来回回都围绕着sbrk讲,算了,自己动手,丰衣足食,咱求人不如求己,还是自己分析分析好了, glibc中brk的wrapper如下: #include <unistd.h> int brk(void *addr); man手册中对此函数的描述: brk() sets the end of the data segment to the value specified by addr, when that value is reasonable, the system has enough memory, and the process does not exceed its maximum data size (see setrlimit(2)). RETURN VALUE On success, brk() returns zero. On error,

EulerOS安装net-tools报错

醉酒当歌 提交于 2020-02-28 21:00:19
在docker中执行 yum install net-tools 报错 Error: Package: glibc-2.17-222.h15.eulerosv2r7.i686 (base) Requires: glibc-common = 2.17-222.h15.eulerosv2r7 Installed: glibc-common-2.17-222.h16.eulerosv2r7.x86_64 (installed) glibc-common = 2.17-222.h16.eulerosv2r7 Available: glibc-common-2.17-222.h6.eulerosv2r7.x86_64 (base) glibc-common = 2.17-222.h6.eulerosv2r7 Available: glibc-common-2.17-222.h12.eulerosv2r7.x86_64 (base) glibc-common = 2.17-222.h12.eulerosv2r7 Available: glibc-common-2.17-222.h13.eulerosv2r7.x86_64 (base) glibc-common = 2.17-222.h13.eulerosv2r7 Available: glibc-common-2.17-222.h15