我克隆了make
,./configure
然后make release_tests
根otp目录中有./make/target.mk
但./lib/common_test/test_server
root@marble-pyramid-1:~/download/otp_src_20.0# make release_tests
if test -f lib/common_test/test_server/Makefile; then \
(cd lib/common_test/test_server; make TESTROOT="/root/download/otp_src_20.0/release/tests" \
PATH=/root/download/otp_src_20.0/bin/:/root/download/otp_src_20.0/bootstrap/bin:"${PATH}" release_tests) || exit $?; \
fi
make[1]: Entering directory `/root/download/otp_src_20.0/lib/common_test/test_server
Makefile:21: /make/target.mk: No such file or directory
Makefile:26: /make/x86_64-unknown-linux-gnu/otp.mk: No such file or directory
Makefile:85: /make/otp_release_targets.mk: No such file or directory
make[1]: *** No rule to make target `/make/otp_release_targets.mk'. Stop.
make[1]: Leaving directory `/root/download/otp_src_20.0/lib/common_test/test_server'
make: *** [lib/common_test/test_server] Error 2
root@marble-pyramid-1:~/download/otp_src_20.0# ls lib/common_test/test_server/
config.guess configure.in install-sh ts_benchmark.erl ts_erl_config.erl ts_install.erl ts_run.erl
config.sub conf_vars.in Makefile ts.config ts.hrl ts_lib.erl ts.unix.config
configure cross.cover ts_autoconf_win32.erl ts.erl ts_install_cth.erl ts_make.erl ts.win32.config
root@marble-pyramid-1:~/download/otp_src_20.0# ls lib/common_test/test_server/make
ls: cannot access lib/common_test/test_server/make: No such file or directory
编辑:
root@marble-pyramid-1:~/download/otp_src_20.0# ERL_TOP=$HOME/download/otp_src_20.0
root@marble-pyramid-1:~/download/otp_src_20.0# echo $ERL_TOP
/root/download/otp_src_20.0
root@marble-pyramid-1:~/download/otp_src_20.0# make release_test
make: *** No rule to make target `release_test'. Stop.
root@marble-pyramid-1:~/download/otp_src_20.0# make release_tests
if test -f lib/common_test/test_server/Makefile; then \
(cd lib/common_test/test_server; make TESTROOT="/root/download/otp_src_20.0/release/tests" \
PATH=/root/download/otp_src_20.0/bin/:/root/download/otp_src_20.0/bootstrap/bin:"${PATH}" release_tests) || exit $?; \
fi
make[1]: Entering directory `/root/download/otp_src_20.0/lib/common_test/test_server'
Makefile:21: /make/target.mk: No such file or directory
Makefile:26: /make/x86_64-unknown-linux-gnu/otp.mk: No such file or directory
Makefile:85: /make/otp_release_targets.mk: No such file or directory
make[1]: *** No rule to make target `/make/otp_release_targets.mk'. Stop.
make[1]: Leaving directory `/root/download/otp_src_20.0/lib/common_test/test_server'
make: *** [lib/common_test/test_server] Error 2
root@marble-pyramid-1:~/download/otp_src_20.0#
答案 0 :(得分:3)
问题是OP运行make
,然后./configure
,然后make release_tests
,但这是不正确的;一个人总是在configure
之前运行make
。
在运行macOS Sierra 10.12.6的Mac上使用release_tests
中的以下步骤构建bash
目标成功:
$ curl -LO http://erlang.org/download/otp_src_20.0.tar.gz
$ tar xf otp_src_20.0.tar.gz
$ cd otp_src_20.0
$ export ERL_TOP=$PWD
$ ./configure
$ make -j16
$ make release_test
我确信这适用于Linux或任何其他UNIX变体。