请教mysql编译sphinx引擎问题

60 views
Skip to first unread message

狗尾草

unread,
Jul 12, 2011, 11:33:47 AM7/12/11
to sh...@googlegroups.com
开始使用mysql5.5,编译总出问题。
后改用mysql-5.1.5,出现新错误。还是对编译头大。
./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charsets=all  --enable-thread-safe-client --enable-assembler --with-readline --with-big-tables --with-plugins=sphinx
make & make install


错误信息
make[2]: Entering directory `/root/mysql-5.1.58/libmysql'
preserve-dup-deps    --mode=compile gcc -DDEFAULT_CHARSET_HOME="\"/usr/local/mysql\"" -DMYSQL_DATADIR="\"/usr/local/mysql/var\"" -DDEFAULT_HOME_ENV=MYSQL_HOME -DDEFAULT_GROUP_SUFFIX_ENV=MYSQL_GROUP_SUFFIX -DDEFAULT_SYSCONFDIR="\"/usr/local/mysql/etc\"" -DSHAREDIR="\"/usr/local/mysql/share/mysql\"" -DMYSQL_CLIENT_NO_THREADS -DDONT_USE_RAID  -I. -I../include -I../include -I../include      -O3    -DUNIV_LINUX -DUNIV_LINUX -MT libmysql.lo -MD -MP -MF .deps/libmysql.Tpo -c -o libmysql.lo libmysql.c
/bin/sh: preserve-dup-deps: command not found
make[2]: [libmysql.lo] 错误 127 (忽略)
mv -f .deps/libmysql.Tpo .deps/libmysql.Plo
mv: 无法 stat “.deps/libmysql.Tpo”: 没有那个文件或目录
make[2]: *** [libmysql.lo] 错误 1
make[2]: Leaving directory `/root/mysql-5.1.58/libmysql'
make[1]: *** [all] 错误 2
make[1]: Leaving directory `/root/mysql-5.1.58/libmysql'



小马xiaoma

unread,
Jul 12, 2011, 12:02:49 PM7/12/11
to sh...@googlegroups.com
缺少依赖库

Zoom.Quiet

unread,
Jul 12, 2011, 12:05:33 PM7/12/11
to sh...@googlegroups.com
CentOS 吧?!
- 可怜的...
- 每个CentOS SA 都有自个儿的一套常用软件的编译配置和软件源...

--
人生苦短, Pythonic! 冗余不做,日子甭过!备份不做,十恶不赦!
俺: http://about.me/zoom.quiet
哲: http://www.zeuux.org/home/zoomquiet
豆: http://www.douban.com/group/zoomquiet
书: http://code.google.com/p/openbookproject
营: http://code.google.com/p/kcpycamp/wiki/PythoniCamp
文字协议: http://creativecommons.org/licenses/by-sa/2.5/cn/

B.Tag

unread,
Jul 12, 2011, 12:08:16 PM7/12/11
to sh...@googlegroups.com
libmysql-dev ?这个确认装上了吗?

不过这个引擎我也没装上,想了下 还是用XML算球了,,  我MYSQL已经装好了不想去折腾!!
--
-------------------------------------------------------------------------
        learn log: http://me.boolsir.com 
        my life log: http://www.boolsir.com
-------------------------------------------------------------------------

源泉星火(张明源)

unread,
Jul 13, 2011, 1:32:33 AM7/13/11
to sh...@googlegroups.com
升级libtool试试。
PS:可怜CentOS SA,真的不想再用RH系……
--
明源
http://www.Linuxzh.org
Twitter: @muxueqz

狗尾草

unread,
Jul 13, 2011, 9:03:17 AM7/13/11
to sh...@googlegroups.com
请问如何查询缺少哪些依赖?
之前configure过程中提示缺少依赖,安装了几个,倒是通过了。这不make时又出问题了。





2011/7/13 小马xiaoma <cnxi...@gmail.com>

狗尾草

unread,
Jul 13, 2011, 9:04:37 AM7/13/11
to sh...@googlegroups.com
是centos
生产环境用的是它,没办法。

这个编译配置和软件源都是根据自己的经验积累的?我现在还用默认源呢。





2011/7/13 Zoom.Quiet <zoom....@gmail.com>

狗尾草

unread,
Jul 13, 2011, 9:39:48 AM7/13/11
to sh...@googlegroups.com
libtool-1.5.22-7.el5_4.i386
libtool版本是1.5,需要哪个版本?






2011/7/13 源泉星火(张明源) <zhangmin...@gmail.com>

狗尾草

unread,
Jul 13, 2011, 11:10:23 AM7/13/11
to sh...@googlegroups.com
如果说是libtool问题,我重新编译安装libtool后,为何还是make不通过?
libtool --version
libtool (GNU libtool) 2.4
Written by Gordon Matzigkeit <go...@gnu.ai.mit.edu>, 1996

Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

错误依然是找不到 preserve-dup-deps命令

/bin/sh: preserve-dup-deps: command not found
make[2]: [libmysql.lo] 错误 127 (忽略)
mv -f .deps/libmysql.Tpo .deps/libmysql.Plo
mv: 无法 stat “.deps/libmysql.Tpo”: 没有那个文件或目录
make[2]: *** [libmysql.lo] 错误 1
make[2]: Leaving directory `/root/mysql-5.1.58/libmysql'
make[1]: *** [all] 错误 2
make[1]: Leaving directory `/root/mysql-5.1.58/libmysql'
make: *** [all-recursive] 错误 1




2011/7/13 狗尾草 <guo...@gmail.com>

Wick

unread,
Jul 13, 2011, 12:47:41 PM7/13/11
to sh...@googlegroups.com
mysql 有报道这个bug,google is your friend
http://bugs.mysql.com/bug.php?id=20276

2011/7/13 狗尾草 <guo...@gmail.com>:


> 如果说是libtool问题,我重新编译安装libtool后,为何还是make不通过?
> libtool --version
> libtool (GNU libtool) 2.4
> Written by Gordon Matzigkeit <go...@gnu.ai.mit.edu>, 1996
> Copyright (C) 2010 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> 错误依然是找不到 preserve-dup-deps命令
> /bin/sh: preserve-dup-deps: command not found
> make[2]: [libmysql.lo] 错误 127 (忽略)
> mv -f .deps/libmysql.Tpo .deps/libmysql.Plo
> mv: 无法 stat ".deps/libmysql.Tpo": 没有那个文件或目录
> make[2]: *** [libmysql.lo] 错误 1
> make[2]: Leaving directory `/root/mysql-5.1.58/libmysql'
> make[1]: *** [all] 错误 2
> make[1]: Leaving directory `/root/mysql-5.1.58/libmysql'
> make: *** [all-recursive] 错误 1
> Twitter
>
>
> 2011/7/13 狗尾草 <guo...@gmail.com>
>>
>> libtool-1.5.22-7.el5_4.i386
>> libtool版本是1.5,需要哪个版本?
>>
>>
>> Twitter
>>
>>
>> 2011/7/13 源泉星火(张明源) <zhangmin...@gmail.com>
>>>
>>> 升级libtool试试。

>>> PS:可怜CentOS SA,真的不想再用RH系......


--
Shenzhen, CN
twitter: @izhangxc

狗尾草

unread,
Jul 14, 2011, 2:12:40 AM7/14/11
to sh...@googlegroups.com
这个我看到了,里面找到升级libtool,我已将libtool升级至2.4了,依然不行。





2011/7/14 Wick <izha...@gmail.com>

狗尾草

unread,
Jul 14, 2011, 3:34:08 AM7/14/11
to sh...@googlegroups.com
总算找到解决办法了。在coreseek官方论坛找到的。
自我总结下,之前试过在5.5和5.1下编译,configure中加了N多参数,问题常常是某此参数不被支持。
如邮件最初提到的preserve-dup-deps: command not found错误。这次未出现。
本次编译时configure中不使用过多参数,反倒编译没问题,另外进入storage/sphinx目录,执行make -j4,我理解是仅编译当前目录的文件,也就是sphinx,也减少了发生错误的可能。

不知理解是否正确?




原文如下:
如果使用 plugin 方式的话,不需要重新编译 mysql,但是需要 mysql 的 src 包 。
我用的 MySQL 官方的 rpm 包,你可以按照下面的步骤试试,非实际命令。

tar zxvf mysql.5.1.32.src.tar.gz
tar zxvf sphinx.0.9.9.src.tar.gz
cd mysql.5.1.32
mv ../sphinx.0.9.9/mysqlse storage/sphinx
BUILD/autorun.sh
./configure --with-big-tables
cd storage/sphinx
make -j4
cp .libs/ha_sphinx.so /usr/lib/mysql/plugin
mysql -p

mysql> install plugin sphinx SONAME 'ha_sphinx.so';
mysql> show engines;






2011/7/14 狗尾草 <guo...@gmail.com>
Reply all
Reply to author
Forward
0 new messages