sparc-sun-solaris2.10-gcc -DHAVE_CONFIG_H -I. -I.. -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -DJOBS=0 -Wall -O2 -pipe -c -o eval.o eval.c eval.c: In function ‘evaltree’: eval.c:281:15: warning: logical not is only applied to the left hand side of com parison [-Wlogical-not-parentheses] if (!status == isor || evalskip) ^~ eval.c:281:7: note: add parentheses around left hand side expression to silence this warning if (!status == isor || evalskip) ^~~~~~~ ( ) sparc-sun-solaris2.10-gcc -DHAVE_CONFIG_H -I. -I.. -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -DJOBS=0 -Wall -O2 -pipe -c -o exec.o exec.c sparc-sun-solaris2.10-gcc -DHAVE_CONFIG_H -I. -I.. -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -DJOBS=0 -Wall -O2 -pipe -c -o expand.o expand.c expand.c: In function ‘expmeta’: expand.c:1410:31: error: ‘NAME_MAX’ undeclared (first use in this function); did you mean ‘ARG_MAX’? len = offset + name_len + NAME_MAX; ^~~~~~~~ ARG_MAX expand.c:1410:31: note: each undeclared identifier is reported only once for each function it appears in make[3]: *** [Makefile:392: expand.o] Error 1 make[3]: Leaving directory '/gentoo/prefix32/var/tmp/portage/app-shells/dash-0.5.10.2/work/dash-0.5.10.2/src'
Solaris 10 strictly adheres to what POSIX says about NAME_MAX. In particular, that it should /NOT/ be defined. Because most systems do, later versions of Solaris define NAME_MAX for portability's sake.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9b10da8ccfcff1583c63c83b3762d4fe51a2812 commit e9b10da8ccfcff1583c63c83b3762d4fe51a2812 Author: Fabian Groffen <grobian@gentoo.org> AuthorDate: 2018-06-17 14:24:29 +0000 Commit: Fabian Groffen <grobian@gentoo.org> CommitDate: 2018-06-17 14:24:39 +0000 app-shells/dash: fix compilation on Solaris <=10, bug #657990 Closes: https://bugs.gentoo.org/657990 Package-Manager: Portage-2.3.40, Repoman-2.3.9 app-shells/dash/dash-0.5.10.2.ebuild | 3 +++ 1 file changed, 3 insertions(+)