This has been reported before : http://lists.gnu.org/archive/html/bug-m4/2008-04/msg00075.html
The same error occurs on Solaris 8 i386 and is fixed with the same trivial modification in lib/Makefile thus : titan $ diff lib/Makefile lib/Makefile.backup 784c784 < M4_LIBOBJS = asnprintf.o asprintf.o basename.o basename-lgpl.o canonicalize-lgpl.o cloexec.o close-stream.o closein.o closeout.o dirname.o dirname-lgpl.o dup-safer.o error.o fcntl.o fd-safer.o filenamecat.o filenamecat-lgpl.o fopen.o fopen-safer.o fpurge.o frexpl.o ftello.o getopt.o getopt1.o isnanl.o lstat.o mbrtowc.o mbsinit.o mkdtemp.o mkstemp-safer.o obstack.o open.o pipe-safer.o printf-args.o printf-parse.o quotearg.o rawmemchr.o readlink.o regex.o rename.o signbitd.o signbitf.o signbitl.o snprintf.o spawn_faction_addclose.o spawn_faction_adddup2.o spawn_faction_addopen.o spawn_faction_destroy.o spawn_faction_init.o spawnattr_destroy.o spawnattr_init.o spawnattr_setflags.o spawnattr_setsigmask.o spawni.o spawnp.o stat.o strchrnul.o strerror.o stripslash.o strndup.o strnlen.o strsignal.o strstr.o strtod.o tempname.o vasnprintf.o vasprintf.o wcrtomb.o xmalloc.o --- > M4_LIBOBJS = asnprintf.o asprintf.o basename.o basename-lgpl.o canonicalize-lgpl.o cloexec.o close-stream.o closein.o closeout.o dirname.o dirname-lgpl.o dup-safer.o error.o fcntl.o fd-safer.o filenamecat.o filenamecat-lgpl.o fopen.o fopen-safer.o fpurge.o frexpl.o ftello.o getopt.o getopt1.o isnanl.o lstat.o mbrtowc.o mbsinit.o mkdtemp.o mkstemp-safer.o obstack.o open.o pipe-safer.o printf-args.o printf-parse.o quotearg.o rawmemchr.o readlink.o regex.o rename.o snprintf.o spawn_faction_addclose.o spawn_faction_adddup2.o spawn_faction_addopen.o spawn_faction_destroy.o spawn_faction_init.o spawnattr_destroy.o spawnattr_init.o spawnattr_setflags.o spawnattr_setsigmask.o spawni.o spawnp.o stat.o strchrnul.o strerror.o stripslash.o strndup.o strnlen.o strsignal.o strstr.o strtod.o tempname.o vasnprintf.o vasprintf.o wcrtomb.o xmalloc.o titan $ After this all linkage is fine however a few tests fail : gmake[6]: Entering directory `/opt/bw/src/m4/m4-1.4.16/tests' PASS: test-alloca-opt PASS: test-array_list PASS: test-array_oset PASS: test-avltree_oset FAIL: test-binary-io.sh PASS: test-btowc1.sh PASS: test-btowc2.sh PASS: test-c-ctype PASS: test-c-stack.sh PASS: test-c-stack2.sh PASS: test-c-strcase.sh PASS: test-canonicalize-lgpl PASS: test-cloexec PASS: test-closein.sh PASS: test-dirname PASS: test-dup2 PASS: test-environ PASS: test-errno PASS: test-fcntl-h PASS: test-fcntl PASS: test-fflush PASS: test-fflush2.sh PASS: test-filenamecat PASS: test-fopen-safer PASS: test-fopen PASS: test-fpending.sh PASS: test-fpurge PASS: test-freadahead.sh PASS: test-freading PASS: test-frexp-nolibm PASS: test-frexpl-nolibm PASS: test-fseeko.sh PASS: test-fseeko2.sh PASS: test-ftell.sh PASS: test-ftell2.sh PASS: test-ftell3 PASS: test-ftello.sh PASS: test-ftello2.sh PASS: test-ftello3 PASS: test-getdtablesize PASS: test-getopt PASS: test-gettimeofday PASS: test-ignore-value PASS: test-isnand-nolibm PASS: test-isnanf-nolibm PASS: test-isnanl-nolibm PASS: test-langinfo PASS: test-link PASS: test-linkedhash_list PASS: test-locale PASS: test-localename PASS: test-lseek.sh PASS: test-lstat PASS: test-malloc-gnu PASS: test-malloca PASS: test-math PASS: test-mbrtowc1.sh PASS: test-mbrtowc2.sh PASS: test-mbrtowc3.sh PASS: test-mbrtowc4.sh SKIP: test-mbrtowc-w32-1.sh SKIP: test-mbrtowc-w32-2.sh SKIP: test-mbrtowc-w32-3.sh SKIP: test-mbrtowc-w32-4.sh SKIP: test-mbrtowc-w32-5.sh PASS: test-mbsinit.sh PASS: test-memchr PASS: test-memchr2 PASS: test-nl_langinfo.sh PASS: test-open PASS: test-pipe2 PASS: test-posix_spawn1 PASS: test-posix_spawn2 PASS: test-printf-frexp PASS: test-printf-frexpl PASS: test-quotearg-simple PASS: test-rawmemchr PASS: test-readlink FAIL: test-rename PASS: test-rmdir PASS: test-sched PASS: test-setenv PASS: test-setlocale1.sh PASS: test-setlocale2.sh PASS: test-sigaction PASS: test-signal PASS: test-signbit PASS: test-snprintf PASS: test-spawn-pipe.sh PASS: test-spawn PASS: test-stat PASS: test-stdbool PASS: test-stddef PASS: test-stdint PASS: test-stdio PASS: test-stdlib PASS: test-strchrnul PASS: test-strerror PASS: test-string PASS: test-strnlen PASS: test-strsignal PASS: test-strstr PASS: test-strtod PASS: test-symlink PASS: test-sys_stat PASS: test-sys_time PASS: test-sys_wait PASS: test-time PASS: test-dup-safer PASS: test-unistd PASS: test-unsetenv SKIP: test-update-copyright.sh PASS: test-vasnprintf PASS: test-vasprintf-posix PASS: test-vasprintf SKIP: test-vc-list-files-git.sh SKIP: test-vc-list-files-cvs.sh PASS: test-verify PASS: test-verify.sh PASS: test-version-etc.sh PASS: test-wchar PASS: test-wcrtomb.sh SKIP: test-wcrtomb-w32-1.sh SKIP: test-wcrtomb-w32-2.sh SKIP: test-wcrtomb-w32-3.sh SKIP: test-wcrtomb-w32-4.sh SKIP: test-wcrtomb-w32-5.sh PASS: test-wctype-h PASS: test-xalloc-die.sh PASS: test-xvasprintf \c =============================== 2 of 117 tests failed (13 tests were not run) See tests/test-suite.log Please report to bug-m4@gnu.org =============================== \c gmake[6]: *** [test-suite.log] Error 1 gmake[6]: Leaving directory `/opt/bw/src/m4/m4-1.4.16/tests' gmake[5]: *** [check-TESTS] Error 2 gmake[5]: Leaving directory `/opt/bw/src/m4/m4-1.4.16/tests' gmake[4]: *** [check-am] Error 2 gmake[4]: Leaving directory `/opt/bw/src/m4/m4-1.4.16/tests' gmake[3]: *** [check-recursive] Error 1 gmake[3]: Leaving directory `/opt/bw/src/m4/m4-1.4.16/tests' gmake[2]: *** [check] Error 2 gmake[2]: Leaving directory `/opt/bw/src/m4/m4-1.4.16/tests' gmake[1]: *** [check-recursive] Error 1 gmake[1]: Leaving directory `/opt/bw/src/m4/m4-1.4.16' gmake: *** [check] Error 2 titan $ details from log : titan $ cat tests/test-suite.log ========================================= GNU M4 1.4.16: tests/test-suite.log ========================================= 2 of 117 tests failed. (13 tests were not run). .. contents:: :depth: 2 FAIL: test-binary-io.sh (exit: 1) ================================= test-binary-io.c:47: assertion failed Abort - core dumped SKIP: test-mbrtowc-w32-1.sh (exit: 77) ====================================== Skipping test: not a native Windows system SKIP: test-mbrtowc-w32-2.sh (exit: 77) ====================================== Skipping test: not a native Windows system SKIP: test-mbrtowc-w32-3.sh (exit: 77) ====================================== Skipping test: not a native Windows system SKIP: test-mbrtowc-w32-4.sh (exit: 77) ====================================== Skipping test: not a native Windows system SKIP: test-mbrtowc-w32-5.sh (exit: 77) ====================================== Skipping test: not a native Windows system FAIL: test-rename (exit: 134) ============================= test-rename.h:150: assertion failed SKIP: test-update-copyright.sh (exit: 77) ========================================= Can't locate 5.80 in @INC (@INC contains: /usr/perl5/5.00503/i86pc-solaris /usr/perl5/5.00503 /usr/perl5/site_perl/5.005/i86pc-solaris /usr/perl5/site_perl/5.005 .) at -e line 1. $0: skipping this test; Perl version is too old SKIP: test-vc-list-files-git.sh (exit: 77) ========================================== test-vc-list-files-git.sh: skipped test: git not found in PATH SKIP: test-vc-list-files-cvs.sh (exit: 77) ========================================== test-vc-list-files-cvs.sh: skipped test: cvs not found in PATH SKIP: test-wcrtomb-w32-1.sh (exit: 77) ====================================== Skipping test: not a native Windows system SKIP: test-wcrtomb-w32-2.sh (exit: 77) ====================================== Skipping test: not a native Windows system SKIP: test-wcrtomb-w32-3.sh (exit: 77) ====================================== Skipping test: not a native Windows system SKIP: test-wcrtomb-w32-4.sh (exit: 77) ====================================== Skipping test: not a native Windows system SKIP: test-wcrtomb-w32-5.sh (exit: 77) ====================================== Skipping test: not a native Windows system titan $ -- -- http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=0x1D936C72FA35B44B +-------------------------+-----------------------------------+ | Dennis Clarke | Solaris and Linux and Open Source | | dcla...@blastwave.org | Respect for open standards. | +-------------------------+-----------------------------------+