Saxon rpm ビルドが「ant: コマンドが見つかりません」のため失敗する

Saxon rpm ビルドが「ant: コマンドが見つかりません」のため失敗する

うまくいけば、これはこのコミュニティで尋ねることができる質問です。現在、CentOS 5 環境用に zookeeper-3.4.5-13 をビルドしています。このプロセス中に、必要なパッケージの長いリスト (mockito -> objenesis -> maven -> maven2 -> classworlds -> dom4j -> jtidy-> ant -> jakarata-common-net -> saxon) を確認していますが、saxon-6.5.5-3.3 をビルドするときに問題が発生しています。

ビルドすると、プロセスの %build セクションに到達し、次のようなエラーが発生します。

DEBUG: + exit 0
DEBUG: Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.mUxwgM
DEBUG: + umask 022
DEBUG: + cd /builddir/build/BUILD
DEBUG: + cd saxon-6.5.5
DEBUG: + LANG=C
DEBUG: + export LANG
DEBUG: + unset DISPLAY
DEBUG: + export CLASSPATH=
DEBUG: + CLASSPATH=
DEBUG: + ant -Dj2se.javadoc=/usr/share/javadoc/java -Djdom.javadoc=/usr/share/javadoc/jdom
DEBUG: /var/tmp/rpm-tmp.mUxwgM: line 32: ant: command not found
DEBUG: error: Bad exit status from /var/tmp/rpm-tmp.mUxwgM (%build)
DEBUG: RPM build errors:
DEBUG:     Bad exit status from /var/tmp/rpm-tmp.mUxwgM (%build)
DEBUG: Child returncode was: 1

最初に確認するのは、ant がインストールされているかどうかです。確かに、次のようになりました。

DEBUG: ================================================================================
DEBUG:  Package                      Arch     Version                     Repository
DEBUG:                                                                            Size
DEBUG: ================================================================================
DEBUG: Installing:
DEBUG:  ant                          i386     1.6.5-2jpp.2                core   2.0 M
DEBUG:  java-1.6.0-openjdk-javadoc   i386     1:1.6.0.0-1.21.b17.el5      core    20 M
DEBUG:  jdom                         i386     1.0-4jpp.1                  core   328 k
DEBUG:  jdom-javadoc                 i386     1.0-4jpp.1                  core   305 k
DEBUG:  jpackage-utils               noarch   1.7.5-3.8.iot5              core    63 k
DEBUG:  xml-commons-apis

必要に応じて他の情報も提供できますが、ant が見つからない理由を教えていただけるとありがたいです。

さらに詳しく知るには、これはモックを使用して実行されており、モック シェルに入ると、通常実行されると考えられる場所から何かが欠落していることが示されます。

答え1

ant 実行ファイルがパス内に見つかりません。

rpm -ql ant | grep 'bin/ant$' を実行し、bin/ ディレクトリが PATH 変数に含まれていることを確認します。

関連情報