2017-04-03 19 views
0

私は最近Mujoco 1.31の無料試用版をインストールしました。 (この質問はこれよりも一般的ですが、Mujocoは商用の物理ライブラリであり、コンピュータ固有のmjkey.txtファイルを入手する必要があります)$LD_LIBRARY_PATHで私を困惑させている動作を観察しています。LD_LIBRARY_PATHと共有ライブラリがない(Mujocoの場合)

ここに関連するもののディレクトリがあります。私はディレクトリ/home/daniel/mjpro131の中にいる。 mjkey.txtのテキストは、コードを実行するためにbinディレクトリにコピーを持っていなければならないので、2か所に表示されます。

$ ls 
bin doc include LICENSE.txt mjkey.txt model sample 
$ ls -lh bin/ 
total 2.1M 
-rwxrwxr-x 1 daniel daniel 14K Apr 23 2016 compile 
-rwxr-xr-x 1 daniel daniel 123K Apr 23 2016 libglfw.so.3 
-rwxrwxr-x 1 daniel daniel 1.8M Apr 23 2016 libmujoco131.so 
-rw-rw-r-- 1 daniel daniel 876 Apr 3 14:52 mjkey.txt 
-rw-rw-r-- 1 daniel daniel 156 Apr 3 14:52 MUJOCO_LOG.TXT 
-rwxrwxr-x 1 daniel daniel 30K Apr 23 2016 simulate 
-rwxrwxr-x 1 daniel daniel 51K Apr 23 2016 test 
$ ls -lh model/ 
total 12K 
-rwxr-xr-x 1 daniel daniel 9.4K Apr 23 2016 humanoid.xml 

getting started instructionsは、シミュレータコードを試してみると言います。 (これらの命令は、バージョン1.40のためのものですが、それでも1.31のために働く必要があります。)私は、次のコマンドを実行しようとしましたが、それは動作しません:

$ ./bin/simulate model/humanoid.xml 
./bin/simulate: error while loading shared libraries: ../bin/libmujoco131.so: cannot open shared object file: No such file or directory 

をしかし、私はbinディレクトリ内部に、シミュレータコードを行くとき作品:これは動作しますが、私はこれを継続させていただきますが、私は本当にこの時の私の最初の試みが失敗した理由を理解したい

$ cd bin/ 
$ ./simulate ../model/humanoid.xml 
MuJoCo Pro library version 1.31 

。 StackOverflowを見て、私がおそらくLD_LIBRARY_PATH変数を扱っているエラーを参照してください。ここでは、次のとおりです。ここで

$ echo $LD_LIBRARY_PATH 
/usr/local/cuda-8.0/lib64:/home/daniel/mjpro131/bin:/home/daniel/mjpro131 
$ pwd 
/home/daniel/mjpro131 
$ ls 
bin doc include LICENSE.txt mjkey.txt model sample 

は私.bashrcの関連する行です:

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/daniel/mjpro131/bin:/home/daniel/mjpro131 

そして私は、シミュレータのコードを実行しようとする前に、それをソースに確認しました。また、シミュレータを実行しようとする前に、私はsudo ldconfigを実行し、他のいくつかのStackOverflow質問によってアドバイスを受けました。残念ながら、私はmjpro131の最上位ディレクトリにいるときにMujocoシミュレータを実行することができません。

質問:私はLD_LIBRARY_PATH/home/daniel/mjpro131/binとその中の任意のライブラリを見つけることができると考えました。しかし、libmujoco131.soが見つからないため、このようには見えません。私はここで何かを見逃していますか?

私はUbuntu 16.04を使用しています。

答えて

0

LD_LIBRARY_PATHの動作ではなく、テストしているライブラリの特性を処理している可能性があります。

ここでは、リンクを提供しているページからの引用です:

コードサンプルは、アクティベーションキーがmjkey.txt名前を付けると、実行ファイルと同じディレクトリにあることを期待しますが、これはできます変更することもできます。

デフォルトの動作を変更するために何もしなかった場合、表示されている動作は、明記されているポリシーと一貫しているようです。

+0

ええ、私はそれが理にかなっていると思います。使用しているコード(Mujocoに依存している)は正常に動作しているようですので、心配する必要はありません。 – ComputerScientist

関連する問題