[#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:33513] Re: Mysql/Ruby のコンパイル

From: "TAMURA.KENICHI" <sgs02516@...>
Date: 2002-01-24 16:26:17 UTC
List: ruby-list #33513
たむらです。続き。

$ rubymg -v
ruby 1.6.6 (2001-12-26) [i686-mingw32]

TeraTerm の terminal を SJISにすると、
$ rubymg test.rb
test.rb:11:in `require': 193: %1 は有効な Windows NT アプリケーションではありません。 
  - ./mysql.so (LoadError)
        from test.rb:11

$ cat -n test.rb
     1  # This is script to test for mysql-ruby module.
     2  # $Id: test.rb,v 1.5 2002/01/07 01:17:28 tommy Exp $
     3  #
     4  # Execute in mysql-ruby top directory.
     5  # Modify following $host, $user, $passwd and $db if needed.
     6  #  $host:   hostname mysql running
     7  #  $user:   mysql username (not unix login user)
     8  #  $passwd: mysql access passwd for $user
     9  #  $db:     database name for this test. it must not exist 
           before testing.
    10
    11  require "./mysql.o"
    12
    13  $host = ARGV.shift
    14  $user = ARGV.shift
 :snip

mysql.so がおかしいのか ?

$ objdump -p mysql.so|grep 'DLL Name:'
        DLL Name: msvcrt.dll
        DLL Name: msvcrt.dll
        DLL Name: ADVAPI32.DLL
        DLL Name: KERNEL32.dll
        DLL Name: USER32.dll
        DLL Name: WSOCK32.DLL
        DLL Name: ruby.exe

ruby.exe が入ってるのはマズイっすね。rubymg -> /usr/local/mingw/bin/ruby.exe
で PATH に入ってないので、 mysql.so が見つけられないのが原因か。
cmd.exe で実行すると、何度か作ってるうちにインストールされた 
e:\usr\local\bin\ruby.exeがあったと。(PATH に含まれる)

ちなみに、添付拡張ライブラリは
$ objdump -p /usr/local/mingw/lib/ruby/1.6/i686-mingw32/Win32API.so \
 | grep 'DLL Name:'
        DLL Name: KERNEL32.dll
        DLL Name: mingw32-ruby16.dll

$ objdump -p /usr/local/mingw/lib/ruby/1.6/i686-mingw32/digest.so |grep 'DLL Name:'
        DLL Name: msvcrt.dll
        DLL Name: mingw32-ruby16.dll

うーん、どこでしくったのか。やはり、extconf.rb(mkmf.rb)を追わなきゃ。
# しかし、find_library('mysqlclient', 'mysql_query', lib, "#{lib}/mysql") が
OK にならない。

結局、試行錯誤して

cat extconf.rb
require 'mkmf'
inc, lib = dir_config('mysql', '/usr/local')

have_library('z')
have_library('wsock32')
# find_library('mysqlclient', 'mysql_query', lib, "#{lib}/mysql") or exit 1
have_library('mysqlclient')

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

にすると、生成された Makefileでそのまま、mysql.soが出来ました。
.so を作るところは、
dllwrap --target=mingw32 --as=as --dlltool-name=dlltool --driver-name=gcc \
 -bmingw --export-all -s --def=mysql.def -L/usr/local/lib \
 -Le:/usr/local/mingw/lib  -o mysql.so mysql.o -L. -lmingw32-ruby16 \
 -lmysqlclient -lwsock32 -lz
--> $(LDSHARED) $(DLDFLAGS) -o $(DLLIB) $(OBJS) $(LIBS) $(LOCAL_LIBS))

ですね。find_library で失敗したのは、

gcc -bmingw -o conftest -Ie:/usr/local/mingw/lib/ruby/1.6/i686-mingw32 \
 -DNT -D__MSVCRT__ -Os -Ie:/usr/local/mingw/include   -I/usr/local/include \
 -L/usr/local/lib -L/usr/local/lib/mysql conftest.c -lmysqlclient -lwsock32 \
 -lz   -lcrypt -lwsock32 -lmsvcrt
Exception `NameError' at e:/usr/local/mingw/lib/ruby/1.6/mkmf.rb:61 - undefined metho
d `to_ary' for #<String:0xd9b300>
/tmp/ccQYahYn.o(.text+0x1b):conftest.c: undefined reference to `mysql_query'
collect2: ld returned 1 exit status
no

-lwsock32 は、extconf.rb のテストでは、have_library("z")でも自動的に
付くのですが、生成された Makefileになかったので、have_library("wsock32")
も明示的に追加しました。

$ rubymg -r./mysql.so -e 'p Mysql.constants.sort'
["ARGF", "ARGV", "ArgumentError", "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_TRANSACTIONS", "Class", "Comparable", "Continuation", "Data",
"Dir", "ENV", "EOFError", "Enumerable", "Errno", "Exception", "FALSE",
"FalseClass", "File", "FileTest", "Fixnum", "Float", "FloatDomainError",
"GC", "Hash", "INIT_COMMAND", "IO", "IOError", "IndexError", "Integer",
"Interrupt", "Kernel", "LoadError", "LocalJumpError", "Marshal", 
"MatchData", "MatchingData", "Math", "Method", "Module", "Mysql", 
"MysqlError", "MysqlField", "MysqlRes", "NIL", "NameError", "NilClass",
"NoMemoryError", "NotImplementError", "NotImplementedError", "Numeric",
"OPT_COMPRESS", "OPT_CONNECT_TIMEOUT", "OPT_NAMED_PIPE", "Object",
"ObjectSpace", "PLATFORM", "Precision","Proc", "Process", 
"READ_DEFAULT_FILE", "READ_DEFAULT_GROUP", "REFRESH_GRANT", 
"REFRESH_HOSTS", "REFRESH_LOG", "REFRESH_MASTER", "REFRESH_SLAVE",
 "REFRESH_STATUS", "REFRESH_TABLES", "REFRESH_THREADS", "RELEASE_DATE",
"RUBY_PLATFORM", "RUBY_RELEASE_DATE","RUBY_VERSION", "Range", 
"RangeError", "Regexp", "RegexpError", "RuntimeError", "STDERR", 
"STDIN", "STDOUT", "ScriptError", "SecurityError", "SignalException",
"StandardError", "String", "Struct", "Symbol", "SyntaxError", 
"SystemCallError", "SystemExit","SystemStackError", "TOPLEVEL_BINDING",
"TRUE", "Thread", "ThreadError", "ThreadGroup", "Time", "TrueClass",
"TypeError", "UnboundMethod", "VERSION", "ZeroDivisionError"]

こんどこそ、ちゃんとバイナリできたかな。


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

In This Thread