समस्या मैं का सामना करना पड़ा यहाँ हल किया गया है: Loading shared library in open-mpi/ mpi-runएमपीआई - लोड करने में त्रुटि साझा पुस्तकालयों
मुझे नहीं पता कैसे, LD_LIBRARY_PATH
स्थापित करने या -x LD_LIBRARY_PATH
समस्या ठीक करता है निर्दिष्ट करते समय, जब मेरे स्थापना ही आवश्यक एल तर्क निर्दिष्ट करता है। मेरी स्थापना ~/mpi/
में मैंने अपनी संकलन-लिंक कॉन्फ़िगरेशन भी शामिल की है।
$ mpic++ -showme:version
mpic++: Open MPI 1.6.3 (Language: C++)
$ mpic++ -showme
g++ -I/home/vigneshwaren/mpi/include -pthread -L/home/vigneshwaren/mpi/lib
-lmpi_cxx -lmpi -ldl -lm -Wl,--export-dynamic -lrt -lnsl -lutil -lm -ldl
$ mpic++ -showme:libdirs
/home/vigneshwaren/mpi/lib
$ mpic++ -showme:libs
mpi_cxx mpi dl m rt nsl util m dl % Notice mpi_cxx here %
जब मैं mpic++ <file>
साथ संकलित और mpirun a.out
साथ भाग गया मैं एक (शेयर की गई लाइब्रेरी) लिंकर त्रुटि
error while loading shared libraries: libmpi_cxx.so.1:
cannot open shared object file: No such file or directory
त्रुटि LD_LIBRARY_PATH
की स्थापना द्वारा निर्धारित किया गया है हो गया। प्रश्न यह है कि क्यों और क्यों? मैं क्या खो रहा हूँ? LD_LIBRARY_PATH
क्यों आवश्यक है जब मेरी स्थापना ठीक दिखती है।
सुनिश्चित करें कि आपके 'LD_LIBRARY_PATH' अपने' .bashrc' में overwitten किया जा रहा है की तरह मेरा CUDA के साथ था रहें। आप कुछ निर्यात करना चाहते हैं जैसे निर्यात LD_LIBRARY_PATH =/lib64/openmpi/lib: $ LD_LIBRARY_PATH' –