[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:00986] Re: palm2mhc/mhc2palm on Solaris7



まちがってまつもとさんに直接replyしてしまいました. 
すみません>まつもとさん

八槇

----
八槇@京大情報です. 

まつもとさん, コメントどうもです. 
#ruby の作者さん, ですよね?

In the message "<E13O17w-0002Cb-00@xxxxxxxxxxxxxxxxxxxxxxxx>"
matz@xxxxxxxxxxxx (Yukihiro Matsumoto) wrote:

matz> 前者(-lsocket)に関しては have_library("socket") とかを追加す
matz> れば良いような気がします。

単純にやってしまうと, 今度は libsocket が不要なOSとかではまり
ませんか?
#そんなのないかな?

matz> 後者は手元にSolarisがないので -R の意味が分かりませんです。

たしかに gcc の man にも info にも載ってませんね. 

Solaris7 の ld (1) から引用しておきます. 
     -R path   A colon-separated  list  of  directories  used  to
               specify  library search directories to the runtime
               linker. If present and not NULL, it is recorded in
               the  output  object file and passed to the runtime
               linker. Multiple instances of this option are con-
               catenated  together  with each path separated by a
               colon.
GNU ld でも -rpath オプションがこれに近い(同じ?)かとおもいます. 

-R/usr/local/pilot/lib して実行ファイルなり共有ライブラリなりを
作ると, できたバイナリを実行した際に /usr/local/pilot/lib を見に
いってくれるようになります. 

matz> Linuxにはそういうオプションはないようだし。

Linux (っていうか, binutils) では実行時に /etc/ld.so.conf で指定された
場所を探すようになってますが, こんなふうにバイナリ作成時に指定するよう
になっていることもあるわけです. 

ユーザの環境の方で LD_LIBRARY_PATH を設定するというのでも解として悪く
はないんですが, できたら余分な設定はしたくないのです.

ここまで書いて気がつきましたが, Sun でも GNU ld を使うという解もあり
ますね. こっちだと -L の設定だけで -R 相当のことをやってくれてそうな
記述が -rpath の説明に出ています. 

matz> と対応できるでしょう。

どうも. 
---
八槇 博史  yamaki@xxxxxxxxxxxxxxx