/etc/ld.so.conf记录了你当时编译使用的动态链接库的路径。
在默认的情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件
通过源码包进行安装时,如果没有指定 --prefix=/usr 会将库安装在/usr/local目录下
而又没有在/etc/ld.so.conf中添加/usr/local/lib,虽然你安装了源码包,使用时仍然找不到相关的.so库,就会报错。也就是说你的系统并不知道安装了源码包。

报错的解决办法:

1、你在用源码安装时,用--prefix指定安装路径为/usr/lib。这样就不用配置PKG_CONFIG_PATH

2、直接将路径/usr/local/lib路径加入到文件/etc/ld.so.conf文件的中。在文件/etc/ld.so.conf中末尾直接添加:/usr/local/lib,我比较喜欢这种这样 ldd 才能找到这个库。
在检查了这一点后,要以 root 的身份运行 /sbin/ldconfig 。

注:
将/usr/local/lib加入到/etc/ld.so.conf中,这样安装软件时就会去搜索/usr/local/lib,同样可以找到需要的库
将/usr/local/lib加入到/etc/ld.so.conf也是必须的,这样以后就算安装到到local下,也不会出现这样的问题了

百度了一下,PKG_CONFIG_PATH含义
PKG_CONFIG_PATH:
PKG_CONFIG_PATH这个环境变量,它是在安装了pkg-config后出现的
其实pkg-config就是向configure程序提供系统信息的程序,比如软件的版本啦,库的版本啦,库的路径啦,等等
这些信息只是在编译其间使用。你可以 ls /usr/lib/pkgconfig 下,会看到许多的*.pc,用文本编辑器打开
会发现类似下面的信息:
prefix=/usr
exec_prefix=$
libdir=$/lib
includedir=$/include
glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums
Name: GLib
Description: C Utility Library
Version: 2.4.7
Libs: -L$ -lglib-2.0
Cflags: -I$/glib-2.0 -I$/glib-2.0/include
明白了吧,configure就是靠这些信息判断你的软件版本是否符合要求
所以要正确配置这个环境变量,笔者的配置是:
PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig