Skip to content

Document required filesystem locking semantics #925

@tgamblin

Description

@tgamblin

From a user attempting to run spack on a filesystem without flock:

I started playing around with spack on my mac (I was trying to evaluate it when compared to brew) and I find it beatiful! 

I then decided to start using it on our cluster, but I had no luck with the latest version. After cloning spack from github, any time I try installing a package I get this error:

$ spack install dealii
Traceback (most recent call last):
  File "/home/mathlab/spack/bin/spack", line 176, in <module>
    main()
  File "/home/mathlab/spack/bin/spack", line 154, in main
    return_val = command(parser, args)
  File "/home/mathlab/spack/lib/spack/spack/cmd/install.py", line 74, in install
    with spack.installed_db.write_transaction():
  File "/home/mathlab/spack/lib/spack/spack/database.py", line 598, in __enter__
    if self._enter() and self._acquire_fn:
  File "/home/mathlab/spack/lib/spack/spack/database.py", line 616, in _enter
    return self._db.lock.acquire_write(self._timeout)
  File "/home/mathlab/spack/lib/spack/llnl/util/lock.py", line 123, in acquire_write
    self._lock(fcntl.LOCK_EX, timeout)   # can raise LockError.
  File "/home/mathlab/spack/lib/spack/llnl/util/lock.py", line 64, in _lock
    fcntl.lockf(self._fd, op | fcntl.LOCK_NB)
IOError: [Errno 38] Function not implemented


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions