[#33169] a cool Ruby script. — Yuji Asakawa <namu@...>
From: Yuji Asakawa <namu@venus.dti.ne.jp>
From: Yuji Asakawa <namu@venus.dti.ne.jp>
[#33172] [ANN] Ruby/zlib 0.5.0-pre1 — UENO Katsuhiro <unnie@...>
うえのです。
[#33183] [ANN] TMail 0.10 — Minero Aoki <aamine@...>
あおきです。
[#33185] rd-mode: rd-intelligent-newline — "Shirai,Kaoru" <shirai@...1jp.com>
白井といいます。
[#33208] Method passing block — sinara@...
原(信)です。
[#33229] ruby のインストールがうまくいかない — satoshi SAKAI <gau_sato@...9.dion.ne.jp>
はじめまして。
At Tue, 8 Jan 2002 19:58:55 +0900,
サカイです。
なかだです。
サカイです。
From: satoshi SAKAI <gau_sato@d9.dion.ne.jp>
In the message <20020109102738.TQIO11600.femail11.im.home.ne.jp@witch>,
さくです。
いわおかです。
さくです。
In message <20020110020553.61dd3936.crouton@weatherlight.org>
[#33234] DB のカラム名をもった各行のオブジェクトへ向けて — encore ann <i@...>
もりかわです。
[#33235] " 差分ベースモジュール " in Ruby — Taku Nakajima <tnakajima@...>
中島@ブレーンです。
ただただしです。
Toshです。
In article <A5EF3ECC-04BE-11D6-B67B-003065DC8B1C@yb3.so-net.ne.jp>,
In article <hvoell014rl.fsf@coulee.a02.aist.go.jp>,
まつもと ゆきひろです
In article <1010559765.279084.16212.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <1010566232.053696.16272.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <1010568827.806757.16317.nullmailer@ev.netlab.jp>,
なかだです。
nobu.nakada@nifty.ne.jpさんの
[#33263] RDtool インストールでの疑問 — satoshi SAKAI <gau_sato@...9.dion.ne.jp>
サカイです。
[#33288] HTML から BODY を抜き出す — m_seki@...
坂野 正明です。
MoonWolfです。
[#33300] 日付順のソートについて — "Tatsuaki Nagai" <Tatsuaki_Nagai@...>
永井@KCです。
[#33326] [ 質問 ] クラスメソッドのモジュールによる実現方法 — Hiroyuki Komatsu <komatsu@...>
小松と申します. はじめまして.
[#33346] IPSocket.getaddress — "Sadayuki Sakamoto" <sakacom@...>
酒本です。
酒本です。
In article <009501c19c02$aaa39740$65bc80da@pc0>,
In article <hvo66668ztc.fsf@coulee.a02.aist.go.jp>,
まつもと ゆきひろです
[#33356] about pty and expect on 1.7.x — YANAGAWA Kazuhisa <kjana@...4lab.to>
ruby-talk の話見ててちょっと思いだしたんですが....
[#33367] [ANN] rb2exe-preview1 — Yuya Kato <yuya@4th.to>
[#33381] [ANN] WString 0.0.8 — takuma ozawa <metal@...>
小澤といいます。
[#33392] Re: [ANN] rb2exe-preview1 — Nagai T <idonagai@...>
なかだです。
ひだかです。
ふたたびひだかです。
またひだかですが(^_^;
[#33398] ruby-mode のインデント不具合 (} + の次の行) — MALTA Koji <malta@...>
丸田と申します。
[#33416] No such file to load -- dbm — satoshi SAKAI <gau_sato@...9.dion.ne.jp>
サカイと言います。(以前もお世話になりました。)
まつもと ゆきひろです
ただただしです。まいどどうも(?)。
サカイです。
[#33427] CGI でキャッシュ — Fujikawa Norihide <ruby@...>
てんしゅう@ねむぅ。
[#33443] libpgsql-ruby-0.6.5 で Linux+PostgreSQL+Ruby について — "井上 浩一" <kyoui32@...>
井上です。
[#33462] Re: Mysql/Ruby のコンパイル — "井上 浩一" <kyoui32@...>
井上です。
ひだかです。
なかだです。
ひだかです。
なかだです。
ひだかです。
なかだです。
ひだかです。
なかだです。
ひだかです。
たむらです。
なかだです。
たむらです。
西山和広です。
たむらです。
高橋征義です。
たむらです。
[#33477] about nest class — sheepman <sheepman@...>
こんにちは
まつもと ゆきひろです
あおきです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#33517] [BUG] Can't compile ruby on Solaris2.6 — IWAMURO Motonori <iwa@...>
岩室です。
まつもと ゆきひろです
岩室です。
わたなべです。
[#33520] IP に関するライブラリ cygwin & linux — "井上 浩一" <kyoui32@...>
井上です。
さくです。
In article <20020125163631.076601cb.crouton@weatherlight.org>,
さくです。
[#33535] broken symbolic link and File::mtime — Go Nakagawa <nakagawa@...>
中川といいます。
まつもと ゆきひろです
In message <1012002148.661980.9788.nullmailer@ev.netlab.jp>
西山和広です。
In message <20020127213735.2369.ZN@mbf.nifty.com>
西山和広です。
まつもと ゆきひろです
In article <1012194192.456224.19148.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <1012208486.646506.19793.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <1012212090.162851.19949.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <1012227444.855288.20722.nullmailer@ev.netlab.jp>,
In message <hvoy9ii4eon.fsf@coulee.a02.aist.go.jp>
In article <200201281639.g0SGdRH29664@edge.sky.yamashina.kyoto.jp>,
さくです。
うぅむ。もうすこし早く Subject: を変えるべきであった...
まつもと ゆきひろです
In article <1012282185.518684.23103.nullmailer@ev.netlab.jp>,
In article <1012208486.646506.19793.nullmailer@ev.netlab.jp>,
[#33547] racc fails on alpha-freebsd — Minero Aoki <aamine@...>
あおきです。
In message <20020126123640V.aamine@mx.edit.ne.jp>
あおきです。
[#33556] Cgi::session in eRuby — kyosuke kiyooka <k@7ruby.com>
きよおかです。
きよおかです。
[#33570] NHK スペシャル「変革の世紀」 — rubiben <ozaki@...>
[#33613] Re: ある文字列以外の部分にマッチさせる方法 — "Tatsuaki Nagai" <Tatsuaki_Nagai@...>
永井です。
[#33664] rd2 コマンド( RDtool )が動かない。 — Seiji Yoneda <yoneda@...>
米田と申します。はじめて投稿します。
有馬です。
サイトウさん、有馬さん、ありがとうございます。
たむらです。
ひだかです。
[#33689] Windows をリブートするスクリプトはありますか?。 — Take_tk <ggb03124@...>
どちら様か、Windows をリブートするスクリプトを既に作っておられないでしょ
[ruby-list:33503] Re: Mysql/Ruby のコンパイル
たむらです。
"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