奥村です。 最近触ってないのですが,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 三重大学教育学部情報教育課程