Bug 226070

Summary: graphics/guetzli parallel build failure
Product: Ports & Packages Reporter: Don Lewis <truckman>
Component: Individual Port(s)Assignee: Yuri Victorovich <yuri>
Status: New ---    
Severity: Affects Only Me CC: yuri
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://github.com/google/guetzli/issues/256

Description Don Lewis freebsd_committer 2018-02-20 17:28:00 UTC
I attempted to do a parallel build of guetzli by adding ALLOW_MAKE_JOBS=yes to poudriere.conf and observed this failure:

==== Building guetzli (release) ====
Creating bin/Release
mkdir -p bin/Release
c++ -O2 -pipe -fstack-protector -fno-strict-aliasing   -MMD -MP  -I. -Ithird_par
ty/butteraugli -std=c++11 `pkg-config --cflags libpng`  -o "obj/Release/dct_doub
le.o" -MF "obj/Release/dct_double.d" -c "guetzli/dct_double.cc"
c++ -O2 -pipe -fstack-protector -fno-strict-aliasing   -MMD -MP  -I. -Ithird_par
ty/butteraugli -std=c++11 `pkg-config --cflags libpng`  -o "obj/Release/debug_pr
int.o" -MF "obj/Release/debug_print.d" -c "guetzli/debug_print.cc"
c++ -O2 -pipe -fstack-protector -fno-strict-aliasing   -MMD -MP  -I. -Ithird_par
ty/butteraugli -std=c++11 `pkg-config --cflags libpng`  -o "obj/Release/butterau
gli_comparator.o" -MF "obj/Release/butteraugli_comparator.d" -c "guetzli/buttera
Creating obj/Release
error: unable to open output file 'obj/Release/debug_print.o': 'No such file or
1 error generated.
gmake[2]: *** [guetzli.make:154: obj/Release/debug_print.o] Error 1

It looks like it is trying to compile some source files and stash the object files in a directory before creating the directory.  This could be fixed by patching the source Makefile to add the necessary dependencies so that the order of operations is correct, but it is probably easier to add MAKE_JOBS_UNSAFE=yes to the port Makefile to force the build to be single-threaded.
Comment 1 Bugzilla Automation freebsd_committer 2018-02-20 17:28:00 UTC
Maintainer informed via mail
Comment 2 Yuri Victorovich freebsd_committer 2018-02-25 10:07:37 UTC
You need to also report this to the upstream.