ARMターゲット用にビルド済みのクロスツールチェーンを備えたホストPC。ソースからプロジェクトをビルドしようとしましたが、コードがpppd-2.4をビルドしようとしたときに、エラーのためにビルドプロセスが停止しました。 1モジュール、ここにログの関連部分があります:
_... ... ...
if [ -f pppd/Makefile.cyt ]; then \
make -C pppd -f Makefile.cyt; \
else \
make -C pppd; \
fi
make[3]: Entering directory '/home/vestjo/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1'
make -C pppd
make[4]: Entering directory '/home/vestjo/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1/pppd'
/opt/emlix/pnx8181/bin/arm-linux-gnueabi-gcc -O2 -pipe -Wall -g -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MMAP -I../include '-DDESTDIR="/usr/local"' -DCHAPMS=1 -DMPPE=1 -DHAS_SHADOW -DHAVE_CRYPT_H=1 -DUSE_CRYPT=1 -DHAVE_MULTILINK -DUSE_TDB=1 -DPLUGIN -DMAXOCTETS -c -o utils.o utils.c
utils.c:79:21: error: cy_conf.h: No such file or directory
<builtin>: recipe for target 'utils.o' failed
make[4]: *** [utils.o] Error 1
make[4]: Leaving directory '/home/vestjo/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1/pppd'
Makefile.cyt:18: recipe for target 'all' failed
make[3]: *** [all] Error 2
make[3]: Leaving directory '/home/vestjo/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1'
/home/vestjo/test/payton_1.4.1.SR1_gpl/payton/src/Rules.mk:74: recipe for target '_subdir_pppd' failed
make[2]: *** [_subdir_pppd] Error 2
make[2]: Leaving directory '/home/vestjo/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source'
/home/vestjo/test/payton_1.4.1.SR1_gpl/payton/src/Rules.mk:74: recipe for target '_subdir_open_source' failed
make[1]: *** [_subdir_open_source] Error 2
make[1]: Leaving directory '/home/vestjo/test/payton_1.4.1.SR1_gpl/payton/src/router'
Rules.mk:74: recipe for target '_subdir_router' failed
make: *** [_subdir_router] Error 2
_
コンパイラはヘッダーファイル「cy_conf.h」を見つけることができません。ヘッダーファイルのパス:$(SRCBASE)/include/cy_conf.h
。プロジェクトのメイクファイルは、複雑な構造、マルチレベルの再帰的なメイクファイルを持っています。
プロジェクトの最上位ディレクトリには構成ファイルが含まれていませんが、サブディレクトリ内の一部のモジュールには構成ファイルが含まれています。プロジェクトは、メイン(最上位)ディレクトリでMakefileを実行してビルドする必要があります。コードをビルドする前にこれらの構成ファイルを実行する必要はありません。 gccコンパイラにヘッダーファイルを見つけさせる方法は?
編集:_/pppd
_ディレクトリ(下位レベルのフォルダー)内で「make」を実行した場合と同じエラー。
_pppd$ make
cc -O2 -pipe -Wall -g -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MMAP -I../include '-DDESTDIR="/usr/local"' -DCHAPMS=1 -DMPPE=1 -DHAS_SHADOW -DHAVE_CRYPT_H=1 -DUSE_CRYPT=1 -DHAVE_MULTILINK -DUSE_TDB=1 -DPLUGIN -DMAXOCTETS -c -o utils.o utils.c
utils.c:79:21: fatal error: cy_conf.h: No such file or directory
#include <cy_conf.h>
^
compilation terminated.
<builtin>: recipe for target 'utils.o' failed
_
ppp-2.4.1ソースはここからダウンロードできます: https://download.samba.org/pub/ppp/ ビルド手順は古典的です:最初にconfigureスクリプトを実行してビルドを構成しますソースディレクトリの先頭。
構成が機能しない場合は、プリプロセッサがインクルードの検索を担当していることを知っておくと役立ちます。 export CPPFLAGS=-I${SRCBASE}/include
configureスクリプトを実行する前に役立ちます
このパッケージをクロスコンパイルするには、コンパイル時にコンパイラを調整する必要があります。
CC=<name of>-<your>-<Tuple here>-gcc make