libz.so.1动态链接库导致fedora无法启动KDE桌面环境的问题

由于开发需要使用linux环境,选定的是fedora15,我也在笔记本上装了fedora16,结果在配置完开发环境之后,重启fedora就无法进去

KDE环境了,还好可以进入终端,使用终端登录后发现NetworkManager服务无法启动,SSH服务和network服务也无法启动,折腾了好几

次,重装了几次,几乎要崩溃时,查看系统日志:

more /etc/log/*

在/etc/log/kdm.log中发现下面信息:

X.Org X Server 1.11.1
Release Date: 2011-09-24
X Protocol Version 11, Revision 0
Build Operating System: x86-11 2.6.32-131.2.1.el6.x86_64
Current Operating System: Linux jeff-fedora 3.1.0-7.fc16.x86_64 #1 SMP Tue Nov 1 21:10:48 UTC 2011 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-3.1.0-7.fc16.x86_64 root=/dev/mapper/vg_jefffedora-lv_root ro rd.lvm.lv=vg_jefffedora/lv_swap rd.md=0 rd.dm=0 KEYTABLE=us quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 LANG=en_US.UTF-8 rd.lvm.lv=vg_jefffedora/lv_root
Build Date: 26 September 2011 06:31:55PM
Build ID: xorg-x11-server 1.11.1-1.fc16
Current version of pixman: 0.22.2
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sat Apr 7 20:44:44 2012
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(II) [KMS] Kernel modesetting enabled.
/usr/libexec/kde4/kdm_greet: error while loading shared libraries: libz.so.1: failed to map segment from shared object: Permission denied
Server terminated successfully (0). Closing log file.



加黑部分引起了我的注意,因为我配置GDAL开发环境时需要用到zlib软件包,在编译好的动态链接库中也包含了libz.so.1

我也将/home/jeff/gdal-test/lib目录加入了/etc/ld.so.conf文件中,所以猜测这样导致KDE启动时去我配置的这个目录中找到了libz.so.1,但是没有权限访问或者加载这个

动态库,这导致KDE启动失败。

解决办法:

修改/etc/ld.so.conf文件,去掉包含libz.so.1库的目录

再运行:sudo ldconfig ;重启系统发现可以正常登录KDE图形界面。

明天去公司电脑上修改下配置,看是否确定是这个问题导致KDE启动失败。。。

事实证明,就是这个原因,公司电脑也复活了!

后续:后来发现libexpat.so.1也会导致这个问题,因为我编译GDAL的时候也加入了expat-2.0.1的支持,但是这个库fedora系统已经自带了。

原文地址:https://www.cnblogs.com/yeahgis/p/2437531.html