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

[dennou-ruby:001149] Re: ruby-dcl, advanceddcl install



At 30 Mar 2002 02:30:27 -0000,
Masato Shiotani wrote:
> >> 考えなおした結果、難しいような気がしました。というのは 
> >> narray にはオプショナルな依存ライブラリがあり、それによって 
> >> narray の機能が変わるからです。
> >> 
> >> distro 毎のパッケージ的には全部依存させちゃえばいいんですが、
> >> Ruby の標準添付には「インストールされるのに機能が違う」とい
> >> うライブラリはないと思います。
> 
> この辺のこと, もう少し分かりやすく説明してもらえませんか. 

えっと、オプショナルな依存ライブラリというのは FFTW のことな
んですが、FFTW は誰でも持っているわけではないし、FFTW はなく
ても NArray を使えます。しかし FFTW をリンクしないで NArray 
を作った場合は、FFTW の機能が使えなくなります。このように、
リンクしてもよいライブラリがあるような拡張ライブラリというの
は現在標準添付されている拡張ライブラリにはありません。

現在の拡張ライブラリは以下の通りです。

  Win32API/
  bigfloat/
  curses/
  dbm/
  digest/
  etc/
  fcntl/
  gdbm/
  iconv/
  nkf/
  pty/
  racc/
  readline/
  sdbm/
  socket/
  stringio/
  strscan/
  syslog/
  tcltklib/
  tk/

これらの中には必ずリンクしなければならないライブラリを持つ拡
張ライブラリはありますが、リンクしてもしなくても良いライブラ
リを持つ拡張ライブラリはありません。

NArrayはこの点でユニークな存在になります。その善し悪しは判断
できません。ただし悪そうな点は考えることができます。端的には、
Ruby のプログラム内で require "narray" と書くことの意味が2つ
になることです。その "narray" は FFTW がついているのか、それ
ともなくてもいいのかという2つの可能性が出てきます。なんでも
そうですが、違うものに同じ名前がついてると面倒の原因です。

一方で、deb だとか rpm だとか pkgsrc だとか port だとかを作
る場合は、それはそのパッケージの方針で決めれば良いことなので
個別の問題となります。例えば、FreeBSD のportでは、次のコマン
ドでFFTW も(もしなければ ruby とかまで) インストールされます。

  portinstall ruby-narray

この場合FreeBSDユーザ間での情報交換では問題は起こらないので、
FreeBSD的にはこれで良いわけですし、多めにとっているので他の
プラットフォームとも問題になりにくそうです。

-- Gotoken