vine-users ML アーカイブ



[vine-users:071958] Re: octave / kpathsea / Vine3.1

  • From: Haruhiko Okumura <okumura@xxxxxxxxxxxxxxx>
  • Subject: [vine-users:071958] Re: octave / kpathsea / Vine3.1
  • Date: Tue, 24 May 2005 13:47:11 +0900 (JST)
奥村です。

最近触ってないのですが,Octave も kpathsearch ライブラリを使うんですね。
検索するといろいろ見つかりそうです:

[tex-k] Re: kpathsearch and Octave
http://www.tug.org/pipermail/tex-k/2002-October/000576.html

> OK.  I removed the call to my kpse_clear_dir_cache function from
> Octave and it still behaves correctly, so I don't think it is needed.
> Now, I wonder why I ever thought that it would be?!

Toru Terao <terao@xxxxxxxxxxxxxxxx> wrote:

> 寺尾@大阪学院大学(初投稿) です
> 
> Vine3.1を使っております。
> 
> ほかのディストリビューション上で構築したoctaveを用いた科学技
> 術計算用のc++プログラムを、Vine3.1上で利用しようとして問題に
> 遭遇しました。
> 
> このプログラム hoge.cc(仮名) 自体は、octave の c++ クラスを
> 用いてそのメソッドを呼び出すものです。倍精度複素数配列クラス
> である ComplexMatrix を利用しており、その連立一次方程式の求
> 解メソッド solve を利用しています。
> 
> どうも g++-3.3.2 では octave のヘッダファイル読み出し中に莫
> 大なエラーが出るので、g++-2.95.3 を用いて作業をしました。ま
> た、readlineについてはどうも4.1でないといけないようなので、
> readline41というパッケージををインストールして 
> /usr/lib/libreadline.so.4.1 を用いるようにしています。
> 
> 発生した問題は、kpse_clear_dir_cache というシンボルがないと
> 怒られてリンクに失敗する、というものです。kpse_... というシ
> ンボルは libkpathsea にたくさんあるのですが、 
> kpse_clear_dir_cache というものは見あたりません。ほかのどこ
> かにあるかと探してみたのですが、見つかりませんでした。仕方が
> ないので、同名の何もせずabortする関数を定義して乗り切りまし
> たが、本当はどうするべきだったのでしょう?
> 
> octave のバージョンは 
> 	パッケージ:octave-2.0.17-0vl1
> kpathsea は tetex 中に入っているもので
> 	パッケージ:tetex-2.0.2-0vl14
> 	ライブラリ:libkpathsea.so.3.4.5
> g++ のバージョンは
> 	パッケージ:gcc295-c++-2.95.3-2vl24
> 	g++-2.95.3:gcc version 2.95.3 20010315 (release)
> です。
> 
> 具体的な結果は以下の通り。
> ---------
> [terao@r3 Analysis]$ g++-2.95.3 hoge.cc -I/usr/include/octave-2.0.17 -L/usr/lib/octave-2.0.17 -loctave -lcruft /usr/lib/libreadline.so.4.1 -ldl -llapack -lblas -lkpathsea -lg2c -lcurses 
> /usr/lib/octave-2.0.17/liboctave.so: undefined reference to `kpse_clear_dir_cache'
> collect2: ld returned 1 exit status
> ---------
> 
> liboctave.so にある kpse_... 呼び出しは、 nm してみると
> ---------
>          U kpse_all_path_search
>          U kpse_clear_dir_cache
>          U kpse_element_dirs
>          U kpse_expand_default
>          U kpse_path_element
>          U kpse_path_expand
>          U kpse_path_search
>          U kpse_set_program_name
> ---------
> の8つでした。libkpathsea.so.3.4.5 には、上記のうち 
> kpse_clear_dir_cache をのぞく7つについてはシンボルが定義さ
> れています。
> 
> この問題は既知の問題なのでしょうか? 正しい対処法をご存じの
> 方はご教示くださいますと助かります。
> 
> いろいろ検索したりしたので、FAQ ではないだろうとは思っている
> のですが... もし FAQ でしたら申し訳ありません。
> 
> -- 
> Toru Terao <terao@xxxxxxxxxxxxxxxx>

-- 
奥村晴彦 http://oku.edu.mie-u.ac.jp/~okumura/
〒514-8507 三重大学教育学部情報教育課程