[#45036] WindowsでMySQL/Rubyを使おうとするとmysql.so (LoadError) — adgjmptw@...

多田と申します。

22 messages 2008/06/12
[#45038] Re: WindowsでMySQL/Rubyを使おうとするとmysql.so (LoadError) — rubikitch@... 2008/06/12

From: adgjmptw@super-r.net

[#45040] Re: WindowsでMySQL/Rubyを使おうとするとmysql.so (LoadError) — adgjmptw@... 2008/06/12

> (3)ロードパスに C:/usr/local/lib/ruby/site_ruby/1.8/i386-msvcrt が

[#45042] Re: WindowsでMySQL/Rubyを使おうとするとmysql.so (LoadError) — rubikitch@... 2008/06/12

From: adgjmptw@super-r.net

[#45045] Re: WindowsでMySQL/Rubyを使おうとするとmysql.so (LoadError) — adgjmptw@... 2008/06/13

原因と思われるものがわかりました。

[#45052] Re: WindowsでMySQL/Rubyを使おうとするとmysql.so (LoadError) — とみたまさひろ <tommy@...> 2008/06/13

とみたです。

[#45099] Ruby 1.9.0/1.8.7/1.8.6/1.8.5 new releases (Security Fix) — Urabe Shyouhei <shyouhei@...>

Hi all.

20 messages 2008/06/20
[#45100] Re: Ruby 1.9.0/1.8.7/1.8.6/1.8.5 new releases (Security Fix) — Urabe Shyouhei <shyouhei@...> 2008/06/20

卜部です。

[#45102] Re: Ruby 1.9.0/1.8.7/1.8.6/1.8.5 new releases (Security Fix) — 植田 裕之 <ueda@...> 2008/06/20

植田と申します。

[#45106] Re: Ruby 1.9.0/1.8.7/1.8.6/1.8.5 new releases (Security Fix) — akira yamada / やまだあきら <akira@...> 2008/06/21

植田 裕之 さんは書きました:

[#45112] ソース:インストール:MacOSX10.3.9 — 上間 健 <tntn@...>

./configure --prefix=/usr/local --with-readline-dir=/opt/local

46 messages 2008/06/22
[#45113] Re: ソース:インストール:MacOSX10.3.9 — 上間 健 <tntn@...> 2008/06/22

質問をゆるやかに変更

[#45114] Re: ソース:インストール:MacOSX10.3.9 — wei <weimayamiew@...> 2008/06/23

今晩は、ヱイと申します。

[#45122] Re: ソース:インストール:MacOSX10.3.9 — 上間 健 <tntn@...> 2008/06/24

ヱイ さん

[#45131] Re: ソース:インストール:MacOSX10.3.9 — Hidetoshi NAGAI <nagai@...> 2008/06/24

Ruby/Tk メンテナの永井@知能.九工大です.

[#45143] Re: ソース:インストール:MacOSX10.3.9 — Ryutaro Amano <wn9r-amn@...> 2008/06/26

天野です。

[#45146] Re: ソース:インストール:MacOSX10.3.9 — Hidetoshi NAGAI <nagai@...> 2008/06/26

永井@知能.九工大です.

[#45149] Re: ソース:インストール:MacOSX10.3.9 — Ryutaro Amano <wn9r-amn@...> 2008/06/27

天野です。

[#45152] Re: ソース:インストール:MacOSX10.3.9 — Hidetoshi NAGAI <nagai@...> 2008/06/29

永井@知能.九工大です.

[#45184] Re: ソース:インストール:MacOSX10.3.9 — Ryutaro Amano <wn9r-amn@...> 2008/07/03

天野です。RES遅くなり申し訳ありません。

[#45186] Re: ソース:インストール:MacOSX10.3.9 — Hidetoshi NAGAI <nagai@...> 2008/07/04

永井@知能.九工大です.

[#45192] Re: ソース:インストール:MacOSX10.3.9 — wei <weimayamiew@...> 2008/07/04

ヱイです。

[#45193] Re: ソース:インストール:MacOSX10.3.9 — Hidetoshi NAGAI <nagai@...> 2008/07/04

永井@知能.九工大です.

[#45157] MySQLに書き込む前にSJISのエスケープ文字を入れる処理ってどうされてますか? — adgjmptw@...

多田です。

12 messages 2008/06/29
[#45158] Re: MySQLに書き込む前にSJISのエスケープ文字を入れる処理ってどうされてますか? — rubikitch@... 2008/06/29

From: adgjmptw@super-r.net

[#45159] Re: MySQLに書き込む前にSJISのエスケープ文字を入れる処理ってどうされてますか? — adgjmptw@... 2008/06/29

> str.tosjis # Shift_JISに変換(入力文字コードは推測)

[ruby-list:45055] Re: WindowsでMySQL/Rubyを使おうとするとmysql.so (LoadError)

From: adgjmptw@...
Date: 2008-06-13 22:34:53 UTC
List: ruby-list #45055
ただです。
(今読み返してみたら凄まじい長文になっていたのでかなり削除しました。それ
でもまだ長いですが。)

> なので、4.1.x 環境で作成した MySQL/Ruby を 4.0.9 で動かそうとしているの
> ではないかと思います。
> 
> 古いバージョンで作成した MySQL/Ruby を、新しいバージョンの MySQL 環境で
> 動かしたら多分動くと思いますが、その逆はダメだと思います。
> 

そのとおりでした。
4.0xで作成したMySQL/Rubyのバイナリが見当たらない(リンク切ればかり)
なので、不本意ながらソース(?)をダウンロードしてきてmakeを試みているとこ
ろです。

これがまたうまくいきません。
http://tmtm.org/downloads/mysql/ruby/
で
mysql-ruby-2.7.tar.gz
をダウンロード&回答して、回答先でextconf.rbを実行してみたのですが、
今度はmysqlclientにmysql_queryが無いといわれます。

# 実行結果ここから ----------------------------------

C:\mr>ruby extconf.rb
checking for mysql_query() in mysqlclient.lib... no
checking for main() in m.lib... yes
(略)
checking for mysql_query() in mysqlclient.lib... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

#実行結果ここまで ----------------------------------

「いろんな理由でうまくMakefileを作れないからオプションを指定しろ」
って言われても、どんなオプションを指定すればよいのやら。

mkmf.logを見ると

#mkmf.logここから ----------------------------------

"cl -nologo -Feconftest -I. -IC:/usr/local/lib/ruby/1.8/i386-mswin32 -I.
-IC:/usr/local/lib/ruby/1.8/i386-mswin32 -I/usr/local/include  -MD -Zi
-O2b2xg- -G6 conftest.c   msvcrt-ruby18-static.lib mysqlclient.lib
oldnames.lib user32.lib advapi32.lib ws2_32.lib   -link    -libpath:"."
-libpath:"C:/usr/local/lib" -libpath:"/usr/local/lib" -stack:0x2000000"
checked program was:
/* begin */
1: #define WIN32_LEAN_AND_MEAN
2: #include <winsock2.h>
3: #include <windows.h>
4:
5: /*top*/
6: int main() { return 0; }
7: int t() { void ((*volatile p)()); p = (void ((*)()))mysql_query;
return 0; }
/* end */

#mkmf.logここまで ----------------------------------

こういうメッセージが大量に出力されていました。
何がなんだかサッパリ。



ここまできて、ふと我に返る。

この3日間。全くプログラムが進んでいません。

require "mysql"
このたった1行を実行するために、
・MySQL/Rubyをインストールし、
・mysql.soの依存関係を調べるためにDependency Viewerをインストールし、
・依存関係に問題がある関数の適用バージョンを調査し、
・ホスティング会社のMySQL/Rubyが正常に動作していることを確認し、
・私のPCのMySQLで動作するMySQL/Rubyのバイナリが見つからずに断念し、
・自力でmakeするためにソースをダウンロードし、
・make以前にextconf.rbすら実行できず、原因を調査し...

前提条件を満たすための前提条件を満たすための前提条件を満たすための...
という作業を延々と続けています。


これってどうなのかと。

プログラマの皆さんは「足りなきゃ足しゃえ〜やん」というノリで
TRY&ERRORを繰り返して対策前進すればいいと思うのですが、これを
企業向けに提案するのは難しいのでは?

ちょっと大きな企業なると、プログラム設計、基盤設計、運用設計が
明確に分かれてます。

基盤部分(OSとかMySQLとかRubyとか)のバージョンはサイト内で統一する
ことが多く、プログラムの都合でホイホイ追加したり変更したりという
ことはなかなか出来ないんです。

なので、プログラム担当者と基盤担当者が事前に綿密な打ち合わせをして、
基盤設計でどんな前提が必要なのかを検討する必要がありますが、通常は
基盤担当や運用設計はこういった依存関係の扱いに慣れていません。

仮に「今度の開発はRubyでやりましょう」と提案したとして、
プログラマには「必要な依存関係を全て事前に洗い出せ」
基盤担当者には「要求された依存関係を満たすことを確認せよ」
運用担当者には「障害が発生したら原因がプログラムか基盤か判断せよ」
という要求をすることになると思います。
これって全員から「無理」と言われそう。

C,PERL,PHPでもいろいろ問題はありましたが、まだ解決に向かっている実感があ
りました。
Rubyは上記のとおりどんどん問題が拡散して心が折れそうになります。(少なく
ともMySQLくらいすんなり繋がって欲しい。)

みんなこんなに苦労してるんでしょうか(こんなに苦労しているのは私だけ?)

In This Thread