编译mysql4.0时候出现错误提示checking "LinuxThreads"... "Not found"
2009-06-30 18:25
解压mysql4.0.26
root@www:/db# tar zxvf mysql-4.0.26.tar.gz 备份mysql5的数据目录 root@www:/db# tar czvf mysql5.data.tar.gz mysql5 编译 root@www:/db# cd mysql-4.0.26 root@www:/db/mysql-4.0.26# ./configure --prefix=/db/mysql4 最后提示: checking "LinuxThreads"... "Not found" configure: error: This is a linux system and Linuxthreads 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. 怎么会没有Linuxthreads?查看 root@www:/db/mysql-4.0.26# gcc -v Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared -- with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu Thread model: posix gcc version 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5) 也许是gcc版本太新的原因?上网一查,是因为新内核使用了NTPL这种先进的线程处理方式,于是就这样: root@www:/db/mysql-4.0.26# cp /usr/include/pthread.h /usr/include/pthread.h.bak root@www:/db/mysql-4.0.26# echo '/* Linuxthreads */' >> /usr/include/pthread.h 然后编译,并且加了点参数 root@www:/db/mysql-4.0.26# ./configure --prefix=/db/mysql4 --with-unix-socket-path=/db/mysql4/mysql.sock --with-tcp-port=3304 --with-low-memory 在检测Linuxthreads地方显示为Found,但后来还是停下了, checking whether signal handlers are of type void... yes checking for tgetent in -lncurses... no checking for tgetent in -lcurses... no checking for tgetent in -ltermcap... no checking for termcap functions library... configure: error: No curses/termcap li brary found 看来要装 ncurses-devel
|