用 ports 在 compile MySQL 5.0 時,發生了一些問題…
Making all in libmysql_r
source=’libmysql.c’ object=’libmysql.lo’ libtool=yes depfile=’.deps/libmysql.Plo’ tmpdepfile=’.deps/libmysql.TPlo’ depmode=gcc /bin/sh ../depcomp /usr/local/bin/libtool15 –mode=compile cc -DDEFAULT_CHARSET_HOME=””/usr/local”” -DDATADIR=””/var/db/mysql”” -DSHAREDIR=””/usr/local/share/mysql”” -DDONT_USE_RAID -I. -I. -I.. -I../include -DDBUG_OFF -O -pipe -march=pentiumpro -D_THREAD_SAFE -c -o libmysql.lo `test -f libmysql.c || echo ‘./’`libmysql.c
libtool15: compile: unable to infer tagged configuration
libtool15: compile: specify a tag with `–tag’
*** Error code 1Stop in /home/usr.ports/databases/mysql50-client/work/mysql-5.0.0-alpha/libmysql_r.
*** Error code 1Stop in /home/usr.ports/databases/mysql50-client/work/mysql-5.0.0-alpha.
*** Error code 1Stop in /home/usr.ports/databases/mysql50-client/work/mysql-5.0.0-alpha.
*** Error code 1Stop in /home/usr.ports/databases/mysql50-client.
*** Error code 1Stop in /home/usr.ports/databases/mysql50-server.
在 GNU 的 mailing list 上,9/25 時有篇文章 libtool15: compile: unable to infer tagged configuration 提到了這個問題發生的原因:
The reason for this error message is that the first command argument provided to libtool is expected to be the name of the compiler used while configuring libtool, but some other tool name was found there instead.
As an example, it may be that when libtool was configured the compiler’s name was `cc’ but libtool is being provided with `gcc’ instead during the build.
I believe that recent versions of Automake provide a –tag argument in order to avoid possible confusion like this.
更苦的是,我發現在 compile portdownupgrade 時,也遇到一樣的情況 (dependency on popt) :~
看起來是 gcc34 造成的問題之一,只好先用 system 的 gcc 了…
use CC=gcc34 and CXX=g++34 to install libtool15 ;p