![我正在尝试将 make 从 4.1 降级到 3.81](https://linux22.com/image/1205238/%E6%88%91%E6%AD%A3%E5%9C%A8%E5%B0%9D%E8%AF%95%E5%B0%86%20make%20%E4%BB%8E%204.1%20%E9%99%8D%E7%BA%A7%E5%88%B0%203.81.png)
我从http://ftp.gnu.org/gnu/make/ 然后将其提取出来然后在提取的文件中我打开了终端但出现了错误...
./config
make
sudo make install
make
命令执行后
make
make all-recursive
make[1]: Entering directory '/home/dhruv/make-3.81'
Making all in glob
make[2]: Entering directory '/home/dhruv/make-3.81/glob'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/dhruv/make-3.81/glob'
Making all in config
make[2]: Entering directory '/home/dhruv/make-3.81/config'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/dhruv/make-3.81/config'
Making all in po
make[2]: Entering directory '/home/dhruv/make-3.81/po'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/dhruv/make-3.81/po'
Making all in doc
make[2]: Entering directory '/home/dhruv/make-3.81/doc'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/dhruv/make-3.81/doc'
make[2]: Entering directory '/home/dhruv/make-3.81'
gcc -g -O2 -o make ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o implicit.o job.o main.o misc.o read.o remake.o remote-stub.o rule.o signame.o strcache.o variable.o version.o vpath.o hash.o glob/libglob.a
glob/libglob.a(glob.o): In function `glob_in_dir':
/home/dhruv/make-3.81/glob/glob.c:1361: undefined reference to `__alloca'
/home/dhruv/make-3.81/glob/glob.c:1336: undefined reference to `__alloca'
/home/dhruv/make-3.81/glob/glob.c:1277: undefined reference to `__alloca'
/home/dhruv/make-3.81/glob/glob.c:1250: undefined reference to `__alloca'
glob/libglob.a(glob.o): In function `glob':
/home/dhruv/make-3.81/glob/glob.c:575: undefined reference to `__alloca'
glob/libglob.a(glob.o):/home/dhruv/make-3.81/glob/glob.c:726: more undefined references to `__alloca' follow
collect2: error: ld returned 1 exit status
Makefile:410: recipe for target 'make' failed
make[2]: *** [make] Error 1
make[2]: Leaving directory '/home/dhruv/make-3.81'
Makefile:603: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/dhruv/make-3.81'
Makefile:326: recipe for target 'all' failed
make: *** [all] Error 2
sudo make install
命令执行后
sudo make install
Making install in glob
make[1]: Entering directory '/home/dhruv/make-3.81/glob'
make[2]: Entering directory '/home/dhruv/make-3.81/glob'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/home/dhruv/make-3.81/glob'
make[1]: Leaving directory '/home/dhruv/make-3.81/glob'
Making install in config
make[1]: Entering directory '/home/dhruv/make-3.81/config'
make[2]: Entering directory '/home/dhruv/make-3.81/config'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/home/dhruv/make-3.81/config'
make[1]: Leaving directory '/home/dhruv/make-3.81/config'
Making install in po
make[1]: Entering directory '/home/dhruv/make-3.81/po'
/bin/sh ../config/mkinstalldirs /usr/local/share
installing be.gmo as /usr/local/share/locale/be/LC_MESSAGES/make.mo
installing da.gmo as /usr/local/share/locale/da/LC_MESSAGES/make.mo
installing de.gmo as /usr/local/share/locale/de/LC_MESSAGES/make.mo
installing es.gmo as /usr/local/share/locale/es/LC_MESSAGES/make.mo
installing fi.gmo as /usr/local/share/locale/fi/LC_MESSAGES/make.mo
installing fr.gmo as /usr/local/share/locale/fr/LC_MESSAGES/make.mo
installing ga.gmo as /usr/local/share/locale/ga/LC_MESSAGES/make.mo
installing gl.gmo as /usr/local/share/locale/gl/LC_MESSAGES/make.mo
installing he.gmo as /usr/local/share/locale/he/LC_MESSAGES/make.mo
installing hr.gmo as /usr/local/share/locale/hr/LC_MESSAGES/make.mo
installing id.gmo as /usr/local/share/locale/id/LC_MESSAGES/make.mo
installing ja.gmo as /usr/local/share/locale/ja/LC_MESSAGES/make.mo
installing ko.gmo as /usr/local/share/locale/ko/LC_MESSAGES/make.mo
installing nl.gmo as /usr/local/share/locale/nl/LC_MESSAGES/make.mo
installing pl.gmo as /usr/local/share/locale/pl/LC_MESSAGES/make.mo
installing pt_BR.gmo as /usr/local/share/locale/pt_BR/LC_MESSAGES/make.mo
installing ru.gmo as /usr/local/share/locale/ru/LC_MESSAGES/make.mo
installing rw.gmo as /usr/local/share/locale/rw/LC_MESSAGES/make.mo
installing sv.gmo as /usr/local/share/locale/sv/LC_MESSAGES/make.mo
installing tr.gmo as /usr/local/share/locale/tr/LC_MESSAGES/make.mo
installing uk.gmo as /usr/local/share/locale/uk/LC_MESSAGES/make.mo
installing vi.gmo as /usr/local/share/locale/vi/LC_MESSAGES/make.mo
installing zh_CN.gmo as /usr/local/share/locale/zh_CN/LC_MESSAGES/make.mo
if test "make" = "gettext-tools"; then \
/bin/sh ../config/mkinstalldirs /usr/local/share/gettext/po; \
for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed [email protected] [email protected] insert-header.sin Rules-quot Makevars.template; do \
/usr/bin/install -c -m 644 ./$file \
/usr/local/share/gettext/po/$file; \
done; \
for file in Makevars; do \
rm -f /usr/local/share/gettext/po/$file; \
done; \
else \
: ; \
fi
make[1]: Leaving directory '/home/dhruv/make-3.81/po'
Making install in doc
make[1]: Entering directory '/home/dhruv/make-3.81/doc'
make[2]: Entering directory '/home/dhruv/make-3.81/doc'
make[2]: Nothing to be done for 'install-exec-am'.
test -z "/usr/local/info" || mkdir -p -- "/usr/local/info"
/usr/bin/install -c -m 644 './make.info' '/usr/local/info/make.info'
/usr/bin/install -c -m 644 './make.info-1' '/usr/local/info/make.info-1'
/usr/bin/install -c -m 644 './make.info-2' '/usr/local/info/make.info-2'
install-info --info-dir='/usr/local/info' '/usr/local/info/make.info'
make[2]: Leaving directory '/home/dhruv/make-3.81/doc'
make[1]: Leaving directory '/home/dhruv/make-3.81/doc'
make[1]: Entering directory '/home/dhruv/make-3.81'
gcc -g -O2 -o make ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o implicit.o job.o main.o misc.o read.o remake.o remote-stub.o rule.o signame.o strcache.o variable.o version.o vpath.o hash.o glob/libglob.a
glob/libglob.a(glob.o): In function `glob_in_dir':
/home/dhruv/make-3.81/glob/glob.c:1361: undefined reference to `__alloca'
/home/dhruv/make-3.81/glob/glob.c:1336: undefined reference to `__alloca'
/home/dhruv/make-3.81/glob/glob.c:1277: undefined reference to `__alloca'
/home/dhruv/make-3.81/glob/glob.c:1250: undefined reference to `__alloca'
glob/libglob.a(glob.o): In function `glob':
/home/dhruv/make-3.81/glob/glob.c:575: undefined reference to `__alloca'
glob/libglob.a(glob.o):/home/dhruv/make-3.81/glob/glob.c:726: more undefined references to `__alloca' follow
collect2: error: ld returned 1 exit status
Makefile:410: recipe for target 'make' failed
make[1]: *** [make] Error 1
make[1]: Leaving directory '/home/dhruv/make-3.81'
Makefile:603: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1