
私は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
問題が解決しました。