I want to install make 3.81 on Ubuntu 18.04.
So I download this version of make and run ./configure and then make. But when compiling it gives me this error:
./glob/glob.c: In function ‘glob’:./glob/glob.c:581:23: warning: implicit declaration of function ‘__alloca’; did you mean ‘alloca’? [-Wimplicit-function-declaration] newp = (char *) __alloca (dirlen + 1); ^~~~~~~~ alloca./glob/glob.c:581:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] newp = (char *) __alloca (dirlen + 1); ^./glob/glob.c:709:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] newp = (char *) __alloca (home_len + dirlen); ^./glob/glob.c:732:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] newp = (char *) __alloca (end_name - dirname); ^./glob/glob.c:783:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] newp = (char *) __alloca (home_len + rest_len + 1); ^./glob/glob.c:814:11: warning: implicit declaration of function ‘__stat’; did you mean ‘__xstat’? [-Wimplicit-function-declaration] : __stat (dirname, &st)) == 0 ^~~~~~ __xstat./glob/glob.c: In function ‘glob_in_dir’:./glob/glob.c:1256:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] char *fullname = (char *) __alloca (dirlen + 1 + patlen + 1); ^./glob/glob.c:1283:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] names = (struct globlink *) __alloca (sizeof (struct globlink)); ^./glob/glob.c:1341:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] struct globlink *new = (struct globlink *) ^./glob/glob.c:1367:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] names = (struct globlink *) __alloca (sizeof (struct globlink));
Same situation at building version 3.82. My current version of make is 4.1.
Is anybody know what could be wrong?
Thanks
EDIT:
glob/libglob.a(glob.o): In function `glob_in_dir':/opt/make-3.81/glob/glob.c:1361: undefined reference to `__alloca'/opt/make-3.81/glob/glob.c:1336: undefined reference to `__alloca'/opt/make-3.81/glob/glob.c:1277: undefined reference to `__alloca'/opt/make-3.81/glob/glob.c:1250: undefined reference to `__alloca'glob/libglob.a(glob.o): In function `glob':/opt/make-3.81/glob/glob.c:575: undefined reference to `__alloca'glob/libglob.a(glob.o):/opt/make-3.81/glob/glob.c:726: more undefined references to `__alloca' followcollect2: error: ld returned 1 exit statusMakefile:410: recipe for target 'make' failedmake[2]: *** [make] Error 1make[2]: Leaving directory '/opt/make-3.81'Makefile:603: recipe for target 'all-recursive' failedmake[1]: *** [all-recursive] Error 1make[1]: Leaving directory '/opt/make-3.81'Makefile:326: recipe for target 'all' failedmake: *** [all] Error 2