clang+llvm-16.0.6-aarch64-linux-gnu openEuler 20.03 LTS SP3 编译cpu2017 1.0.5 笔记(高风险,失败)

llvm

https://github.com/llvm/llvm-project/releases/tag/llvmorg-16.0.6

aarch64下载地址

https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/clang+llvm-16.0.6-aarch64-linux-gnu.tar.xz

故障处理记录

[root@localhost speccpu2017]# /opt/clang+llvm-16.0.6-aarch64-linux-gnu/bin/clang
/opt/clang+llvm-16.0.6-aarch64-linux-gnu/bin/clang: /lib64/libtinfo.so.6: no version information available (required by /opt/clang+llvm-16.0.6-aarch64-linux-gnu/bin/clang)
/opt/clang+llvm-16.0.6-aarch64-linux-gnu/bin/clang: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/clang+llvm-16.0.6-aarch64-linux-gnu/bin/clang)
/opt/clang+llvm-16.0.6-aarch64-linux-gnu/bin/clang: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /opt/clang+llvm-16.0.6-aarch64-linux-gnu/bin/clang)
 

/lib64/libtinfo.so.6: no version information available

 `GLIBC_2.29' not found

http://mirrors.ustc.edu.cn/gnu/libc/glibc-2.29.tar.gz

下载编译glibc-2.29,利用自带的gcc version 7.3.0 (GCC)

tar -xf glibc-2.29.tar.gz
cd glibc-2.29
mkdir build
cd build/
../configure --prefix=/usr
make -j64

makedb.c:849:3: 错误:已弃用‘security_context_t’ [-Werror=deprecated-declarations]
   security_context_t ctx;
   ^~~~~~~~~~~~~~~~~~
makedb.c:863:3: 错误:‘matchpathcon’ is deprecated: Use selabel_lookup instead [-Werror=deprecated-declarations]
   if (matchpathcon (outname, S_IFREG | mode, &ctx) == 0 && ctx != NULL)
   ^~

-Werror=deprecated-declarations

[root@localhost build]# export CFLAGS="-Wno-error=deprecated-declarations -O3"
[root@localhost build]# ../configure --prefix=/usr
[root@localhost build]# make -j64
[root@localhost build]# make install

make install中途报错

/usr/bin/perl: /lib64/libcrypt.so.1: version `XCRYPT_2.0' not found (required by /lib64/libperl.so.5.28)
make[1]: *** [Makefile:111: install] Error 1
make[1]: Leaving directory '/openeuler00-home/glibc-2.29'
make: *** [Makefile:12:install] 错误 2

[root@localhost build]# strings /usr/lib64/libc-2.29.so  | grep GLIBC_2.29
GLIBC_2.29
GLIBC_2.29

[root@localhost build]# ll /usr/lib64/libc.so*
-rw-r--r-- 1 root root 259  8-р сар  7 10:13 /usr/lib64/libc.so
lrwxrwxrwx 1 root root  12  8-р сар  7 10:15 /usr/lib64/libc.so.6 -> libc-2.29.so

[root@localhost build]# /opt/clang+llvm-16.0.6-aarch64-linux-gnu/bin/clang
/opt/clang+llvm-16.0.6-aarch64-linux-gnu/bin/clang: /lib64/libtinfo.so.6: no version information available (required by /opt/clang+llvm-16.0.6-aarch64-linux-gnu/bin/clang)
/opt/clang+llvm-16.0.6-aarch64-linux-gnu/bin/clang: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /opt/clang+llvm-16.0.6-aarch64-linux-gnu/bin/clang)


升级基础库风险较大,牵扯到一系列上层库、应用

clang问题已解决,其他的暂时不管了。

`GLIBCXX_3.4.26' not found

 gcc与libstdc++版本关系:

https://www.cnblogs.com/freelancy/p/17012054.html

https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html

得到对照关系

GCC 9.1.0 GLIBCXX_3.4.26 CXXABI_1.3.12 libstdc++.so.6.0.26

获取源码,编译libstdc++ 3.4.26

https://mirrors.ustc.edu.cn/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.gz

kex_exchange_identification: read: Connection reset by peer
Connection reset 

由于升级的glibc导致ssh故障,放弃openEuler 20.03 LTS SP3 此方案。

灾后自救

当前状态:

ssh无法登录

SOL控制台或者虚拟虚拟化均表现为,输入用户名,回车不会提示输入密码,无法登录。

只能在之前已经打开ssh的终端上面执行:

[root@localhost cpu2017-llvm]# rpm -qa | grep glibc
glibc-devel-2.28-84.oe1.aarch64
glibc-common-2.28-84.oe1.aarch64
glibc-2.28-84.oe1.aarch64
[root@localhost cpu2017-llvm]# yum reinstall glibc-devel glibc-common glibc

日志

[root@localhost cpu2017-llvm]# yum reinstall glibc-devel glibc-common glibc
OS                                                                                                                                           3.7 MB/s | 3.8 kB     00:00    
Dependencies resolved.
=============================================================================================================================================================================
 Package                                      Architecture                            Version                                       Repository                          Size
=============================================================================================================================================================================
Reinstalling:
 glibc                                        aarch64                                 2.28-84.oe1                                   OS                                 3.0 M
 glibc-common                                 aarch64                                 2.28-84.oe1                                   OS                                  26 M
 glibc-devel                                  aarch64                                 2.28-84.oe1                                   OS                                 2.5 M

Transaction Summary
=============================================================================================================================================================================

Total size: 32 M
Installed size: 246 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                     1/1 
  Reinstalling     : glibc-common-2.28-84.oe1.aarch64                                                                                                                    1/6 
  Running scriptlet: glibc-2.28-84.oe1.aarch64                                                                                                                           2/6 
  Reinstalling     : glibc-2.28-84.oe1.aarch64                                                                                                                           2/6 
  Running scriptlet: glibc-2.28-84.oe1.aarch64                                                                                                                           2/6 
/usr/sbin/glibc_post_upgrade: While trying to execute /usr/sbin/iconvconfig child terminated abnormally
warning: %post(glibc-2.28-84.oe1.aarch64) scriptlet failed, exit status 115

Error in POSTIN scriptlet in rpm package glibc
warning: %triggerin(cronie-1.5.5-3.oe1.aarch64) scriptlet failed, signal 11

Error in <unknown> scriptlet in rpm package glibc
  Running scriptlet: glibc-devel-2.28-84.oe1.aarch64                                                                                                                     3/6 
error: %prein(glibc-devel-2.28-84.oe1.aarch64) scriptlet failed, signal 11

Error in PREIN scriptlet in rpm package glibc-devel
  Cleanup          : glibc-2.28-84.oe1.aarch64                                                                                                                           4/6 
error: glibc-devel-2.28-84.oe1.aarch64: install failed
error: glibc-devel-2.28-84.oe1.aarch64: erase skipped

  Cleanup          : glibc-common-2.28-84.oe1.aarch64                                                                                                                    5/6 
  Running scriptlet: glibc-common-2.28-84.oe1.aarch64                                                                                                                    5/6 
warning: %triggerpostun(glibc-common-2.28-84.oe1.aarch64) scriptlet failed, signal 11

Error in <unknown> scriptlet in rpm package glibc-common
warning: %triggerin(glibc-common-2.28-84.oe1.aarch64) scriptlet failed, signal 11

Error in <unknown> scriptlet in rpm package glibc-common
  Verifying        : glibc-2.28-84.oe1.aarch64                                                                                                                           1/6 
  Verifying        : glibc-2.28-84.oe1.aarch64                                                                                                                           2/6 
  Verifying        : glibc-common-2.28-84.oe1.aarch64                                                                                                                    3/6 
  Verifying        : glibc-common-2.28-84.oe1.aarch64                                                                                                                    4/6 
  Verifying        : glibc-devel-2.28-84.oe1.aarch64                                                                                                                     5/6 
  Verifying        : glibc-devel-2.28-84.oe1.aarch64                                                                                                                     6/6 

Reinstalled:
  glibc-2.28-84.oe1.aarch64                                                         glibc-common-2.28-84.oe1.aarch64                                                        

Failed:
  glibc-devel-2.28-84.oe1.aarch64                                                       glibc-devel-2.28-84.oe1.aarch64                                                      

Error: Transaction failed
[root@localhost cpu2017-llvm]# yum reinstall glibc
Segmentation fault (core dumped)
[root@localhost cpu2017-llvm]# ls
Segmentation fault (core dumped)
[root@localhost cpu2017-llvm]# 

哦豁 - -#

猜你喜欢

转载自blog.csdn.net/hknaruto/article/details/132140107