编译percona 5.5.11 正式版本出错?

二戒老中医 发布于 2011/04/29 11:54
阅读 1K+
收藏 1

centos 5.6系统,安装默认gcc等套件,编译percona.

编译参数为

cmake . \
  -DCMAKE_BUILD_TYPE:STRING=Release             \
  -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/webserver/mysql        \
  -DENABLED_PROFILING:BOOL=ON                   \
  -DENABLE_DEBUG_SYNC:BOOL=OFF                  \
  -DMYSQL_DATADIR:PATH=/var/lib/mysql          \
  -DMYSQL_MAINTAINER_MODE:BOOL=OFF              \
  -DDEFAULT_CHARSET=utf8                        \
  -DDEFAULT_COLLATION=utf8_general_ci           \
  -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk,gb2312  \
  -DWITH_SSL:STRING=bundled                     \
  -DWITH_UNIT_TESTS:BOOL=OFF                    \
  -DWITH_ZLIB:STRING=bundled                    \
  -DWITH_PARTITION_STORAGE_ENGINE:BOOL=ON       \
  -DINSTALL_LAYOUT:STRING=STANDALONE            \
  -DCOMMUNITY_BUILD:BOOL=ON                     \
  -LH

 

编译到最后,出错,找了半天,不知道解决办法,请指导一下。谢谢。

Linking CXX static library libsql.a
[ 99%] Built target sql
Scanning dependencies of target mysqld
[100%] Building CXX object sql/CMakeFiles/mysqld.dir/main.cc.o
Linking CXX executable mysqld
libsql.a(query_response_time.cc.o): In function `query_response_time::add_time_atomic(query_response_time::TimeCounter*, unsigned long long)':
query_response_time.cc:(.text+0x32): undefined reference to `__sync_bool_compare_and_swap_4'
libsql.a(query_response_time.cc.o): In function `query_response_time_collect(unsigned long long)':
query_response_time.cc:(.text+0x372): undefined reference to `__sync_bool_compare_and_swap_4'
collect2: ld returned 1 exit status
make[2]: *** [sql/mysqld] Error 1
make[1]: *** [sql/CMakeFiles/mysqld.dir/all] Error 2
make: *** [all] Error 2

加载中
0
用户已屏蔽
用户已屏蔽

make[2]: *** [sql/mysqld] Error 1
make[1]: *** [sql/CMakeFiles/mysqld.dir/all] Error 2

....

0
红薯
红薯

俺都是直接用 RPM 装的,羞于见人啊

0
用户已屏蔽
用户已屏蔽

我都是 yum的。。。更不敢见人了。。

0
二戒老中医
二戒老中医

晕,老大们还是力推这个产品的。。

0
G.
G.

好像需要:

bison,libidn-devel,ncurses-devel

我外行人,  不懂.

0
二戒老中医
二戒老中医

Package bison-2.3-2.1.i386 already installed and latest version
Package libidn-devel-0.6.5-1.1.i386 already installed and latest version
Package ncurses-devel-5.5-24.20060715.i386 already installed and latest version

0
G.
G.

下面是我自己的一段编译脚本, 编译正常.

softpath="/down/websoft/"
mkdir ${softpath} -p
mkdir /web/mysql -p


#==============================================================================
#==============================================================================
#=== Install Percona-Server
#==============================================================================
cd ${softpath}/
# http://www.percona.com/downloads/Percona-Server-5.5/
wget http://www.percona.com/redir/downloads/Percona-Server-5.5/Percona-Server-5.5.11-20.2/source/Percona-Server-5.5.11-rel20.2.tar.gz
#==============================================================================
mkdir -p /web/mysql/

cd ${softpath}
tmp_Percona_v='Percona-Server-5.5.11-rel20.2'
tar zxf ${tmp_Percona_v}.tar.gz
cd ${softpath}/${tmp_Percona_v}

# 可以通过  cmake . -LH 查看有哪些可选择的编译参数.
# 这里需要安装 bison, 可以通过 yum install bison 来安装

cmake . \
  -DCMAKE_BUILD_TYPE:STRING=Release             \
  -DSYSCONFDIR:PATH=/web/mysql                  \
  -DCMAKE_INSTALL_PREFIX:PATH=/web/mysql        \
  -DENABLED_PROFILING:BOOL=ON                   \
  -DENABLE_DEBUG_SYNC:BOOL=OFF                  \
  -DMYSQL_DATADIR:PATH=/web/mysql/data          \
  -DMYSQL_MAINTAINER_MODE:BOOL=OFF              \
  -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk,gb2312  \
  -DWITH_SSL:STRING=bundled                     \
  -DWITH_UNIT_TESTS:BOOL=OFF                    \
  -DWITH_ZLIB:STRING=bundled                    \
  -DWITH_PARTITION_STORAGE_ENGINE:BOOL=ON       \
  -DINSTALL_LAYOUT:STRING=STANDALONE            \
  -DCOMMUNITY_BUILD:BOOL=ON                     \
  -LH

make
make install
#==============================================================================
echo "/web/mysql/lib/" >> /etc/ld.so.conf
echo "/web/mysql/lib/plugin" >> /etc/ld.so.conf
ldconfig

cp ${softpath}/${tmp_Percona_v}/support-files/my-medium.cnf /etc/my.cnf
cp ${softpath}/${tmp_Percona_v}/support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod 700 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on
chmod 755 /etc/init.d/mysqld

groupadd  mysql
useradd   mysql -g mysql  -s /sbin/nologin

# 如果已经安装了 mysql 客户端的话.
# 把原来的mysql 备份
# mv /usr/bin/mysql /usr/bin/mysql.bak

ln -s /web/mysql/bin/mysql /usr/bin/mysql

chmod 700 ${softpath}/${tmp_Percona_v}/scripts/mysql_install_db
#安装数据
${softpath}/${tmp_Percona_v}/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/web/mysql --user=mysql --datadir=/web/mysql/data

chown mysql.mysql -R /web/mysql/
# 启动mysql服务
service mysqld start

#在这里输入密码 (假设密码为123456,当然,这个密码是非常的不安全)

/web/mysql/bin/mysql_secure_installation

#
# 同时,在这里删除 anonymous(匿名用户),数据库 test(测试) 并且不允许 root 的远程登录
# 最后,再刷新权限表
#

chown mysql.mysql -R /web/mysql/
chmod 700 -R /web/mysql/

#测试数据库
# /web/mysql/bin/mysql -uroot -p
#
# 输入密码
# 测试是否显示数据库
# show databases;
# 退出
# quit;
#
#==============================================================================

0
二戒老中医
二戒老中医

用以上参数在官方MYSQL 5.5.11上就一点问题没有。。。

0
二戒老中医
二戒老中医

可能问题出在64位主机上32位VPS。

0
二戒老中医
二戒老中医

今天终于编译成功。貌似和libmcrypt-devel这个没有安装有关。

返回顶部
顶部