[#48875] MechanizeでNAVERへの自動loginスクリプトでpasswordがうまく渡らない — Takahiro Yamaguchi <Takahiro.Yamaguchi@...>

9 messages 2012/08/08

[#48876] ツイートの文字コード変換について — konoki-nannoki-ggrks.mp4@...

こんにちは。

9 messages 2012/08/08

[#48895] rvmで、1.8.7と1.9.2の両方を使い分けたいのですが — Fumiaki Sakamoto <ua6ta6@...>

お世話になっております。

10 messages 2012/08/13

[ruby-list:48891] gem install mysql が失敗する

From: dezawa <dezawa@...>
Date: 2012-08-13 02:31:47 UTC
List: ruby-list #48891
出沢です

とある実験をするために、
  VMware Player
  ubuntu-ja-11.10-desktop-i386
  ruby1.8.7
  rails 2.3.14
  mysql 5.1
という環境を作りつつ有ります。
ここで
 gem install mysql
が失敗します。

rubyかrailsかmysqlかどこに相談しようか悩んだのですが、
gem install, ruby1.8 extconf.rb での失敗なのでruby-MLに
ご相談するのが適当かと判断しました。
よろしくお願いします。

=== 詳細 ===
(1)
gem install mysql   すると失敗し次のメッセージがでます
  Gem files will remain installed in
/var/lib/gems/1.8/gems/mysql-2.8.1 for inspection.
  Results logged to
/var/lib/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

(2)
gem_make.outを見ると、
 /usr/bin/ruby1.8 extconf.rb
が
 checking for mysql_query() in -lmysqlclient... no
という報告を6回だし、失敗しています。
mysql-2.8.1/ext/mysql_api にある mkmf.log には
  find_library: checking for mysql_query() in -lmysqlclient...
   -------------------- no
という結果が6回あります。

(3)例えばその一つは
  "gcc -o conftest -I. -I/usr/lib/ruby/1.8/i686-linux -I.
   -I/usr/local/include  -D_FILE_OFFSET_BITS=64
   -fno-strict-aliasing -g -g -O2  -fPIC   conftest.c -L.
   -L/usr/lib -L/usr/local/lib -L. -Wl,-Bsymbolic-functions
   -rdynamic -Wl,-export-dynamic   -lruby1.8-static
   -lmysqlclient  -lpthread -lrt -ldl -lcrypt -lm   -lc"
   conftest.c: In function ‘t’:
   conftest.c:3:53: error: ‘mysql_query’ undeclared (first use in this
function)
   conftest.c:3:53: note: each undeclared identifier is reported only
once for each
   function it appears in
   checked program was:
  /* begin */
  1: /*top*/
  2: int main() { return 0; }
  3: int t() { void ((*volatile p)());
     p = (void ((*)()))mysql_query;
     return 0; }
  /* end */

となっています。
-L/usr/lib -lmysqlclient しているのに、‘mysql_query’ undeclared
はて、、、、、

(4)
/usr/lib/libmysqlclient.* は4つ有ります。二つはシンボリック
リンクです
  *.so.16 *_r.so.16  *.so.16.0.0  *_r.so.16.0.0

(5)
これらは strip されている様で nm では中身が分かりませんが
strings /usr/lib/libmysqlclient.so.16.0.0 | grep mysql_query
しますと mysql_query が確認されます。

(6)
staticなライブラリが必要なのかも、と Ubuntu10から
/usr/lib/libmysqlclient.a をコピーしてみたのですが、
mysql_query’ undeclared は変わりませんでした。
 Ubunts11はまだ慣れていないのでlibmysqlclient.aを見つける
 事ができなかったので、
   どこかでエラーになるかも知れないが、少なくとも
   リンクエラーは変わるだろう
 と思い10からコピーし試行しました。
 nm によれば 00003d90 T mysql_query ということで、
 未解決シンボルでは有りませんでした。




In This Thread

Prev Next