Hello,

I'm trying to build the `intel-2016a` toolchain using EB.  Installation
stop pretty soon at the end of the `icc` install with this error:

    == 2016-05-04 17:24:09,107 build_log.py:152 ERROR Cleaning up intel dir 
/scratch/rmurri/rmurri/easybuild_intel failed: [Errno 39] Directory not empty: 
'/scratch/rmurri/rmurri/easybuild_intel/ism/rm' (at 
easybuild/easyblocks/generic/intelbase.py:165 in clean_home_subdir)

Now, first question: why is this a *fatal* error?  `icc` has been
unpacked, installed, and tested correctly.  Failure to cleanup the
leftovers is annoying but should not be critical...  Or is there
something I'm missing?

Then, the more interesting part is *why* did the failure happen?
Ostensibly, the directory to be removed is indeed empty:

    $ ls -lAR /scratch/rmurri/rmurri/easybuild_intel/ism/rm
    /scratch/rmurri/rmurri/easybuild_intel/ism/rm:
    total 0

However, there are some hidden files in a sibling directory::

    $ ls -lAR /scratch/rmurri/rmurri/easybuild_intel
    /scratch/rmurri/rmurri/easybuild_intel:
    total 4
    drwxr-xr-x. 3 rmurri uzh 4096  4 mag 17.25 ism

    /scratch/rmurri/rmurri/easybuild_intel/ism:
    total 4
    drwxr-xr-x. 3 rmurri uzh 4096  4 mag 17.25 bin

    /scratch/rmurri/rmurri/easybuild_intel/ism/bin:
    total 4
    drwxr-xr-x. 2 rmurri uzh 4096  4 mag 17.25 intel64

    /scratch/rmurri/rmurri/easybuild_intel/ism/bin/intel64:
    total 640
    -rwxr-xr-x. 1 rmurri uzh 621864  4 mag 17.24 .nfs0000000021cd01c80000691b
    -rwxr-xr-x. 1 rmurri uzh  32128  4 mag 17.24 .nfs0000000021cd01c90000691c

    $ fuser -v 
/scratch/rmurri/rmurri/easybuild_intel/ism/bin/intel64/.nfs0000000021cd01c*
                         USER        PID ACCESS COMMAND
    
/net/nfs4/nfs.hydra/scratch/rmurri/rmurri/easybuild_intel/ism/bin/intel64/.nfs0000000021cd01c80000691b:
                         rmurri    54634 ....m intelremotemond
    
/net/nfs4/nfs.hydra/scratch/rmurri/rmurri/easybuild_intel/ism/bin/intel64/.nfs0000000021cd01c90000691c:
                         rmurri    54634 ...e. intelremotemond

If I kill the `intelremotemond` process, the entire `easybuild_intel`
hierarchy can be successfully removed.  So my guess is that either
(1) EasyBuild does not kill `intelremotemond` (what's its purpose, by
the way?), or (2) does not wait enough after killing it, or (3) everyone
else is using a filesystem that handles "delete an open inode" in a sane
way...

Is there a suggested fix?

Ciao,
R

--
Riccardo Murri
http://www.s3it.uzh.ch/about/team/#Riccardo.Murri

S3IT: Services and Support for Science IT
University of Zurich
Winterthurerstrasse 190, CH-8057 Zürich (Switzerland)

Tel: +41 44 635 4208
Fax: +41 44 635 6888

Reply via email to