[#33169] a cool Ruby script. — Yuji Asakawa <namu@...>

21 messages 2002/01/05

[#33229] ruby のインストールがうまくいかない — satoshi SAKAI <gau_sato@...9.dion.ne.jp>

はじめまして。

25 messages 2002/01/08
[#33230] Re: ruby のインストールがうまくいかない — shukaku@... 2002/01/08

At Tue, 8 Jan 2002 19:58:55 +0900,

[#33231] Re: ruby のインストールがうまくいかない — satoshi SAKAI <gau_sato@...9.dion.ne.jp> 2002/01/08

サカイです。

[#33233] Re: ruby のインストールがうまくいかない — nobu.nakada@... 2002/01/08

なかだです。

[#33254] Re: ruby のインストールがうまくいかない — satoshi SAKAI <gau_sato@...9.dion.ne.jp> 2002/01/09

サカイです。

[#33255] Re: ruby のインストールがうまくいかない — rubikitch <rubikitch@...> 2002/01/09

From: satoshi SAKAI <gau_sato@d9.dion.ne.jp>

[#33256] Re: ruby のインストールがうまくいかない — IWAOKA Masahiro <iwaoka@...> 2002/01/09

In the message <20020109102738.TQIO11600.femail11.im.home.ne.jp@witch>,

[#33235] " 差分ベースモジュール " in Ruby — Taku Nakajima <tnakajima@...>

中島@ブレーンです。

30 messages 2002/01/09
[#33238] Re: " 差分ベースモジュール " in Ruby — TADA Tadashi <sho@...> 2002/01/09

ただただしです。

[#33240] Re: " 差分ベースモジュール " in Ruby — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2002/01/09

Toshです。

[#33241] Re: " 差分ベースモジュール " in Ruby — Tanaka Akira <akr@...17n.org> 2002/01/09

In article <A5EF3ECC-04BE-11D6-B67B-003065DC8B1C@yb3.so-net.ne.jp>,

[#33243] Re: " 差分ベースモジュール " in Ruby — Tanaka Akira <akr@...17n.org> 2002/01/09

In article <hvoell014rl.fsf@coulee.a02.aist.go.jp>,

[#33244] Re: " 差分ベースモジュール " in Ruby — matz@... (Yukihiro Matsumoto) 2002/01/09

まつもと ゆきひろです

[#33249] Re: " 差分ベースモジュール " in Ruby — Tanaka Akira <akr@...17n.org> 2002/01/09

In article <1010559765.279084.16212.nullmailer@ev.netlab.jp>,

[#33251] Re: " 差分ベースモジュール " in Ruby — matz@... (Yukihiro Matsumoto) 2002/01/09

まつもと ゆきひろです

[#33252] Re: " 差分ベースモジュール " in Ruby — Tanaka Akira <akr@...17n.org> 2002/01/09

In article <1010566232.053696.16272.nullmailer@ev.netlab.jp>,

[#33346] IPSocket.getaddress — "Sadayuki Sakamoto" <sakacom@...>

酒本です。

16 messages 2002/01/13

[#33416] No such file to load -- dbm — satoshi SAKAI <gau_sato@...9.dion.ne.jp>

サカイと言います。(以前もお世話になりました。)

13 messages 2002/01/17

[#33462] Re: Mysql/Ruby のコンパイル — "井上 浩一" <kyoui32@...>

井上です。

34 messages 2002/01/21
[#33463] Re: Mysql/Ruby のコンパイル — HIDAKA Takahiro <cv8t-hdk@...> 2002/01/21

 ひだかです。

[#33464] Re: Mysql/Ruby のコンパイル — nobu.nakada@... 2002/01/21

なかだです。

[#33465] Re: Mysql/Ruby のコンパイル — HIDAKA Takahiro <cv8t-hdk@...> 2002/01/21

 ひだかです。

[#33466] Re: Mysql/Ruby のコンパイル — nobu.nakada@... 2002/01/21

なかだです。

[#33467] Re: Mysql/Ruby のコンパイル — HIDAKA Takahiro <cv8t-hdk@...> 2002/01/21

 ひだかです。

[#33468] Re: Mysql/Ruby のコンパイル — nobu.nakada@... 2002/01/21

なかだです。

[#33471] Re: Mysql/Ruby のコンパイル — HIDAKA Takahiro <cv8t-hdk@...> 2002/01/22

 ひだかです。

[#33473] Re: Mysql/Ruby のコンパイル — nobu.nakada@... 2002/01/22

なかだです。

[#33474] Re: Mysql/Ruby のコンパイル — HIDAKA Takahiro <cv8t-hdk@...> 2002/01/22

 ひだかです。

[#33486] Re: Mysql/Ruby のコンパイル — "TAMURA.KENICHI" <sgs02516@...> 2002/01/22

たむらです。

[#33487] Re: Mysql/Ruby のコンパイル — nobu.nakada@... 2002/01/22

なかだです。

[#33488] Re: Mysql/Ruby のコンパイル — "TAMURA.KENICHI" <sgs02516@...> 2002/01/22

たむらです。

[#33477] about nest class — sheepman <sheepman@...>

こんにちは

21 messages 2002/01/22
[#33478] Re: about nest class — matz@... (Yukihiro Matsumoto) 2002/01/22

まつもと ゆきひろです

[#33517] [BUG] Can't compile ruby on Solaris2.6 — IWAMURO Motonori <iwa@...>

岩室です。

17 messages 2002/01/25
[#33518] Re: [BUG] Can't compile ruby on Solaris2.6 — matz@... (Yukihiro Matsumoto) 2002/01/25

まつもと ゆきひろです

[#33535] broken symbolic link and File::mtime — Go Nakagawa <nakagawa@...>

中川といいます。

37 messages 2002/01/25
[#33545] Re: broken symbolic link and File::mtime — matz@... (Yukihiro Matsumoto) 2002/01/25

まつもと ゆきひろです

[#33560] Re: broken symbolic link and File::mtime — Takahiro Kambe <taca@...> 2002/01/27

In message <1012002148.661980.9788.nullmailer@ev.netlab.jp>

[#33563] Re: broken symbolic link and File::mtime — Kazuhiro NISHIYAMA <zn@...> 2002/01/27

西山和広です。

[#33564] Re: broken symbolic link and File::mtime — Takahiro Kambe <taca@...> 2002/01/27

In message <20020127213735.2369.ZN@mbf.nifty.com>

[#33575] Re: broken symbolic link and File::mtime — Kazuhiro NISHIYAMA <zn@...> 2002/01/28

西山和広です。

[#33581] Re: broken symbolic link and File::mtime — matz@... (Yukihiro Matsumoto) 2002/01/28

まつもと ゆきひろです

[#33584] Re: broken symbolic link and File::mtime — Tanaka Akira <akr@...17n.org> 2002/01/28

In article <1012194192.456224.19148.nullmailer@ev.netlab.jp>,

[#33587] Re: broken symbolic link and File::mtime — matz@... (Yukihiro Matsumoto) 2002/01/28

まつもと ゆきひろです

[#33588] Re: broken symbolic link and File::mtime — Tanaka Akira <akr@...17n.org> 2002/01/28

In article <1012208486.646506.19793.nullmailer@ev.netlab.jp>,

[#33590] Re: broken symbolic link and File::mtime — matz@... (Yukihiro Matsumoto) 2002/01/28

まつもと ゆきひろです

[#33591] Re: broken symbolic link and File::mtime — Tanaka Akira <akr@...17n.org> 2002/01/28

In article <1012212090.162851.19949.nullmailer@ev.netlab.jp>,

[#33595] Re: broken symbolic link and File::mtime — matz@... (Yukihiro Matsumoto) 2002/01/28

まつもと ゆきひろです

[#33664] rd2 コマンド( RDtool )が動かない。 — Seiji Yoneda <yoneda@...>

米田と申します。はじめて投稿します。

24 messages 2002/01/30
[#33667] Re: rd2 コマンド( RDtool )が動かない。 — ARIMA Yasuhiro <fit0298@...> 2002/01/30

有馬です。

[ruby-list:33503] Re: Mysql/Ruby のコンパイル

From: "TAMURA.KENICHI" <sgs02516@...>
Date: 2002-01-23 16:00:09 UTC
List: ruby-list #33503
たむらです。

"TAMURA.KENICHI" <sgs02516@nifty.com> wrote:

> > > ソースを bmingw でビルドして、 Ruby/MySQL 作ろうとしたのですけど
> > > extconf.rb の実行でエラーになっちゃいました。
> > > ruby-1.6.6 ですが、 bmingw で作るの久しぶりなのでディレクトリの設
> > > 定とかで失敗したのかも。
> > 
> > どんなエラーが出ました?
> 
> 昨日眠い頭でやってたので、はずかしいミスだと嫌なので、もう少し待っ
> てください (^^;

とりあえず、mingwなバイナリは出来ました。
まだ、テストスクリプト全て試してません。
# こんなのも RAA に登録したりした方がいいのかな。

■MySQL-3.23.43-mingw32 <URL:http://www.johnydog.cz/projects.php>
クロス環境を想定してるみたいなので、Makefile書換え

--- Makefile.org        Thu Oct  4 01:52:38 2001
+++ Makefile    Wed Jan 23 00:00:00 2002
@@ -14,18 +14,18 @@
 # team. Please see http://www.mysql.com in that case.
 #

-CROSS_DIR = /usr/local/cross-tools/i386-mingw32msvc
-CFLAGS = -O2 -Wall
+CROSS_DIR = /usr/local/mingw
+CFLAGS = -Os -Wall
 LIBS =
 INCLUDES = -I./include

 INSTALL_INCLUDES = $(CROSS_DIR)/include/mysql/
 INSTALL_LIBS = $(CROSS_DIR)/lib/

-CC = $(CROSS_DIR)/bin/gcc
-RANLIB = $(CROSS_DIR)/bin/ranlib
-AR = $(CROSS_DIR)/bin/ar
-ARFLAGS = cr
+CC = gcc -bmingw #$(CROSS_DIR)/bin/gcc
+#RANLIB = $(CROSS_DIR)/bin/ranlib
+#AR = $(CROSS_DIR)/bin/ar
+ARFLAGS = cru
 RM = rm -f
 CP = cp
 MV = mv
@@ -83,4 +83,4 @@
 clean:
        rm -f $(OBJECTS) libmysqlclient.a

こんな感じでログ取り
$ (./configure i686-mingw32 && make) 1>2&|tee build.log

gcc -bmingw  -c -Os -Wall -I./include array.c
 :snipgcc -bmingw  -c -Os -Wall -I./include my_thr_init.cmy_thr_in
 it.c:30: warning: `thread' attribute directive ignoredgcc -bmingw
   -c -Os -Wall -I./include my_wincond.cgcc -bmingw  -c -Os -Wall 
 -I./include my_winthread.cgcc -bmingw  -c -Os -Wall -I./include m
 y_write.cgcc -bmingw  -c -Os -Wall -I./include net.cgcc -bmingw  
 -c -Os -Wall -I./include password.cgcc -bmingw  -c -Os -Wall -I./
 include readline.cppgcc -bmingw  -c -Os -Wall -I./include safemal
 loc.cgcc -bmingw  -c -Os -Wall -I./include sql_string.cppgcc -bmi
 ngw  -c -Os -Wall -I./include str2int.cgcc -bmingw  -c -Os -Wall 
 -I./include strcend.cgcc -bmingw  -c -Os -Wall -I./include strcon
 t.cgcc -bmingw  -c -Os -Wall -I./include strend.cgcc -bmingw  -c 
 -Os -Wall -I./include strfill.cgcc -bmingw  -c -Os -Wall -I./incl
 ude string.cgcc -bmingw  -c -Os -Wall -I./include strinstr.cgcc -
 bmingw  -c -Os -Wall -I./include strmake.cgcc -bmingw  -c -Os -Wa
 ll -I./include strmov.cgcc -bmingw  -c -Os -Wall -I./include strn
 len.cgcc -bmingw  -c -Os -Wall -I./include strnmov.cgcc -bmingw  
 -c -Os -Wall -I./include strtoull.cgcc -bmingw  -c -Os -Wall -I./
 include strxmov.cgcc -bmingw  -c -Os -Wall -I./include thr_mutex.
 cgcc -bmingw  -c -Os -Wall -I./include typelib.cgcc -bmingw  -c -
 Os -Wall -I./include violite.crm -f libmysqlclient.aar cr libmysq
 lclient.a array.o bchange.o bmove.o bmove_upp.o charset.o complet
 ion_hash.o ctype-big5.o ctype-czech.o ctype-euc_kr.o ctype-gb2312
 .o ctype-gbk.o ctype-sjis.o ctype-tis620.o ctype-ujis.o ctype.o d
 bug.o default.o errmsg.o errors.o get_password.o getopt.o getopt1
 .o getvar.o int2str.o is_prefix.o libmysql.o list.o llstr.o longl
 ong2str.o mf_cache.o mf_casecnv.o mf_dirname.o mf_fn_ext.o mf_for
 mat.o mf_iocache.o mf_loadpath.o mf_pack.o mf_path.o mf_tempfile.
 o mf_unixpath.o mf_wcomp.o mulalloc.o my_alloc.o my_compress.o my
 _create.o my_delete.o my_div.o my_error.o my_fopen.o my_fstream.o
  my_getwd.o my_init.o my_lib.o my_malloc.o my_messnc.o my_net.o m
 y_once.o my_open.o my_pread.o my_pthread.o my_read.o my_realloc.o
  my_seek.o my_static.o my_tempnam.o my_thr_init.o my_wincond.o my
 _winthread.o my_write.o net.o password.o readline.o safemalloc.o 
 sql_string.o str2int.o strcend.o strcont.o strend.o strfill.o str
 ing.o strinstr.o strmake.o strmov.o strnlen.o strnmov.o strtoull.
 o strxmov.o thr_mutex.o typelib.o violite.otest -n "ranlib" && ra
 nlib libmysqlclient.a ■ mysql-ruby-2.4.2MySQL-3.23.43-mingw32/RE
 ADME.mingw32 を見ながら、必要なファイルを libmysql 以下にコピー l
 ibmysql/  include/*.h  lib/libmysqlclient.a
私の環境では、mingw32版のruby.exeは、cygwin上では、rubymg に aliasしてる。

$ rubymg -d extconf.rb --with-mysql-dir=./libmysql 2>&1 |tee extconf.log

checking for mysql_query() in -lmysqlclient... gcc -bmingw -o conf
test -Ie:/usr/local/mingw/lib/ruby/1.6/i686-mingw32 -DNT -D__MSVCR
T__ -Os -Ie:/usr/local/mingw/include   -I./libmysql/include   -L./
libmysql/lib conftest.c -lmysqlclient   -lcrypt -lwsock32 -lmsvcrt
Exception `NameError' at e:/usr/local/mingw/lib/ruby/1.6/mkmf.rb:6
1 - undefined method `to_ary' for #<String:0xd9d478>/tmp/ccZz2S1J.
o(.text+0x1b):conftest.c: undefined reference to `mysql_query'coll
ect2: ld returned 1 exit statusgcc -bmingw -o conftest -Ie:/usr/lo
cal/mingw/lib/ruby/1.6/i686-mingw32 -DNT -D__MSVCRT__ -Os -Ie:/usr
/local/mingw/include   -I./libmysql/include   -L./libmysql/lib con
ftest.c -lmysqlclient   -lcrypt -lwsock32 -lmsvcrtException `NameE
rror' at e:/usr/local/mingw/lib/ruby/1.6/mkmf.rb:61 - undefined me
thod `to_ary' for #<String:0xd9cfe0>/tmp/cct8gTqN.o(.text+0x1b):co
nftest.c: undefined reference to `mysql_query'collect2: ld returne
d 1 exit statusgcc -bmingw -o conftest -Ie:/usr/local/mingw/lib/ru
by/1.6/i686-mingw32 -DNT -D__MSVCRT__ -Os -Ie:/usr/local/mingw/inc
lude   -I./libmysql/include   -L./libmysql/lib -L./libmysql/lib/my
sql conftest.c -lmysqlclient   -lcrypt -lwsock32 -lmsvcrtException
 `NameError' at e:/usr/local/mingw/lib/ruby/1.6/mkmf.rb:61 - undef
ined method `to_ary' for #<String:0xd9c8c0>/tmp/ccEtX09h.o(.text+0
x1b):conftest.c: undefined reference to `mysql_query'collect2: ld 
returned 1 exit statusno

NameError な例外が発生する。to_aray メソッドとワーニングは出てるけど、eval.c の関数 ?
でちょっと追ったけどへこたれてしまって、とりあえず強引に Makefileを作る。

[extconf.rb]
require 'mkmf'
inc, lib = dir_config('mysql', '/usr/local')
#find_library('mysqlclient', 'mysql_query', lib, "#{lib}/mysql") or exit 1

find_library('mysqlclient',"")
# If you have error such as 'undefined symbol', delete '#' mark follow
# lines:
#have_library('m')
#have_library('z')
have_header('mysql.h') or have_header('mysql/mysql.h') or exit 1
create_makefile("mysql")

で出来た Makefileではリンク時にエラーがたくさんでる。

dllwrap --target=mingw32 --as=as --dlltool-name=dlltool --driver-n
ame=gcc -bmingw --export-all -s --def=mysql.def -L/home/tamura/src
/MINGW/johnydog-mysqlclient/mysql-ruby-2.4.2/libmysql/lib -Le:/usr
/local/lib/ruby/1.6/i686-mingw32 -Le:/usr/local/lib -lmysqlclient 
-lz -lwsock32  -o mysql.so mysql.o -L. -lmingw32-ruby16 
 
mysql.o(.text+0x18):mysql.c: undefined reference to `mysql_close@4'
mysql.o(.text+0x47):mysql.c: undefined reference to `mysql_free_result@4'
 :snip
mysql.o(.text+0x1c6b):mysql.c: undefined reference to `mysql_row_tell@4'
collect2: ld returned 1 exit status
dllwrap: gcc exited with status 1
make: *** [mysql.so] Error 1

で Makefile書換え

--- Makefile-org        Wed Jan 23 18:54:54 2002
+++ Makefile    Wed Jan 23 00:00:00 2002
@@ -82,5 +82,7 @@
 .C.o:
        $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<
 $(DLLIB): $(OBJS)
-       $(LDSHARED) $(DLDFLAGS) -o $(DLLIB) $(OBJS) $(LIBS) $(LOCAL_LIBS)
+       $(LDSHARED) $(DLDFLAGS) -o $(DLLIB) $(OBJS) \
+  -L./libmysql/lib -Le:/usr/local/lib/ruby/1.6/i686-mingw32 \
+  -Le:/usr/local/lib -L. -lmingw32-ruby16 -lmysqlclient -lz -lwsock32
 ###

mingwではお約束な、wsock32などの追加と、これは、Ruby/SDLでもやる -l と -L の順番の問題。
extconf.rb で吸収するには、どうすればいいのだろう ?

テスト
$ rubymg -r./mysql.so -e 'p Mysql.constants.sort'
0: 193: %1 楊
              Windows NT 洩烱弘汐歸 来楾饌   - ./mysql.so (LoadError)

なんか化けてるし。ここまでの作業は、Cygwin-1.3.6上のTeraTerm + sshd 環境。
cmd.exe でやってみる。

%ruby -r./mysql.so -e 'p Mysql.constants.sort'["ARGF", "ARGV", "Ar
gumentError", "Array", "Bignum", "Binding", "CLIENT_CHANGE_USER", 
"CLIENT_COMPRESS", "CLIENT_FOUND_ROWS", "CLIENT_IGNORE_SIGPIPE", "
CLIENT_IGNORE_SPACE", "CLIENT_INTERACTIVE", "CLIENT_LOCAL_FILES", 
"CLIENT_NO_SCHEMA", "CLIENT_ODBC", "CLIENT_SSL", "CLIENT_TRANSACTI
ONS", "Class", "Comparable", "Continuation", "Data", "Dir", "ENV",
 "EOFError", "Enumerable", "Errno", "Exception", "FALSE", "FalseCl
ass", "File", "FileTest", "Fixnum", "Float", "FloatDomainError", "
GC", "Hash", "INIT_COMMAND", "IO", "IOError", "IndexError", "Integ
er", "Interrupt", "Kernel", "LoadError", "LocalJumpError", "Marsha
l", "MatchData", "MatchingData", "Math", "Method", "Module", "Mysq
l", "MysqlError", "MysqlField", "MysqlRes", "NIL", "NameError", "N
ilClass", "NoMemoryError", "NotImplementError", "NotImplementedErr
or", "Numeric", "OPT_COMPRESS", "OPT_CONNECT_TIMEOUT", "OPT_NAMED_
PIPE", "Object", "ObjectSpace", "PLATFORM", "Precision", "Proc", "
Process", "READ_DEFAULT_FILE", "READ_DEFAULT_GROUP", "REFRESH_GRAN
T", "REFRESH_HOSTS", "REFRESH_LOG", "REFRESH_MASTER", "REFRESH_SLA
VE", "REFRESH_STATUS", "REFRESH_TABLES", "REFRESH_THREADS", "RELEA
SE_DATE", "RUBY_PLATFORM", "RUBY_RELEASE_DATE", "RUBY_VERSION", "R
ange", "RangeError", "Regexp", "RegexpError", "RuntimeError", "STD
ERR","STDIN", "STDOUT", "ScriptError", "SecurityError", "SignalExc
eption", "StandardError", "String", "Struct", "Symbol", "SyntaxErr
or", "SystemCallError", "SystemExit", "SystemStackError", "TOPLEVE
L_BINDING", "TRUE", "Thread", "ThreadError", "ThreadGroup", "Time"
, "TrueClass", "TypeError", "UnboundMethod", "VERSION", "ZeroDivis
ionError"]
あれ ?
まぁ、いいや。
VC++バイナリなサーバと接続確認は出来たけどデータ操作とかは、また明日。

日記はじめました。 http://slashdot.jp/journal.pl?op=display&uid=4115
たむら mailto:sgs02516@nifty.com

In This Thread