Closed Nobu19800 closed 2 years ago
私の方はVagrantにてUbuntu20.04のDesktop環境をコマンド一発で構築し、openrtm2_install_ubuntu.shを「 -l c++ -l python -c 」オプションで開発環境をインストール後、引数なしで実行し、OpenRTM2.0のパッケージすべてをインストールした環境です。ご指摘のエラーにはなりません。
$ omniidl
omniidl: No files specified. Use 'omniidl -u' for usage.
_omniidlmodule.soというファイルはomniidlをインストールしたらどこかのフォルダに入っているものなのでしょうか?
検索しても見つかりません。テストで使用していた別の2つのUbuntu20.04環境(それぞれRTM2.0と1.2.2をインストールしている)でも見つかりませんでした。
_omniidl
というモジュールが見つかっていないためエラーになっているようです。
PYTHONPATHの設定(export PYTHONPATH=/usr/lib/omniidl/
)をすると正常に動作するようですが、何故この設定が必要な場合と必要でない場合があるのかが分かりません。
正常に動作している環境でのPythonのバージョンと、環境変数PYTHONPATHの設定はどうなっていますか?
Python3.8.10で、PYTHONPATHは設定しておりません。 以下はどうでしょうか?
このエラー、過去に経験がありました! もしかして、/usr/bin よりも /bin のパスの方が先に定義されていませんか? $ echo $PATH /sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin
通常ならばPATHの順番で、 /usr/bin/omniidl が実行されるので問題ないのですが、この環境では /bin/omniidl が実行されてしまい、報告頂いたエラーがでていました。
@n-ando さんに教えて頂いた下記情報で、XRDPをインストールしている環境で、/etc/pam.d/xrdp-sesmanを次のように修正したところ echo PATH の設定が正しくなったとのメモが残っています。 https://askubuntu.com/questions/92333/ubuntu-has-a-different-path-when-accessed-over-xrdp-session
#%PAM-1.0
@include common-auth
@include common-account
@include common-session
@include common-password
↓
#%PAM-1.0
session required pam_env.so readenv=1 envfile=/etc/environment
session required pam_env.so readenv=1 envfile=/etc/default/locale
@include common-auth
@include common-account
@include common-session
@include common-password
解決しました。ありがとうございます。Ubuntu 18.04では問題は発生しないのがよく分かりませんが、Htper-Vの拡張セッションのUbuntu 20.04対応に問題があるのかもしれません。このissueは閉じます。
Describe the bug Ubuntu 20.04環境でomniidlを実行すると以下のメッセージが表示される。
To Reproduce Steps to reproduce the behavior:
Reproducibility 手元のUbuntu 20.04環境では100%
Expected behavior
Screenshots or Logs
Environment
Additional context