私の使用環境は FreeBSD 4.8-RELEASE で、コンパイラ・リンカは元からあるもの
をそのまま使ってます。このOSではコンパイラはgcc 2.95.4(相当)とのことで、
リンカは GNU ld 2.12.1(相当) のようです(ともに--versionで確認)。

>>638
その3パターンはすべて同じ意味で、「静的リンクする」ということですよ
ね。私の環境ではすべて「statically linked」(fileコマンド)、
「not a dynamic executable」(lddコマンド)と表示されました。中身もすべて同
じでした。


とりあえず、私の頭の中を整理すると、
  ・-rpath-linkの意味が分からない
  ・分からないのはld(1)の記述の中の、>>634で書いた部分。
  ・すなわち、「共有ライブラリが別の共有ライブラリを必要としている状
   態で、非共有、再配置不可能なリンクを行う」ってどういうこと??
  ・(コマンドライン上での)どういった操作でそういうことが再現できる
   のかを教えてもらえればそこから類推できるかも?
ということです

おまけ:
 ・リンカは「-rpath」の代わりに「--rpath」を使ってもよい。"rpath"の前に
  '-'(ハイフン)を2つ付けても同じ意味になる。マニュアルには書いてない
  けど。結構有名なの?
 ・-rpathを複数回指定する代わりに、それらのパスを:でつなげれば-rpathは
  1回指定するだけでよい。すなわち、「-rpath /path/a -rpath /lib/x」は
  「-rpath /path/a:/lib/x」と同じ意味になる、ということ。-rpathで指定した
  パスは実行形式に埋め込まれるから、それをその実行形式ファイルから
  探してみた(% strings /some/executable | grep /lib/x)ときに分かった。
 ・でも「-rpath "/path/a /lib/x"」のようにスペース(0x20)で区切ってはダメ