[前][次][番号順一覧][スレッド一覧]

mysql:266

From: <takeshi@xxxxxxxxxx>
Date: Mon, 28 Sep 1998 22:26:11 +0900
Subject: [mysql 266] 3.22.7b lib


3.22.7b-beta をコンパイルしていて、ちょっと氣になった点があります。

それは libmysqlclient.so を作成するときのフラグで、以下のように違っています

3.22.4a
   gcc -shared -Wl,-soname -Wl,libmysqlclient.so.4 -o \
  .libs/libmysqlclient.so.4.0.0 \
  xxxx.lo ....... xxxx.o -lm -lz -ldl
                        ^^^^^^^^^^^^ configure で検出したlib
3.22.7b
   gcc -shared -Wl,-soname -Wl,libmysqlclient.so.4 -o \
  .libs/libmysqlclient.so.4.0.0 \
  xxxx.lo ....... xxxx.o
                        ^^^^^^^^^ ない!

  ldd client/.libs/libmysqlclient.so.4.0.0
   ./client/.libs/libmysqlclient.so.4.0.0 => \
                         ./client/.libs/libmysqlclient.so.4.0.0
   libc.so.5 => /lib/libc.so.5
   これだけしかリンクされていない、、、


で、結果的に、3.22.4a までの libmysqlclient.so で作ったアプリが
動かないという現象がおきています。

library をアペンドして libmysqlclient.so を作り直せば問題ないですが、
(わたしのWWWページで公開しているものはアペンドしてます)
3.22.7b のリンクの仕方がいいのかどうかちょっと迷いが生じています。

.so の作り方としては 3.22.7b は 100% 正しいものですか?
3.22.4a までのやり方が間違っていれば、全部アプリの作成し直しですが、
-lc -lm などの lib をつけてもいいなら、互換のため、つけたいと、
TCX の ML にでも言ってみたいと思いますが...
どうなんでしょう?


 村上 毅  takeshi@xxxxxxxxxx
 PGP fingerprint = 45 5D 54 12 B4 55 77 7F  D4 52 66 EC 03 3F 1B E9
 [ http://www.softagency.co.jp/mysql/ ]
 [ MySQL ML: mysql-help@xxxxxxxxxx ]

[前][次][番号順一覧][スレッド一覧]