"pkglibexecdir"は正当なディレクトリではありません。

独自の、プライベートソース、サポートされていないレガシーコードをコンパイルするための古いガイドラインに従います。一般的なシェルセッションは次のとおりです。

$ autoreconf -fi

src/Makefile.am:7: error: 'pkglibexecdir' is not a legitimate directory for 'PYTHON'
autoreconf: automake failed with exit status: 1


$ cat src/Makefile.am

pkglibexecdir = $(libexecdir)/packagename

nobase_pkglibexec_PYTHON = \
        python_module_1.py
        python_module_2.py
        [...]

MAINTAINERCLEANFILES = Makefile.in
BUILT_SOURCES = some_source

some_source:
    ln -s ../lib/python/some_source some_source

私はGNU Autoconfバージョン2.69を使用しています。同じプロジェクトの他のパッケージでも同様の問題があります。私はこの問題に対する迅速な解決策があると仮定していますが、自動化ツールにはあま​​り慣れておらず、Googleで見つけたほとんどのコンテンツは私にとってあまり意味がありません。

ベストアンサー1

警察の監督を避けるには、いくつかのトリックを使用する必要がありますautomake。バラよりhttps://www.gnu.org/software/automake/manual/html_node/Uniform.html:

この機能は、疑わしいディレクトリ/メインペアを診断するためにAutomakeが実行する完全性チェックを無視するためにも使用できます(まれに、これらのチェックは不要であり、実際に実行されていることを知っている場合)。たとえば、Automake は次の入力に対してエラーを発生させます。

# Forbidden directory combinations, automake will error out on this.
pkglib_PROGRAMS = foo
doc_LIBRARIES = libquux.a

しかし成功します:

# Work around forbidden directory combinations.  Do not use this
# without a very good reason!
my_execbindir = $(pkglibdir)
my_doclibdir = $(docdir)

my_execbin_PROGRAMS = foo
my_doclib_LIBRARIES = libquux.a

おすすめ記事