论坛首页 综合技术论坛

linux:安装完gcc后,重启出现多种情况libgcc_s.so.1 must be installed for pthread_cancel to work

浏览 23285 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2009-07-30   最后修改:2009-11-10
安装完gcc-3.4.6-11,重启后,出现一下情况:

  1. 启动mysql等服务时:libgcc_s.so.1 must be installed for pthread_cancel to work
  2. 启动时,system logger [FAILED]
  3. 执行每一命令时出现:-bash: child setpgid (9611 to 9611):没有这个进程

第一个问题解决如下: 其他两个问题,暂无答案
[root@localhost lib]# /etc/init.d/mysql start
如下错误:
libgcc_s.so.1 must be installed for pthread_cancel to work
libgcc_s.so.1 must be installed for pthread_cancel to work
Starting MySQL.libgcc_s.so.1 must be installed for pthread_cancel to work
libgcc_s.so.1 must be installed for pthread_cancel to work
libgcc_s.so.1 must be installed for pthread_cancel to work

没有碰到此类错误? 

问题补充:

find / -name libgcc_s.so 
显示有:
/usr/lib/gcc/i386-redhat-linux/3.4.3/libgcc_s.so 

怎么验证依赖关系?还有验证依赖关系以后了? 

我查过了:

/usr/lib/gcc-lib/
没有任何文件?
需要重新安装gcc,版本是libgcc-s.3.2.2


问题解答:

 

那个模块没有安装.....

输入whereis libgcc_s.so 看有没有,

最好是 find / -name libgcc_s.so 

把它复制到mysql下的lib目录里 

你的是什么版本的linux 如果是RHEL,CentOS的可以用 yum -i install gcc

更新一下 

实际操作:
  
首先发现在/usr/lib/gcc-lib/中没有想要的文件,很明显是被卸载了,那么重新安装,libgcc3.4,这个版本太高,

默认的/usr/lib/gcc-lib/档案中还是没有相应的文件。没有办法了,从服务器上,把想要的文件拷贝过来,文件如下:

/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/libgcc_eh.a
/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/libgcc.a
/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/libgcc_s.so
/usr/lib/gcc-lib/i386-redhat-linux7/2.96/libgcc.a
/lib/libgcc_s.so
/lib/libgcc_s-3.2.3-20040701.so.1


原来的版本是/lib/libgcc_s-3.2.2-20030225.so.1,不过没有关系一样用。


copy到/usr/lib/gcc-lib/后,当时运行/etc/init.d/mysql start

还是一样报错,无法启动。

但是第二天,过来运行/etc/init.d/mysql start,ok

Starting MySQL.. SUCCESS!

纳闷了,当时为什么不行了?

大家可以说说,这其中的道理,还有这些库的调用是怎么回事?

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics