On Thu, Nov 10, 2011 at 12:41 AM, <[email protected]> wrote: > I'm trying to install parallel 20110822 on a lustre filesystem, and > apparently it does not support flock() by default, and the system call > dies with: > > lock(7, LOCK_EX|LOCK_NB) = -1 ENOSYS (Function not implemented) > > Reference: > http://wiki.lustre.org/index.php/FAQ_-_Fundamentals see 'flock' > > This is a little vexing, as the makefile is just converting pod files > to html, although I guess it's a clever way to run unit tests during > the installation process:
Unfortunately it is not a clever way to do testing. The problem is that pod2html uses a temporary file that I cannot control the name of. If you run multiple pod2html's in parallel then they will overwrite this temporary file and cause the installation to fail randomly. This will happen when running: make -j which people/packaging systems apparently do. I assume you have access to at least one writeable dir that supports flock (maybe /dev/shm or /tmp?). You can then just move your ~/.parallel to this place and symlink it to ~/.parallel before running make. > Will parallel work without flock? Yes, except for the --semaphore functionality. The locking happens around line 4894. If you find an alternative way to support locking on Lustre, let me know. /Ole
