Bug #168
open
make -j5 is incompatible with SeaBIOS payload
Added by First name * Last name * over 6 years ago.
Updated about 5 years ago.
Description
There's a race condition for git repo access:
fatal: Unable to create '/home/l29ah/projects/coreboot-x230/coreboot/payloads/external/SeaBIOS/seabios/.git/index.lock': File exists.
Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.
fatal: A branch named 'coreboot' already exists.
make[1]: *** [Makefile:37: checkout] Error 128
make: *** [payloads/external/Makefile.inc:73: seabios] Error 2
make: *** Waiting for unfinished jobs....
Files
It works as expected and the error is not reproducible as of now at our end(tried to open a git commit process in the same repo but got no such issue).
While replicating the issue, there was no error found when building for lenovo X230 as well as for qemu.
Attached is the config file for X230 as a reference.
There might be an issue with the background processes running on your host system and more susceptible with something broken while fetching and continuing within the same directory. The error message is rather explicit as to which process causes it typically, so if you have no other git processes running (which is the normal case), go ahead and delete that file(.git/index.lock).
As this doesn't seems the issue with the current coreboot source code, please change status appropriately.
".git/index.lock': File exists:" this occurs when not used sudo. Using sudo solves this well for me.
I suppose, this issue should be closed as soon as possible as it has been more than a year and is not valid in reference to its current status.
- Status changed from New to Feedback
Is it a permission issue? What does ls -l payloads/external/SeaBIOS/seabios/.git/index.lock
return, when you do not run it with sudo
?
1. For the first time if I 'sudo make' gives no error, issue is not replicated.
2. 'make' gives me:- fatal: Unable to create '/home/starks/Documents/sandbox/boot/coreboot/payloads/external/SeaBIOS/seabios/.git/index.lock': `Permission denied`
ls -l payloads/external/SeaBIOS/seabios/.git/index.lock returns nothing for me as no file there beforehand.
3. To replicate the issue, I created index.lock as payloads/external/SeaBIOS/seabios/.git/index.lock
'make' give now as:- fatal: Unable to create '/home/starks/Documents/sandbox/boot/coreboot/payloads/external/SeaBIOS/seabios/.git/index.lock': `File exists.`
The same as depicted from the description given in the issue above(rest is same as I got)
4. I even tried after sudo chmod 777 payloads/external/SeaBIOS/seabios/.git/index.lock, the same error exists as point 3.
Finally, should be done as follows:
- Just go for
rm payloads/external/SeaBIOS/seabios/.git/index.lock
and retry with make, if sudo is not required in your host system.
- Use
sudo make
to resolve the same.
Also available in: Atom
PDF