I have emailed the admin on that system, and apparently they normally do have flock enabled, but after their latest reboot that flag was not set for some reason. They'll fix that manually.
I'll see what would work for a flock replacement, but I may not be able to do it (time pressure). In the meantime, could parallel be modified to not enter an infinite loop when flock returns ENOSYS? Also, if you make each of the html files depend on a previous html file, then 'make -j' will serialize them and the pod2html problem goes away. This unfortunately means that someone who just wants to build one html file may get more than they want, but that's a smaller group than the group of people who type 'make -j' indiscriminately. :-) Thanks On Sun, 13 Nov 2011 12:55:25 +0100 Ole Tange <[email protected]> wrote: > 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
