-
## 一、问题原因,是由于CVE-2020-17489相关补丁引入的,暂不清楚是何原因造成,但除去该相关补丁之后,该问题消失。 在网上查了下,CVE-2020-17489的问题是gnome-shell的某些配置中会发现,注销账户时,登陆对话框中的密码框会重新出现,并且密码仍然可见,如果用户决定在登陆时以明文形式显示密码,则在注销时它会在短时间内可见(如果密码从未以明文形式显示,则仅显示密码长度)。 ## 二、临时解决方案: 当前openEuler 20.03 LTS SP2使用的gnome-shell为gnome-shell-3.30.1-8.oe1x86_64.rpm;当前openEuler 20.03 LTS SP3使用的gnome-shell为gnome-shell-3.30.1-10.oe1x86_64.rpm;将该版本的gnome-shell删除后,安装openEuler 20.03 LTS SP1的gnome-shell-3.30.1-7.oe1x86_64.rpm版本。 ##### 1.下载gnome-shell-3.30.1-7.oe1x86_64.rpm `wget https://repo.openeuler.org/openEuler-20.03-LTS-SP1/OS/x86_64/Packages/gnome-shell-3.30.1-7.oe1.x86_64.rpm` ##### 2.删除当前gnome-shell `rpm -e --nodeps gnome-shell` ##### 3.安装下载的软件包gnome-shell `rpm -ivh gnome-shell-3.30.1-7.oe1.x86_64.rpm` ##### 4.查看当前安装的gnome-shell版本 `rpm -qi gnome-shell` 如果版本无误的话,可以再其他虚拟终端中使用`pkill -9 gdm`命令杀死gdm,让其自动启动,重新进入到登陆界面,或者重启也可以,则会发现,能够进入到桌面中。
-
1. 文档描述 本文档描述NVR800收集日志的常见问题。2. 常见问题 2.1 日志的目录结构 2.2 日志收集失败如何处理 1) 确认NVR中是否有硬盘 2) 取消以下“使能华为SDK日志”、“使能云SDK日志”、“使能设备日志”的勾选框,点击保存。然后再勾选以上三个选项的勾选框,点击保存。复现问题,然后再次采集日志。 3)如果NVR800的硬盘刚被格式化,请等待2分钟后再采集日志。
-
SDC日志采集:华为SDC日志收集与查询(web portal) IVS1800日志采集:华为IVS1800日志收集与查询(web portal) NVR800日志采集:华为NVR800日志收集与查询(web portal)
-
1. 文档说明 本文档描述如何通过NVR800的web portal收集NVR800的日志。2. 操作指引 登录NVR800 web portal 页面。 1) 点击导航栏中的“参数设置”标签。 2) 选择左侧侧边栏“系统配置”-》“系统维护” 3) 点击导航栏“开发者模式”标签 4) 确定采集日志已被勾选 5) 复现之前问题的操作 6) 点击“一键搜集”日志按钮
-
【功能模块】MRS 客户端注册【操作步骤&问题现象】1、上传注册包到指定路径2、执行cd ${BIGDATA_HOME}/om-server/om/sbin/pack/./register_pack.sh /opt/MRSx86/FusionInsight_HD_8.1.2_RHEL.tar.gz报错提示:/opt/huawei/Bigdata/Bigdata/tmp/FusionInsight_HD_8.1.2_RHEL/FusionInsight_HD/software: No such file or directory ERROR Failed to upload file /opt/huawei/Bigdata/Bigdata/tmp/FusionInsight_HD_8.1.2_RHEL/FusionInsight_HD/software to 172.16.67.22:/opt/huawei/Bigdata/Bigdata/tmp errorCode=1 [(upload_packages_to_standby):308](5034)【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
正常图形界面安装:重启后,直接报以下错误:只能进入字符界面。找了一下网上,都是其他操作系统报的这个错,需要重链内核。但是不知道openEuler该如何处理。
-
【功能模块】【操作步骤&问题现象】1、在数据转发规则里面选择数据转发目标的时候,没有LTS云日志服务。2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
1. 文档说明 本文档描述如何通过IVS1800的web portal手机IVS1800的日志。2. 操作指引 2.1 登录IVS1800 web portal 页面,点击导航栏中的“故障收集”标签。 2.2 在“故障收集”页面左侧,可以选择需要收集的日志模块 2.3 在页面右侧,选择收集日志的起止时间 注:日志包括当前日志和备份日志。时间范围仅对备份日志生效。当前日志一定会收集,只收集当前日志可不设置时间范围。 2.4 选择完成后,点击“开始收集”即可
-
1. 文档说明 本文档描述如何使用SDC的web portal收集或查询摄像机的日志2. 操作指引 登录SDC的web portal后,点击左侧“扳手”图标(维护),在弹出的选项卡中选择“日志”。 2.1 打开日志开关 在页面中开启“调试日志开关”功能,并选择日志模块,点击“确定”。 2.2 日志收集 点击“一键搜集”。 点击后,下载日志文件。 2.3 日志查询 选择“日志类型”,并选择日志的“起止时间”,点击“查询”,即可在页面中查看所选时间段相应类型的日志信息。
-
架构信息和系统  安装mysql及tomcat运行所需依赖 [root@a1 ~]# yum install -y java-1.8.0-openjdk mysql [root@a1 mysql]# mkdir -p /data/mysql/data/ mysql初始化 [root@a1 mysql]# /usr/local/mysql/bin/mysqld --initialize --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql 注意此时密码已经生成,用此密码登录 [root@a1 mysql]# systemctl start mysql  安装tomcat [root@a1 local]# wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.21/bin/apache-tomcat-8.0.21.tar.gz  [root@a1 local]# tar zxvf apache-tomcat-8.0.21.tar.gz [root@a1 local]# wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-8.0.21.tar.gz [root@a1 local]# tar zxvf mysql-connector-java-8.0.21.tar.gz 安装mysql-connect [root@a1 local]# cp mysql-connector-java-8.0.21/mysql-connector-java-8.0.21.jar apache-tomcat-8.0.21/lib/  编写连接mysql文件 [root@a1 local]# cd apache-tomcat-8.0.21/webapps/ [root@a1 webapps]# mkdir test [root@a1 webapps]# vim test/mysql.jsp  [root@a1 apache-tomcat-8.0.21]# cat webapps/test/mysql.jsp  测试连接  自此tomcat连接mysql成功 ps 报错无关连接问题,更改mysql初始password后正常 
-
架构信息和系统  安装编译需要的依赖 [root@localhost ~]# yum install wget apr-devel apr-util-devel pcre-devel -y  获取httpd源码包 [root@localhost ~]# wget http://archive.apache.org/dist/httpd/httpd-2.4.46.tar.gz [root@localhost ~]# tar zxvf httpd-2.4.46.tar.gz  编译安装 [root@localhost ~]# cd httpd-2.4.46/ [root@localhost httpd-2.4.46]# mkdir /usr/local/httpd-2.4.46  [root@localhost httpd-2.4.46]# ./configure --prefix=/usr/local/httpd-2.4.46/   [root@localhost httpd-2.4.46]# make -j16   [root@localhost httpd-2.4.46]# make install   运行 [root@localhost httpd-2.4.46]# /usr/local/httpd-2.4.46/bin/apachectl start  通过浏览器输入服务器地址,本次采用默认80端口  自此httpd在openEuler-20.03-LTS-SP1安装完成
-
部署说明本文以root权限执行以下操作,如非root权限用户可加sudo后或切换root权限用户执行命令。一、基础环境属性说明OSopenEuler-20.03-LTS-SP1CPU架构x86_64/aarch64规格4C/8G/40G二、确认架构环境以X86架构为例,执行如下命令查看操作系统及系统架构:cat /etc/*-release arch三、安装Hive-3.1.1详细步骤①yum安装jdk-1.8.0,并配置环境变量yum install java-1.8.0-openjdk* vim /etc/profile export JAVA_HOME=/usr/lib/jvm/java export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar export PATH=$PATH:$JAVA_HOME/bin # 环境变量生效 source /etc/profile校验java是否安装完成及其版本java -version②部署Hadoop3.3.1注意hive3.x和hadoop3.x适配#下载hadoop-3.1.1源码 wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz解压至/usr/local目录tar zxf hadoop-3.3.1.tar.gz -C /usr/local配置环境变量vim /etc/profile在文件中添加以下内容HADOOP_HOME=/usr/local/hadoop-3.3.1 PATH=$HADOOP_HOME/bin:$PATH export HADOOP_HOME PATH使环境变量立即生效source /etc/profile检查Hadoop是否安装成功hadoop version③部署mariadbyum安装mariadb,启动服务并设置开机自启动yum install mariadb* systemctl start mariadb systemctl enable mariadb查看mariadb服务状态systemctl status mariadb登陆mysql配置密码并授权mysql -uroot -p # 首次登陆无密码,直接回车登陆 set password=password('你的密码'); grant all on *.* to root@'%' identified by '你的密码'; flush privileges;配置my.cnfvim /etc/my.cnf添加以下内容[mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake重启mariadbsystemctl restart mariadb④安装Hive-3.1.1下载apache hive-3.1.1安装包wget https://archive.apache.org/dist/hive/hive-3.1.1/apache-hive-3.1.1-bin.tar.gz解压至/usr/local目录tar zxf apache-hive-3.1.1-bin.tar.gz -C /usr/local/配置环境变量vim /etc/profile添加以下内容# hive export HIVE_HOME=/usr/local/apache-hive-3.1.1-bin export PATH=$HIVE_HOME/bin:$PATH使环境变量立即生效source /etc/profile检查hive是否安装成功hive --version复制配置文件模板cd /usr/local/apache-hive-3.1.1-bin/conf cp hive-env.sh.template hive-env.sh vim hive-env.sh添加以下内容export JAVA_HOME=/usr/lib/jvm/java export HADOOP_HOME=/usr/local/hadoop-3.3.1 export HIVE_CONF_DIR=/usr/local/apache-hive-3.1.1-bin/conf复制hive-site.xml模板文件cp hive-default.xml.template hive-site.xml sed -i 's/for&#/for/g' hive-site.xml vim hive-site.xml修改为下列的value的值,注意格式<name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value> <name>javax.jdo.option.ConnectionDriverName</name> <value>org.mariadb.jdbc.Driver</value> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <name>javax.jdo.option.ConnectionPassword</name> <value>数据库密码</value> <name>hive.exec.local.scratchdir</name> <value>/tmp/hive-3.1.1</value> <name>hive.downloaded.resources.dir</name> <value>/tmp/${hive.session.id}_resources</value> <name>hive.querylog.location</name> <value>/tmp/hive-3.1.1</value>下载JDBC驱动,并放置/usr/local/apache-hive-3.1.1-bin/lib目录下cd /usr/local/apache-hive-3.1.1-bin/lib wget https://downloads.mariadb.com/Connectors/java/connector-java-2.3.0/mariadb-java-client-2.3.0.jar创建hive数据目录并配置文件夹权限/usr/local/hadoop-3.3.1/bin/hadoop fs -mkdir /tmp /usr/local/hadoop-3.3.1/bin/hadoop fs -mkdir -p /user/hive/warehouse /usr/local/hadoop-3.3.1/bin/hadoop fs -chmod g+w /tmp /usr/local/hadoop-3.3.1/bin/hadoop fs -chmod g+w /user/hive/warehouse创建Hive日志目录mkdir -p /usr/local/apache-hive-3.1.1-bin/log/ touch /usr/local/apache-hive-3.1.1-bin/log/hiveserver.log touch /usr/local/apache-hive-3.1.1-bin/log/hiveserver.err初始化Hiveschematool -dbType mysql -initSchema启动Hive-3.1.1至此,在openEuler-20.03-LTS-SP1上面部署hive-3.1.1已完成。
-
编译调试插件是鲲鹏开发框架的一个子工具。编译调试插件即插即用,支持一键安装服务器鲲鹏编译器,支持单机下Nvidia GPU应用调试能力,通过统一调试界面调试GPU应用,实现cuda-gdb调试能力,以及鲲鹏平台远程调试能力,支持的功能特性如下:一键式部署支持从Visual Studio Marketplace下载并在线安装插件,同时支持一键部署服务端GCC for openEuler、毕昇编译器和毕昇JDK编译调试一键式安装GCC for openEuler、毕昇编译器和毕昇JDK可视化编译配置任务,一键式任务运行远程单步调试C/C++代码编译调试过程信息实时展示gtest框架用例树渲染及状态展示CUDA程序调试一键式安装部署工具调试信息实时交互
-
操作系统和软件介绍操作系统为openEuler 20.03 (LTS-SP1) 可用如下命令查询:cat /etc/os-release uname -iCodeViz介绍CodeViz是《Understanding The Linux Virtual Memory Manager》的作者 Mel Gorman 写的一款分析C/C++源代码中函数调用关系的open source工具(类似的open source软件有 egypt、ncc)。其基本原理是给 GCC 打个补丁(如果你的gcc版本不符合它的要求还得先下载正确的gcc版本),让它在编译每个源文件时 dump 出其中函数的 call graph,然后用 Perl 脚本收集并整理调用关系,转交给Graphviz绘制图形(Graphviz属于后端,CodeViz属于前端)。Graphviz + CodeViz编译安装1. 安装 GraphViz调用图的生成依赖于 GraphViz,所以首先要安装 GraphViz。可以下载源码包编译、安装。可以直接yum安装:[root@1ocalhost ~]# yum install graphviz2. 安装 CodeViz下载CodeVize源码包: 很多源都失效了,还好下面这个还在 https://github.com/petersenna/codeviz 进入/root目录下载[root@1ocalhost ~]# cd /root/ [root@1ocalhost ~]# wget https://github.com/petersenna/codeviz/archive/refs/heads/master.zip --2021-08-24 00:12:07-- https://github.com/petersenna/codeviz/archive/refs/heads/master.zip Resolving github.com (github.com)... 52.74.223.119 Connecting to github.com (github.com)|52.74.223.119|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://codeload.github.com/petersenna/codeviz/zip/refs/heads/master [following] --2021-08-24 00:12:10-- https://codeload.github.com/petersenna/codeviz/zip/refs/heads/master Resolving codeload.github.com (codeload.github.com)... 20.205.243.165 Connecting to codeload.github.com (codeload.github.com)|20.205.243.165|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [application/zip] Saving to: ‘master.zip’ master.zip [ <=> ] 2.62M 5.12MB/s in 0.5s 2021-08-24 00:12:11 (5.12 MB/s) - ‘master.zip’ saved [2753095]复制一份并解压[root@1ocalhost ~]# cp master.zip codeviz.zip [root@1ocalhost ~]# unzip codeviz.zip 进入解压后的目录:[root@1ocalhost ~]# cd codeviz-master/CodeViz 使用了一个 patch 版本的 GCC 编译器,而且不同的 CodeViz 版本使用的GCC 版本也不同,可以下载 CodeViz 的源码包后查看 Makefile 文件来确定要使用的 GCC 版本,codeviz-1.0.12 使用 GCC-4.6.2。实际上安装 CodeViz 时安装脚本make会检查当前的GCC版本如果不符合则会自动下载对应的 GCC并打 patch,但由于GCC较大如果网速不好且在虚拟机中的话容易下载失败或系统错误什么的,因此这里我们还是分步安装比较好,先安装gcc再回来安装 CodeViz。1)安装 GCC下载gcc-4.6.2.tar.gz到/root/codeviz-master目录下的compilers里。下载地址:ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.6.2/gcc-4.6.2.tar.gz[root@1ocalhost codeviz-master]# cd compilers/ [root@1ocalhost compilers]# wget ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.6.2/gcc-4.6.2.tar.gzCodeViz 的安装脚本 compilers/install_gcc-4.6.2.sh 会自动检测 compilers 目录下是否有 gcc 的源码包,若没有则自动下载并打 patch。这里前面已经下载,则剩下的就是解压安装了。install_gcc-3.4.6.sh 会解压缩 gcc打 patch,并将其安装到指定目录。安装: ./install_gcc-4.6.2.sh[root@1ocalhost compilers]# ./install_gcc-4.6.2.sh注意:这里可能安装时有些错误,具体错误及解决方案见文末后面。 GMP, MPFR, MPC这三个库安装好之后,我们修改一下install_gcc-4.6.2.sh文件,在# Configure and compile的地方指定三个库安装路径:--with-gmp=/usr/local/gmp-4.3.2/ --with-mpfr=/usr/local/mpfr-2.4.2/ --with-mpc=/usr/local/mpc-0.8.1/ [root@1ocalhost compilers]# vim install_gcc-4.6.2.sh 再次安装: ./install_gcc-4.6.2.sh 需要耐心等待一段时间。[root@1ocalhost compilers]# ./install_gcc-4.6.2.sh这次报错,是由于缺少32位兼容包。/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory解决办法:[root@1ocalhost compilers]# wget http://www.rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/glibc-devel-2.17-317.el7.i686.rpm --2021-08-24 17:37:54-- http://www.rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/glibc-devel-2.17-317.el7.i686.rpm Resolving www.rpmfind.net (www.rpmfind.net)... 195.220.108.108 Connecting to www.rpmfind.net (www.rpmfind.net)|195.220.108.108|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1128200 (1.1M) [application/x-rpm] Saving to: ‘glibc-devel-2.17-317.el7.i686.rpm’ glibc-devel-2.17-317.el7.i686 100%[=================================================>] 1.08M 694KB/s in 1.6s 2021-08-24 17:37:59 (694 KB/s) - ‘glibc-devel-2.17-317.el7.i686.rpm’ saved [1128200/1128200] [root@1ocalhost compilers]# rpm -i --force --nodeps glibc-devel-2.17-317.el7.i686.rpm warning: glibc-devel-2.17-317.el7.i686.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY/usr/include/gnu/下查看,文件stubs-32.h已经存在安装过程发现还需要做如下修改:/root/codeviz-master/compilers/gcc-graph/gcc-4.6.2/gcc/config/i386/linux-unwind.h文件中的struct siginfo 改成 siginfo_t,struct ucontext 改为 ucontext_t将struct ucontext *uc_ = context->cfa; 改为 struct ucontext_t *uc_ = context->cfa;[root@1ocalhost compilers]# vi /root/codeviz-master/compilers/gcc-graph/gcc-4.6.2/gcc/config/i386/linux-unwind.h 设置环境变量:vi /etc/profile export LD_LIBRARY_PATH=/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/mpc-0.8.1/lib //使其生效即可 source /etc/profile最后一次安装使用如下命令:[root@1ocalhost gcc-4.6.2]# cd /root/codeviz-master/compilers/gcc-graph/gcc-4.6.2 [root@1ocalhost gcc-4.6.2]# ./configure --prefix=/usr/local/gcc-4.6.2 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1make终于编译成功了,效果图入下:makemake install gcc4.6.2安装成功如下 /usr/local/gcc-4.6.2/bin/gcc -v Using built-in specs. COLLECT_GCC=/usr/local/gcc-4.6.2/bin/gcc COLLECT_LTO_WRAPPER=/usr/local/gcc-4.6.2/libexec/gcc/x86_64-unknown-linux-gnu/4.6.2/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/usr/local/gcc-4.6.2 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1 Thread model: posix gcc version 4.6.2 (GCC) 2)安装 Codeviz4.6.2[root@1ocalhost gcc-4.6.2]# cd /root/codeviz-master/ [root@1ocalhost codeviz-master]# ./configure && make install-codevizchecking for dot.../usr/bin/dot checking for make.../usr/bin/make checking for gcc.../usr/bin/gcc checking dot can generate graphs...yes checking perl library path.../usr/local/lib64/perl5 Creating Makefile Creating testsuite/c/Makefile Configured. Running "make" will compile a patched version of gcc suitable for use with codeviz. Running "make install" when it completes will install the patched version of gcc to and the other codeviz scripts under /usr/local. When compiling other programs for use with codeviz, make sure you use the patched version of gcc. For example, to build a project based on C, the following should work; make CC=/bin/gcc Configuration: PREFIX = /usr/local GCC version to patch = 4.6.2 Patched GCC install path = /usr/local/gccgraph mkdir -p /usr/local/bin cp /root/codeviz-master/bin/* /usr/local/bin mkdir -p /usr/local/lib64/perl5 cp -rv lib/CodeViz /usr/local/lib64/perl5 'lib/CodeViz/Collect.pm' -> '/usr/local/lib64/perl5/CodeViz/Collect.pm' 'lib/CodeViz/CollectCNcc.pm' -> '/usr/local/lib64/perl5/CodeViz/CollectCNcc.pm' 'lib/CodeViz/CollectCObjdump.pm' -> '/usr/local/lib64/perl5/CodeViz/CollectCObjdump.pm' 'lib/CodeViz/CollectCXref.pm' -> '/usr/local/lib64/perl5/CodeViz/CollectCXref.pm' 'lib/CodeViz/CollectCppDepn.pm' -> '/usr/local/lib64/perl5/CodeViz/CollectCppDepn.pm' 'lib/CodeViz/CollectPPStack.pm' -> '/usr/local/lib64/perl5/CodeViz/CollectPPStack.pm' 'lib/CodeViz/Format.pm' -> '/usr/local/lib64/perl5/CodeViz/Format.pm' 'lib/CodeViz/Graph.pm' -> '/usr/local/lib64/perl5/CodeViz/Graph.pm' 'lib/CodeViz/IPC.pm' -> '/usr/local/lib64/perl5/CodeViz/IPC.pm' 'lib/CodeViz/Layout.pm' -> '/usr/local/lib64/perl5/CodeViz/Layout.pm' 'lib/CodeViz/Output.pm' -> '/usr/local/lib64/perl5/CodeViz/Output.pm' 'lib/CodeViz/PPCStack.pm' -> '/usr/local/lib64/perl5/CodeViz/PPCStack.pm' 'lib/CodeViz/PPOprofile.pm' -> '/usr/local/lib64/perl5/CodeViz/PPOprofile.pm' 'lib/CodeViz/PPStack.pm' -> '/usr/local/lib64/perl5/CodeViz/PPStack.pm' 'lib/CodeViz/SourceMarkup.pm' -> '/usr/local/lib64/perl5/CodeViz/SourceMarkup.pm' 'lib/CodeViz/VRML.pm' -> '/usr/local/lib64/perl5/CodeViz/VRML.pm'不需要 make ,因为make的作用就是检测是否有gcc若没有则下载源码包,所以这里只要安装 codeviz 即可。具体查看 Makefile 文件。注意:这里为什么不是通常用的make install,因为这里make install的作用是先安装gcc再安装codeviz,而前面已经安装了 gcc,所以这里只需要安装 codeviz ,即make install-codeviz脚本,该脚本也就是将genfull 和 gengraph 复制到/usr/local/bin 目录下。目前为止,CodeViz 安装完成了。安装过程出现的错误及解决方案1. 在运行./install_gcc-4.6.2.sh时出现下面错误:gcc configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+从错误中可以看出:GCC编译需要GMP, MPFR, MPC这三个库(有的系统已经安装了就没有这个提示,我的没有安装),gcc 源码包中自带了一个gcc依赖库安装脚本download_prerequisites,位置在gcc源码目录中的 contrib/download_prerequisites,因此只需要进入该目录,直接运行脚本安装即可:. /download_prerequisitescd /root/codeviz-master/compilers/gcc-graph/gcc-4.6.2/contrib ./download_prerequisites[root@1ocalhost contrib]# pwd /root/codeviz-master/compilers/gcc-graph/gcc-4.6.2/contrib [root@1ocalhost contrib]# ./download_prerequisites --2021-08-24 01:03:37-- ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2 => ‘mpfr-2.4.2.tar.bz2’ Resolving gcc.gnu.org (gcc.gnu.org)... 8.43.85.97, 2620:52:3:1:0:246e:9693:128c Connecting to gcc.gnu.org (gcc.gnu.org)|8.43.85.97|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD (1) /pub/gcc/infrastructure ... done. ==> SIZE mpfr-2.4.2.tar.bz2 ... 1077886 ==> PASV ... done. ==> RETR mpfr-2.4.2.tar.bz2 ... done. Length: 1077886 (1.0M) (unauthoritative) mpfr-2.4.2.tar.bz2 100%[================================>] 1.03M 20.2KB/s in 84s 2021-08-24 01:05:09 (12.6 KB/s) - ‘mpfr-2.4.2.tar.bz2’ saved [1077886] --2021-08-24 01:05:09-- ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2 => ‘gmp-4.3.2.tar.bz2’ Resolving gcc.gnu.org (gcc.gnu.org)... 8.43.85.97, 2620:52:3:1:0:246e:9693:128c Connecting to gcc.gnu.org (gcc.gnu.org)|8.43.85.97|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD (1) /pub/gcc/infrastructure ... done. ==> SIZE gmp-4.3.2.tar.bz2 ... 1897483 ==> PASV ... done. ==> RETR gmp-4.3.2.tar.bz2 ... done. Length: 1897483 (1.8M) (unauthoritative) gmp-4.3.2.tar.bz2 100%[================================>] 1.81M 14.0KB/s in 2m 17s 2021-08-24 01:07:32 (13.5 KB/s) - ‘gmp-4.3.2.tar.bz2’ saved [1897483] --2021-08-24 01:07:32-- ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz => ‘mpc-0.8.1.tar.gz’ Resolving gcc.gnu.org (gcc.gnu.org)... 8.43.85.97, 2620:52:3:1:0:246e:9693:128c Connecting to gcc.gnu.org (gcc.gnu.org)|8.43.85.97|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD (1) /pub/gcc/infrastructure ... done. ==> SIZE mpc-0.8.1.tar.gz ... 544950 ==> PASV ... done. ==> RETR mpc-0.8.1.tar.gz ... done. Length: 544950 (532K) (unauthoritative) mpc-0.8.1.tar.gz 100%[================================>] 532.18K 27.0KB/s in 18s 2021-08-24 01:07:55 (28.8 KB/s) - ‘mpc-0.8.1.tar.gz’ saved [544950] [root@1ocalhost contrib]# PS:该脚本内容如下: 1234567891011121314151617181920212223242526272829303132333435363738#! /bin/sh # Download some prerequisites needed by gcc.# Run this from the top level of the gcc source tree and the gcc# build will do the right thing.## (C) 2010 Free Software Foundation## This program is free software: you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation, either version 3 of the License, or# (at your option) any later version.## This program is distributed in the hope that it will be useful, but# WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU# General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program. If not, see http://www.gnu.org/licenses/. MPFR=mpfr-2.4.2GMP=gmp-4.3.2MPC=mpc-0.8.1 wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPFR.tar.bz2 || exit 1tar xjf $MPFR.tar.bz2 || exit 1ln -sf $MPFR mpfr || exit 1 wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$GMP.tar.bz2 || exit 1tar xjf $GMP.tar.bz2 || exit 1ln -sf $GMP gmp || exit 1 wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPC.tar.gz || exit 1tar xzf $MPC.tar.gz || exit 1ln -sf $MPC mpc || exit 1 rm $MPFR.tar.bz2 $GMP.tar.bz2 $MPC.tar.gz exit 1可见是通过wget的方式下载安装,因此如果没有安装wget则需要先安装下。大家仔细看下这个脚本,发现非常简单,就是从网上自动下载三个依赖库并解压,然后建立三个改名后的软链接分别指向这三个库,这里建立软链接过程中也可能出错,具体看问题2这里我们自行安装,根据如下顺序分别安装GMP,MPFR和MPC(mpfr依赖gmp,mpc依赖gmp和mpfr)安装gmp: 编译gmp时需要m4文件,这里我们提前安装m4[root@1ocalhost contrib]# yum install m4 Last metadata expiration check: 0:23:04 ago on Tue 24 Aug 2021 10:56:09 AM CST. Dependencies resolved. ================================================================================================== Package Architecture Version Repository Size ================================================================================================== Installing: m4 x86_64 1.4.18-13.oe1 OS 90 k Transaction Summary ================================================================================================== Install 1 Package Total download size: 90 k Installed size: 203 k Is this ok [y/N]: y Downloading Packages: m4-1.4.18-13.oe1.x86_64.rpm 97 kB/s | 90 kB 00:00 -------------------------------------------------------------------------------------------------- Total 97 kB/s | 90 kB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : m4-1.4.18-13.oe1.x86_64 1/1 Verifying : m4-1.4.18-13.oe1.x86_64 1/1 Installed: m4-1.4.18-13.oe1.x86_64 Complete![root@1ocalhost contrib]# cd gmp-4.3.2/ [root@1ocalhost gmp-4.3.2]# ./configure --prefix=/usr/local/gmp-4.3.2make install安装mpfr:[root@1ocalhost gmp-4.3.2]# cd ../mpfr-2.4.2/ [root@1ocalhost mpfr-2.4.2]# pwd /root/codeviz-master/compilers/gcc-graph/gcc-4.6.2/contrib/mpfr-2.4.2 [root@1ocalhost mpfr-2.4.2]# ./configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2/make install安装mpc: [root@1ocalhost mpfr-2.4.2]# cd ../mpc-0.8.1/ [root@1ocalhost mpc-0.8.1]# pwd /root/codeviz-master/compilers/gcc-graph/gcc-4.6.2/contrib/mpc-0.8.1 [root@1ocalhost mpc-0.8.1]# ./configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.3.2/ --with-mpfr=/usr/local/mpfr-2.4.2/make install2. 解决ln -s 软链接产生Too many levels of symbolic links错误从网上查找了一下原因,原来是建立软连接的时候采用的是相对路径,所以才会产生这样的错误,解决方式是采用绝对路径建立软链接:这样问题就解决了。
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签