2016-06-13 82 views
0

yoctoにapache2をビルドしようとしていました。 しかし、私はエラー以下になっていました。yoctoでapache2ビルドが失敗する - "/ usr/local/include"がクロスコンパイルで安全でない[-Wpoison-system-directories]

ERROR: This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities. Rerun configure task after fixing this.

いくつかのグーグルでは、だから私はconf.logに見て、これらの行を見つける https://lists.yoctoproject.org/pipermail/yocto/2012-March/005125.html

に私を導いた:

cc1: warning: include location "/usr/local/include" is unsafe for 
cross-compilation [-Wpoison-system-directories] 

arm-poky-linux-gnueabi/4.9.2/ld: warning: library search path "/usr/local/lib" 
is unsafe for cross-compilation 

私はまだ3つの事を理解することができませんでした、もう一度ググけど。

  1. なぜPATHがローカルパスに設定されていますか?
  2. なぜこのエラーは、私はそれを修正することができますどのよう
  3. [..私はngnixcryptsetupなどを構築することができます] apache2を構築するときに来るのでしょうか?
+0

をしかし、それはエラーが警告ではありません。 Yoctoが使っている支店は何ですか?あなたはapache2のビルドとリンクの全ログをpastebinに置いています。 –

答えて

0

通常、これらのタイプのエラーは、(/usr/local/include,/usr/includeなどのさまざまな種類の)パスがハードコードされた構成スクリプトから発生します。したがって、修正する方法は、configure.ac(パッケージに1つがあれば、もちろん、configure)にパッチを当てて、このパスを削除することです。

例えば、現在のメタ-OEからpatch for pure-ftpdを見て、それは同様の問題解決:

--- a/configure.ac 
+++ b/configure.ac 
@@ -100,18 +100,6 @@ AC_ARG_VAR(PYTHON,local path to the python interpreter) 
python_possible_path="/usr/bin:/usr/local/bin:/bin:/opt/python/bin:/opt/python/usr/bin:/opt/python/usr/local/bin" 
AC_PATH_PROG(PYTHON,python,/usr/bin/env python,$python_possible_path) 

-if test -d /usr/local/include; then 
- CPPFLAGS="$CPPFLAGS -I/usr/local/include" 
-fi 
- 
-if test -d /usr/kerberos/include; then 
- CPPFLAGS="$CPPFLAGS -I/usr/kerberos/include" 
-fi 
- 
-if test -d /usr/local/lib; then 
- LDFLAGS="$LDFLAGS -L/usr/local/lib" 
-fi 
- 
CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2" 

dnl Checks for header files 
関連する問題