1.å¦ä½å®è£
glibc-2.15.tar
2.Linux|如何安装和运行多个 glibc 库
3.centos6.5升级glibc-2.18
4.已解决Bug13. 无root权限下glibc2.27安装失败的源码解决方案+make升级
å¦ä½å®è£ glibc-2.15.tar
ç¼è¯æ¥éª¤ï¼
ä¸è½½glibc-2..tar.gzåè¡¥ä¸å glibc-ports-2..tar.gz
解å
$mv glibc-ports-2. glibc-2./ports
$mkdir glibc-build-2. &&cd glibc-build-2.
$ ../glibc-2./configure \
--prefix=/usr/local/glibc_mips \
CC=mipsel-linux-gcc \
--host=mipsel-linux \
--build=i-pc-linux-gnu \
--enable-add-on=nptl \
libc_cv_forced_unwind=yes \
libc_cv_c_cleanup=yes \
libc_cv_mips_tls=yes \
libc_cv_gnu_inline=yes
ok,没é®é¢
$make &&make install
大ååæ
##########################################################################
ä¸é¢æ¯æç¼è¯æ¶çè¿ç¨åéå°çé®é¢å解å³ï¼
##########################################################################
$tar xvf glibc-2..0.tar.bz2
$cd glibc-2..0
$./configure --prefix=/usr/local/glibc //å ä¸å å ¶ä»é项ï¼é¤äºå®è£ è·¯å¾ï¼ä¸åé»è®¤ï¼ç½ä¸ä¸è¬é ç½®armçé项å¦ä¸ --prefix=$HOME/usr/arm --with-headers=$HOME/usr/arm/glibc/arm-linux-glibc/include --with-libs=$HOME/usr/arm/glibc/arm-linux-glibc/lib
æ¥éï¼
configure: error: you must configure in a separate build directory
å¾å¥æªçé®é¢ï¼å¿ é¡»é ç½®ä¸ä¸ªæ建ç®å½ï¼åå¼å§ä»¥ä¸ºæ¯å®è£ ç®å½ä¸ºå建
$mkdir /usr/local/glibc
é®é¢ä»ç¶åå¨ï¼ç¾åº¦ä¹
$mkdir ../glibc-build && cd ../glibc-build
$../glibc-2..0/configure --prefix=/usr/local/glibc
åºç°æ°çé®é¢ï¼
configure: WARNING:
*** These auxiliary programs are missing or incompatible versions: msgfmt
*** some features will be disabled.
*** Check the INSTALL file for required versions.
checking LD_LIBRARY_PATH variable... contains current directory
configure: error:
*** LD_LIBRARY_PATH shouldn't contain the current directory when
*** building glibc. Please change the environment variable
*** and run configure again.
第ä¸ä¸ªè¦åä¸ç¨ç®¡å®ï¼ç¬¬äºä¸ªLD_LIBRARY_PATYä¹ä¼æéï¼æçè¿ä¸ªè·¯å¾ç¨äºå¤å°å¤©äºãä»ç»çæ示ï¼ä¸åºå å«å½åè·¯å¾ãæå¼~/.bash_profile
$cat ~/.bash_profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export LD_LIBRARY_PATH
è¿ä¹æ²¡å½åè·¯å¾åãè¿æ¯ç¾åº¦å§ã
ä¸ä¸ªå å¼ç解éæ¯è¿æ ·âLD_LIBRARY_PATHä¸è½ä»¥ç»ç»ç¬¦ä½ä¸ºå¼å§åæåä¸ä¸ªå符ï¼ä¸è½æ2个ç»ç»ç¬¦è¿å¨ä¸èµ·ï¼æçLD_LIBRARY_PATH为 :/usr/local/firefox:/usr/local/firefox,åªè¦å¨åé¢å ä¸ä¸ä¸ªè·¯å¾ï¼ä¸è®©ï¼åºç°å¨ç¬¬ä¸ä¸ªå符就å¯ä»¥äº â
åæ¥å¦æ¤ï¼ç¬¬ä¸ä¸ªå符ä¸è½æ¯":"ï¼ä¿®æ¹~/.bash_profile
export LD_LIBRARY_PATH=/usr/local/lib export LD_LIBRARY_PATH
$../glibc-2..0/configure --prefix=/usr/local/glibc
lsä¸ä¸ï¼åç°ï¼å½åç®å½çæäºMakefileçä¸å ä¸è¥¿
$make && make install
没é®é¢
ä¸ä¸æ¥å¼å§äº¤åç¼è¯
$mkdir ../glibc-build-mips && cd ../glibc-build-mips
$ ../glibc-2..0/configure --prefix=/usr/local/glibc_mips CC=mipsel-linux-gcc --host=mips
åºç°æ°çé®é¢ï¼
configure: running configure fragment for add-on libidn
configure: running configure fragment for add-on nptl
*** The GNU C library is currently not available for this platform.
*** So far nobody cared to port it and if there is no volunteer it
*** might never happen. So, if you have interest to see glibc on
*** this platform visit
*** piler. */
# if !defined __CHAR_TYPE__ || !defined __CHAR_TYPE__
# if defined __STDC_VERSION__ && __STDC_VERSION__ < L
# error "<uchar.h> requires ISO C mode"
# else
# error "definitions of __CHAR_TYPE__ and/or __CHAR_TYPE__ missing"
# endif
# endif
æç½äºï¼åæ¥æ¯éè¦cæ¯æï¼mipsel-linux-gcc -vä¸ä¸ï¼æçæ¯æc.åæ¥å¦æ¤ãææ¶æ²¡æäºï¼æè¿åä¸å°ä¿®æ¹cçæ¯æï¼åªå©ä¸¤ä¸ªåæ³ï¼ä¸ç¨è¿ä¸ªglibcçæ¬æè éæ°ç¼è¯ä¸ä¸ªæ¯æcç交åç¼è¯å¨ãç¼è¯å¨éè¦åçæ¯è¾å¤ï¼ææ¶å æ¢ä¸ªä½ç¹ççæ¬å§ã
ä¸è½½galibc-2.çæ¬
éå¤ä¸é¢æ¥éª¤ï¼è§£åtarå
解åportså
$mv glibc-ports-2. glibc-2./ports
$mkdir glibc-build-2. &&cd glibc-build-2.
$ ../glibc-2./configure \
--prefix=/usr/local/glibc_mips \
CC=mipsel-linux-gcc \
--host=mipsel-linux \
--build=i-pc-linux-gnu \
--enable-add-on=nptl \
libc_cv_forced_unwind=yes \
libc_cv_c_cleanup=yes \
libc_cv_mips_tls=yes \
libc_cv_gnu_inline=yes
ok,没é®é¢
$make &&make install
åºå·²ç»ç¼å¥½äºï¼ä½æ¯ä¸è½ç´æ¥ä½¿ç¨ï¼å¿ é¡»åç¨æ°çåºéç¼ä¸éç¼è¯å¨æè¡ã
ä¸ä¸ç¯
Linux|如何安装和运行多个 glibc 库
在Linux环境中,遇到需要支持不同应用程序或保持与旧软件兼容性的安装情况时,如何安装和管理多个glibc库就显得尤为重要。源码本文将引导您通过几个简单步骤来实现这一目标。安装
首要任务是源码确定为何需要多个glibc版本,通常是安装basedao源码由于特定应用程序要求旧版本库中的特定功能或特性。在安装之前,源码确保系统是安装最新的,并根据您的源码发行版(Debian或Red Hat)准备相应的软件包或开发工具包。
首先,安装从官方库或可信源下载所需的源码glibc版本,如glibc 2.和2.。安装使用wget命令下载并解压源代码,源码庄家扫货源码创建包含glibc源代码的安装目录。然后,源码进入该目录并配置构建环境,执行编译安装,这样可以避免库之间的冲突。
安装后,管理多个glibc版本的关键在于设置LD_LIBRARY_PATH环境变量,这有助于指定应用程序使用特定版本的库。将相关设置添加到bashrc或profile文件中,确保更改持久生效。最后,检查每个版本的短线源码战法glibc是否正确安装。
运行依赖特定glibc版本的应用程序时,使用LD_PRELOAD环境变量。例如,若要使用glibc 2.,只需设置相应的LD_PRELOAD值。通过这些步骤,您可以在Linux系统上顺利安装和运行需要不同glibc版本的应用程序,同时保持系统的库环境整洁。
centos6.5升级glibc-2.
默认情况下,CentOS 6.5自带的glibc版本为glibc-2.。为确保众多运行在CentOS上的应用能成功编译与安装,有必要升级至glibc-2.版本。贴近app源码教程 升级glibc前,请务必了解,glibc是CentOS的底层基础程序,升级失败可能导致基础命令无法使用。因此,切勿贸然退出窗口。建议按照问题解决的步骤来操作,若升级失败,首先尝试还原glibc,若无效,则考虑重新安装操作系统。如有快照备份,iphone怎么添加源码建议使用快照恢复。 升级前,先查询当前glibc版本。通过访问glibc官网,下载glibc-2..tar.gz源码包。 将下载的源码包上传至CentOS系统,并运行以下命令进行安装。请注意,此过程可能需要较长时间,预计约十分钟。安装完成后,可能还会遇到其他问题,可参考后续的问题解决方法,确保系统稳定。 安装完成后,可能出现以下问题: 在执行`make install`之后,可能会遇到`Segmentation fault`错误。这通常发生在加载共享库时,例如`__vdso_time: invalid mode for dlopen(): Invalid argument`。 若基本命令无法使用,这表明`/lib/libc.so.6`文件在安装过程中被修改。为解决此问题,尝试运行以下命令来保持环境变量与现有glibc一致: 之后,重新执行基本命令,检查是否恢复正常。若glibc升级失败,可执行以下命令还原至之前版本: 随后,再次检查基本命令是否正常。如需进一步排查升级过程中的问题,建议临时加载之前可用的库文件,以恢复系统。 若本文解答了您的问题,请点击下方链接以示支持,感激不尽。已解决Bug. 无root权限下glibc2.安装失败的解决方案+make升级
在学院超算服务器上遇到安装RosettaFold2时,因服务器glibc版本为2.,低于所需2.版本,尝试在个人目录下通过源码安装。由于无root权限,使用源码安装并修改环境变量指定glibc版本。
然而,make命令在安装过程中报错,疑似glibc版本更新导致代码变动。考虑直接安装更高版本glibc,试用2.版本,但同样在make命令时遇到问题。发现make版本过低,决定下载最新版make解决。
在无root权限情况下,只能通过环境变量调整。打开~/.bashrc,加入新版本make的路径,保存并重启shell。检查后确认已安装最新版make。再次执行配置步骤时,仍然提示make版本过低。
经过搜索,发现报错源可能在于gmake版本不足。由于无法替换root指定的gmake,学习root方法挂载新版本make到gmake上。同样在~/.bashrc中加入gmake路径,保存并重启shell。再次检查,发现已安装最新版gmake。
最终执行2.版本的glibc安装,不再遇到版本不兼容问题,成功解决。