池田さん
わざわざ試して頂いてありがとうございます。
my_thr_init.cのifdefを外してmakeしてみました。
すると今度はさっきと若干表示が変わりました。
このような表示が出て止まります。
binary-configure.sh > binary-configure-t
/bin/mv binary-configure-t binary-configure
/bin/rm -f MySQL-shared-compat.spec MySQL-shared-compat.spec-t
/bin/sed \
-e 's!@''bindir''@!/usr/local/mysql/bin!g' \
-e 's!@''sbindir''@!/usr/local/mysql/sbin!g' \
-e 's!@''scriptdir''@!/usr/local/mysql/bin!g' \
-e 's!@''prefix''@!/usr/local/mysql!g' \
-e 's!@''datadir''@!/usr/local/mysql/share!g' \
-e 's!@''localstatedir''@!/usr/local/mysql/var!g' \
-e 's!@''libexecdir''@!/usr/local/mysql/libexec!g' \
-e 's!@''CC''@!gcc!'\
-e 's!@''CXX''@!g++!'\
-e 's!@''GXX''@!yes!'\
-e 's!@''PERL''@!/usr/bin/perl!' \
-e 's!@''CFLAGS''@!!'\
-e
's!@''CXXFLAGS''@!!'\
-e 's!@''LDFLAGS''@!!'\
-e 's!@''VERSION''@!4.0.20!' \
-e 's!@''MYSQL_SERVER_SUFFIX''@!!' \
-e 's!@''COMPILATION_COMMENT''@!Source distribution!' \
-e 's!@''MACHINE_TYPE''@!i686!' \
-e 's!@''HOSTNAME''@!/bin/hostname!' \
-e 's!@''SYSTEM_TYPE''@!pc-linux!' \
-e 's!@''CHECK_PID''@!/bin/kill -0 $PID > /dev/null 2> /dev/null!' \
-e 's!@''FIND_PROC''@!/bin/ps p $PID | grep mysqld > /dev/null!' \
-e 's!@''MYSQLD_DEFAULT_SWITCHES''@!--skip-locking!' \
-e 's!@''MYSQL_UNIX_ADDR''@!/tmp/mysql.sock!' \
-e 's!@''IS_LINUX''@!true!' \
-e "s!@""CONF_COMMAND""@!./configure '--with-charset=ujis' '--prefix=/usr/local/mysql' '--with-mysqld-user=mysql' '--with-extra-charsets=all' '--with-named-thread-libs=-lpthread'!" \
-e 's!@''MYSQLD_USER''@!mysql!' \
-e 's!@''sysconfdir''@!/usr/local/mysql/etc!' \
-e
's!@''SHORT_MYSQL_INTRO''@!@SHORT_MYSQL_INTRO@!' \
-e 's!@''SHARED_LIB_VERSION''@!12:0:0!' \
-e 's!@''MYSQL_BASE_VERSION''@!4.0!' \
-e 's!@''MYSQL_NO_DASH_VERSION''@!4.0.20!' \
-e 's!@''MYSQL_TCP_PORT''@!3306!' \
-e 's!@''PERL_DBI_VERSION''@!@PERL_DBI_VERSION@!' \
-e 's!@''PERL_DBD_VERSION''@!@PERL_DBD_VERSION@!' \
-e 's!@''PERL_DATA_DUMPER''@!@PERL_DATA_DUMPER@!' \
MySQL-shared-compat.spec.sh > MySQL-shared-compat.spec-t
/bin/mv MySQL-shared-compat.spec-t MySQL-shared-compat.spec
make[3]: Leaving directory `/usr/src/mysql-4.0.20/support-files'
make[2]: Leaving directory `/usr/src/mysql-4.0.20/support-files'
make[1]: Leaving directory `/usr/src/mysql-4.0.20'
最初とprefixは変えました。
とりあえずこのままmake installし、mysqld_safeで起動させようとした所下記のエラー表示が出て起動出来ません。
touch: cannot touch `/usr/local/mysql/var/hogehoge.com.err': No such file or
directory
chown: cannot access `/usr/local/mysql/var/hogehoge.com.err': No such file or directory
Starting mysqld daemon with databases from /usr/local/mysql/var
/usr/local/mysql/bin/mysqld_safe: line 308: /usr/local/mysql/var/hogehoge.com.err: No such file or directory
/usr/local/mysql/bin/mysqld_safe: line 316: /usr/local/mysql/var/hogehoge.com.err: No such file or directory
tee: /usr/local/mysql/var/hogehoge.com.err: No such file or directory
061120 17:57:08 mysqld ended
tee: /usr/local/mysql/var/hogehoge.com.err: No such file or directory
hogehoge.comの部分はインストールするマシンのhostnameです。
もう何が何だか…
そもそも/usr/local/mysql/var/と言うフォルダは無いんです。
Tetsuro IKEDA <te.ikeda@jpta.scs.co.jp> wrote:
池田です。
たまたまFC5環境があったのでMySQL4.0
.20を落としてprefix以外同じ条件で
ビルドしてみたら完全に再現しました。
コンパイルまでは出来ていて、リンク時に"my_fast_mutexattr"が参照
できないと言っていますね。
MySQL 4,0.20では、my_fast_mutexattrはmysys/my_thr_init.cに
以下のように定義されています。
#ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
pthread_mutexattr_t my_fast_mutexattr;
#endif
でもって、このifdefを外して必ず定義するようにして、makeしてみたら
普通にmake成功しました。mysqldの起動、mysqlによる接続確認もできました。
さらに、my_fast_mutexattrでぐぐってみたら、こんなのを見つけました。
http://lists.mysql.com/internals/24532
MySQL 4.1系でのbkのcommitログっぽいメールなんですが、読み進めていくと、
--- 1.30/mysys/my_thr_init.c
2005-04-27 13:29:34 +02:00
+++ 1.31/mysys/my_thr_init.c 2005-05-03 12:36:52 +02:00
@@ -37,10 +37,8 @@
#ifndef HAVE_GETHOSTBYNAME_R
pthread_mutex_t LOCK_gethostbyname_r;
#endif
-#ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+#if defined(HAVE_PTHREAD_MUTEXATTR_SETTYPE) || defined
(HAVE_PTHREAD_MUTEXATTR_SETKIND_NP)
pthread_mutexattr_t my_fast_mutexattr;
-#endif
-#ifdef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
pthread_mutexattr_t my_errorcheck_mutexattr;
#endif
こんな変更があったようなので、もしかするとバグだったのかな?
とか思います。
という感じですが、いかがでしょうか??
2many dj wrote:
> 池田さん
>
> >もうちょっと上のエラーメッセージとかまで見せていただかないと、何のエ
- 引用テキストを表示 -
> ラーなのか分からないです
>
> ではちょっと長くなりますがそのまま貼り付けます。
> よろしくお願いします。
>
> /bin/sh ../libtool --preserve-dup-deps --mode=link g++ -O3 -DDBUG_OFF
> -fno-implicit-templates -fno-exceptions -fno-rtti -rdynamic -o mysqld
> sql_lex.o sql_handler.o item.o item_sum.o item_buff.o item_func.o
> item_cmpfunc.o item_strfunc.o item_timefunc.o thr_malloc.o item_create.o
> field.o key.o sql_class.o sql_list.o net_serv.o net_pkg.o
lock.o
> my_lock.o sql_string.o sql_manager.o sql_map.o mysqld.o password.o
> hash_filo.o hostname.o convert.o set_var.o sql_parse.o sql_yacc.o
> sql_base.o table.o sql_select.o sql_insert.o sql_update.o sql_delete.o
> uniques.o sql_do.o procedure.o item_uniq.o sql_test.o log.o log_event.o
> init.o derror.o sql_acl.o unireg.o des_key_file.o time.o opt_range.o
> opt_sum.o opt_ft.o records.o filesort.! o handler.o ha_heap.o
> ha_myisam.o ha_myisammrg.o ha_berkeley.o ha_innodb.o ha_isam.o
> ha_isammrg.o sql_db.o sql_table.o sql_rename.o sql_crypt.o sql_load.o
> mf_iocache.o field_conv.o sql_show.o sql_udf.o sql_analyse.o sql_cache.o
> slave.o sql_repl.o sql_union.o mini_client.o mini_client_errors.o
> stacktrace.o repl_failsafe.o sql_olap.o ../innobase/usr/libusr.a
> ../innobase/srv/libsrv.a ../innobase/dict/libdict.a
> ../innobase/que/libque.a ../innobase/srv/libsrv.a
>
../innobase/ibuf/libibuf.a ../innobase/row/librow.a
> ../innobase/pars/libpars.a ../innobase/btr/libbtr.a
> ../innobase/trx/libtrx.a ../innobase/read/libread.a
> ../innobase/usr/libusr.a ../innobase/buf/libbuf.a
> ../innobase/ibuf/libibuf.a ../innobase/eval/libeval.a
> ../innobase/log/liblog.a ../innobase/fsp/libfsp.a
> ../innobase/fut/libfut.a ../innobase/fil/libfil.a
> ../innobase/lock/liblock.a ../innobase/mtr/libmtr.a
> ../innobase/page/libpage.a ../innobase/rem/librem.a
> ../innobase/thr/libthr.a ../innobase/sync/libsync.a
> ../innobase/data/libdata.a ../innobase/mach/libmach.a
> ../innobase/ha/libha.a ../innobase/dyn/libdyn.a ../innobase/mem/libmem.a
> ../innobase/sync/libsync.a ../innobase/ut/libut.a ../innobase/os/libos.a
>
../innobase/ut/libut.a -lrt ../isam/libnisam.a ../merge/libmerge.a
> ../myisam/libmyisam.a ../myisammrg/libmyisammrg.a ../heap/libheap.a
> ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a
> ../regex/libregex.a ../strings/libmystrings.a -ldl -lpthread -lz
> -lcrypt -lnsl -lm -lpthread
> g++ -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti
> -rdynamic -o mysqld sql_lex.o sql_handler.o item.o item_sum.o
> item_buff.o item_func.o item_cmpfunc.o item_strfunc.o item_timefunc.o
> thr_malloc.o item_create.o field.o key.o sql_class.o sql_list.o
> net_serv.o net_pkg.o lock.o my_lock.o sql_string.o sql_manager.o
> sql_map.o mysqld.o password.o hash_filo.o hostname.o convert.o set_var.o
> sql_parse.o sql_yacc.o sql_base.o table.o sql_select.o sql_insert.o
> sql_update.o sql_delete.o uniques.o sql_do.o procedure.o item_uniq.o
> sql_test.o log.o log_event.o init.o
derror.o sql_acl.o unireg.o
> des_key_file.o time.o opt_range.o opt_sum.o opt_ft.o records.o
> filesort.o handler.o ha_heap.o ha_myisam.o ha_myisammrg.o ha_berkeley.o
> ha_innodb.o ha_isam.o ha_isammrg.o sql_db.o sql_table.o sql_rename.o
> sql_crypt.o sql_load.o mf_iocache.o field_conv.o sql_show.o sql_udf.o
> sql_analyse.o sql_cache.o slave.o sql_repl.o sql_union.o mini_client.o
> mini_client_errors.o stacktrace.o repl_failsafe.o sql_olap.o
> ../innobase/usr/libusr.a ../innobase/srv/libsrv.a
> ../innobase/dict/libdict.a ../innobase/que/libque.a
> ../innobase/srv/libsrv.a ../innobase/ibuf/libibuf.a
> ../innobase/row/librow.a ../innobase/pars/libpars.a
> ../innobase/btr/libbtr.a ../innobase/trx/libtrx.a
> ../innobase/read/libread.a ../innobase/usr/libusr.a
> ../innobase/buf/libbuf.a ../innobase/ibuf/libibuf.a
> ../innobase/eval/libeval.a ../innobase/log/liblog.a
> ../innobase/fsp/libfsp.a ../innobase/fut/libfut.a
> ../innobase/fil/libfil.a ../innobase/lock/liblock.a
> ../innobase/mtr/libmtr.a ../innobase/page/libpage.a
> ../innobase/rem/librem.a ../innobase/thr/libthr.a
> ../innobase/sync/libsync.a ../innobase/data/libdata.a
> ../innobase/mach/libmach.a ../innobase/ha/libha.a
> ../innobase/dyn/libdyn.a ../innobase/mem/libmem.a
>
../innobase/sync/libsync.a ../innobase/ut/libut.a ../innobase/os/libos.a
> ../innobase/ut/libut.a -lrt ../isam/libnisam.a ../merge/libmerge.a
> ../myisam/libmyisam.a ../myisammrg/libmyisammrg.a ../heap/libheap.a
> ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a
> ../regex/libregex.a ../strings/libmystrings.a -ldl -lpthread -lz -lcrypt
> -lnsl -lm -lpthread
> sql_class.o: In function `THD::THD()':
> sql_class.cc:(.text+0x23bb): undefined reference to `my_fast_mutexattr'
> sql_class.o: In function `THD::THD()':
> sql_class.cc:(.text+0x2a1b): undefined reference to `my_fast_mutexattr'
> sql_class.o: In function `st_log_info::st_log_info()':
> sql_class.cc:(.text._ZN11st_log_infoC1Ev[st_log_info::st_log_info()]+0x19):
> undefined reference to `my_fast_mutexattr'
> sql_class.o: In function `st_log_info::st_log_info()':
>
sql_class.cc:(.text._ZN11st_log_infoC2Ev[st_log_info::st_log_info()]+0x19):
> undefined reference to `my_fast_mutexattr'
> mysqld.o: In function `main':
> mysqld.cc:(.text+0x3ee3): undefined reference to `my_fast_mutexattr'
> mysqld.o:mysqld.cc:(.text+0x3ef7): more undefined references to
> `my_fast_mutexattr' follow
> collect2: ld returned 1 exit status
>
> *Tetsuro IKEDA <te.ikeda@jpta.scs.co.jp>* wrote:
>
> こんにちは。池田@住商情報です。
>
> これ↓ですが、sqlディレクトリのmakeでエラーが起きているのは
> 分かるのですが、もうちょっと上のエラーメッセージとかまで
> 見せていただかないと、何のエラーなのか分か� $i$J$$$G$9!#
>
> # 見せていただいても解決できるかどーかは分かりませんが。
>
> > configure自体は特に問題無く終わるのでmakeをすると
> > make[4]: *** [mysqld] Error 1
> > make[4]: Leaving directory `/usr/src/mysql-4.0.20/sql'
> > make[3]: *** [all-recursive] Error 1
> > make[3]: Leaving directory `/usr/src/mysql-4.0.20/sql'
> > make[2]: *** [all] Error 2
> > make[2]: Leaving directory `/usr/src/mysql-4.0.20/sql'
> > make[1]: ***
[all-recursiv! e] Error 1
> > make[1]: Leaving directory `/usr/src/mysql-4.0.20'
> > make: *** [all] Error 2
>
> 2many dj wrote:
> > 皆様始めまして。
> >
> > 自宅サーバ(Fedora Core 5)にyumコマンドでMySQL5.0.22、PHP5.1.6をイ
> ンス
> > トールしました。
> > ただ、MySQLの日本語の扱いに困りMySQL4.0.20に変更しようと思い下記
> 手順を踏
> > みました。
> >
>
> yum remove mysql.i386で削除。
> >
- 引用テキストを表示しない -
> > をwgetし解凍。
> > その後
> > ./configure --with-charset=ujis --prefix=/var/lib/mysql/
> > --with-mysqld-user=mysql --with-extra-charsets=all
> --without-readline
> > --with-named-thread-libs="-lpthread"
> > と指定しconfigure。
> >
> > configure自体は特に問題無く終わるのでmakeをすると
> > make[4]: *** [mysqld] Error 1
> > make[4]: Leaving directory `/usr/src/mysql-4.0.20/sql'
> > make[3]: *** [all-recursive] Error 1
> > make[3]: Leaving directory `/usr/src/mysql-4.0.20/sql'
>
> make[2]: *** [all] Error 2
> > make[2]: Leaving directory `/usr/src/mysql-4.0.20/sql'
> > make[1]: *** [all-recursiv! e] Error 1
> > make[1]: Leaving directory `/usr/src/mysql-4.0.20'
> > make: *** [all] Error 2
> >
> > と言う表示が出て止まります。
> > このメッセージで色々検索し、いくつか手がかりになりそうな物を見つ
> け試して
> > みましたが、全く変化が無いです。
> >
> > 尚、config.! logを見ると
> >
> > configure: failed program was:
> > | #line 31477 "configure"
> > | /* confdefs.h. */
> > |
>
> | #define PACKAGE_NAME ""
> > | #define PACKAGE_TARNAME ""
> > | #define PACKAGE_VERSION ""
> >
| #define PACKAGE_STRING ""
> > | #define PACKAGE_BUGREPORT ""
> > | #define PACKAGE "mysql"
> > | #define VERSION "4.0.20"
> > | #define PROTOCOL_VERSION 10
> > | #define DOT_FRM_VERSION 6
> > | #define SYSTEM_TYPE "pc-linux"
> > | #define MACHINE_TYPE "i686"
> > | #ifdef __cplusplus
> >
> > こんな感じでずらっとあります。
> >
> > 何かご意見頂けると助かります。
> > よろしくお願いします。
> >
> >
> >
> > Yahoo! JAPAN "Pink Ribbon Campaign 2006"
> >
>
> -Breast Cancer Awareness-
>
>
> --
> Tetsuro IKEDA
> Sumisho Computer Systems Corp.
> Open Source System Div.
> te.ikeda@jpta.scs.co.jp
> TEL +81-3-5166-2420
> FAX +81-3-5166-1189
>
>
>
> Yahoo! JAPAN "Pink Ribbon Campaign 2006"
> -Breast Cancer Awareness-
--
Tetsuro IKEDA
Sumisho Computer Systems Corp.
Open Source System Div.
te.ikeda@jpta.scs.co.jp
TEL
+81-3-5166-2420
FAX +81-3-5166-1189
Yahoo! JAPAN "Pink Ribbon Campaign 2006"
-Breast Cancer Awareness-