varnish / libvmod-curl

cURL Varnish bindings by Varnish Software
Other
48 stars 39 forks source link

Build fail with parallel make (missing dependency?) #47

Closed lkarsten closed 6 years ago

lkarsten commented 6 years ago

On 0eb40eb6f, with MAKEFLAGS=-j10 , make fails due to some dependency missing somewhere:

lkarsten@lima:~/work/libvmod-curl$ make
(CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/lkarsten/work/libvmod-curl/missing autoheader)
rm -f stamp-h1
touch config.h.in
cd . && /bin/bash ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
make  all-recursive
make[1]: Entering directory '/home/lkarsten/work/libvmod-curl'
Making all in src
make[2]: Entering directory '/home/lkarsten/work/libvmod-curl/src'
/usr/share/varnish/vmodtool.py ../src/vmod_curl.vcc
/usr/share/varnish/vmodtool.py ../src/vmod_curl.vcc
/usr/share/varnish/vmodtool.py ../src/vmod_curl.vcc
WARNING: Not emitting .RST for $Event event_function

WARNING: Not emitting .RST for $Event event_function

WARNING: Not emitting .RST for $Event event_function

WARNING: Not emitting .RST for $Event event_function

Traceback (most recent call last):
  File "/usr/share/varnish/vmodtool.py", line 1102, in <module>
    runmain(i_vcc, opts.rstdir, opts.output)
  File "/usr/share/varnish/vmodtool.py", line 1064, in runmain
    v.commit()
  File "/usr/share/varnish/vmodtool.py", line 856, in commit
    os.rename(i + ".tmp", i)
OSError: [Errno 2] No such file or directory
WARNING: Not emitting .RST for $Event event_function

WARNING: Not emitting .RST for $Event event_function

make[2]: *** [Makefile:1101: vcc_if.h] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/lkarsten/work/libvmod-curl/src'
make[1]: *** [Makefile:468: all-recursive] Error 1
make[1]: Leaving directory '/home/lkarsten/work/libvmod-curl'
make: *** [Makefile:379: all] Error 2
lkarsten@lima:~/work/libvmod-curl$

No idea why vmodtool is run three times concurrently.

Workaround: make -j1

dridi commented 6 years ago

This is using autoconf macros from varnish_legacy.m4, falling into all the pitfalls that the current varnish.m4 is trying to solve. Unless someone sends patches, wontfix...