Bug 249223 - editors/xvile: port broken by switch to parallel make
Summary: editors/xvile: port broken by switch to parallel make
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-09-09 22:09 UTC by Thomas E. Dickey
Modified: 2020-09-10 09:37 UTC (History)
2 users (show)

See Also:


Attachments
updated makefile (1.54 KB, text/plain)
2020-09-09 22:09 UTC, Thomas E. Dickey
no flags Details
replacement for editors/xvile/Makefile (2.50 KB, text/plain)
2020-09-10 09:37 UTC, Thomas E. Dickey
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas E. Dickey 2020-09-09 22:09:15 UTC
Created attachment 217857 [details]
updated makefile

A recent build-report showed a problem building the vile port.
The symptom pointed to a problem with parallel make.

The likely problem seems to be as reported against the make program here:

http://gnats.netbsd.org/55542
"make: parallel builds and double-colon don't get along"

That is, double-colon targets in the makefiles cause the build to fail.
vile uses this in several places, and rewriting the makefiles to work
around a bug in a given make-program isn't going to happen.  It works
well enough with gmake, but is easy to reproduce with bmake with my
Debian/testing for instance:

--- all ---
--- bnf-filt.o ---
rm -f bnf-filt.c
--- css-filt.o ---
echo "#include <flt_defs.h>" > css-filt.c
flex -t css-filt.l >> css-filt.c
clang -c -I. -I.. -I../filters -I.. -DHAVE_CONFIG_H -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64 -I./filters -g -O2 -Qunused-arguments -Wno-error=implicit-function-declaration   css-filt.c
bmake: all#1: cohort has parents

bmake: stopped in /usr/build/vile/vile

The problem with make appears to be recent; it works with FreeBSD 12.
(I tried installing FreeBSD-13-current...).  The Debian/testing package
also is new:

https://packages.debian.org/bullseye/bmake
"bmake (20200710-5)"

The port should be updated to suppress the parallel-make feature.
Comment 1 Thomas E. Dickey 2020-09-09 22:32:43 UTC
The attachment sets MAKE_JOBS_UNSAFE=yes as documented in

https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/building.html

however... reviewing the logs, I see that even with this change
the make program (in FreeBSD 12) gets a "-j4" option when redurring
to the filters subdirectory.
Comment 2 Thomas E. Dickey 2020-09-09 22:59:18 UTC
The leftover "-j4" was actually from a test-script which I used for checking ports.  (The suggested update to the makefile works as intended).
Comment 3 Li-Wen Hsu freebsd_committer 2020-09-10 02:50:35 UTC
The patch in bug249224 is preferred, right?
Comment 4 Thomas E. Dickey 2020-09-10 09:06:24 UTC
no - these are two different ports for the same source.
I'm puzzled because I created the one for editors/vile first,
and the title looked correct.  I fixed it now...
Comment 5 Thomas E. Dickey 2020-09-10 09:12:09 UTC
(In reply to Thomas E. Dickey from comment #4)

Just a few minutes ago, I inspected both attachments, and they were for the correct ports, but on revisiting, both are for editors/vile.   I'll attach a diff instead.
Comment 6 Thomas E. Dickey 2020-09-10 09:32:32 UTC
(In reply to Thomas E. Dickey from comment #5)

When I opened this report, I copied the description from the other (editors/vile), without noticing that the copy/paste copied the link to the attachment.

Adding to the confusion (which oddly enough did not prevent building the port) was an earlier change to the portname:

https://svnweb.freebsd.org/ports/head/editors/xvile/Makefile?r1=346364&r2=354506
Comment 7 Thomas E. Dickey 2020-09-10 09:37:59 UTC
Created attachment 217866 [details]
replacement for editors/xvile/Makefile