저는 autoconf-2.68을 만들고 있습니다.
저는 이 도구에 익숙하지 않습니다. 그런데 Makefile을 분석한 결과 스크립트 실행 시 빌드가 실패한 것으로 나타났습니다 autoconf-2.68/bin/autom4te
.
다음 오류가 발생합니다.
bash: ./autom4te :/home/user/workspace/output: bad interpreter: No such file or directory
내가 한 몇 가지 분석
echo $SHELL
/bin/bash
autom4te의 BEGIN 함수에서 이 줄을 찾았습니다.
$ENV{'SHELL'} = '/bin/sh' if ($^O eq 'dos');
이로 인해 문제가 발생합니까? 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
편집하다
autom4te의 첫 번째 줄은 다음과 같습니다.
#! /home/user/Workspace/output/xx_yyyyyyy_pp88_tttttt_uuuuuuu_aaa_bbbbbbb/host/usr/bin/perl -w
# -*- perl -*-
# Generated from autom4te.in; do not edit by hand.
eval 'case $# in 0) exec /home/user/Workspace/output/xx_yyyyyyy_pp88_tttttt_uuuuuuu_aaa_bbbbbbb/host/usr/bin/perl -S "$0";; *) exec /home/user/Workspace/output/xx_yyyyyyy_pp88_tttttt_uuuuuuu_aaa_bbbbbbb/host/usr/bin/perl -S "$0" "$@";; esac'
if 0;
스크립트 호출자:
autoconf.in: $(srcdir)/autoconf.as $(m4sh_m4f_dependencies)
$(MY_AUTOM4TE) --language M4sh --cache '' --melt $(srcdir)/autoconf.as -o $@
MY_AUTOM4TE
로써 정의 된:
MY_AUTOM4TE = \
autom4te_perllibdir='$(top_srcdir)'/lib \
AUTOM4TE_CFG='$(AUTOM4TE_CFG)' $(top_builddir)/bin/autom4te \
-B '$(top_builddir)'/lib -B '$(top_srcdir)'/lib # keep ` '
답변1
문제는 다음 통역사 줄에서 발생합니다 autom4te
.
#! /home/user/Workspace/output/xx_yyyyyyy_pp88_tttttt_uuuuuuu_aaa_bbbbbbb/host/usr/bin/perl -w
길이 너무 긴 것 같습니다.
이것은 오류 출력을 설명합니다.
bash: ./autom4te :/home/user/workspace/output: bad interpreter: No such file or directory
중지되고 output
통역사의 전체 경로를 읽을 수 없습니다. 인터프리터 경로를 변경하여(짧은 경로):
#! /home/user/Workspace/output/xxx/host/usr/bin/perl -w
문제가 해결되었습니다.