在 64 位 Linux 操作系统上,Klocwork 是工作在 32 位模拟模式下,因此,64 位的 Linux 操作系统必须安装 32 位兼容库。
另外,还需要 Linux Standard Base core package,可以是 32 位或者 64 位。
缺少这些依赖的库的常见表现如下:
(1)安装时,出现类似这样的提示 "can not find ld-linux.so.2";
(2)找不到 /…/ix86-pc-linux/kwupdate 文件;
(3)Program exited with 139;
(4)执行分析时,kwlef 程序异常退出,无法完成分析。
安装方法与具体的 linux 发行版本有关:
【Ubuntu】sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libgcc1:i386
sudo apt-get install lib32tinfo5
sudo apt-get install libncursesw5:i386
sudo apt-get install libaio1
sudo apt-get install numactl
sudo apt-get install lsb-cor
【Fedora / Redhat Enterprise】sudo yum install glibc.i686
sudo yum install libgcc.i686
sudo yum install numactl-libs
sudo yum install libnsl
sudo yum install libnsl.i686
sudo yum install redhat-lsb-core.i686
【CentOS】sudo yum install glibc.i686
sudo yum install libgcc.i686
sudo yum install numactl
sudo yum install redhat-lsb-core.i686
另外,如果在启动 Klocwork 服务的时候, Database server 启动提示找不到 libaio.so,则需要根据操作系统版本的不同,安装如下的安装包之一:
libaio1
libaio
libaio.x86_64
libnuma1