编译Mysql问题…Please install Linuxthreads(or a new glibc)and try

为当前最终发行版之前的所有版本提供支持
回复
caminero
帖子: 5
注册时间: 2007-01-03 15:36
送出感谢: 0
接收感谢: 0

编译Mysql问题…Please install Linuxthreads(or a new glibc)and try

#1

帖子 caminero » 2007-01-05 13:57

我的Ubuntu是6.10的。mysql的版本是4.0.x
在编译的时候
# ./configure --prefix=/usr/local/mysql --with-charset=gb2312
# make
出错原因是…Please install Linuxthreads(or a new glibc)and try again…

上网查了之后,有如下参考意见
-----------------------------------------

mysql使用的LinuxThread库包含于glibc2以上版本中,你的系统上不是没装就是存在glibc1,新版glibc可以在gnu上找到,也可以单独装linuxthread库,但不要用glibc2.1.1以下的版本,这个版本在处理INSERT[/url] DELAY语句是有致命错误。另外,如果你真的要自己编译源代码,给你2个建议:

1.linux内核和linuxthread库默认只能处理1024个线程,如果你的并发连接数超过1024,编译前就修改glibc源代码中sysdeps/unix/sysv/linux/bits/local_lim.h头文件中的PTHREAD_THREADS_MAX常量,!!注意一定要把linuxthreads/internals.h头文件中的STACK_SIZE 常量从默认的2M减到256KB(否则出了人命别怪我没提醒你)。

2.如果你的系统是smp,则尽量不要用glibc2.1(因为短期保持mutex连接中,效率不升反降。glibc2.1.3可能有了补丁)。
-----------------------------------------

但是个人觉得应该不是这个问题吧。
看上去问题似乎很明显,缺少glibc的库,但是,我使用
#sudo apt-get install glibc-2.3.6-2
之后系统会提示

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
Reading state information... 完成
注意,我选了 libc6 而非 glibc-2.3.6-2
libc6 已经是最新的版本了。
The following packages were automatically installed and are no longer required:
libnfsidmap1 libapr0 libpcre3 unixodbc librpcsecgss2 libt1-5 odbcinst1debian1 libsablot0 libgd2-xpm portmap mozilla-firefox libltdl3
使用 'apt-get autoremove' 来删除它们。
共升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 3 个软件未被升级。


之后,编译时加上参数--with-mit-threads
可以避免刚才提到的错误,但是会出现另外一个错误
提示mit-pthreads:No such file or directory

后来有人告诉我最好还是不要加--with-mit-threads参数,但是这个问题他也无法解决。。

我现在想问的是:究竟要如何解决Please install Linuxthreads(or a new glibc)and try again问题呢?
谢谢各位大侠
上次由 caminero 在 2007-01-05 20:59,总共编辑 3 次。
caminero
帖子: 5
注册时间: 2007-01-03 15:36
送出感谢: 0
接收感谢: 0

补充一点

#2

帖子 caminero » 2007-01-05 14:01

补充一点:我用新立得软件包管理器安装apache,mysql,php都没有问题。不过发现不太好用,还是想自己编译。于是将其卸载了。自己重新编译得时候,出现了以上问题。
caminero
帖子: 5
注册时间: 2007-01-03 15:36
送出感谢: 0
接收感谢: 0

#3

帖子 caminero » 2007-01-06 21:29

已经解决。虽然没人回帖。还是谢谢大家。
回复

回到 “老旧版本支持”