ledigchr / MALPEM

MALPEM whole-brain segmentation framework
Other
20 stars 10 forks source link

proot error: execve("/malpem/bin/malpem") #6

Open JKleinloog opened 4 years ago

JKleinloog commented 4 years ago

Dear Christian Ledig,

After reading about the performance of the MALP-EM tool I was curious to check the performance myself on my own dataset. I have been using FMRIB FSL for a few years, the segmentation of partial volume estimates was disappointing. Therefore, we mainly used Volbrain for segmentation purposes, which works excellent. However, this tool also has some disadvantages, which is why I want to try using MALP-EM. Unfortunately, I am not able to run the program as intended after installing using the installer. I tried both installing in the home directory and system wide installation. I am running the program on a Windows subsystem for Linux, which should usually work. I also tried adding export PROOT_NO_SECCOMP=1 to malpem-proot, this did not solve the problem.

Could you please help me solve the problem?

The complete error I get is as follow: malpem/bin/malpem-proot -h

WARNING: Didn't find libGL library in /usr/lib/nvid*, offscreen rendering won't work (only relevant for pdf report)

Command in CARE environment: malpem -h

proot error: execve("/malpem/bin/malpem"): No such file or directory proot info: possible causes:

  • is a script but its interpreter (eg. /bin/sh) was not found;
  • is an ELF but its interpreter (eg. ld-linux.so) was not found;
  • is a foreign binary but no was specified;
  • does not work correctly (if specified). fatal error: see `proot --help`. proot warning: can't stat placeholder '/home/jordi/malpem/lib/care/rootfs/home/jordi/malpem/lib': No such file or directory proot warning: can't stat placeholder '/home/jordi/malpem/lib/care/rootfs/home/jordi/malpem/bin': No such file or directory proot warning: can't stat placeholder '/home/jordi/malpem/lib/care/rootfs/home/jordi/malpem': No such file or directory proot warning: can't stat placeholder '/home/jordi/malpem/lib/care/rootfs/home/jordi': No such file or directory proot warning: can't stat placeholder '/home/jordi/malpem/lib/care/rootfs/home': No such file or directory proot warning: can't stat placeholder '/home/jordi/malpem/lib/care/rootfs/run/shm': No such file or directory proot warning: can't stat placeholder '/home/jordi/malpem/lib/care/rootfs/run': No such file or directory proot warning: can't stat placeholder '/home/jordi/malpem/lib/care/rootfs/sys': No such file or directory proot warning: can't stat placeholder '/home/jordi/malpem/lib/care/rootfs/proc': No such file or directory proot warning: can't stat placeholder '/home/jordi/malpem/lib/care/rootfs/dev': No such file or directory proot error: can't chdir to '/tmp/proot-1562-tp9H7x': No such file or directory proot warning: can't stat placeholder '/home/jordi/malpem/lib/care/rootfs/usr/CARElib': No such file or directory proot warning: can't stat placeholder '/home/jordi/malpem/lib/care/rootfs/home/jordi/malpem/lib/care/rootfs': No such file or directory proot warning: can't stat placeholder '/home/jordi/malpem/lib/care/rootfs/home/jordi/malpem/lib/care': No such file or directory
ledigchr commented 4 years ago

Hi Jordi,

I have not encountered or heard of a similar problem before. This is not related to the libGL warning. I don't have any experience with WSL but this very much looks like a problem running proot with WSL. The recommended workflow for Windows is to run MALPEM in a VM as described here: https://github.com/ledigchr/MALPEM#installation-on-windows-and-os-x

If you want to pursue running MALPEM with WSL perhaps a place to start would be to bring this up with the proot developers: https://github.com/proot-me/proot

Unfortunately, I don't think I can be of more help here, but would be curious to hear how this goes.

Best wishes, Christian

olivierbarret commented 3 years ago

Hi Jordi,

The issue you are reporting is I believe related to which WSL you are using. You have to use WSL2 and not WSL1.

Here is what I had to do to make it work:

1) You have to run WSL2, ie use ext4.vhdx. It does not work with WSL1 and rootfs. 2) I had to remove the –k string option for the kernel from malpem-root. Was giving a sigsecv otherwise. 3) Had to setup PROOT_NO_SECCOMP=1 otherwise sigsegv 4) Or replace proot with proot_5.1.1_x86_64_rc2--no-seccomp. proot_5.1.1_x86_64_rc2 was giving sigsegv if PROOT_NO_SECCOMP not defined.

Hope this helps.

Thanks Olivier