ERROR 127: ABYSS-P: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory

117 views
Skip to first unread message

Vid

unread,
Nov 24, 2017, 5:53:59 PM11/24/17
to ABySS
Hi,

I am running ABYSS but seem to be running into issues when multithreading -- please see error message below:

ABYSS-P: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
ABYSS-P: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
ABYSS-P: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
ABYSS-P: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
ABYSS-P: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
ABYSS-P: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
ABYSS-P: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
ABYSS-P: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
ABYSS-P: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
ABYSS-P: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
ABYSS-P: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
ABYSS-P: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
make: *** [cam4-1.fa] Error 127

Any guidance would be much appreciated!

Thank you.

Ben Vandervalk

unread,
Nov 24, 2017, 5:59:54 PM11/24/17
to Vid, ABySS
Hi Vid,

It appears that either: (1) OpenMPI is not installed, or (2) OpenMPI is installed, but you need to the OpenMPI `lib` directory to your LD_LIBRARY_PATH.

- Ben

--
You received this message because you are subscribed to the Google Groups "ABySS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to abyss-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Vidhu Joshi

unread,
Nov 24, 2017, 6:03:09 PM11/24/17
to Ben Vandervalk, ABySS
Hi Ben,

Thank you so much for your email. I am wracking my brains trying to get AbySS to work in multithreaded mode. Currently I left out the 'np' option and am running it on a single thread, which will take far too long for a genome of my size (1.2 gigabases).

OpenMPI is installed system-wide (I am running AbySS on a cluster and it randomly allocates the job to a random node upon submission).

My apologies, I don't quite understand what you mean by 'OpenMPI `lib` directory to your LD_LIBRARY_PATH'

Can you kindly elaborate/walk me through this?

Warm regards,
Vid

Vidhu Joshi

unread,
Nov 24, 2017, 6:06:56 PM11/24/17
to Ben Vandervalk, ABySS
On an unrelated note, how can I limit the amount of memory used? Even on single-threaded mode, the job aborts once it reaches the max-mem limitation imposed by the cluster (18GB).

Ben Vandervalk

unread,
Nov 24, 2017, 6:18:39 PM11/24/17
to Vidhu Joshi, ABySS
No, you cannot specify a memory limit to ABySS.

Instead you will need to increase the number of cluster nodes allocated for the assembly job, until you have enough memory.  Unfortunately, there is some trial and error is required, as there is no way to determine the total amount of RAM required up front.  As a point of reference, a human assembly would require 500 GB - 1 TB of aggregate RAM.  You may also want to try the Bloom filter assembly node, produces slightly worse results but decreases the memory requirement by an order of magnitude.  (See the "Bloom filter" section in the README.md.)

I sometimes add `q=15` to my `abyss-pe` commands to reduce memory usage.  That tells ABySS to quality-trim the reads before doing the assembly.  That reduces the number of error k-mers that loaded into the assembly, and thus decreases the memory requirements.

- Ben

Ben Vandervalk

unread,
Nov 24, 2017, 6:19:29 PM11/24/17
to Vidhu Joshi, ABySS
mode*

On Fri, Nov 24, 2017 at 3:18 PM, Ben Vandervalk <ben....@gmail.com> wrote:
No, you cannot specify a memory limit to ABySS.

Instead you will need to increase the number of cluster nodes allocated for the assembly job, until you have enough memory.  Unfortunately, there is some trial and error is required, as there is no way to determine the total amount of RAM required up front.  As a point of reference, a human assembly would require 500 GB - 1 TB of aggregate RAM.  You may also want to try the Bloom filter assembly node*, produces slightly worse results but decreases the memory requirement by an order of magnitude.  (See the "Bloom filter" section in the README.md.)

I sometimes add `q=15` to my `abyss-pe` commands to reduce memory usage.  That tells ABySS to quality-trim the reads before doing the assembly.  That reduces the number of error k-mers that loaded into the assembly, and thus decreases the memory requirements.

- Ben

On Fri, Nov 24, 2017 at 3:06 PM, Vidhu Joshi <vidhu...@gmail.com> wrote:
On an unrelated note, how can I limit the amount of memory used? Even on single-threaded mode, the job aborts once it reaches the max-mem limitation imposed by the cluster (18GB).
On Fri, Nov 24, 2017 at 5:03 PM, Vidhu Joshi <vidhu...@gmail.com> wrote:
Hi Ben,
You may also want to try the Bloom filter a
Reply all
Reply to author
Forward
0 new messages