【已解决】glibc: /usr/bin/ld: cannot find -lnss_xxx

问题状况

我需要升级glibc-2.28,在更新gcc、make之后,glibc make install报错出现下面情况:

/usr/bin/ld: cannot find -lnss_test2

或报错 nss_nis、nss_nisplus,也可使用下面解决方法

解决方法:添加代码补丁

glibc/scripts/test-installation.pl ,125行修改如下

@@ -125,7 +125,7 @@ while (<SOVERSIONS>) {
     next if ($build_mathvec == 0 && $name eq "mvec");
     if ($name ne "nss_ldap" && $name ne "db1"
 	&& $name ne "thread_db"
-	&& $name ne "nss_test1" && $name ne "libgcc_s") {
+	&& $name ne "nss_test1" && $name ne "nss_test2" && $name ne "nss_nis" && $name ne "nss_nisplus" && $name ne "libgcc_s") {
       $link_libs .= " -l$name";
       $versions{$name} = $version;
     }

glibc/Changelog ,8044行修改如下

@@ -8044,6 +8044,11 @@
 	(__log1pf): Disable -Wmaybe-uninitialized for -Os around
 	computation using c.
 
+2017-08-06  Hiroshi Takekawa  <sian@big.or.jp>
+
+	* scripts/test-installation.pl: Filter out libnss_test2. Additionally, as of 2017-11-17, filter
+	out nss_nis, nss_nisplus, and libgcc_s.
+
 2018-02-01  Dmitry V. Levin  <ldv@altlinux.org>

重新make install即可成功

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值