mysql:258
From: <takeshi@xxxxxxxxxx>
Date: Mon, 21 Sep 1998 12:48:51 +0900
Subject: [mysql 258] ruby.. unresolv moddi3
毅です ちょっと民斗さんの ruby を使って、 ruby の勉強でもしようとおもって、 コンパイルしたのですが、 require "mysql" で ruby: can't resolve symbol '__moddi3' ruby: can't resolve symbol '__divdi3' となってしまいました。 ( gcc-2.7.2, mysql-3.22.4a-beta, Linux libc5 ) どうも、libmysqlclient が呼び出している関数の一部が、 gcc がリンク時に使う自分の libgcc.a 内にある moddi3 , divdi3 を 呼び出しており、これが ruby , mysql.so , libmysqlclient.so|.a のすべてで unedf となっているため、おきているようです。 で、しょうがないので、ruby の main.c に、moddi3 を使うように、 全く使わない関数を入れて gcc をだまして回避したわけですが、 もっとうまく回避できないものでしょうか? # ruby 本体を -lmysqlclient でコンパイルすると多分行くかな? # ruby 本体が libmysqlclient に依存するのもいやだなぁ... これって、Linux の gcc-2.7.2 だけで起こってます? 他の環境ではどうなんでしょう? 村上 毅 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 ]