mysql:4167
From: Takayuki MITA <Takayuki MITA <mita@xxxxxxxxxx>>
Date: Mon, 13 Aug 2001 11:19:01 +0900
Subject: [mysql 04167] cygwin 上で MySql のコンパイル
見田と申します。 Windows上のRubyからMySQLにアクセスするコードを作成しようとしています。 MySQLにアクセスするためのライブラリがソフトエージェンシーのHPに 公開されているのでそれを使用しているのですが、このライブラリは 一緒に公開されているRuby1.6.1 mswin版としか相性が良くないらしく 他のツール(eRubyとか)が使用できなくて困っています。 ruby.exe等を他のmswin版に入れ換えてもスクリプト中でqueryを何回か実行し てGCが行われるとruby自体がエラーを出して停止してしまいます。 そこで自分でコンパイルしようと考えました。しかしVC++を所持していない ため、MySQLをWindowsでのcygwin環境でコンパイルしようとしていますが、コ ンパイルできずに困っています。 目的としてはlibmysqlclient.aというライブラリが正しく作成できればいいで す。 cygwin上でコンパイルに成功されている方がいらっしゃいましたら、手順など を教えてください。 --------------------------- 以下、私の行った手順です。 シェルから次のコマンドを実行しました。 $ ./configure --prefix=/usr/local/mysql --with-charset=sjis $ make ここでmakeを行うと以下の部分でエラーになります。おそらく libmysqlclient.aにmysql_という関数が定義されていないからだと思いますが 作成する方法がわかりません。 c++ -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -o mysql my sql.o readline.o sql_string.o completion_hash.o ../readline/libreadline.a -lncur ses ../libmysql/.libs/libmysqlclient.a -lz -lcrypt -lz -lcrypt mysql.o(.text+0x6c6):mysql.cc: undefined reference to `max_allowed_packet' mysql.o(.text+0x797):mysql.cc: undefined reference to `mysql_get_server_info' mysql.o(.text+0x7a5):mysql.cc: undefined reference to `mysql_thread_id' ----------------------------- cygwinの環境は以下のようになっています。 uname -a CYGWIN_NT-5.0 TORO 1.3.2(0.39/3/2) 2001-05-20 23:28 i686 unknown ---------------------------------------------------- ls -la /lib/libc* lrwxrwxrwx 1 takayuki なし 22 Aug 10 23:34 /lib/libc.a -> libcygwin .a -rw-r--r-- 1 takayuki なし 10752 May 24 2000 /lib/libcrypt.a -rw-r--r-- 1 takayuki なし 1198424 Jul 26 07:37 /lib/libcrypto.a lrwxrwxrwx 1 takayuki なし 23 Aug 10 23:34 /lib/libcurses.a -> libn curses.a lrwxrwxrwx 1 takayuki なし 27 Aug 10 23:34 /lib/libcurses.dll.a -> libncurses.dll.a -rw-r--r-- 1 takayuki なし 843776 May 21 12:29 /lib/libcygwin.a ---------------------------------------------------- ls -la /lib/libpth* ls: /lib/libpth*: No such file or directory ---------------------------------------------------- cat /etc/ld.so.conf cat: /etc/ld.so.conf: No such file or directory ---------------------------------------------------- gcc --version 2.95.3-5 ---------------------------------------------------- gcc -v Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/specs gcc version 2.95.3-5 (cygwin special) ---------------------------------------------------- gcc -print-libgcc-file-name /usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/libgcc.a ---------------------------------------------------- gcc -print-search-dirs install: /usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/ programs: /usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/:/usr/lib/gcc-lib/i686-pc-cyg win/:/usr/lib/gcc/i686-pc-cygwin/2.95.3-5/:/usr/lib/gcc/i686-pc-cygwin/:/usr/lib /gcc-lib/i686-pc-cygwin/2.95.3-5/../../../../i686-pc-cygwin/bin/i686-pc-cygwin/2 .95.3-5/:/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/../../../../i686-pc-cygwin/bin / libraries: /usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/:/usr/lib/gcc/i686-pc-cygwin /2.95.3-5/:/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/../../../../i686-pc-cygwin/l ib/i686-pc-cygwin/2.95.3-5/:/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/../../../.. /i686-pc-cygwin/lib/ ---------------------------------------------------- perl -V Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration: Platform: osname=cygwin, osvers=1.1.6(0.3032), archname=cygwin uname='cygwin_nt-5.0 fifer 1.1.6(0.3032) 2000-11-21 21:00 i686 unknown ' config_args='-de' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='gcc', ccflags ='-DPERL_USE_SAFE_PUTENV -DHAS_SBRK_PROTO -fno-strict-aliasing', optimize='-O2', cppflags='-DPERL_USE_SAFE_PUTENV -DHAS_SBRK_PROTO -fno-strict-aliasing' ccversion='', gccversion='2.95.2-5 19991024 (cygwin experimental)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4 alignbytes=8, usemymalloc=y, prototype=define Linker and Libraries: ld='ld2', ldflags =' -s -L/usr/local/lib' libpth=/usr/local/lib /usr/lib /lib libs=-lgdbm -lcrypt perllibs=-lcrypt libc=/usr/lib/libc.a, so=dll, useshrplib=true, libperl=libperl5_6_1.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' -s' cccdlflags=' ', lddlflags=' -s -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Locally applied patches: v5.6.1-TRIAL1 Built under cygwin Compiled at Dec 21 2000 21:39:40 @INC: /usr/lib/perl5/5.6.1/cygwin /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/cygwin /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl . ---------------------------------------------------- env | grep -i path OS2LIBPATH=C:\WIN2000\system32\os2\dll; PATH=/usr/local/bin:/usr/bin:/bin:/cygdrive/c/Borland/CBUILD~1/Projects/Bpl:/cyg drive/c/Borland/CBUILD~1/Bin:/cygdrive/c/borland/Delphi5/Projects/Bpl:/cygdrive/ c/borland/Delphi5/Bin:/cygdrive/c/WIN2000/system32:/cygdrive/c/WIN2000:/cygdrive /c/WIN2000/System32/Wbem:/cygdrive/c/Program Files/HUBCOT:/cygdrive/c/Ruby/bin PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH HOMEPATH=\ ---------------------------------------------------- env | grep -i library --------------------------------------------------- へへ⌒~⌒ヽ 見田 隆之@春日井 ミ(- - )ミ ⊆)ゝ http://www.ne.jp/asahi/nagoya/ahomaro/ //////////////〆// mailto:mita@xxxxxxxxxx