1.在rhel5.1上安装mysql-4.0.18, configure的时候报如下错误:
configure: error: This is a linux system and Linux threads was not
found. On linux Linuxthreads should be used. Please install Linuxthreads
(or a new glibc) and try again. See the Installation chapter in the
Reference Manual for more information.
看来需要新版本的glibc;configure的时候增加参数 --with-named-thread-libs="-lpthread" ;顺利通过。
2.不过make的时候又出错了
mysqld.o: In function `main':
mysqld.cc:(.text+0x3ee0): undefined reference to `my_fast_mutexattr'
mysqld.o:mysqld.cc:(.text+0x4143): more undefined references to `my_fast_mutexattr' follow
collect2: ld returned 1 exit status
make[4]: *** [mysqld] Error 1
make[4]: Leaving directory `/usr/local/src/mysql-4.0.26/sql'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/usr/local/src/mysql-4.0.26/sql'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/local/src/mysql-4.0.26/sql'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/mysql-4.0.26'
make: *** [all] Error 2
在mysql-4.0.26/sql/sql_class.cc文件中的
#include <assert.h>
(约39行)语句下面写如下代码
#ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
pthread_mutexattr_t my_fast_mutexattr;
#endif
make顺利通过;
3.我按照上面的步骤坐下来仍然报错,最后直接修改mysql-4.0.26/sql/sql_class.cc文件,添加pthread_mutexattr_t my_fast_mutexattr;,不知道有没有什么影响。