トップページ > 記事閲覧
AqK2Kをdlopenでロードできない
日時: 2021/04/05 22:21
名前: CCCP

Rustでlibloadingというクレートを使ってAqKanji2Koeのロードを試みたのですが、"undefined symbol: _ZTVN10__cxxabiv120__si_class_type_infoE"というエラーが出ます
libloadingの中身はdlopenのラッパーだったので、C言語でdlopenを使ってロードできるかも試してみましたが、やはり同じエラーで止まります
dlopenについて調べてみたところ、「そのライブラリが他の共有ライブラリに依存している場合は、 依存しているライブラリも動的リンカが同じ検索ルールに基づいて 自動的にロードする (それらのライブラリにさらに依存関係がある場合などは この処理は再帰的に行われる)。」とあったので、AqKanji2Koeが依存しているライブラリを確認しましたが、マニュアルに書かれた依存ライブラリは全てインストール済みのようでした
どうすればdlopenでAqKanji2Koeをロードすることができますか?

コンパイラ
C言語: GCC 10.2.0
Rust: rustc 1.53.0-nightly (0b417ab5c 2021-04-03)

OS: Ubuntu 20.10
メンテ

Page: 1 |

Re: AqK2Kをdlopenでロードできない ( No.1 )
日時: 2021/04/07 09:38
名前: 管理人
参照: https://www.a-quest.com/aquestalk/patio/patio.cgi?mode=view&no=160

上記URLのスレッドが参考になるかな?
メンテ
Re: AqK2Kをdlopenでロードできない ( No.2 )
日時: 2021/04/07 11:24
名前: CCCP

libstdc++に確かに依存しているはずなのに、何故か依存しているライブラリも読み込んでくれるはずのdlopenが読み込んでくれず手動で読み込まなきゃいけないのが不思議ですね...
とりあえずこれで動くことが確認できました
ありがとうございました
メンテ

Page: 1 |

題名 スレッドをトップへソート
名前
URL
パスワード (記事メンテ時に使用)
コメント
CAPTCHA captcha画像 ←英数字を入力

   クッキー保存