OS:RHEL5
加载某动态库.so文件时出现
error while loading shared libraries:xx/.../xx.so:cannot restore segment prot after reloc: Permission denied
原因:
该版本linux存在并开启了SELinux(Security-Enhanced Linux)
Topic:
Some LINUX distributions with SELinux enabled may prevent IDL from running under the default security context. This TechTip is a workaround for CR#41937
Discussion:
Newer Linux distributions have enabled new kernel security extensions from the SELinux project at the NSA. These extensions allow finer-grained control over system security. However, SELinux also changes some default system behaviors, such as shared library loading, that can be problematic to third party programs.
If you receive the error message "cannot restore segment prot after reloc: Permission denied" when launching IDL, then your SELinux configuration is preventing IDL from launching.
参见:
解决方法:
1 Change the default security context for IDL by issuing the command:
chcon -t texrel_shlib_t /usr/local/rsi/idl_6.1/bin/bin.linux.x86/*.so
2 Disabling SELinux altogether by setting the line
SELINUX=disabled
in your /etc/sysconfig/selinux file.
For more information about SELinux, please consult your Linux distribution vendor
阅读(3435) | 评论(0) | 转发(0) |