Hi Simon, > Essentialy it boils down to: > > ../../gltests/test-binary-io.sh: line 8: cmp: command not found > test-init.sh: failed test: err not empty: ../../gltests/init.sh: line 648: > cmp: command not found > ../../gltests/test-perror.sh: line 14: diff: command not found
'cmp' and 'diff' are among the programs that a 'configure' script and a Makefile can assume to be present, see the GNU Coding Standards <https://www.gnu.org/prep/standards/html_node/Utilities-in-Makefiles.html>. > What do you think about rewriting these self-tests to avoid cmp/diff? There is no adequate replacement. It would be possible to use 'md5sum' instead of 'cmp'; but since 'md5sum' is not in the above list from the GNU Coding Standards, this is not a useful direction. Gnulib makes sure to pave over differences between different 'diff' implementations; this was already a major headache. See tests/init.sh lines 589..669. > https://gitlab.com/libidn/libidn/-/jobs/932649011 The Gitlab jobs typically start by installing packages into the build environment. Yours has $ pacman -Sy --noconfirm make gcc I guess that adding 'diffutils' to this package list will solve the problem. > I read the DEPENDENCIES file a bit more careful after noticing that it > has several mandatory dependencies that I find questionable, and I > noticed this in the beginning: > > The following packages are needed by maintainers for using > 'gnulib-tool'. > > It doesn't say the packages are required for users building gnulib-based > packages. I can live with having diffutils installed as a maintainer. > Was this subtle distinction intentional? Yes, of course, we make a distinction between the packages needed for creating the tarballs and the packages needed to build+install the tarballs. The GNU Coding Standards matters for the latter. Bruno