浏览代码

ver_linux: libcpp, fix missing output

Neither 'libg++.so', nor 'libstdc++.so' were found where the current
implementation expects them to be found in the distros below.

Gentoo Linux
Debian 6.0.10
Oracle Linux Server release 7.1

Which results in zero ouput generated.

The proposed implementation relies on 'ldconfig' to locate the libraries
in question.  'Sed' is used to do the text processing.

Signed-off-by: Alexander Kapshuk <alexander.kapshuk@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Alexander Kapshuk 10 年之前
父节点
当前提交
53494ba9da
共有 1 个文件被更改,包括 12 次插入3 次删除
  1. 12 3
      scripts/ver_linux

+ 12 - 3
scripts/ver_linux

@@ -121,9 +121,18 @@ awk '/^ldd/{
 	substr($0,RSTART,RLENGTH))
 }'
 
-ls -l /usr/lib/libg++.so /usr/lib/libstdc++.so  2>/dev/null | awk -F. \
-       '{print "Linux C++ Library      " $4"."$5"."$6}'
-
+libcpp=`ldconfig -p 2>/dev/null |
+	awk '/(libg|stdc)[+]+\.so/ {
+	print $NF
+	exit
+	}
+'`
+test -r "$libcpp" &&
+ls -l $libcpp |
+sed '
+	s!.*so\.!!
+	s!^!Linux C++ Library\t!
+'
 ps --version 2>&1 | grep version | awk \
 'NR==1{print "Procps                ", $NF}'