首页 最新文章网站服务器正文

These critical programs are missing or too old: as ld解决方法

# 安装glibc-2.7时报错

#tar zxvf glibc-2.7.tar.gz
#cd glibc-2.7
#mkdir build
#cd  build
#../configure --prefix=/usr
……
checking for sed... sed
checking version of sed... 4.2.1, ok
checking for autoconf... autoconf
checking whether autoconf works... yes
configure: error:
*** These critical programs are missing or too old: as ld
*** Check the INSTALL file for required versions.


原因是版本校验过不去,两种方案,一是调整系统依赖的版本,可能需要升版本也可能需要降版本,二是绕过校验,可顺利编译,但存在未知风险,下面是采用第二种方案,看如何绕过版本校验。


先查看系统版本

# ld -v
GNU ld version 2.20.51.0.2-5.28.4.alios6 20091009


再查看glibc-2.7的配置脚本中对版本的限制情况

脚本路径:../glibc-2.7/configure

和问题相关的脚本内容:搜索$ld --version

……

# Found it, now check the version.
{ echo "$as_me:$LINENO: checking version of $AS" >&5
echo $ECHO_N "checking version of $AS... $ECHO_C" >&6; }
ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* ([0-9]*.[0-9.]*).*$/1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
2.1[3-9]*|2.2[0-9]*)
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*)


……

以上红字部分为追加的内容,原来要求的版本至少是2.13,所以一直过不去

同理搜索$AS --version

……


# Found it, now check the version.
{ echo "$as_me:$LINENO: checking version of $AS" >&5
echo $ECHO_N "checking version of $AS... $ECHO_C" >&6; }
ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* ([0-9]*.[0-9.]*).*$/1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
2.1[3-9]*|2.2[0-9]*)
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*)

……

修改完毕后保存配置脚本。

重新执行编译命令

 #../configure --prefix=/usr
……
checking for kernel header at least 2.4.0... ok
checking for symlinks in /usr/include... ok
checking for old glibc 2.0.x headers... no
checking whether -fPIC is default... no
configure: creating ./config.status
config.status: creating config.make
config.status: creating Makefile
config.status: creating config.h
config.status: executing default commands

编译安装成功

#make

#make install

安装完毕!

查看支持的版本:

#strings /usr/lib64/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.4
GLIBC_2.3.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
©️公众号:思考者文刀

评论

精彩评论

百度搜索

站点信息

  • 文章总数:436
  • 页面总数:9
  • 分类总数:30
  • 标签总数:924
  • 评论总数:517
  • 浏览总数:1806880
觉得有用就打赏吧
关注本站公众号,享受更多服务!
联系方式
合作微信:itker0110
新媒体:Excel加油站(抖音/小红书/哔哩/头条)
公众号:左手Excel右手VBA
知乎:Excel其实很简单
Copyright2015-2024.Powered by ©️云水客 | 网站地图 | 辽ICP备14000512号-5
您是本站第946名访客 今日有0篇新文章