调试现象: (gdb) r Starting program: /usr/local/sdata/sbin/sdatad warning: .dynamic section for "/lib/libblkid.so.1" is not at the expected address warning: difference appears to be caused by prelink, adjusting expectations warning: .dynamic section for "/lib/libdevmapper.so.1.02" is not at the expected address warning: difference appears to be caused by prelink, adjusting expectations warning: .dynamic section for "/lib/libsepol.so.1" is not at the expected address warning: difference appears to be caused by prelink, adjusting expectations [Thread debugging using libthread_db enabled] Detaching after fork from child process 13247. Program exited normally.
解决方案:
一开始怀疑是动态库不一致,但实际上同类型的系统编译出的程序可以通用运行,例如el5.2 i686编译出的程序可以在el5.5 i686上运行。
最终解决方法:
删除程序对应的lock文件