0

共有ライブラリを必要とするスクリプトを実行しているときに、共有ライブラリの読み込みに問題があります。

error while loading shared libraries: libirc.so: cannot open shared object file: No such file or directory

ただし、セットアップは問題ないと思います。

set LD_LIBRARY_PATH = /lfs/data0/g_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64
export LD_LIBRARY_PATH

そしてそれが本当にそこにあることをls /lfs/data0/g_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64示しています。libirc.so

echo $LD_LIBRARY_PATH正しく戻ります:

/lfs/data0/g_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64

それはまだうまくいかないので、私は少し必死です... :)

誰か助けてくれませんか?

役立つ情報:

echo ${SHELL}
/bin/bash

また、私が実行するスクリプトには、最初にこれが含まれています:

#!/bin/csh
#PBS -z
#PBS -S /bin/csh

set PATH = /usr/local/x86_64/gnu/openmpi-1.4.5/bin
export PATH

ありがとう !

4

2 に答える 2

0

nneonneo に感謝します。以下が表示されます。

LD_DEBUG=all ./mpp_starter
 26489: 
 26489: file=librt.so.1 [0];  needed by ./mpp_starter [0]
 26489: find library=librt.so.1 [0]; searching
 26489:  search path=/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64/tls/x86_64:/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64/tls:/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64/x86_64:/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64      (LD_LIBRARY_PATH)
 26489:   trying file=/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64/tls/x86_64/librt.so.1
 26489:   trying file=/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64/tls/librt.so.1
 26489:   trying file=/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64/x86_64/librt.so.1
 26489:   trying file=/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64/librt.so.1
 26489:  search cache=/etc/ld.so.cache
 26489:   trying file=/lib64/librt.so.1
 26489: 
 26489: file=librt.so.1 [0];  generating link map
 26489:   dynamic: 0x0000003a74a06dc8  base: 0x0000000000000000   size: 0x0000000000207bb0
 26489:     entry: 0x0000003a74802140  phdr: 0x0000003a74800040  phnum:                  9
 26489: 
 26489: 
 26489: file=libnuma.so.1 [0];  needed by ./mpp_starter [0]
 26489: find library=libnuma.so.1 [0]; searching
 26489:  search path=/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64       (LD_LIBRARY_PATH)
 26489:   trying file=/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64/libnuma.so.1
 26489:  search cache=/etc/ld.so.cache
 26489:   trying file=/usr/lib64/libnuma.so.1
 26489: 
 26489: file=libnuma.so.1 [0];  generating link map
 26489:   dynamic: 0x0000003a77207450  base: 0x0000000000000000   size: 0x0000000000207d60
 26489:     entry: 0x0000003a770026d0  phdr: 0x0000003a77000040  phnum:                  7
 26489: 
 26489: 
 26489: file=libdl.so.2 [0];  needed by ./mpp_starter [0]
 26489: find library=libdl.so.2 [0]; searching
 26489:  search path=/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64       (LD_LIBRARY_PATH)
 26489:   trying file=/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64/libdl.so.2
 26489:  search cache=/etc/ld.so.cache
 26489:   trying file=/lib64/libdl.so.2
 26489: 
 26489: file=libdl.so.2 [0];  generating link map
 26489:   dynamic: 0x0000003a73a02da0  base: 0x0000000000000000   size: 0x0000000000203100
 26489:     entry: 0x0000003a73800de0  phdr: 0x0000003a73800040  phnum:                  9
 26489: 
 26489: 
 26489: file=libirc.so [0];  needed by ./mpp_starter [0]
 26489: find library=libirc.so [0]; searching
 26489:  search path=/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64       (LD_LIBRARY_PATH)
 26489:   trying file=/lfs/data0/gstar_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64/libirc.so
 26489: 
 26489: file=libirc.so [0];  generating link map
 26489:   dynamic: 0x00007f6635da51b0  base: 0x00007f6635c66000   size: 0x0000000000142bc0
 26489:     entry: 0x00007f6635c6d040  phdr: 0x00007f6635c66040  phnum:                  5
 26489: 
 26489: 
于 2013-02-07T06:04:39.073 に答える
0

これをクラスターで実行しているように聞こえますが、その場合、問題はシェルとは関係ありません。試してみてください:

#PBS -v LD_LIBRARY_PATH="/lfs/data0/g_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64"

ということも注目に値するかもしれません

set LD_LIBRARY_PATH = /lfs/data0/g_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64

あなたがbashを実行していると言っている間、csh構文です。同等のbashは

LD_LIBRARY_PATH=/lfs/data0/g_local/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64

間隔に敏感です。

于 2013-02-07T00:49:15.197 に答える