We still pull base-images by default, but this can be overriden by
passing `--no-pull-base-images`. e.g.
`python helper.py --no-pull-base-images build_image project`.
By setting the DOCKER_HOST environment variable, all docker invocations will be non-local. This allows run_fuzzer to work in such an environment (as will be the case for many OS X and Windows users).
I'm finding that with e.g.
python infra/helper.py build_fuzzers libpng
all builds fail for me with...
configure:3443: checking whether we are cross compiling
configure:3451: clang -o conftest -g -fsanitize=address -fsanitize-coverage=edge,indirect-calls,8bit-counters conftest.c >&5
configure:3455: $? = 0
configure:3462: ./conftest
==1014==LeakSanitizer has encountered a fatal error.
==1014==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1
==1014==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)
configure:3466: $? = 1
configure:3473: error: in `/src/libpng':
configure:3475: error: cannot run C compiled programs.
with the defaults of...
CC=clang
CXX=clang++
CFLAGS=-g -fsanitize=address -fsanitize-coverage=edge,indirect-calls,8bit-counters
CXXFLAGS=-g -fsanitize=address -fsanitize-coverage=edge,indirect-calls,8bit-counters -stdlib=libc++
but adding --cap-add SYS_PTRACE makes it work
with python infra/helper.py build_fuzzers <PROJECT>
out of the box I get /work as a dir in the docker image root with approx 6 gigs
free after dependencies are installed, i.e.
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/docker-.. 10G 3.9G 6.2G 39% /
which is limiting for a very large project, how about binding /work to the host
like /out already is, eg. for me afterwards, plenty of work space
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 440G 291G 128G 70% /work
(cherry picked from commit fffffb107dc7421b91b884c0019c62e43779c4b1)