docker run -t -i -v /Users/edasque/Dropbox/projects/qmk_firmware:/QMK:rw qmk make
the output is:
avr-gcc (GCC) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
WARNING:
Some git sub-modules are out of date or modified, please consider runnning:
git submodule sync --recursive
git submodule update --init --recursive
You can ignore this warning if you are not compiling any ChibiOS keyboards,
or if you have modified the ChibiOS libraries yourself.
Compiling: ./keyboards/ergodox_ez/twimaster.c [ERRORS]
/tmp/ccSlFLOB.s: Assembler messages:
/tmp/ccSlFLOB.s: Warning: can't close .build/obj_ergodox_ez_default/twimaster.lst: Input/output error
/tmp/ccSlFLOB.s: Fatal error: can't close .build/obj_ergodox_ez_default/twimaster.o: Input/output error
tmk_core/rules.mk:373: recipe for target '.build/obj_ergodox_ez_default/twimaster.o' failed
make: *** [.build/obj_ergodox_ez_default/twimaster.o] Error 1
Which seems to indicate that there is a problem writing to the filesystem.
Note that if I run bash instead of the CMD inside the container I can create a file in /tmp or /QMK
If I modify the Dockerfile to ADD . /GMK instead of using volume mounted from the host, the issue doesn’t happen.
I can echo a simple string to a file mounted on the volume (so it’s not a simple permission error), but can’t create a tar archive (that’s not created even empty/truncated).
And run as docker build -t e . docker run -v$PWD:/vol1 e
Trying to make it a really reproducible case, I found out it depends on whether the file already exists or not (fails only for non-existent file) and even more importantly, on the location: it fails where the path is in Dropbox, works otherwise.
That’s exactly it, something about the project being in Dropbox makes it fail. That’s why it was so hard to narrow down for me, it’s dependent on it being in Dropbox. For some reason Docker & Dropbox have weird interactions when mounting volumes. Not sure why but that’s it
I’m seeing the same thing. Today was the first time I put a project in Dropbox and I immediately had problems. I’ve moved everything back out of Dropbox and the issues have gone away.