Ocasionally fails to builld on FreeBSD
We're using gettext-rs in newsboat, and it sometimes fails to build libgettext.so on FreeBSD: https://cirrus-ci.com/task/5006678288498688 @dennisschagt tracked down the cause; quoting from https://github.com/newsboat/newsboat/pull/1259#issuecomment-725417492:
The FreeBSD 11.4 build failed twice before passing:
FAIL: https://cirrus-ci.com/task/5006678288498688 - https://api.cirrus-ci.com/v1/task/5006678288498688/logs/build.log FAIL: https://cirrus-ci.com/task/6060093349298176 - https://api.cirrus-ci.com/v1/task/6060093349298176/logs/build.log PASS: https://cirrus-ci.com/task/6252468717748224 - https://api.cirrus-ci.com/v1/task/6252468717748224/logs/build.log
In the failed logs,
chmod .../libgettextlib.ais called but fails with error message "No such file or directory". I think this has to do with a line further uprm -f .../libgettextlib.a: https://github.com/autotools-mirror/gettext/blob/50ed3f11426e301cb68f837fce5900f4954cb6b8/gnulib-local/modules/gettext-tools-misc#L39 The following description seems to apply here as well: https://lists.gnu.org/archive/html/bug-gettext/2014-07/msg00008.html (see(2)).
His suggestion is to try to build gettext-rs without parallelism, but I don't believe it's possible to build one of Newsboat's dependencies with custom settings like this. Instead, I think we should edit gettext-sys's build.rs and disable parallelism there.
The root cause looks generic enough to be reproducible on any system, but I don't recall seeing it fail like this on Linux; no idea what's so special about our FreeBSD builds.
Links to logs expired, and I failed to reproduce this in a virtual machine. This bug will have to wait until me (or someone else) spots it in the wild again.
I haven't seen this for at least half a year, so I'll assume that a newer GNU gettext version fixed it (somehow). Closing for now.
It happened again (in Newsboat's CI at commit https://github.com/newsboat/newsboat/commit/8113cadc022bae5ef81934e6650bb8188f319d2b, similar to https://github.com/newsboat/newsboat/commit/c2682bfb05fe9dee981bdf7ccc876e0da896dd84). The build log: build.log.gz