• rhel5上使用源代码安装mysql4.0.x


    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;,不知道有没有什么影响。

  • 相关阅读:
    Linux下编译LibCURL
    Linux下编译OpenSSL
    Linux下编译UnixODBC
    Linux下编译Boost
    MySQL存储引擎【InnoDB、MyISAM、Memory】
    MySQL数据库MyISAM和InnoDB存储引擎的比较
    MySQL存储引擎MyISAM与InnoDB的优劣
    14款经典的MySQL客户端软件
    MySQL 数据类型
    MySQL数据库的基本数据类型
  • 原文地址:https://www.cnblogs.com/ylqmf/p/2360414.html
Copyright © 2020-2023  润新知