problems to run librpmem

58 views
Skip to first unread message

Beilei Sun

unread,
Oct 14, 2017, 8:14:03 AM10/14/17
to pmem
Hi,
I got the following problem while running the basic example of librpmem.

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

According to the rpmem.log, this error is caused by executing following command: 'ssh -v -T -oBatchMode=yes 10.10.10.1 rpmemd'.
Also, I tried to execute 'ssh -v -T -oBatchMode=yes 10.10.10.1 pmempool' command. It reports that libpmempool.so.1 cannnot be found.

But both libpmem.so.1 and libpmempool.so.1 can be used if I run the other NVML examples except librpmem.

Any tips about this error?

Thanks



pawel.szymanski

unread,
Oct 16, 2017, 3:42:43 AM10/16/17
to pmem
Hi,

It look like the account you are using to run the SSH command on remote node does not have properly configured path to NVML libraries.

You can do two things:
1) Install NVML libraries on remote node in a directory that is already included in the set of directories used by loader. You can do this by running 'sudo make install' command on the remote node in the nvml/src directory.

2) You can modify the command that launches RPMEMD on the remote node such as the command includes LD_LIBRARY_PATH with the directory where the NVML libraries are located on the remote node.
In order to do this, you need to define on local node RPMEM_CMD as follows:
export RPMEM_CMD="LD_LIBRARY_PATH+=my_nvml_directory rpmemd"

Regards

Pawel

Beilei Sun

unread,
Oct 16, 2017, 5:21:35 AM10/16/17
to pmem
Thanks Pawel, the problem is solved.

I have another problem when I run the follow command:

./basic create 10.10.10.10 rpmem_test.dat

I think ./basic will create the rpmem_test.dat in the directory (/mnt/pmem), which is speified in the .rpmemd.conf file.  But, it reports 'rpmem_create: pool set or its par doesn't exist or it is unavailable' error.
However, if I create this file manually, which I don't think is the right way, it reports 'rpmem_create: pool already exists' error.

Are there other parameters or enviroments needed to be set to run ./basic?

Thanks




在 2017年10月16日星期一 UTC+8下午3:42:43,pawel.szymanski写道:

Janek Mi

unread,
Oct 17, 2017, 8:43:11 AM10/17/17
to pmem
I suggest to add logging on both sides. It makes all issues easier to debug.

  • On local node
RPMEM_LOG_FILE=rpmem.log RPMEM_LOG_LEVEL=10 (...) ./basic (...)
  • On remote node
export RPMEM_CMD="(...) rpmemd --log-file=rpmemd.log --log-level=debug"

Janek Mi

unread,
Oct 17, 2017, 9:10:47 AM10/17/17
to pmem
I guess the issue is: rpmem_test.dat has to be the name of a pool set file located on a remote node.

So it /mnt/pmem/rpmem_test.dat should look like this:

PMEMPOOLSET
20M /mnt/pmem/rpmem_test.dat.part



On Saturday, 14 October 2017 14:14:03 UTC+2, Beilei Sun wrote:

Beilei Sun

unread,
Oct 18, 2017, 9:54:55 PM10/18/17
to pmem
Thanks Jane.

Your are right. I have solved this problem. Thansk again.

在 2017年10月17日星期二 UTC+8下午9:10:47,Janek Mi写道:
Reply all
Reply to author
Forward
0 new messages